inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Claude Code Harness & Graph Engineering — Thực tiễn kỹ thuật Harness CLI nâng cao cho Claude Code

Thiết kế Context Harness – Kỹ thuật xây dựng harness giúp Claude không bị lạc đường

섹션2 - 4강. Context harness 설계 관련 질문

Đã giải quyết

25

hacker

3 câu hỏi đã được viết

0

섹션2 - 4강. Context harness 설계에서

위 컨텍스트 하네스 설계시 구분해야 할 네 가지와

과의 관계가 잘 이해되지 않습니다.

CLAUDE.md 파일에 INSTRUCTION, CONTEXT, EVIDENCE, STATE가 구분되어 있어야 하고 사용자가 CLAUDE에게 TASK를 줄 때 CONTEXT PACT의 항목을 주어야 한다는 것일까요?

아니라면 CONTEXT PACT에 INSTRUCTION, CONTEXT, EVIDENCE, STATE가 포함되어 있고 사용자가 CLAUDE에게 TASK를 줄 때 CONTEXT PACK의 항목들이 있어야 한다는 것일까요?
포함되어 있다면 CONTEXT PACK의 어떤 항목이 INSTRUCTION에 포함되는 항목인지 또 CONTEXT에 포함되는 항목인지, EVIDENCE, STATE에 어떤 항목이 포함되는 것인지 궁금합니다.

공부하다가 이 부분에 대한 개념이 잘 이해되지 않아 질문 남깁니다.

claude 바이브코딩 하네스 컨텍스트하네스 contextharness

Câu trả lời 1

0

americasnail

안녕하세요 준원님, 아주 좋은 질문을 해주셨습니다.

질문 주신 부분은 헷갈릴 수 있습니다. 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를 두고,

EVIDENCESTATE는 작업을 수행하면서 하네스가 수집하고 갱신한다고 이해하시면 됩니다.

질문 주신 두 가지 해석 중에서는 두 번째가 조금 더 가깝지만, “사용자가 Context Pack을 매번 직접 만들어서 줘야 한다”는 부분만 빼시면 정확합니다. Context Pack은 사용자가 작성하는 Prompt 양식이라기보다 Harness가 실행 중 구성해주는 Context 구조라고 보시면 됩니다

감사합니다. 좋은 하루 되시길 바라며, 또 다른 질문 있으시다면 언제든지 남겨주세요!

Github Collaborator 문의드립니다.

0

28

1

강의 내용 추가 요청

1

58

2

CodeCraft 실습 자료 및 클로드 코드 논문 필수 내용 재구성 학습 자료

0

56

2

code craft 자료?

0

74

2

디자인 패턴 관련하여

0

72

1

넷플릭스 실습자료

0

95

2

강의 자료 요청

0

93

2

깃허브 이슈 자동화 yaml파일

0

81

2

깃허브 이슈 자동화 yaml파일

0

75

2

auto memory

0

58

2

8강 디버깅 하네스는 verification 하네스와 비슷하게 느껴지는데 결정적인 차이가있을까요?

0

93

2

3강 context harness에서 제시하주신 개념들에 대해 소개된 공식문서나 자료가 있을까요?

0

81

1

섹션5 강의자료 다운로드

0

113

2

Claude skill 과 agent, plugin 관련 질문 드려요.

0

105

3

강의 커리큘럼 추가 문의

0

88

1

memory 질문

0

60

1

코드 구현을 파이썬으로 하라고 명시했나요?

0

66

1

섹션5 수업노트와 실습자료 문의

0

106

2

claude.md 질문

0

103

2

섹션1의 자료는 따로 없나요?

0

106

2

37번 강의가 잘못된거 같습니다.

0

94

2

섹션 1 강의자료 없나요

0

116

2

강의 논문 질문

0

80

1

강의자료 오류

0

194

4