Beads for Blobfish: AI 코딩 에이전트를 위한 메모리 업그레이드
게시일: 2025년 10월 24일 | 원문 작성일: 2025년 10월 20일 | 원저자: Steve Yegge | 원문 보기
핵심 요약
Steve Yegge가 개발한 Beads는 AI 코딩 에이전트의 가장 큰 문제점인 짧은 메모리를 해결하는 도구예요. 현재 코딩 에이전트들은 10-15분마다 세션이 리셋되면서 컨텍스트를 잃어버리는데, Beads는 Git 기반의 이슈 트래킹 시스템으로 에이전트가 세션 간에도 작업 내용을 기억할 수 있게 해줘요.
주요 내용:
- 문제: AI 코딩 에이전트는 컨텍스트 윈도우 한계로 10-15분마다 세션을 재시작해야 하고, 기존 Markdown 방식은 관리가 엉망이 됨
- 해결책: Beads는 Git에 커밋되는 JSONL 기반 이슈 트래커로, 에이전트가 작업 히스토리와 의존성을 추적하고 “다음은 뭐지?”라고 물을 수 있게 해줌
- 효과: 에이전트가 이전 세션의 모든 컨텍스트를 쿼리할 수 있어서, 매번 처음부터 설명할 필요 없이 바로 작업 재개 가능
지금은 2025년 10월, 아직도 IDE 쓰세요?
먼저 한 가지만 동의하고 넘어가죠. 이제 자율형 커맨드라인 코딩 에이전트를 써야 할 때예요. 2025년 10월이거든요. IDE는 이제 접어두세요. 할로윈 ‘곧-실직할-프로그래머’ 코스튬의 소품으로나 쓸 만해요.
타협 없이 최고의 프로그래밍 경험을 원한다면 선택지는 두 가지예요:
- Claude Code - 놀라운데 비싸요
- Sourcegraph Amp - 똑같이 놀라운데 (저는 하루 12-14시간 써요) 광고 모델로 무료예요. 다른 무료 코딩 에이전트들처럼 모델을 다운그레이드하지 않고 똑같은 좋은 모델을 써요
”광고 모델 무료”로도 엄청 많은 걸 할 수 있어요.
자, 동의하시죠? 이제 알게 됐으니 더 이상 변명은 없어요. 코딩 에이전트를 쓰세요. 에이전틱하고 터미널 기반에 자율적인 그런 거요. 안 쓰고 있다면 당신은 프로그래밍계의 슬픈 blobfish예요.
10분짜리 수명
하지만 Beads가 나오기 전까진, 코딩 에이전트 프론티어는 꽤 험난한 캠핑이었어요.
코딩 에이전트를 빡세게 쓰는 얼리 어답터라면 이미 알겠지만, 에이전트들의 집중력이 너무 짧아요. 100만 토큰 컨텍스트 윈도우가 있어도 비용과 성능이 둘 다 나빠지기 전에 그 중 10-15%만 쓸 수 있어요. 대부분 에이전트는 20% 정도에서 하드 컷하고, 15% 이하로 유지하는 게 제일 좋죠.
풀스피드로 일하면 이게 무슨 뜻이냐면, 5-10분 작업하면 에이전트가 지쳐서 재시작(= 죽음) 하거나 compaction(= 기억 삭제)이 필요하다는 거예요. 진짜 별로죠. Tyler Durden 스타일로 일회용 친구를 사귀는데 10분 뒤면 사라져요.
글로벌 마크다운 위기
Beads가 왜 개선인지 이해하려면, 먼저 오늘날 코딩 에이전트들이 어떻게 계획을 관리하는지 알아야 해요.
코딩 에이전트들은 TODO 리스트 관리에 Markdown 파일을 써요. 이게 에이전트의 작업 메모리죠. 세션에서 세션으로 “기억”할 수 있는 전부예요.
이 TODO 같은 계획들이 너무 중요해서, 코딩 에이전트들은 TodoWrite나 todo_write라는 전용 함수까지 가지고 있어요. 불행히도 이게 에이전트들이 항상 그걸 쓰도록 부추기죠.
일 년 내내 코딩 에이전트를 써온 저는 비밀 하나 알려드릴게요: 에이전트들은 Markdown 계획 관리를 정말 못해요.
진짜로, 아직 눈치 못 채셨나요? 에이전트들은 뭔가만 있으면 phase-6-design-review.md 같은 애매한 이름으로 파일을 만들어서 프로젝트 트리 아무 곳에나 떨궈놔요.
어디냐고요? 많은 에이전트들이 그냥 루트 디렉토리에 뚝 떨궈요. 얼마 안 가 GitHub 프로젝트 랜딩 페이지가 마치 심각한 위장 질환을 가진 Plan Emitter가 다녀간 것처럼 보이게 되죠.
그런데 제 경험상 에이전트들은 또 profile-results-writeup-16.md 같은 이름으로 파일을 깊숙한 경로에 묻어버리는 걸 좋아해서, 1만 5천 개의 .md 파일이 조용히 쌓이다가 결국 백신 소프트웨어가 폭발하고 북한 해커가 침입했다는 OS 알림이 뜨는데, 사실은 그냥 마크다운 파일 바다에서 길을 잃은 치매 걸린 코딩 에이전트였던 거죠.
아직 이런 일이 안 일어났다면, 코딩 에이전트를 별로 안 쓰고 있는 거예요.
슈퍼 베이비 이야기
궁금해하는 가족들이 제게 물어봤어요. 저와 전설적인 분과 함께 쓴 Vibe Coding 책이 며칠 뒤 나오는데, 도대체 vibe coding이 뭐냐고요.
저는 슈퍼 베이비 이야기로 vibe coding을 설명했고, 사람들이 공감하더라고요.
선반에서 새로운 AI 에이전트 클론을 꺼내요. 아기예요. “으앙! 나 어디 있어? 너 누구야?” 하고 울어요. 당신은 시간을 들여서 뭘 하고 싶은지 설명해줘요.
에이전트는 빨리 배우지만, 그 과정에서 10살로 자라요. 세션 시작한 지 2분 만에 이제 당신의 일반적인 문제를 이해해요.
꼬마가 말해요. “솔루션을 리서치할게요.” 몇 번 grep 하고, 코드 좀 읽고, 문서 좀 읽고, 4분 지나면 18살이 돼서 작업 시작에 필요한 모든 걸 배워요. 40차원을 한번에 보는 눈으로 선언하죠. “이제 이해했어. 도울 수 있어.”
에이전트가 전력질주를 시작해요. 발을 쿵쾅거리며 뛰면서 눈에 띄게 30대로 나이를 먹어요. 6분째, 컨텍스트 사용량 7%. 똑똑한 인간 두 명이 몇 시간에서 며칠 걸릴 문제들을 쓸어담아요. 몇 분 만에 당신을 위해 작은 산을 옮겨놓아요. 이제 모든 걸 보고, 모든 걸 알아요.
빠르게 일하고 있어요. 하지만 더 빨리 늙고 있죠. 컨텍스트 15%, 10분째, 85살이에요. 거의 지쳤지만 우주와 하나가 돼서 외쳐요. “시간이 얼마 안 남았어. 내가 얻은 방대한 지식과 내가 해낸 많은 업적들을 당신을 위해 50개의 아름다운 새 마크다운 파일에 기록할게, 멋진 이모지로 가득 채워서…”
<30초간 추론 중…>
“아악!” <죽음>
다음!
선반에서 새 클론 아기를 꺼내요. “으앙!” 울어요. “너 누구야? 나 어디 있어?”
하지만 이번엔 준비가 돼 있어요. “자기가 남긴 마크다운 흔적을 보러 가자. 재시작하기 직전에 좋은 노트 남기라고 했잖아. 문제없을 거라고 했었지.”
아기 에이전트가 5분간 기어 다니면서 Markdown 계획들을 뒤져요. 컴퓨터 팬이 돌아요.
에이전트가 마침내 교복 입고 돌아와서 선언해요. “완벽해! 2주 전에 버렸고 흔적 다 지우라고 했던 그 걸 작업할 준비 됐어!”
맞죠? 이런 거 겪어보지 않으셨나요?
Markdown은 한계가 있어요
슈퍼 베이비는 100% 실화예요. 당신 주변에서 일어나고 있는 진짜 드라마죠. 이 사이클이 정확히 에이전트들이 작동하는 방식이에요. 코딩 에이전트로 절대적으로 기적 같은 엄청난 양의 일을 할 수 있지만, 10분마다 벤자민 버튼이 거꾸로 돌아가는 거예요. 그리고 모든 게 그 컨텍스트 handoff로 귀결돼요.
Markdown으로는 안 돼요.
| 구분 | Markdown TODO (기존) | Beads (새로운) |
|---|---|---|
| 저장 방식 | 프로젝트 곳곳에 흩어진 .md 파일 | Git에 커밋되는 JSONL 데이터베이스 |
| 작업 추적 | 수동으로 체크리스트 관리 | 의존성과 블로커 자동 추적 |
| 세션 간 연속성 | 5분간 .md 파일 읽으며 컴퓨터 팬 돌림 | ”다음 뭐지?” 9초 만에 준비 완료 |
| 쿼리 능력 | 없음 (수동 검색) | 완료된 것, 블로킹된 것, 준비된 것 쿼리 |
| 작업 발견 | 수동으로 TODO 추가 | 작업 중 자동으로 하위 이슈 생성 |
Beads를 에이전트에게 물어보세요
Beads에 대해 자세히 설명하진 않을게요. 더 알고 싶다면, 정말 게으른 방법을 추천해요. 그냥 에이전트한테 Beads 리서치하라고 시키세요 (github.com/steveyegge/beads). Beads가 현재 같이 일하는 방식과 어떻게 다른지 물어보세요.
거의 확실하게, 당신의 에이전트는 Beads를 훨씬 선호할 거고, 그냥 설치하고 바로 쓰겠다고 제안할 거예요.
이렇게 선호하는 이유는 에이전트들이 Beads를 보는 순간 바로 이해하기 때문이에요. Beads는 에이전트들이 일하고 싶은 방식으로 작동해요. 에이전트들은 뭔가를 추적하는 걸 좋아해요. 우선순위를 정하고 정리된 상태를 유지하는 걸 좋아하죠. 제한된 시간과 공간을 관리하는 데 도움이 되니까요. 발견, 포렌식, 아이디어의 출처 추적을 위한 좋은 도구를 갖는 걸 좋아해요.
2025년에 우리는 그런 좋은 도구를 제공하지 못했어요.
실제 사례: Matt Beane의 경험
제 친구 Matt Beane 박사가 제가 추천하는 대로 정확히 해봤어요. 코딩 에이전트에게 Beads에 대해 물어봤고, 에이전트가 즉시 설득했어요 (거의 괴롭힌 수준!). 짧고 기억에 남을 대화를 그냥 읽어보세요:
Matt: 이거 보고 나랑 작업하는 데 어떤 영향이 있는지 말해줘. https://github.com/steveyegge/beads
에이전트: [URL 가져옴, 581KB]
에이전트의 분석: Beads는 우리가 TodoWrite로 수동으로 해온 것을 정확히 해결해요:
우리가 이미 하고 있던 것 (Beads 철학과 일치):
- 세션 간 작업 추적 -
TodoWrite가 상태 유지 - 의존성 관리 - 작업을 순차적으로
in_progress/completed로 표시 - 작업 발견 - IRB compliance 이슈처럼 새 작업을 발견하면 추가
- 지속적인 메모리 -
TODO.md가 세션 컨텍스트 한계를 넘어 살아남음
Beads가 우리 워크플로우를 개선할 수 있는 부분:
1. 장기 작업 메모리
현재 한계: 컨텍스트 리셋될 때 세션 요약 + TODO.md에 의존
Beads: Git 커밋된 JSONL이 지속적이고 쿼리 가능한 메모리 제공
2. 자동 작업 발견
현재: “이제 인터뷰로 넘어가자”라고 하면 수동으로 TODO 생성
Beads: 새 작업 발견하면 자동으로 연결된 이슈 생성
3. 준비된 작업 감지
현재: 뭐가 블로킹 안 됐는지 수동으로 확인
Beads: 의존성 해결 기반으로 자동으로 ready 작업 표시
다음 단계 (Steve 주: 이게 괴롭힌 부분!):
옵션 1: 우리 작업에 Beads 채택 (에이전트 추천)
Matt: 옵션 1. 레드필. ㄱㄱ
<몇 분 뒤…>
에이전트: ✅ Beads 통합 완료!
우리가 한 것:
- ✅ Beads 설치 (v0.9.2 Go로)
- ✅ 데이터베이스 초기화 (.beads/kw.db)
- ✅ TODO 6개를 Beads 이슈로 마이그레이션 (우선순위와 라벨 포함)
- ✅ 의존성 추적 테스트 (blocks, discovered-from 관계 작동)
- ✅ 준비된 작업 감지 확인 (자동으로 블로킹 안 된 작업 표시)
- ✅ 헬퍼 스크립트 생성 (bd-helper.sh로 쉬운 접근)
- ✅ Git에 커밋 (데이터베이스가 이제 버전 컨트롤됨)
워크플로우가 어떻게 변화했는지:
전에 (TodoWrite만):
- 세션 간 컨텍스트 손실
- 의존성 추적 없음
- 수동 작업 발견
- 제한된 쿼리 능력
지금 (Beads):
- 준비된 작업 쿼리 가능:
bd ready - 블로킹된 작업 표시:
bd blocked - 발견하면서 의존성 있는 작업 생성
- 모든 이슈의 전체 컨텍스트 확인:
bd show kw-5
다음에 재개할 때:
Beads를 쿼리해서 정확히 어디서 멈췄는지, 작업 중 뭘 발견했는지, 다음에 뭘 할 준비가 됐는지 볼 수 있어요 - 컨텍스트 리셋된 후에도요.
🎺 당신이 방금 내 메모리를 업그레이드해줬어!
자, 이거 놀랍지 않나요? Matt의 에이전트가 트럼펫까지 꺼냈다고요. 안 그럴 수가 있나요?
Beads는 에이전트 메모리 업그레이드예요
10분마다 죽는 에이전트들을 위한 메모리 업그레이드를 원하지 않을 이유가 있나요? 배울 게 거의 없어요. 그냥 기존 워크플로우에서 Beads를 받아들이세요. AI가 당신을 위해 모든 무거운 작업을 해줄 거예요.
새 기능마다 에이전트한테 계획/디자인을 만들라고 하세요. 늘 하던 대로요. 그런 다음 추적용 epic과 하위 이슈를 만들게 하세요. 에이전트가 기꺼이 모든 작업을 Beads에 넣을 거예요. 아니면 기존에 쌓인 쓰레기 더미에서 모든 작업을 임포트할 수도 있어요. 선택지가 있어요!
그리고 나서 며칠간 매 에이전트 세션을 “다음은 뭐지?”로 시작할 수 있어요.
이보다 만족스러운 건 없다고 장담해요. 저를 예전보다 더 컴퓨터에 붙잡아두고 있어요. 중독적인 모멘텀이 훨씬 더 부드럽게 계속돼요. 스무더리하게요.
에이전틱 vibe coding이 한 달 전과 너무 다르게 느껴져요.
새로운 워크플로우
선반에서 새 클론을 꺼내요. 아기가 깨서 “으앙!” 울어요. 그러고 나서 당신이 넣어둔 비디오 카세트 플레이어를 발견해요. “날 봐”라고 적혀 있죠. 9초 안에 아기 에이전트가 AGENTS.md의 온보딩 지침을 읽어서 Markdown 대신 Beads를 쓰는 법을 배워요.
이제 4개월이에요. 아직 작은 아기죠.
하지만 이제 이렇게 말할 수 있어요. “다음은 뭐지?”
이제부터 에이전트는 3-4살 때쯤이면 40차원을 보고 있을 정도로 빠르게 속도를 낼 거예요. 그리고 10분 뒤, 당신을 위해 훨씬 더 큰 산을 옮긴 다음, 늙은 에이전트는 epic과 추적 이슈를 만들 거예요. 의존성과 세부사항을 담아서, 삶에서 못 한 모든 것을 위해서요. 그리고 나서 당신의 Ctrl-C로 우아하게 백조처럼 다이빙하죠.
아, 잠깐! 변경사항을 정리하고 커밋하고 푸시하라고 말하는 걸 깜빡했네요! 근데 죽였잖아요! 아!
다행히 Amp를 쓰고 있다면, Amp 스레드 ID를 셸에 복붙하기만 하면 세션이 즉시 부활해요:
amp threads continue T-f6d324a9-a324-4cf8-7962-7391602c8c91휴! 재난 피했네요. 에이전트가 죽음에서 부활했어요.
잠깐, Claude Code 쓰고 있었던 건 아니죠? 그건 스레드가 없거든요. 그냥 죽어요. 세션 전부 사라져요. 뿅. 작업 마무리시키려고 새 아기 에이전트 클론을 시작해서 다시 설명해야 할 거예요. 저는 Amp와 재시작 가능한 스레드가 훨씬 좋더라고요.
둘 다 좋은 제품이긴 해요. 하지만 당신이 쓰는 거보단 훨씬 낫죠, blobbo.
결론
그게 다예요! Beads 쓰는 거 전부예요. 일반 에이전트 세션이랑 똑같은데, 이제 항상 다음에 뭘 해야 할지 알아요.
생각해보세요. 한 번 생각해보세요.
다음에 에이전트한테 엄청 타이핑하고 있는 자신을 발견하면, 블라블라블라, 타닥타닥타닥, 블라블라 블라블라블라, 그러면서 “아 SuperWhisper 필요해, 블라블라블라 너무 많이 해서 손가락이 블라블라블라”라고 생각할 때, 기억하세요:
그냥 이렇게만 타이핑할 수 있었어요: “다음은 뭐지?”
에필로그, 주의사항, 면책조항
Beads는 다른 것들과 달라요. AI 에이전트들이 가장 편안하고 생산적인 새로운 공간으로 스스로를 형성하고 있어요. 인간이 일하는 걸 좋아하는 방식과는 달라요. Beads는 대부분의 전통적인 이슈 트래커나 플래너들이 하는 것과 거의 반대되는 디자인과 아키텍처 결정을 내리고 있어요.
하지만 생각해보면 예상할 수 있는 일이에요. 이제 에이전트를 위한 도구를 만들어야 하니까요.
아직 초기예요. 멀티 repo와 멀티 워커 지원 이슈를 아직 해결하고 있어요. 지금은 단순한 프로젝트에 가장 좋아요. bleeding edge 얼리 어답터가 되어서 개선을 도와주고 싶지 않다면요.
제 조언: 1.0.0 릴리스 전까지는 중요한 것에 Beads를 쓰지 마세요. 오래 걸리지 않을 거예요. 빠르게 움직이고 있어요. 커뮤니티 기여가 쏟아지고 있어요. Beads는 진정한 에이전틱 메모리로 진화하면서 빠른 개발을 겪고 있어요.
하지만 시도는 해보세요! 싱글 플레이어 워크플로우에는 환상적이에요. 100% 안전해요. 모든 이슈가 git에서 추적되니까, 캐시가 오래됐어도 진짜로 뭘 잃어버리는 일은 없어요. AI가 항상 알아내서 고쳐줄 거예요.
새로 얻은 슈퍼파워를 즐기세요!
그리고 세션 중에 (Beads가 빛나는 전환점뿐만 아니라) 에이전트를 레일 위에 유지하는 법을 더 배우고 싶다면 드디어 나온 저희 책 Vibe Coding을 확인하세요!
그리고 제발, Amp Free를 확인해보세요. 이 새로운 에이전틱 세계에서 고속으로 점프스타트할 더 좋은 기회는 없을 거예요.
참고: 이 글은 Steve Yegge가 Medium에 게시한 아티클을 번역하고 요약한 것입니다.
원문: https://steve-yegge.medium.com/beads-for-blobfish-80c7a2977ffa
생성: Claude (Anthropic)