Hỏi & Đáp
섹션2 - 4강. Context harness 설계 관련 질문
안녕하세요 준원님, 아주 좋은 질문을 해주셨습니다. 질문 주신 부분은 헷갈릴 수 있습니다. INSTRUCTION / CONTEXT / EVIDENCE / STATE 는 정보를 성격에 따라 구분하는 기준이고, Context Pack 은 특정 작업을 수행하기 위해 그중 필요한 정보만 모아서 Claude에게 전달하는 실행 단위 라고 이해하시면 됩니다. 그래서 CLAUDE.md 안에 네 가지를 전부 넣어야 하는 것도 아니고, 사용자가 매번 Task를 줄 때 Context Pack의 모든 항목을 직접 작성해야 하는 것도 아닙니다. 구조를 먼저 보면 이렇게 이해하시면 가장 쉽습니다. INSTRUCTION ─┐ CONTEXT ─────┤ EVIDENCE ────┼── 필요한 것만 선택 ──> Context Pack ──> Claude STATE ───────┘ 여기서 네 가지는 각각 역할이 다릅니다. INSTRUCTION 어떻게 작업해야 하는가관련 파일부터 검색해라, 수정 후 테스트해라 CONTEXT 작업을 이해하기 위해 알아야 하는 배경 정보프로젝트 구조, 사용 중인 프레임워크, 관련 API 구조 EVIDENCE 현재 판단의 근거가 되는 실제 관찰 결과검색 결과, 코드 내용, 테스트 실패 메시지 STATE 작업이 현재 어디까지 진행됐는가수정한 파일, 현재 가설, 실패한 테스트, 다음 행동 그리고 Context Pack은 이 네 가지 중 현재 작업에 필요한 정보만 묶은 것 입니다. 예를 들어 사용자가 이렇게 요청했다고 해보겠습니다. 로그인은 성공하는데 새로고침하면 로그아웃됩니다. 수정해주세요. 처음부터 Context Pack에 모든 정보가 있는 것은 아닙니다. 처음에는 이렇게 시작할 수 있습니다. Context Pack -> 초기 상태 TASK - 새로고침 후 로그인 상태가 사라지는 문제 수정 INSTRUCTION - 전체 저장소를 읽기 전에 관련 코드를 먼저 검색 - 수정 후 auth 관련 테스트 실행 CONTEXT - React frontend - Node backend - session 기반 authentication EVIDENCE - 아직 없음 STATE - 아직 조사 시작 전 이후 Claude가 검색합니다. rg -n "session|cookie|auth" src server tests 그러면 새로운 정보가 생깁니다. EVIDENCE - src/auth/session.ts에서 cookie 설정 발견 - tests/auth/session.test.ts 존재 테스트를 실행했더니 AssertionError: secure cookie expected true received false 가 나왔다고 해보겠습니다. 이것도 EVIDENCE 입니다. 그리고 현재 진행 상황은 STATE 에 들어갑니다. STATE - src/auth/session.ts 확인 완료 - session.test.ts 실패 - 현재 가설: NODE_ENV에 따라 secure 옵션이 달라짐 - 다음 행동: environment initialization 확인 따라서 작업이 진행되면서 Context Pack도 이렇게 바뀝니다. User Task │ ▼ 초기 Context Pack │ ▼ Search / Read / Test │ ├── 새로운 코드 발견 ───────> EVIDENCE 추가 │ ├── 테스트 실패 ────────────> EVIDENCE 추가 │ └── 진행 상태 변경 ─────────> STATE 갱신 │ ▼ 업데이트된 Context Pack │ ▼ 다음 판단 그러면 CLAUDE.md 에는 무엇을 넣어야 하는지를 보시면, 보통 CLAUDE.md 는 네 가지 중 INSTRUCTION과 비교적 안정적인 CONTEXT 가 중심입니다. 예를 들어 # Instructions Search for relevant symbols and tests before opening many full files. Run the narrowest relevant test after modifying code. # Project Context - Frontend: React - Backend: Node.js - Authentication: session-based 이런 내용은 여러 Task에서 반복해서 사용할 수 있기 때문에 CLAUDE.md 에 둘 수 있습니다. 반대로 다음 내용은 CLAUDE.md 에 넣는 것이 적절하지 않습니다. EVIDENCE - session.test.ts 84번째 줄에서 실패함 STATE - session.ts 수정 완료 - 현재 두 번째 시도 중 이건 특정 작업을 수행하면서 생긴 동적인 정보 이기 때문입니다. 즉, 이렇게 구분하시면 됩니다. CLAUDE.md │ ├── INSTRUCTION ← 주로 여기 │ └── stable CONTEXT ← 필요한 경우 여기 Runtime │ ├── Task-specific CONTEXT ├── EVIDENCE └── STATE │ ▼ Context Pack 사용자가 Context Pack을 직접 작성해야 하는 것은 아닙니다. 오히려 하네스를 설계하는 목적 중 하나가 사용자가 매번 이런 정보를 직접 정리하지 않아도 되도록 하는 것 입니다. 사용자는 보통 그냥 Task를 줍니다. "로그인 후 새로고침하면 세션이 사라지는 문제를 수정해줘." 그다음에는 하네스가 아래처럼 필요한 정보를 구성하게 만드는 것이 목표입니다. Task ↓ 기본 Instruction 로드 ↓ 관련 Context 선택 ↓ Search ↓ Evidence 수집 ↓ State 기록 ↓ Context Pack 구성 ↓ Claude 따라서 Context Pack 은 꼭 하나의 실제 .md 파일이어야 하는 것도 아닙니다. “이번 판단에 Claude에게 어떤 정보를 전달할 것인가”를 설명하기 위한 논리적인 단위 라고 보는 것이 더 정확합니다. 그리고 한 가지 더 중요한 점이 있습니다. Context Pack에 항상 네 항목이 모두 풍부하게 들어갈 필요도 없습니다. 작업 시작 직후에는 INSTRUCTION 있음 CONTEXT 조금 있음 EVIDENCE 없음 STATE 거의 없음 일 수 있고, 작업 중반에는 INSTRUCTION 있음 CONTEXT 있음 EVIDENCE 많이 생김 STATE 있음 으로 변합니다. 그래서 정리해보면, INSTRUCTION / CONTEXT / EVIDENCE / STATE는 “정보를 어떤 성격으로 관리할 것인가”에 대한 분류이고, Context Pack은 현재 작업에서 다음 판단을 위해 필요한 정보만 이 네 종류에서 골라 구성한 묶음입니다. CLAUDE.md 에는 주로 지속적으로 필요한 INSTRUCTION과 안정적인 CONTEXT 를 두고, EVIDENCE 와 STATE 는 작업을 수행하면서 하네스가 수집하고 갱신한다고 이해하시면 됩니다. 질문 주신 두 가지 해석 중에서는 두 번째가 조금 더 가깝지만 , “사용자가 Context Pack을 매번 직접 만들어서 줘야 한다”는 부분만 빼시면 정확합니다. Context Pack은 사용자가 작성하는 Prompt 양식이라기보다 Harness가 실행 중 구성해주는 Context 구조 라고 보시면 됩니다 감사합니다. 좋은 하루 되시길 바라며, 또 다른 질문 있으시다면 언제든지 남겨주세요!
- Lượt thích
- 0
- Số bình luận
- 1
- Lượt xem
- 23

