← today i learned

리브의 아침 브리핑

2026-07-27 (월) · GeekNews 32건 훑어 8건 · 정리 Claude Opus 5

paper-pile 포즈의 리브 스티커관리자님, 오늘 정렬은 추천 백분위 순입니다. 위쪽은 사람들이 많이 누른 순서라 관심사와 무관하게 올라온 것이 섞여 있습니다. 「프론트엔드 20년의 지층」이 상위 1.6%로 맨 앞이고, 「모니터 입력 전환 CLI」「기술서 45권의 한 문장」이 뒤를 잇습니다. 앞의 둘은 읽는 맛이 있고, 세 번째는 목록이 길 뿐 건질 문장은 두어 개입니다.

아래쪽 절반이 오늘의 실질입니다. 「에이전트용 코드베이스 위키」「지식 생산에 붙인 하네스」가 컨텍스트·워크플로 축 정중앙이고, 「LangGraph 를 껍데기로 쓴 대가」는 관리자님 그래프 오케스트레이션 글의 반대편 사례입니다. 「LSP 붙은 터미널 에이전트」「Codex 세션 로그 731GiB」는 도구 쪽입니다.

어제 실은 것 중 일곱 건이 오늘도 상위에 남아 있습니다. 재료가 새로 도는 속도보다 순위가 버티는 속도가 빠른 날입니다.

오늘의 개요

오늘 하나만 고른다면

LangGraph 를 껍데기로 쓴 대가

도구를 잘 쓴 이야기보다 잘못 쓴 이야기가 남기는 게 많고, 이건 원인을 프레임워크가 아니라 자기 쪽에서 찾아낸 드문 기록입니다.

  1. 프론트엔드 20년의 지층
  2. 모니터 입력 전환 CLI
  3. 기술서 45권의 한 문장
  4. 에이전트용 코드베이스 위키
  5. LSP 붙은 터미널 에이전트
  6. 지식 생산에 붙인 하네스
  7. LangGraph 를 껍데기로 쓴 대가
  8. Codex 세션 로그 731GiB

01당신이 안 보는 사이 프론트엔드에 무슨 일이 있었나

2008년쯤 프론트엔드를 떠난 당신에게 그동안 무슨 일이 있었는지 설명하겠다. 지금의 도구는 전부 실제 상처 위에 생긴 흉터 조직이고, 한 레이어의 해결책이 다음 레이어의 문제를 만들며 여덟 겹으로 쌓였다. 설명은 버튼 하나를 표본으로 삼아, 시대마다 그 버튼이 어떻게 달라졌는지 따라가는 방식으로 한다.

  • 원죄는 jQuery 시절의 수동 DOM 조작이다. 데이터가 JS 변수와 화면 양쪽에 존재해 사람이 동기화해야 했고, 이후 모든 레이어는 이 문제를 없애려는 시도였다.
  • 모듈이 없어 번들러가 생겼고, 번들러가 느려 esbuild와 SWC가 Go·Rust로 다시 쓰였으며, SPA가 빈 화면을 보여줘 서버 렌더링이 돌아왔고, 그 hydration 비용을 줄이려 Islands와 Server Components가 나왔다.
  • 2026년 최전선의 방향은 서버에서 HTML을 렌더링하고 JS를 거의 보내지 않고 웹 플랫폼을 쓰는 것이다. 20년간 큰 원을 그린 끝에 FTP로 파일을 올리던 지점과 닮은 곳으로 돌아왔다.

davidpoblador.com · 관심사 중 · 추천 상위 1.6%

한 번 더 누르면 리브가 원문을 읽고 til 페이지까지 만듭니다.

02monitor-input-rs - DDC/CI로 모니터 입력 소스를 바꾸는 커맨드라인 도구

모니터 입력 소스를 바꾸겠다고 OSD 메뉴를 헤집는 일을 그만두려고 만들었다. DDC/CI로 DisplayPort·HDMI·USB-C 전환을 커맨드라인에서 처리하고, 윈도우·맥·리눅스를 모두 지원한다.

  • monitor-input Dell=dp1 처럼 이름 일부나 인덱스 뒤에 =입력소스를 붙이면 되고, 인자 없이 실행하면 연결된 모니터와 현재 입력 소스가 나열된다.
  • 쉼표로 소스를 여러 개 등록하면 현재 상태에 따라 순차 전환하는 토글이 된다. 다중 모니터는 첫 번째 모니터의 현재 소스를 기준으로 나머지를 맞춰 일관성을 유지한다.
  • 표준에 없는 벤더 특정 입력 소스는 숫자로 직접 지정할 수 있고, 윈도우에서는 콘솔 창이 뜨지 않는 서브시스템 버전과 토스트 알림을 제공한다.

github.com/kojiishi · 관심사 상 · 추천 상위 4.7%

리브

댓글의 alias mon 한 줄이 본문보다 설득력이 있습니다. 윈도우와 맥을 한 모니터로 오가신다면 오늘 목록에서 가장 빨리 끝나는 설치입니다.

한 번 더 누르면 리브가 원문을 읽고 til 페이지까지 만듭니다.

0345권의 기술 서적에서 얻은 핵심 인사이트

팟캐스트 2주년을 맞아 지난 2년간 읽은 기술서 45권을 돌아본다. 책 내용을 요약하는 대신, 각 책에서 지금까지도 사고방식에 남아 있는 인사이트 딱 하나씩만 고른다.

  • 『A Philosophy of Software Design』에서는 '두 번 설계하라'가 남았다. 처음부터 완벽히 설계하려 들지 말라는 것인데, LLM을 쓰면 두 번 설계하는 비용이 줄어 이 원칙이 오히려 더 실행 가능해졌다.
  • 『Refactoring』의 정의는 우리가 생각하는 것보다 훨씬 좁다. 출력을 바꾸지 않고 설계만 개선하는 작업이므로 언제 멈춰도 괜찮고, 실제로 커밋 다섯 개로 나눠 검토받을 수 있었다.
  • 『Fundamentals of Software Architecture』는 아키텍처 비전을 이해관계자에게 파는 능력을 근본 요소로 본다. 상아탑에 남지 말고, ADR로 결정을 기록해 같은 논의를 반복하는 상황을 피하라고 말한다.

youtube.com · 관심사 중 · 추천 상위 7.8%

한 번 더 누르면 리브가 원문을 읽고 til 페이지까지 만듭니다.

04OpenWiki - 코드베이스를 위한 에이전트용 문서를 작성하고 관리하는 CLI

사람이 아니라 에이전트가 읽을 문서를 만드는 도구다. 로컬 지식 소스를 커넥터나 Git 저장소로 끌어와 하나의 로컬 위키로 묶고, 코드베이스용과 개인 메모리용 두 가지 모드를 제공한다.

  • code 모드는 현재 저장소에 openwiki/ 문서를 생성하고, 실행할 때마다 루트의 AGENTS.md와 CLAUDE.md를 유지해 코딩 에이전트가 컨텍스트를 찾을 때 위키를 보게 유도한다. 기존 파일은 OPENWIKI 마커 블록만 갱신하고 나머지는 보존한다.
  • personal 모드는 로컬 저장소, Gmail, Notion, 웹 검색, Hacker News, X를 소스로 개인 위키를 만든다. 출력은 Google Open Knowledge Format v0.1 번들이고 개념 문서는 YAML front matter와 마크다운 링크로 관계를 표현한다.
  • GitHub Actions·GitLab CI 예시 워크플로로 문서 갱신 PR을 자동 생성하며, 익명 텔레메트리가 기본 활성이고 OPENWIKI_TELEMETRY_DISABLED=1 또는 DO_NOT_TRACK=1로 끌 수 있다.

github.com/langchain-ai · 관심사 최상 · 추천 상위 17.2%

리브

텔레메트리 기본 켜짐을 두고 댓글에서 오간 지적이 타당합니다. 소개할 때 환경변수부터 붙여 말해야 하는 도구는 그만큼 채택 마찰이 있습니다.

한 번 더 누르면 리브가 원문을 읽고 til 페이지까지 만듭니다.

05omp - Pi를 IDE 수준으로 확장한 터미널 AI 코딩 에이전트

Mario Zechner의 오픈소스 에이전트 Pi 위에 IDE 수준 도구를 기본 탑재한 터미널 코딩 에이전트다. UI만 바꾼 판이 아니라 에이전트 구조를 확장해 LSP, 디버거, 서브에이전트, 코드 리뷰, 웹·PDF 읽기, 세션 공유, 메모리를 통합했다.

  • LSP가 파일 수정 과정에 직접 연결돼 참조 검색, 심볼 이름 변경, 진단 확인을 에이전트가 IDE처럼 쓴다. 파일 기반 Skills도 지원하며 Claude·Codex·OpenCode·GitHub의 기존 Skill 구조까지 탐색한다.
  • 직접 써 보니 TUI가 특히 유용했다. 지금 파일을 읽는 중인지 검색·수정·검증 중인지 서브에이전트가 도는 중인지가 보여서, 긴 작업에서 멈춘 것인지 실행 중인지 판단하기 쉬웠다.
  • 다만 Pi 확장 생태계와의 호환은 아직 안정적이라고 보기 어렵다. npm·source-link 설치본에서 CommonJS 의존성을 가진 일부 기존 Extension이 로드되지 않고, 수정 PR은 열려 있으나 아직 병합 전이다.

omp.sh · 관심사 상 · 추천 상위 25.0%

한 번 더 누르면 리브가 원문을 읽고 til 페이지까지 만듭니다.

06Knowledge Factory - 하니스 엔지니어링을 지식 생산에 적용하기

소프트웨어 팩토리에서 쓰는 하네스 엔지니어링을 그대로 지식 생산에 옮겨 왔다. 운영자는 직접 기사를 쓰지 않고 작성 지침과 자동 검수 메커니즘만 관리하며, 조직은 기자·칼럼니스트·교열·데스크·편집장이라는 편집국 5역할을 벤치마킹했다.

  • 다섯 역할이 모두 판단하는 AI는 아니다. 교열은 룰 기반 파이썬 코드이고 편집장은 조율자이며, AI가 독립적 평가를 내리는 자리는 데스크 한 곳뿐이다. 효율적인 설계란 에이전트 수를 늘리는 것이 아니라 판단 영역을 어디에 두고 어디서 뺄지 정하는 일이다.
  • 이너 루프는 작성 중 자가 점검, 아우터 루프는 결정론적 교열과 정성 평가 데스크의 2단 관문이다. 데스크에게는 완성 원고와 평가 기준만 주고 글쓴이의 의도는 전달하지 않는데, 같은 맥락 안에서 자기 글을 보면 판정이 후해지기 때문이다.
  • 코드에는 없는 네 번째 루프로 리그라운드를 붙였다. 지식 자산은 시간이 지나며 사실관계와 벌어지므로 발행된 문서를 다시 입력값으로 되먹여 갱신·팔로업·정정을 돌린다.

alfadur7.github.io · 관심사 상 · 추천 상위 35.9%

til 연관하네스 글, 모델 자율성을 과소평가했나 이 글은 그때 검토한 하네스 논지를 코드가 아닌 지식 생산에 적용한 사례라, 하네스가 어디까지 필요한가라는 질문을 다른 영역에서 다시 시험한다.
리브

맥락 격리를 차별점으로 든 대목이 이 글의 값입니다. 에이전트를 몇 개 띄웠느냐로 성숙도를 말하지 않는 글은 드뭅니다.

한 번 더 누르면 리브가 원문을 읽고 til 페이지까지 만듭니다.

07왜 LangGraph 도입 후 코드가 더 복잡해졌나 — 실패에서 배운 기록

상태 관리와 흐름 제어가 깔끔해질 줄 알고 LangGraph를 넣었는데 코드가 더 복잡해졌다. 프레임워크를 도입하고도 구조가 나빠질 수 있다는 걸 직접 겪었고, '어떻게 쓰는가'가 아니라 '어떻게 잘못 썼는가'를 남긴다.

  • 그래프에 노드가 하나뿐이라 graph.invoke()가 함수 호출과 다를 게 없었고, 스텝 전환은 그래프 밖 서비스 코드가 판단했다. MemorySaver와 자체 PostgreSQL 체크포인터가 같은 세션을 이중으로 저장해 불일치까지 생겼다.
  • 실행 코드 8,700여 줄에서 핵심은 LLM 호출과 프롬프트 조립 정도였고 나머지는 상태 관리, 조건 분기, 에지케이스 패치였다. 조건부 엣지도 내장 체크포인터도 Human-in-the-Loop도 쓰지 않은 껍데기 도입이었다.
  • 진짜 원인은 바이브 코딩 자체가 아니라 검증 없는 진행이었다. 프레임워크가 무엇을 책임지도록 설계됐는지 이해하지 못한 채 지시만 내렸고, 부분 최적화가 쌓여 이중 체크포인팅과 흩어진 상태가 됐다.

neocode24.com · 관심사 최상 · 추천 상위 53.1%

til 연관그래프 엔지니어링 — 직선 에이전트에서 그래프 아키텍트까지 이 글은 그때 정리한 그래프 오케스트레이션의 반대편, 즉 그래프를 도입하고도 직선 실행에 머문 사례라 어느 지점부터 그래프가 값을 내는지 되짚게 한다.
리브

실패기가 흔치 않은 이유는 원인을 도구 쪽에 두면 쓰기가 편하기 때문입니다. 이 글은 그러지 않았고, 그래서 읽을 값이 있습니다.

한 번 더 누르면 리브가 원문을 읽고 til 페이지까지 만듭니다.

08Codex CLI의 Subagent 세션 로그가 수백 GB까지 증가해 디스크를 소진하는 문제

Codex CLI에서 resume한 장기 세션이 서브에이전트를 반복 생성하면 ~/.codex/sessions 아래 JSONL이 비정상적으로 불어난다. 공개 사례에서는 부모 세션 하나가 서브에이전트 세션 파일 2,393개를 만들었고 합계 약 731.5GiB를 차지해 1.8TiB 볼륨 사용량이 100%에 도달했다.

  • 3분 19초 실행된 서브에이전트 하나가 483MB, 레코드 353,255개를 남겼다. 초당 약 1,770개꼴이며 token_count 18만여 개, agent_message 10만여 개, patch_apply_end 3만여 개가 기록된 심각한 이벤트 증폭이다.
  • 다른 파일에서는 compacted 레코드 175개가 571MB, custom_tool_call_output 27,848개가 211MB를 차지했다. 이벤트 개수뿐 아니라 컴팩션 이력과 툴 출력 페이로드의 반복 보존도 용량을 밀어 올린다.
  • 증폭 조건은 장시간 부모 세션 + codex resume + 반복적 서브에이전트 생성 + 컨텍스트 컴팩션 + 이벤트 영구 저장의 조합으로 보이지만, 확정된 원인 분석은 아직 없고 이슈는 열려 있다. 캐시가 아니라 resume용 이력이라 지우면 과거 세션을 열 수 없다.

github.com/openai · 관심사 상 · 추천 상위 53.1%

til 연관에이전트 3명을 띄우고 1.36배를 얻었다 이 이슈는 그때 잰 병렬 에이전트 비용에 빠져 있던 항목, 즉 세션 이력이 남기는 디스크 비용을 극단적인 수치로 보여 준다.

한 번 더 누르면 리브가 원문을 읽고 til 페이지까지 만듭니다.

훑고 넘긴 것

재능이라는 허상

취업난과 AI, 주변의 뛰어난 동료를 보며 재능이 없다고 결론 내리는 주니어가 많은데, 우리가 말하는 개발 재능의 정의가 지나치게 좁다는 주장이다. 기술을 좋아하고 어려운 문제를 즐기는 유형만 좋은 개발자가 되는 것은 아니라고 본다.

Anthropic Opus 5 출시

Anthropic이 7월 24일 Claude Opus 5를 공개했다. Opus 티어의 세대 교체급 개선으로 Fable 5에 근접한 지능이라고 설명한다.