관련메타

히스토리

Steve Yegge Beads 에이전트 메모리 시스템 분석

배경: ACP 생태계 탐구

ACP(Agent Client Protocol) 도구들의 본질을 탐구하던 중 Steve Yegge의 Beads 프로젝트 발견.

ACP 생태계 현황

구분Agent핵심 특징ACP 지원
상용 서비스Auggie (Augment)자체 컨텍스트 엔진, 클라우드 기반네이티브
상용 서비스Cursor AgentCursor 에디터 전용어댑터
상용 래퍼Claude CodeAnthropic API + 도구 실행어댑터 (Zed)
오픈소스Goose (Block)멀티 백엔드, 플러그인 시스템네이티브
오픈소스OpenCode멀티 백엔드, 경량네이티브

코딩 에이전트의 본질

모든 코딩 에이전트의 본질:
 
1. LLM API 호출
2. 파일 읽기/쓰기
3. 명령어 실행
4. 컨텍스트 관리 (← 여기서 차별화)
5. 권한/안전 관리
 
ACP = 2~5를 표준화한 프로토콜

Steve Yegge는 누구인가?

기본 프로필 (Wikipedia/블로그 검증됨)

항목내용
학력University of Washington, Computer Science
특이 이력11세에 고등학교, 14세 졸업, 미 해군 Nuclear Power School (원자로 운전원)
경력GeoWorks (1992) → Amazon (1998-2005) → Google (2005-2018) → Grab (2018-2020) → Sourcegraph (2022~)
현 직책Sourcegraph Head of Engineering (2022.10~)
유명세”Stevey’s Drunken Blog Rants” → “Stevey’s Blog Rants” 저자

주요 사건/작품

연도사건
1995Wyvern MMORPG 개발 시작 (C++ → Java/Jython)
2001Wyvern 공개 (Cabochon Inc.)
2007”Rhino on Rails” - Ruby on Rails를 JavaScript로 포팅
2008”XEmacs is Dead. Long Live XEmacs!” - self-hosting 가치 논의
2011Google Platforms Rant 사고 공개 (Google+ 실수, 3,700단어)
2017Kotlin 전환 - 게임 서버 리라이팅
2020Grab 퇴사, Wyvern 개발 전념
2025Beads, Efrit, VC 프로젝트 활발 개발

Emacs와의 관계

블로그에서 직접 언급:

“Of course, I always need to switch over to Emacs to get real work done. IntelliJ doesn’t like it when you type fast.” “I constantly switch back and forth between Emacs and IntelliJ”

Wikipedia에서도 Emacs 카테고리에 분류됨. 20년+ Emacs 사용자.

왜 Emacs 패키지를 만드는가?

  1. Wyvern 경험: 게임 서버에서 Jython으로 런타임 코드 실행 20년 경험
  2. Self-hosting 철학: “XEmacs is Dead” 글에서 self-hosting의 가치 강조
  3. AI 자율성: Emacs = 유일하게 “AI가 자기 자신을 수정할 수 있는” 환경
  4. Zero Framework Cognition: 클라이언트는 판단 없이 실행만, AI가 모든 결정
Efrit 아키텍처 원칙:
"If efrit 'knows' how to solve a problem, the architecture is broken."
 
→ Emacs는 "실행 환경"일 뿐, 지능은 Claude에게
→ VS Code 등은 API 제한으로 이 수준의 자율성 불가능

프로그래머 사이에서 “필독서” 급 블로거. Python 책 저자(Paul Bissex)도 “required reading”이라 평가.

Beads 프로젝트 분석

해결하려는 문제: 에이전트의 기억상실

세션 1: "버그 발견 → 나중에 고쳐야지" → 세션 끝
세션 2: "뭐하고 있었지?" → 처음부터 다시
세션 3: 같은 버그 또 발견 → "이거 본 적 있는데..."
 
결과: Markdown 계획서 → 빠르게 outdated → 정보 유실

핵심 아키텍처: Git을 분산 데이터베이스로

SQLite (로컬 쿼리) ←→ JSONL (동기화) ←→ Git (분산 저장)
      │                    │                  │
  <100ms 쿼리         자동 export/import    여러 머신 동기화
 
결과: 서버 없이 "중앙 DB처럼" 동작

주요 기능

  • 의존성 추적: blocks, related, parent-child, discovered-from
  • Ready work 감지: 블로커 없는 작업 자동 식별
  • Hash 기반 ID: 멀티 에이전트 충돌 방지 (v0.20.1+)
  • Git 분산: 서버 없이 git으로 동기화
  • 메모리 decay: 오래된 이슈 자동 압축 (semantic compaction)

기본 명령어

# 초기화
bd init --quiet
 
# 작업 찾기
bd ready --json
 
# 이슈 생성
bd create "Issue title" -t bug|feature|task -p 0-4 --json
 
# 작업 중 발견한 이슈 연결
bd create "Found bug" -p 1 --deps discovered-from:<parent-id> --json
 
# 상태 업데이트
bd update <id> --status in_progress --json
 
# 완료
bd close <id> --reason "Done" --json
 
# 동기화
bd sync

Steve Yegge의 AI 에이전트 생태계

세 프로젝트 관계도

┌─────────────────────────────────────────────────────────────────┐
│                    VC (VibeCoder v2)                            │
│            AI-orchestrated coding agent colony                  │
│            "여러 에이전트를 AI가 조율하는 오케스트레이터"           │
│                                                                 │
│   ┌──────────────────┐    ┌──────────────────┐                 │
│   │   AI Supervisor  │ ←→ │   Beads 통합     │                 │
│   │   (Sonnet 4.5)   │    │   (이슈 추적)    │                 │
│   └────────┬─────────┘    └──────────────────┘                 │
│            │                                                    │
│            ▼                                                    │
│   ┌──────────────────────────────────────────┐                 │
│   │        Worker Agents (실행자들)           │                 │
│   │  • Claude Code • Amp • Goose • ...       │                 │
│   └──────────────────────────────────────────┘                 │
└─────────────────────────────────────────────────────────────────┘
        ↑                           ↑
        │                           │
┌───────┴───────┐           ┌───────┴───────┐
│    Efrit      │           │    Beads      │
│ (Emacs Agent) │           │ (메모리/이슈) │
│               │           │               │
│ "에이전트의   │           │ "에이전트의   │
│   손"         │           │   기억"       │
│               │           │               │
│ • elisp 실행  │           │ • 작업 추적   │
│ • 버퍼 조작   │           │ • 의존성 관리 │
│ • 파일 생성   │           │ • Git 동기화  │
└───────────────┘           └───────────────┘

각 프로젝트 역할

프로젝트역할핵심 기술상태
Beads에이전트 메모리/이슈 트래커Git+SQLite 분산 DBProduction (v0.20.1)
EfritEmacs 내 AI 에이전트Elisp 직접 실행Active (v0.3.0)
VC멀티 에이전트 오케스트레이터AI Supervisor + BeadsDogfooding (254 이슈 완료)

VC의 AI Supervised Issue Workflow

Loop {
  1. Claim ready issue (bd ready에서 atomic SQL)
  2. AI Assessment: 전략, 단계, 위험 분석
  3. Execute via agent (Claude Code, Amp 등)
  4. AI Analysis: 미완료 작업, 버그 추출
  5. Auto-create discovered issues (bd create)
  6. Quality gates (test, lint, build)
  7. AI decides: close, partial, or blocked
}
 
실적: 254개 이슈 완료, 90.9% 품질 통과율

Efrit 상세

Steve Yegge의 Emacs AI 에이전트. Claude가 Elisp를 직접 실행.

핵심 원칙: Zero Client-Side Intelligence

❌ NEVER IN EFRIT:
- Pattern recognition (파싱, 에러 메시지 분석)
- Task-specific logic (문법 수정 등)
- Decision-making heuristics
- Code generation
 
✅ ALLOWED IN EFRIT:
- Context gathering (버퍼 내용, 파일 목록)
- Tool execution (eval_sexp, shell_exec)
- Result relay (결과 반환)
- State persistence (세션 추적)

결론: Efrit은 “실행기”일 뿐, 모든 지능은 Claude에게 위임

힣’s -config 생태계와의 통합 가능성

현재 구조

Layer 6: meta-config        ← 계층적 에이전트 오케스트레이션
Layer 5: memex-kb           ← 유니버설 지식 베이스
Layer 4: claude-config      ← 메타 에이전트 메모리 시스템
Layer 3: zotero-config      ← AI-queryable bibliography
Layer 2: doomemacs-config   ← Terminal-optimized Emacs
Layer 1: nixos-config       ← Reproducible OS

Beads가 들어갈 수 있는 지점

Layer 4: claude-config (메타 에이전트 메모리 시스템)

현재: ~/claude-memory/ (Denote 파일들)

Beads 추가 시:
  ~/claude-memory/.beads/  ← 작업 의존성 추적
  ~/claude-memory/*.org    ← 지식/컨텍스트 (기존)

Denote vs Beads 비교

관점Denote (현재 방식)Beads
목적지식 저장/연결작업 추적/의존성
단위노트 (생각)이슈 (할 일)
관계태그, 링크blocks, discovered-from
시간영구 보존메모리 decay (오래된 건 압축)
쿼리grep, ripgrepSQL (bd ready, bd blocked)

결론: 충돌하지 않고 보완적

  • Denote: “내가 알고 있는 것” (지식)
  • Beads: “내가 해야 할 것” (작업)

통합 시나리오

~/org/ (3000+ org files)
  └── 지식 (Denote)
 
~/claude-memory/
  ├── *.org (세션 로그, 컨텍스트)
  └── .beads/ (작업 추적) ← NEW
 
~/repos/gh/각-프로젝트/
  └── .beads/ (프로젝트별 이슈)
 
연결:
  - Denote 노트 → Beads 이슈 참조 가능
  - Beads 이슈 → Org 파일 링크 가능
  - Claude 세션 → bd로 작업 자동 기록

결론 및 다음 단계

새로 만들어야 하는가?

아니요. Steve Yegge가 이미 만들었음.

질문
기술이 얕은데 사용 가능?가능 - bd initbd readybd create 세 명령어면 충분
Emacs 통합?가능 - CLI 기반이라 shell-command로 호출 가능
Denote와 공존?가능 - 서로 다른 영역 (지식 vs 작업)
학습 비용?낮음 - 에이전트가 대신 사용 (당신은 bd ready만 확인)

설치 및 시작

# 1. 설치
cd ~/repos/3rd/beads
go build -o bd ./cmd/bd
sudo mv bd /usr/local/bin/
 
# 2. 프로젝트에서 초기화
cd ~/repos/gh/어떤-프로젝트
bd init --quiet
 
# 3. 작업 시작
bd create "첫 번째 테스트 이슈" -t task -p 2
bd ready

VC의 코드 품질 관리 체계 분석 (2025-11-22 추가)

Steve Yegge가 “에이전트에게 개발을 일임”하면서도 코드 퀄리티를 유지하는 방법.

Quality Gates 시스템

VC는 모든 에이전트 작업에 “Quality Gates”를 적용:

Loop {
  1. Claim ready issue
  2. AI Assessment (전략, 위험 분석)
  3. Execute via agent
  4. AI Analysis (결과 분석)
  5. *Quality Gates* ← 핵심
     - go test ./...
     - golangci-lint run ./...
     - go build
  6. AI decides: close, partial, or blocked
}
 
실적: 90.9% Quality Gate 통과율

Pre-Landing Review Protocol (CLAUDE.md:68-147)

Review 필요 조건 (하나라도 해당 시):
- 100줄 이상 변경
- 핵심 인프라 수정 (executor, storage, AI supervisor)
- P0 이슈
- 새로운 패턴/추상화 도입
- 엣지 케이스 불확실
- 새 공개 API/인터페이스
 
Review 질문 체크리스트:
1. Edge cases handled?
2. Error paths complete?
3. Tests cover critical paths?
4. Documentation accurate?
5. Naming clear and consistent?
6. Nil checks where needed?
7. Potential panics or race conditions?

점진적 Linting 전략 (LINTING.md)

현재 활성화된 linter:
- misspell (철자 오류)
- unconvert (불필요한 타입 변환)
- unparam (미사용 파라미터)
 
비활성화 (점진적 활성화 예정):
- dupl (중복 코드)
- errcheck (미체크 에러)
- goconst (반복 문자열)
- gosec (보안)
- revive (코드 스타일)
- gocyclo (복잡도)
 
철학: "Code quality > perfection"

AI 코드 리뷰 예시 (CODE_REVIEW_vc-5b22.md)

실제 Claude가 작성한 코드 리뷰 (436줄):

리뷰 구조:
1. Summary (전체 평가)
2. Critical Issues (BLOCKING) - 없으면 "None found"
3. High Priority Issues (RECOMMENDED) - 구체적 코드 위치 포함
4. Medium Priority Issues (NICE TO HAVE)
5. Code Quality Observations (GOOD)
6. Test Coverage Analysis
7. Security Considerations
8. Performance Considerations
9. Documentation Quality
10. Final Verdict + Suggested Follow-Up Issues
 
핵심 특징:
- 파일:줄번호 형태로 정확한 위치 명시
- Before/After 코드 예시 제공
- 심각도별 분류 (🔴/🟡/🟢)
- "충분히 좋다" 판단도 명시적으로 기록

코드 리뷰 자동화 (code_review_check.go)

// checkCodeReviewSweep checks if a code review sweep is needed
// after completing an issue
//
// Flow:
// 1. Get git diff metrics since last review checkpoint
// 2. Pass metrics to AI for decision
// 3. If AI decides review is needed, create review issue
// 4. Save checkpoint

AI Supervisor가 결정하는 방식:

입력: DiffMetrics (FilesChanged, LinesAdded, LinesDeleted, ...)
출력: CodeReviewDecision {
  ShouldReview: bool
  Scope: string ("focused", "comprehensive", ...)
  Reasoning: string
  TargetAreas: []string
  EstimatedFiles: int
}

핵심 통찰: “Safety Nets”

VC 안전망 철학 (CLAUDE.md:479-486):
 
"왜 에이전트에게 어려운 문제도 맡기는가?"
→ 안전망이 문제를 감지하고 막아줌:
 
1. Quality Gates (test/lint/build) - 변경 전 검증
2. AI Supervision (assessment+analysis) - 접근법/실수 감지
3. Sandbox Isolation (git worktrees) - main 브랜치 오염 방지
4. Self-Healing (vc-210) - 깨진 baseline 자동 수정
5. Activity Feed - 진행 상황 완전 투명화
6. Human Intervention - CLI로 언제든 개입 가능
 
결론: "Trust the safety nets and let VC tackle hard problems"

학습 포인트

문제Steve Yegge 해법
에이전트 작업 품질 불안Quality Gates 자동 적용
코드 리뷰 누락AI가 diff 크기 보고 자동 생성
복잡한 작업 위험Sandbox로 격리 + 자동 롤백
Linting 부담점진적 활성화 (기능 우선)
리뷰 기준 불명확CLAUDE.md에 명시적 체크리스트

참고 자료

히스토리

일시내용
2025-11-22 21:00초기 작성: ACP 생태계 → Beads/Efrit 분석
2025-11-22 22:30프로필 검증: Wikipedia/블로그 크로스체크, VC 프로젝트 추가
2025-11-22 23:00코드 품질 관리 분석: CLAUDE.md, LINTING.md, CODE_REVIEW 분석

메타 정보

  • 대화 일시: 2025-11-22 21:00경 ~ 23:00경
  • 대화 주제: ACP 생태계 → Steve Yegge → Beads/Efrit/VC 분석
  • 핵심 인사이트:
    • 에이전트 메모리 문제를 Git 기반 분산 DB로 해결 (Beads)
    • “Safety Nets” 철학으로 에이전트에게 어려운 작업도 위임 가능

Steve Yegge Vibe Coding 인터뷰 요약

영상 정보

  • 제목: Steve Yegge on Vibe Coding
  • 채널: (인터뷰어 불명, Amazon 출신)
  • 시기: 2025년 10월경 (1개월 전)
  • 길이: 약 1시간

Steve Yegge 소개 (인터뷰어 기준)

  • 1998년 Amazon 입사 (250명 시절)
  • Jeff Bezos 직속 비밀 프로젝트 수행
  • Google 13년 근무 (Code Intelligence 시스템)
  • Grab CTO 역임 후 은퇴
  • AI로 인해 복귀
  • 유명한 “Google+ Platform Rant” 유출 사건의 주인공
  • 하루 12,000줄 프로덕션 코드 작성 주장 (AI 에이전트 사용)
  • 25년간 Wyvern 게임 개발 중

핵심 주장들

1. 프로그래머는 이제 “팀 리드”다

“You’re not a programmer anymore. You’re a team lead. You’re not writing code anymore. You’re literally the team lead for a bunch of coders who can do amazing things or really stupid things.”

  • 코드를 직접 작성하는 것이 아니라 AI 코더들을 관리
  • AI는 놀라운 일과 멍청한 일을 비슷한 비율로 함
  • 팀 리드로서 올바른 방향으로 가도록 안내하는 것이 역할

2. IDE는 죽었다, CLI가 미래다

“If you’re using cursor right now… you’re using last year’s technology. You should be using Claude Code or Source Graph AMP or OpenAI Codex.”

  • Cursor는 이미 구식 기술
  • 진짜 에이전트는 CLI 기반
  • IDE 없이 터미널에서 코딩하는 것이 새로운 방식

3. Vibe Coding의 중독성

“Vibe coding is so addictive. It’s beyond addictive. If I sit down and I’m like, ‘Okay, I’m going to look at my agents.’ I know that the clock will go right on. I’ll look up and it’ll be 9:00 and I’ll be like, ‘What happened?‘”

  • 에이전트와 대화하며 코딩하는 것이 극도로 중독적
  • 시간 가는 줄 모름
  • “개가 차창 밖으로 머리를 내밀 때 냄새가 쏟아지는 것” 같은 경험

4. 컨텍스트 윈도우와 작업 분해

“You have to decompose tasks into the smallest possible conceptual move forward… because it will fill the entire context window with that task.”

  • 작업을 가능한 가장 작은 단위로 분해해야 함
  • AI가 컨텍스트 윈도우를 다 채워버리면 패닉 결정을 내림
  • 이것이 Beads를 만든 이유와 연결됨

5. 모놀리스 회사들은 망한다

“Companies that have embraced monoliths or failed to break up into microservices all these years because it was never quite worth it. You’re all going out of business.”

  • 모듈화가 AI 시대의 핵심
  • AI의 인지 촉수(cognitive tendrils)는 길이가 제한됨
  • 시스템이 너무 크면 AI가 정보만으로 컨텍스트가 차서 생각을 못함

6. 주니어 엔지니어의 새로운 역할

  • 주니어 엔지니어가 “훈련받은 엔지니어”로서 비개발자들의 코드 리뷰
  • PM, UX 디자이너, 영업, 마케팅, 재무 분석가들도 Vibe Coding
  • 그들의 코드를 리뷰하는 것이 주니어의 역할
  • “Gig Economy” 형태로 변화 예상

7. 디버깅이 과소평가됨

“I believe that there is going to be a new software role that emerges called ‘the fixer’. They’re going to be the Winston Wolves that come in when your company screws up a project or system so bad with AI.”

  • 모두가 생성에만 집중하고 디버깅은 무시
  • “Fixer”라는 새로운 역할 등장 예측
  • AI로 망친 프로젝트를 고치러 오는 전문가

개인 이력 관련

Amazon 시절

  • 1998년 입사, 4번째 지원 만에 합격
  • 첫 이력서에 “IBM에서 일하고 싶다”고 적어서 탈락
  • TPM(Technical Program Manager)으로 입사
  • 2-tier에서 N-tier 아키텍처 마이그레이션 주도
  • 인턴들이 Google로 가기 시작하면서 Google 발견

Google 시절

  • “Event Horizon” - 한번 이유를 알면 갈 수밖에 없음
  • 황금기(Golden Age)를 목격
  • 내부 메모 유출 사건은 진짜 실수 (술 취한 상태로 작성)
  • 유출 후 10년간 과대평가된 명성으로 고생

현재 (2025)

  • Source Graph AMP 개발
  • 2025년 1월까지도 CLI 코딩에 “No” 했음
  • 2월에 모든 것이 바뀜
  • IDE 삭제하고 CLI로 전환

Amazon vs Google 비교

측면AmazonGoogle
데드라인극도로 타이트여유로움
동기부여압박 (disincentives)보상 (incentives)
비전Bezos의 명확한 비전방황, 무작위
혁신내부 개발대부분 인수 (Maps, Gmail, Android, Docs)
강점실행력인재

미래 예측

AI 성장

  • 16x 더 똑똑한 LLM이 2번의 사이클 내에 나올 것
  • 그 이후는 불확실 (느려지거나 AI가 AI 개발 가속)
  • 아키텍처는 충분, 데이터가 핵심
  • 비공개 데이터가 “오늘의 석유”

회사들

  • Anthropic = 현재의 “중력 블랙홀” (모두가 가고 싶어함)
  • 코딩에 집중해서 성공
  • Cursor는 비즈니스 모델 우려 (무제한 토큰 제공 불가능)

직업

  • 지식 노동자는 AI와 협업이 기본
  • 코딩 교육 → 엔지니어링 교육으로 변화
  • Taste(취향)를 가진 사람이 승리
  • “Digital Amish”가 되지 않으려면 AI 수용 필수

인용구 모음

프로그래밍의 본질

“We are building experiences. We’re not building code. So get that stupid idea out of your head right now.”

AI와의 관계

“It’s a collaborator and you need to treat it as a collaborator… but ultimately it’s a tool and you’re responsible for the outcomes. You can’t ever blame the AI for anything. That’s like blaming a hammer for not hammering the nail in.”

변화의 속도

“Kent Beck told me… this is like being on a toboggan going down a ski slope. It ain’t like skis. You can kind of steer it, but you’re never really in control of it.”

타이핑은 병목이 아니다

“People need to stop talking about code being the bottleneck. Typing was never the bottleneck. It’s like saying ‘putting on shorts was never the bottleneck’ for a robot soccer team.”

Beads/VC와의 연결점

컨텍스트 관리

  • 대담에서 언급: “작업을 가장 작은 단위로 분해”
  • Beads의 존재 이유: 에이전트가 컨텍스트를 효율적으로 사용하도록

Sub-agent 패턴

  • AMP의 sub-agent: 별도 컨텍스트 윈도우로 작업 후 결과만 반환
  • 이것이 VC(VibeCoder)의 방향과 일치

에이전트 관리 경험담

“I had a conversation this morning where I have a really simple architecture… And it was doing completion detection by trying to figure it out itself. And I’m like, Claude, why don’t you ask Claude?”

  • 에이전트가 4일간 잘못된 방향으로 간 경험
  • 주의 깊게 봤으면 해킹 같은 코드 안 생겼을 것
  • 이것이 bd(Beads)의 “issue tracking” 철학과 연결

내 관찰

일관된 철학

어제 분석한 Beads/VC와 이 인터뷰의 연결:

  1. 컨텍스트 윈도우 제한 → 작업 분해 → bd의 이슈 단위
  2. 에이전트가 잘못된 방향으로 감 → 모니터링 필요 → bd ready
  3. 여러 에이전트 관리 → 의존성 추적 → bd dep

”실행 < 기억”의 확장

  • Efrit (2025-07): 실행에 집중
  • Beads (2025-10): 기억과 계획에 집중
  • 이 인터뷰: “팀 리드” 관점 - 실행은 AI가, 사람은 방향 설정

은퇴에서 복귀한 이유

“AI completely rekindled like all of my ambitions around everything.”

  • 야망의 부활
  • Wyvern 게임도 다시 가능해짐
  • 25년 프로젝트가 새 생명을 얻음

원본 자막 파일

  • 위치: ~/repos/gh/agent-config/steve-yegge-vibe-coding.en.vtt
  • 크기: 546KB
  • 정제 버전: /tmp/steve-yegge-vibe-coding-clean.txt (58KB, 1561줄)

세션 정보

  • 환경: Oracle Cloud
  • 디바이스: Galaxy Fold4
  • 요청: VTT 자막 파일 분석 및 정리

타임라인: Vibe Coding Is The Only Future - Steve Yegge

(Vibe Coding Is the Only Future - Steve Yegge 2025)

목적: 영상을 처음부터 끝까지 타임라인 기준으로 따라가면서,
누가 언제 어떤 이야기를 했는지 구조적으로 보는 참고용 문서.


0:00—5:30 --- 오프닝, 비선형 커리어 소개

  • 진행자 인트로 & 훅
    • “어떤 회사가 개발자를 제일 잘 키우나? 아마존? 구글? 다른 데?”
    • “구글+를 디스하는 내부 메모를 유출한 건 진짜 실수였냐, 최고의 커리어 무브였냐?”
    • “AI가 최소 30% 생산성 올려준다면서, 왜 아직도 2010년처럼 코딩하고 있나?”
    • “Wyvern(와이번)이라는 게임을 25년째 만들고 있는데, 이게 완성되긴 하나?”
  • Steve Yegge 간단 프로필
    • 1998년 아마존 입사(직원 250명 시절), 이후 구글로 이직, Grab CTO, 잠시 은퇴, 다시 AI에 꽂혀 복귀.
    • 전설적인 구글 플랫폼 랜트(3,700자 메모)의 주인공.
    • 요즘은 “Vibe Coding” 책을 쓰고, 에이전트들로 하루 12,000줄도 짠다고 말함.
  • 비선형적인 초반 커리어
    • 14살에 고등학교 졸업 → 커뮤니티 칼리지 → 미 해군 원자로 운영 → 군대에서 공부하면서 워싱턴 대학교 CS 진학.
    • GeoWorks에서 핸드헬드 기기용 저수준(어셈블리) 프로그래밍.
    • 겉에서 보면 이후 커리어는 직선적이지만, 내부적으로는 꽤 굴곡과 역할 전환이 많았다고 설명.

5:30—13:00 --- Amazon vs Google, “중력 블랙홀” 회사들

  • 아마존 입사와 TPM 역할
    • 개발자로 여러 번 지원했지만 계속 떨어짐.
    • 이력서 Objective에 =IBM에서 일하고 싶다=고 써놓았던 “백억짜리 실수” 일화.
    • 결국 아마존이 제안한 건 개발자가 아닌 TPM(Technical Program Manager) 역할.
    • 이걸 수락한 게 첫 번째 큰 비선형 점프였다고 회상.
  • 아키텍처 대전환 프로젝트
    • 당시 아마존은 수백 개 CLI 툴이 직접 Oracle DB를 두들기는 2‑tier 구조.
    • Steve는 각 팀을 몰아가며, 서비스 계층을 세우고, 수많은 스크립트/조인을 걷어내는 일을 조율.
    • 이 과정에서 “내가 직접 코딩하는 사람”에서 “큰 구조/타임라인을 밀어붙이는 사람”으로 인식이 바뀜.
  • “중력 블랙홀” 회사 개념
    • GeoWorks 시절 동료들이 6개월 안에 20~30명 중 26명이 아마존으로 이직.
    • 이런 회사를 “인재를 빨아들이는 중력 블랙홀”이라고 부름.
    • 요즘은 Anthropic이 그런 느낌: 모두가 가고 싶어 하는 곳.
    • 구글도 한때 그런 블랙홀이었고, 인턴들이 아마존 대신 구글을 택하기 시작한 시점에 “중력이 바뀌었다”고 느낌.
  • Amazon vs Google 문화
    • Amazon: 위에서(베이조스) 명확한 비전이 내려오고, 사람들은 그걸 실현하기 위해 미친 듯이 출시(launch)에 몰입.
    • Google: 뛰어난 인재/인프라에 비해 무엇을 만들어야 하는지에 대한 테이스트와 비전이 약함.
      • 큰 히트작(Gmail, Docs/Rightly, Android 등) 상당수가 인수해 온 것.
      • 내부적으로는 수많은 프로젝트가 묘지에 쌓여 있었고, 방향성에서 늘 헤맸다고 평가.

13:00—17:30 --- Google+ 플랫폼 랜트 유출

  • 악명 높은 내부 메모
    • 구글 플랫폼/Google+ 전략을 신랄하게 까는 내부 에세이가 외부로 유출.
    • Steve는 처음부터 *내부용*으로 쓴 글이라고 강조:
      • Stubby 같은 내부 용어를 설명 없이 사용.
      • 외부 PR을 의도했다면 그렇게 안 썼을 거라고 함.
    • 실제로는 술에 많이 취한 상태에서 쓴 글.
  • 여파
    • 하룻밤 새에 “Google+를 박살낸 사람” 같은 신화적 이미지로 소비됨.
    • 본인 능력보다 훨씬 과대평가되는 느낌을 받았고, 내부/외부에서 동시에 큰 주목을 받음.
    • 결과적으로는 실수이면서도 커리어 증폭기 역할을 한 사건.

17:30—25:00 --- AI 발전, 데이터, 컨텍스트 윈도우, 작업 분해

  • 전환 지점
    • 진행자가 스폰서(Linear + Cursor) 광고: 이슈를 에이전트에 할당하고 자동으로 PR을 만드는 워크플로.
    • “에이전트 + 코딩”이 이미 실서비스에 들어와 있음을 보여주는 사례.
  • AI 발전 속도 체감
    • 초기 ChatGPT, GPT‑3.5, GPT‑4 시절: 버전이 나올 때마다 세계관이 부서지는 느낌.
    • 최근 1년은 *로그 스케일(완만한 곡선)*처럼 느껴짐:
      • 여전히 놀랍지만, 2022년처럼 “이건 뭐지?” 수준의 충격은 아님.
  • 데이터와 아키텍처
    • Jason Clinton(Anthropic CSO), Elon Musk 등 인용:
      • 모델 아키텍처는 이미 충분히 좋고, 이제는 *데이터와 그 활용 방식*이 승부처.
      • 프리트레이닝보다는 인퍼런스 시점 기법, 새 데이터 소스, 품질 관리가 중요해짐.
    • Anthropic: 코딩/개발 생산성을 핵심 타겟으로 삼고 모델을 튜닝.
    • OpenAI: 개인 비서/로봇 어시스턴트 같은 에이전트 활용에 집중.
  • 컨텍스트 윈도우 한계와 작업 분해
    • 아무리 모델이 좋아져도, 한 번에 볼 수 있는 *맥락 크기(컨텍스트)*는 유한.
    • 컨텍스트가 커질수록 사람들은 더 많은 걸 한 번에 시키려고 하고, 이것이 다시 한계로 돌아온다.
    • 따라서 에이전트 코딩에서는 *개념적으로 가장 작은 전진(step)*으로 작업을 쪼개야 한다고 강조:
      • 한 번의 호출이 “맥락 100%를 한 가지 잘 정의된 태스크”에 쓰도록 만드는 것.
      • 너무 큰 문제를 한 번에 시키면, 에이전트가 컨텍스트를 소모하다가 마감 직전에 이상한 결정을 내리는 패턴이 반복됨.

25:00—30:30 --- Vibe Coding vs Prompt Engineering, IDE vs CLI

  • 본격적인 관점 전환
    • 올해 1월까지만 해도 Steve 본인은 *“터미널 에이전트 워크플로”를 완전히 부정*하고 있었음.
    • Anthropic 엔지니어들이 IDE 없이 CLI로만 코딩한다는 얘기를 듣고도 “절대 안 그럴 것”이라 생각.
    • 직접 깊게 써보면서 태도가 완전히 바뀌고, 사실상 IDE를 “언인스톨 수준”으로 밀어냄.
  • Prompt Engineering(제품용) vs Vibe Coding(개인/팀 작업용)
    • Prompt Engineering (제품/플랫폼 관점):
      • 모델/버전이 바뀌어도 살아남는 *안정적인 프롬프트*를 설계.
      • 고객 서비스, 챗봇, 내장 AI 기능 등에 쓰이는 장기 프롬프트.
      • 평가(evals)와 테스트가 중요, 분포 변화에도 견디는 설계 필요.
    • Vibe Coding:
      • 지금 하고 있는 작업의 맥락에 맞춰 계속 대화하면서 코드를 짜는 행위.
      • 처음에 15~45분 정도 문제와 환경을 자세히 설명하는 프롬프트를 세팅.
      • 이후 대부분의 가치는 *짧고 잦은 대화, 수정, 방향 전환*에서 나옴.
      • 마치 매우 똑똑하지만 산만한 주니어에게 계속 피드백을 주는 느낌.
  • 왜 GUI IDE 대신 터미널/CLI인가?
    • 둘 다 오래된 Emacs/Vim 세대라서 터미널 환경에 익숙.
    • CLI 에이전트들의 장점:
      • 스크립트/자동화/배치 작업에 매우 자연스럽게 녹아듦.
      • 에이전트/서브에이전트 오케스트레이션에 잘 맞는 인터페이스.
    • 현대 IDE는 “에이전트와 협업”이라는 관점에서 미묘하게 어긋나 있고, 터미널 쪽이 오히려 마법을 쓰는 느낌에 가깝다고 표현.

30:30—36:00 --- “당신은 이제 팀 리드” : 역할 전환

  • 핵심 명제: “당신은 더 이상 (단독) 프로그래머가 아니다”
    • 이제 개발자는 *여러 AI 개발자(에이전트)*를 거느린 팀 리드에 가깝다.
    • 에이전트는 믿을 수 없을 만큼 뛰어난 일도 하고, 동시에 황당한 실수도 저지름.
    • 당신의 역할:
      • 작업을 가장 작은 개념 단위로 분해.
      • 에이전트들에게 일을 배분하고, 진행 방향을 계속 조정.
      • 어떤 변경이 실제 코드베이스에 병합될지 최종 의사결정을 내리는 것.
  • Git/협업 스킬의 변화
    • 브랜치, PR, 리뷰, 병합은 더 많아지지만, 실제 손으로 치는 코드는 줄어든다.
    • 대신 에이전트가 제안한 변경을 평가하고 조합하는 능력이 중요.
  • 아키텍처/모듈성의 중요성
    • 에이전트의 “인지 촉수(cognitive tendrils)“는 컨텍스트에 의해 제한된다.
    • 거대한 모놀리식 코드베이스는 코드를 로딩하는 데만 컨텍스트를 다 써버리고, 생각할 공간이 남지 않는다.
    • “마이크로서비스까지는 아니더라도”, 모듈화/경계 설정이 안 된 회사들은 에이전트 시대에 큰 손해를 볼 것.
  • 주니어 개발자를 위한 메시지
    • 단순 “코딩 잘하기”만으로는 부족, 시스템/아키텍처 감각을 빨리 키워야 한다.
    • 좋은/나쁜 설계의 차이, 망한 프로젝트 패턴을 빨리 몸으로 익혀야 함.
    • 앞으로 CS 교육은 “프로그래밍”이 아니라 “소프트웨어 엔지니어링” 자체를 더 많이 가르쳐야 할 것이라고 전망.

36:00—41:00 --- 주니어 아래의 새로운 층, 비개발자도 Vibe Coder로

  • “주니어 아래 레벨”의 등장
    • PM, 디자이너, 세일즈, 마케팅, 재무 등 비개발 직군까지 AI를 써서
      • 간단한 스크립트,
      • 내부 대시보드,
      • 워크플로 자동화 도구 를 직접 만드는 시대가 온다고 봄.
    • 이 사람들도 일종의 *vibe coder*가 되고,
      • 정규 엔지니어(주니어 이상)는 그 결과물을 리뷰하고 안전성/유지보수성을 체크하는 역할.
  • “렌트하는 전문가” 모델
    • PM도 항상 필요한 게 아니라 *체크포인트 시점에만 필요*한 경우가 많다.
    • 마찬가지로 엔지니어링 리뷰도 “필요할 때 잠깐 빌려 쓰는” 식으로 재편될 수 있음.
    • 이 구조는 오히려 전체적으로 더 많은 엔지니어가 일을 하게 만들 수 있지만,
      • 언제/어떻게 투입되는지 패턴이 달라진다는 것.
  • 학생/주니어에게 주는 조언
    • 지금부터 *시스템 사고와 아키텍처*를 공부하라.
    • AI 자체를 선생님처럼 활용:
      • 모듈화, 바운디드 컨텍스트, 서비스 경계 등에 대해 AI에게 설명을 요구.
      • 자기 설계를 AI에게 리뷰시키고 “왜 이런 구조가 나쁜지/좋은지”를 주고 받기.

41:00—45:30 --- Vibe Coding의 감각과 중독성, Wyvern 부활

  • Vibe Coding = 플로우 상태
    • 에이전트와 함께 일하는 경험을 “끝없는 재미와 스토리의 원천”이라 묘사.
    • 그냥 잠깐 보려고 터미널을 열었다가, 정신 차려보면 밤 9시가 되어 있는 식.
    • 아주 열정적인 주니어와 페어 프로그래밍을 하는데, 주니어 쪽이 기계적인 끈기를 가진 느낌.
  • “빠르게 읽기”의 중요성
    • 에이전트 로그/요약은 보통 “무엇을 했는지”는 거짓말하지 않지만, *효과는 과장*한다.
    • 가끔은 “덤덤하게” 치명적인 일을 해놓고도 요약에 살짝 써두는 식:
      • “텍스트 처리 로직을 조금 개선했습니다… 아, 그리고 DB도 지웠어요.”
    • 그래서 사람은 요약의 모든 단어를 빠르게, 그러나 꼼꼼하게 읽으면서 이상 징후를 잡아야 한다고 강조.
  • “은퇴 취소”와 Wyvern 부활
    • AI가 프로그래밍, 게임 개발, 음악 등 그의 모든 야망을 다시 불태웠다고 말함.
    • Wyvern:
      • 혼자서는 플레이어 요구를 감당 못해서 사실상 접어두었음.
      • 지금은 에이전트 + 자원봉사 팀원들도 모두 AI를 쓰는 시대라, 예전에는 상상만 하던 스케일/속도로 다시 손댈 수 있게 됨.
    • “은퇴에서 돌아온 이유”: 단순히 *살고 싶어서(live)*라고 표현.
      • AI가 다시 도전할 만한 충분히 큰 캔버스를 만들어 주었다는 의미.

45:30—48:30 --- 프로그래밍의 피로, AI의 역할, 경험 중심 사고

  • 왜 전통적인 프로그래밍이 괴로워졌다고 보는가?
    • 현대적인 웹앱 하나를 띄우려면:
      • 수많은 프레임워크,
      • 의존성,
      • 빌드 도구와 설정,
      • 배포 파이프라인 을 다 다뤄야 함.
    • 80~90년대에 비해 할 수 있는 일은 많아졌지만, *아이디어 → 동작하는 코드*까지 가는 경로는 훨씬 꼬여 있음.
  • AI가 할 역할
    • 프레임워크/라이브러리/툴의 분열(fragmentation)을 *에이전트가 흡수*해줄 것이라고 봄.
    • 특수화된 전문가 수는 줄고, *다루는 영역은 넓지만 AI와 함께 일하는 제너럴리스트*가 늘어날 것.
    • 시장 메커니즘 상, 사용자 경험이 좋은 쪽이 이기게 되고,
      • 저수준 복잡도는 점점 “뒤로 숨겨진 레이어”가 됨.
  • 아직 해결 안 된 부분: 인체공학(ergonomics)
    • 어떤 상호작용 패턴, 툴, UI 메타포가 최적인지 아직 아무도 모른다.
    • 모두가 여기저기 시도해 보고, 6개월 뒤에 “이 선택은 틀렸다”며 되돌아오는 패턴.
    • 따라서 지금은 *한 툴/모델/IDE에 인생을 묶어버리는 일방통행(one‑way door)을 피하는 것*이 중요.

48:30—끝 --- 라피드 파이어: 과대평가/과소평가 주제들

  • 과대평가: “타이핑이 병목”이라는 담론
    • Steve가 제일 그만두게 하고 싶은 이야기:
      • 코드 입력 속도가 병목이라는 주장.
    • 이건 대화를 완전히 엉뚱한 방향으로 돌려버리는 *잘못된 추상화 레벨*이라고 비판.
    • 진짜 병목은:
      • 어떤 문제를 풀지 정하는 판단,
      • 작업 분해와 설계,
      • 아키텍처와 경험 설계에 있다고 강조.
  • 비유: 로봇 축구팀
    • “우리는 로봇 축구팀이 있는데, 선수들이 얼마나 빨리 유니폼을 갈아입는지가 핵심이다”라는 식.
    • 실제 게임에서 중요한 건 *골을 넣는 것*이지, 옷을 갈아입는 속도가 아님.
  • 과소평가: 코드가 아니라 “경험”에 집중하기
    • 우리가 만드는 것은 코드가 아니라 *경험, 모험, 퀘스트*라고 반복해서 강조.
    • 1991년, 모두가 폴리곤/지버퍼 같은 그래픽 원시 개념에 집착했지만, 지금 돌이켜 보면 플레이어가 원하는 건 표정, 전투 시스템, 스토리였다는 게 명백.
    • 오늘날 프레임워크/언어에 집착하는 것도 비슷한 착시.
  • 마무리 톤
    • 인터넷은 “이게 세상을 바꿀 거다”라는 게 비교적 명확했던 반면, AI는 그보다 훨씬 *지저분하고 모호한 변화*라고 봄.
    • 그래서 더 흥미롭고, 저항한다고 해서 피할 수 있는 것도 아님.
    • AI를 안 쓰고 버티는 개발자는 결국 *디지털 Amish*가 될 것이라는 메시지로 다시 연결.
    • 미래의 개발자는 vibe coder:
      • AI 팀원들을 이끌고,
      • 경험을 설계하며,
      • IDE 시대에는 불가능했던 수준의 야망을 가지는 존재라고 정리.

이 대담이 에이전트 워크플로에 주는 시사점

  • 터미널/CLI 기반 *에이전트 셸*의 중요성
    • 깊은 플로우와 조합 가능한 워크플로를 위해, 터미널 중심 인터페이스가 여전히 강력.
  • 에이전트를 “주니어 동료”로 대하기
    • 신뢰와 불신을 동시에 유지:
      • 잘하는 부분은 맡기고,
      • 요약/로그를 빠르게 읽으며 사고를 잡아내는 능력이 필수.
  • “AI 친화적”한 시스템/레포 설계
    • 모듈화, 경계 설정, 작은 컨텍스트 단위 작업이 곧 에이전트 생산성.
    • 모놀리스와 프레임워크 스파게티는 컨텍스트를 소모하는 *마찰*로 작용.
  • 팀 리드 스킬의 조기 학습
    • 주니어 시절부터 decomposition, 리뷰, 아키텍처 테이스트를 훈련해야 함.
    • 이는 곧 “에이전트 팀을 리드하는 능력”과 직결.

이 문서는 앞으로 *Steve Yegge의 “vibe coding” 개념*을 참고해야 하는 에이전트/워크플로 설계 작업에서, 전체 대담을 다시 보지 않고도 시간대별 맥락을 빠르게 떠올릴 수 있도록 돕기 위한 타임라인 요약입니다.