Claude Code를 프로젝트 관리자로 만들기 — 워크플로우 하네스 설계기

Claude Code를 프로젝트 관리자로 만들기 — 워크플로우 하네스 설계기

Workflow, Memory, Context 3축으로 AI 코딩 에이전트의 구조적 한계를 해결하는 방법


핵심 요약

  • Claude Code의 문제는 도구가 아니라 구조의 부재였다
  • Workflow(일하는 순서), Memory(기억 계층), Context(로딩 범위) 3축으로 하네스를 설계했다
  • "무엇을 하라"보다 "언제 멈추라", "전부 기억"이 아니라 "언제 꺼낼지"가 핵심이다
배경

배경

Claude Code는 강력하지만 복잡한 프로젝트에서 반복되는 문제가 있었다.

  • "어디부터 시작할까?" — 요구사항이 애매한데 바로 코딩으로 돌진
  • "이전에 뭘 했더라?" — 세션이 바뀌면 맥락을 잊음
  • "이거 검증했나?" — 구현 후 바로 완료 선언
  • "3번 시도했는데 또 같은 방법으로 시도한다" — 실패 패턴 미인식

"Claude Code가 문제인 게 아니라 구조가 없는 게 문제"라고 진단했다.

Axis 1: Workflow — 일하는 순서를 강제

본문

Axis 1: Workflow — 일하는 순서를 강제

Ambiguity Gate — 모든 요청의 구체성을 먼저 확인한다. 파일 경로, 함수명, 에러 메시지, 번호 매겨진 단계 중 하나도 없으면 deep-interview가 발동된다.

Simple vs Complex 분류: - Simple (1-2 스텝): 바로 실행 - Complex (3+ 스텝): brainstorming → writing-plans → execution → verification

작업 유형별 파이프라인도 프리셋으로 정의했다. feature, bugfix, refactor, security 각각 최적화된 단계를 밟는다. 실패가 2회 반복되면 같은 전략 3번째는 금지하고, 다른 접근법 2개를 제시받는다.

Axis 2: Memory — 기억하는 방법을 계층화

Layer 1: docs/ (장기 기억) — 아키텍처 결정, API 패턴, 운영 규칙. 파일당 50줄 제한.

Layer 2: lessons.md (행동 규칙) — 실패 패턴에서 추출한 규칙. 세션 시작 시 자동 주입.

Layer 3: sessions/ (임시 스냅샷) — 현재 작업 상태 저장. 컴팩션 전 핸드오프 문서 작성 필수.

Axis 3: Context — 로딩하는 범위를 최소화

Lazy Loading — CLAUDE.md에 트리거 테이블만 두고, 필요할 때만 스킬 파일을 로딩한다.

Model Routing — 복잡도에 따라 모델 변경: - haiku: 파일 검색, 로그 확인 - sonnet: 코드 작성, 버그 수정 - opus: 아키텍처 설계, 보안 리뷰

Sub-agent 격리 — 세션 히스토리 대신 핸드오프 문서만 전달.

에이전트 3인 체제와 자동화 훅

  • main-orchestrator (opus) — 판단과 분류
  • executor-agent (sonnet) — 복잡한 코드 작성 전담. 3번 실패 시 STOP
  • quality-agent (sonnet) — 읽기 전용 코드 리뷰

훅은 SessionStart(plan.md, lessons.md 자동 주입), PreCompact(핸드오프 문서 작성 리마인드), PostToolUse(파일 수정 후 validation/linting 검사) 세 가지가 동작한다.

시행착오 / 주의사항

가장 큰 교훈 세 가지: 1. "무엇을 하라"보다 "언제 멈추라" — 명확한 중단 조건이 더 중요하다 2. 메모리는 "전부 기억"이 아니라 "언제 꺼낼지" — 필요한 것만 로딩해야 한다 3. 컨텍스트 효율은 "넣지 않는 것"에서 온다 — Lazy Loading이 핵심이다

마무리

하네스는 Claude Code 자체를 바꾸는 것이 아니라, Claude Code가 일하는 틀을 제공하는 것이다. 구조가 있으면 AI는 훨씬 일관되게 동작한다.

GitHub: https://github.com/youngjin39/Claude-Code-Prompt-Harness

댓글

이 블로그의 인기 게시물

"LLM 핵심 학습 (1/6) — 기본: 토큰화·임베딩·어텐션·위치 인코딩"

"LLM 핵심 학습 (2/6) — 파인튜닝: LoRA·QLoRA·증류·Adapter"

"ML 기초 학습 (1/9) — 머신러닝과 sklearn: 학습의 좌표계"