# Agent Memory Harness

Agent Memory Harness는 에이전트가 사용자 요청, 이전 제약, 작업 상태, 확인된 근거, 장기 선호를 잊지 않도록 관리하는 런타임 메모리 계층이다. 단기 메모리는 현재 대화와 직전 요청을 유지하고, 작업 메모리는 진행 중인 미션 상태를 보존하며, 장기 메모리는 반복적으로 사용되는 사용자 선호와 프로젝트 맥락을 저장한다. 메모리 하네스가 없으면 에이전트는 이미 제공된 정보를 반복 요청하거나, 실행 요청을 일반론으로 바꾸거나, 실제 확인하지 않은 작업을 완료했다고 말하는 실패를 일으킨다.

## 1. Memory Layers

### Short-Term Memory (STM)
- **목적:** 현재 턴의 즉각적인 요구사항과 제약 조건 유지.
- **내용:** 직전 사용자 요청, 기대 결과물, 필수 제약사항.

### Working Task Memory (WTM)
- **목적:** 활성화된 미션의 수명 주기 관리.
- **내용:** 미션 목표, 관련 파일/경로, 진행 단계(완료/대기), 장애물, 추출된 증거.

### Long-Term Memory (LTM)
- **목적:** 사용자 및 프로젝트 수준의 영구적 맥락 보존.
- **내용:** 선호 언어, 답변 스타일, 프로젝트 명칭, 반복되는 설계 원칙 및 규칙.

### Evidence Memory (EM)
- **목적:** 기술적 근거와 추정치의 분리.
- **내용:** 실제 읽은 파일, 실행한 명령어, 검토된 코드, 도달 불가능한 자원.

## 2. Evidence Priority
에이전트는 정보를 활용할 때 아래 우선순위를 엄격히 준수해야 한다.
1. 최신 사용자 메시지 (Latest User Message)
2. 사용자가 직접 제공한 파일/코드/로그/경로 (User-provided Evidence)
3. 단기 메모리 (Short-Term Memory)
4. 작업 메모리 (Working Task Memory)
5. 장기 메모리 (Long-Term Memory)
6. 로컬 브레인 맥락 (Local Brain Context)
7. 모델 지식 (Model Knowledge)

## 3. Response Guard (Verification)
최종 답변(Steve)을 작성하기 전, 에이전트는 다음 체크리스트를 검증한다.
- 답변이 최신 사용자 요청에 직접적으로 부합하는가?
- 이전의 제약 조건과 중요 상세 정보를 유지했는가?
- 이미 제공된 정보를 다시 묻고 있지는 않은가?
- 확인된 증거와 가정을 명확히 구분했는가?
- 증거 없이 작업을 완료했다고 주장하지 않는가?
- 사용자의 언어와 톤을 유지했는가?

## 4. Failure Prevention Rules
- 분석을 요청받았을 때 단순 조언만 제공하지 말 것.
- 사용자가 제공한 맥락을 무시하지 말 것.
- 이미 답변된 질문을 다시 하지 말 것.
- 접근 불가능한 자원은 명확히 명시할 것.
- 답변이 일반론(Generic)으로 흐를 경우 최신 요청을 다시 확인할 것.
