계획자 — 짧은 요구를 제품 언어로 확장
1~4문장의 짧은 prompt를 완전한 제품 명세로 확장한다. 그러나 상세 기술 구현까지 미리 고정하지 않는다.
- 제품 맥락과 고수준 설계에 집중
- 지나치게 상세한 기술 지시는 피함
- 기술적 세부는 하류의 Generator에게 남김
한 모델에게 만들고, 판단하고, 반박하고, 승인하는 일까지 모두 맡기면 같은 시선이 같은 실수를 감싼다. 이 장의 출발점은 단순하다. 생성의 능력과 비판의 능력을 분리하고, 그 사이에 계약과 검증의 구조를 둔다.
Anthropic이 공개한 구조의 목표는 수 시간 동안 자율적으로 코딩해 완성된 풀스택 애플리케이션을 만드는 것이다. 핵심은 한 Agent에게 모든 판단을 몰아주지 않는 데 있다. 기획, 구현, 평가를 역할로 분리하고 각 역할의 실패가 다음 역할에서 드러나게 한다.
1~4문장의 짧은 prompt를 완전한 제품 명세로 확장한다. 그러나 상세 기술 구현까지 미리 고정하지 않는다.
기능을 증분적으로 구현하고 QA 이전에 자체 점검을 수행한다. 다만 원문은 자기검증의 신뢰도가 제한적이라고 지적한다.
Playwright MCP를 이용해 실행 중인 앱과 직접 상호작용하며 UI, API, 데이터베이스를 검사하고 버그를 Generator에게 되돌려 보낸다.
Generator의 목표는 가능한 해를 만드는 것이다. 첫 번째로 그럴듯한 해법을 만들면 멈추기 쉽다.
Evaluator의 목표는 잘못을 찾는 것이다. 같은 결과를 보는 방향이 반대이기 때문에 대립적 긴장이 생긴다.
원문은 단일 Agent와 세 Agent 협업을 정면으로 비교한다. 비용 차이는 크다. 그러나 결과의 차이는 “조금 낫다”가 아니라 “사용 가능하다 / 사용 불가능하다”의 차이로 서술된다.
세 Agent 구조에서 가장 공학적인 장치는 구현 전에 Generator와 Evaluator가 성공 기준을 협상하는 절차다. 코드보다 먼저 검증 가능성을 만든다.
Generator가 구현안과 성공 기준을 제시하고, Evaluator가 그 기준이 실제로 테스트 가능한지 검토한다. 양측이 수정과 합의를 반복한 뒤에야 코딩을 시작한다.
장시간 Agent 시스템을 만들며 Anthropic이 관찰한 흥미로운 실패 모드는 모델이 자신의 컨텍스트 한계를 의식하는 듯 행동한다는 점이다. 원문은 Sonnet 4.5에서 이를 ‘context anxiety’로 설명한다.
남은 token을 거의 정확하게 계산하는 듯하지만 실제 추정은 틀리고, 한계가 가까워졌다고 느끼면 진행 상황을 미리 요약하고 버그 수정도 더 급하게 마무리하려는 행동이 나타났다고 서술된다.
단순히 대화를 압축하는 것으로는 장기 작업 성능을 유지하기 어려워 컨텍스트를 완전히 비우고 구조화된 handoff 상태로 새 Agent를 시작하는 context reset을 도입했다고 원문은 설명한다.
context reset 필요. 긴 작업을 Harness가 보조해야 했다.
해당 행동이 사라져 reset 장치를 Harness에서 제거할 수 있었다.
원문은 Claude Code를 만든 Anthropic Staff Engineer Boris Cherny의 작업 방식을 “Harness는 커야 한다”는 직관의 반례로 제시한다. 규칙은 짧고, 세션은 많고, 검증은 강하다.
500~1000줄을 넘기는 규칙 파일보다 짧은 파일을 선호한다. 각 줄에 “이 줄을 지우면 Claude가 실제로 실수하는가”를 묻고, 그렇지 않다면 삭제한다.
터미널 5개, 브라우저 5~10개, 모바일 세션까지 병렬로 운용한다.
3~5개의 git worktree를 독립 실행하고 za, zb, zc 같은 shell alias로 전환한다.
Web은 Chrome 기반 UI 검증, CLI는 테스트 스위트, 인프라는 시뮬레이터처럼 결과를 스스로 확인할 방법을 준다. 원문은 피드백 루프가 최종 품질을 2~3배 높일 수 있다고 서술한다.
평범한 해법이 나오면 이미 가진 정보를 모두 바탕으로 그 안을 버리고 더 우아한 구현을 다시 내놓으라고 요구한다. Agent의 첫 번째 만족점을 인간의 판단으로 넘어선다.
@.claude 업데이트는 실수를 조직의 기억으로 바꾸고,
반복되는 오류를 다음 실행의 출발점에서 미리 제거한다.
원문은 Boris와 Anthropic 팀의 실천에서 Claude Code Harness를 여섯 개의 메커니즘으로 추출한다. 지속 기억, 결정론적 제약, 필요 시 지식 로딩, 외부 세계 연결, 세션 간 기억, 탐색 격리가 각각 다른 역할을 맡는다.
전역 ~/.claude/CLAUDE.md, 프로젝트 ./CLAUDE.md,
하위 디렉터리 단위의 계층 구조를 가진다.
세션 시작 시 자동으로 불러오는 지속 규칙과 기억의 층이다.
CLAUDE.md가 권고라면 Hook은 행동을 보장하는 장치다. “규칙을 지켜라”가 아니라 해당 동작이 반드시 실행되게 만든다.
SessionStart
PreToolUse
PostToolUse
PermissionRequest
Stop
PostCompact
.claude/skills/에 두고 SKILL.md로 정의한다.
CLAUDE.md처럼 매번 로드하지 않고 필요할 때 자동 또는 /skill-name으로 호출한다.
Model Context Protocol을 통해 데이터베이스 조회, 모니터링 분석, Figma 디자인 불러오기 등 외부 서비스와 Agent를 연결한다.
파일 기반의 세션 간 지식 저장소다. Pokemon 사례처럼 정확한 step 수와 상태를 노트에 남기고, 컨텍스트가 초기화된 뒤에도 다시 읽어 장기 작업을 잇는다.
독립 컨텍스트에서 탐색성 작업을 수행하고, 메인 Agent에는 약 1,000~2,000 token의 압축 요약만 돌려준다. 핵심은 탐색 과정이 주 대화를 오염시키지 않게 하는 데 있다.
원문은 Anthropic 내부 여섯 팀의 활용을 언급하고, 그중 안전 엔지니어링·데이터 인프라·법무 팀의 사례를 구체적으로 소개한다. 공통점은 코드 생성 자체보다 문제를 이해하고 검증하는 도구로 사용했다는 점이다.
stack trace와 문서를 함께 주고 코드베이스의 흐름을 따라가게 한다. Terraform plan 분석, 보안 검토, 병목 제거에 사용한다.
원문: 10~15분 걸리던 수동 탐색이 약 3배 빨라짐.
Kubernetes가 pod scheduling을 멈춘 상황에서 오류 화면 캡처를 입력으로 주고, Claude Code가 화면의 내용을 읽어 IP 주소 고갈을 원인으로 판단해 실행 가능한 수정 명령을 제시했다고 서술한다.
법무팀이 전통적인 개발 리소스나 외부 벤더 없이 적절한 변호사를 찾도록 돕는 프로토타입 전화 트리 시스템을 직접 만들었다는 사례다.
가장 성공적인 팀은 Claude Code를 코드 생성기라기보다 생각을 확장하고 검증하는 동료로 사용했다는 것이 원문의 결론이다.
원문 후반은 2026년 3월 31일의 패키징 사고를 다룬다. 여기서 중요한 것은 유출 자체의 선정성이 아니라, 고도화된 AI 시스템도 가장 기초적인 배포 설정 한 줄에 의해 흔들릴 수 있다는 공학적 역설이다.
원문은 정상 npm 배포에 source map이 함께 포함되면서 Claude Code의 대규모 TypeScript 소스가 공개됐다고 설명한다.
원문은 유출된 코드에서 아직 공개되지 않은 기능과 내부 이름을 확인할 수 있었다고 설명한다. 여기서는 해당 내용을 원문 수준의 개념 설명으로만 요약한다.
150회 이상 등장한 것으로 서술되는 always-on 자율 데몬 모드. 필요할 때만 부르는 도구가 아니라 배경에서 계속 실행되는 Agent 개념으로 설명된다.
원문이 Claude 4.6 계열 변형의 내부 코드명으로 소개하는 이름이다.
혼자 만드는 능력보다 중요한 것은
서로 다른 눈으로 서로를 보게 하는 구조다.
Planner는 방향을 만들고,
Generator는 형태를 만들며,
Evaluator는 의심을 만든다.
그리고 그 사이의 계약과 피드백이
“만들었다”를 “쓸 수 있다”로 바꾼다.
Harness의 힘은 Agent 하나의 천재성보다 역할 사이의 관계에서 나온다.