AI 에이전트를 업무에 붙이면 초반에는 잘한다. 문제는 세션이 길어질 때 나온다. 오전에는 정확히 따르던 규칙을 오후에는 잊는다. 방금 읽은 파일은 기억하면서, 프로젝트의 금지 조건은 놓친다. 담당자는 더 긴 프롬프트를 붙이지만 결과는 더 무거워진다. 이건 프롬프트 문제가 아니다. 하네스 설계 문제다.
하네스 엔지니어링은 모델 바깥의 운영 장치다. 어떤 정보를 언제 넣고, 무엇을 압축하고, 어떤 기억을 다음 세션으로 넘길지 정하는 일이다. 컨텍스트 압축과 메모리 계층은 따로 설계하면 실패한다. 압축은 버리는 기술이고, 메모리는 남기는 기술이다. 둘을 같은 기준으로 굴려야 에이전트가 오래 일한다.
압축은 요약이 아니라 권한 재배치다
긴 세션에서 /compact류의 압축은 대화를 짧게 만드는 기능처럼 보인다. 실제로는 권한을 다시 배치하는 절차다. 원문 로그, 파일 읽기, 도구 호출, 판단 근거가 하나의 요약으로 바뀌면 정보의 위계도 함께 바뀐다.
Claude Code 문서는 컨텍스트가 가득 찰 때 압축이 대화 이력을 구조화된 요약으로 대체하며, 프로젝트 루트의 CLAUDE.md와 auto memory는 다시 주입되지만 path-scoped rule은 해당 파일을 다시 읽기 전까지 사라진다고 설명한다. 이 차이가 핵심이다. 모든 정보가 같은 방식으로 살아남지 않는다.
압축 설계의 목적은 적게 넣는 것이 아니라, 다시 살아나야 할 정보를 정해진 자리에서 살아나게 하는 것이다.
그래서 압축 프롬프트에는 세 가지가 들어가야 한다. 결정된 사항, 아직 검증되지 않은 가정, 다음 행동의 제약이다. 회의록처럼 길게 요약하면 실패한다. 에이전트는 문장을 읽는 것이 아니라 다음 행동의 경계를 읽는다.
메모리는 하나가 아니라 계층이다
현장에서 자주 보는 실패는 메모리를 하나의 저장소로 보는 것이다. 고객 선호, 시스템 규칙, 예외 처리, 작업 히스토리, 팀 컨벤션을 한 덩어리로 넣는다. 그러면 오래된 선호가 최신 정책과 충돌하고, 임시 작업 메모가 프로젝트 규칙처럼 작동한다.
메모리는 최소한 아래처럼 나눠야 한다.
| 계층 | 남기는 것 | 운영 원칙 |
|---|---|---|
| 정책 기억 | 보안, 승인, 금지 조건 | 압축 대상이 아니라 재주입 대상 |
| 절차 기억 | 반복 워크플로, 체크리스트 | skill 또는 명령으로 분리 |
| 도메인 기억 | 용어, 데이터 정의, 업무 규칙 | 출처와 버전을 붙여 관리 |
| 에피소드 기억 | 이번 세션의 결정, 미해결 이슈 | 압축 요약에만 남기고 만료 |
| 작업 기억 | 파일 내용, 로그, 중간 추론 | 세션 종료와 함께 폐기 |
OpenAI가 2026년 공개한 ChatGPT memory 설명도 같은 방향을 보인다. saved memories와 chat history를 구분하고, memory summary와 sources를 통해 사용자가 무엇이 응답에 영향을 줬는지 관리하게 한다. 제품 기능의 문제가 아니라 운영 원리의 문제다. 기억은 저장보다 통제가 먼저다.
압축과 메모리는 같은 라벨을 써야 한다
컨텍스트 압축과 메모리 계층이 따로 놀면 에이전트는 매번 새 조직원이 된다. 압축 요약에는 남겼지만 장기 메모리에는 없고, 장기 메모리에는 있는데 이번 작업의 압축본에는 없는 상태가 반복된다.
AX Ops에서는 압축 산출물에 라벨을 붙인다.
decision: 이미 합의된 결정constraint: 다음 행동을 제한하는 조건assumption: 검증 전 가정open_issue: 다음 세션에서 이어받을 질문expiry: 언제 폐기할지 정한 시점
이 라벨은 메모리 저장소에도 그대로 들어간다. 에이전트가 다음 세션을 시작할 때 정책 기억은 항상 주입하고, 절차 기억은 skill로 호출하고, 에피소드 기억은 open_issue가 있을 때만 불러온다. Anthropic의 Agent Skills가 긴 절차를 항상 컨텍스트에 싣지 않고 필요할 때 로드하도록 설계된 것도 이 운영 감각과 맞닿아 있다.
MCP도 같은 관점에서 봐야 한다. MCP는 외부 도구와 데이터 소스를 연결하는 표준이지만, 연결 자체가 기억 설계는 아니다. 어떤 도구 결과를 작업 기억으로만 쓸지, 어떤 결과를 도메인 기억으로 승격할지 하네스가 결정해야 한다.
참고
핵심은 단순하다. 긴 컨텍스트를 믿지 말고, 압축된 맥락과 계층화된 기억을 함께 설계해야 한다. 에이전트 품질은 모델 호출 한 번의 답변이 아니라, 여러 세션을 건너도 같은 기준으로 판단하는 능력에서 갈린다.
- OpenAI, “Dreaming: Better memory for a more helpful ChatGPT”, 2026: https://openai.com/index/chatgpt-memory-dreaming/
- OpenAI Help Center, “Memory FAQ”, 2026 기준 갱신 문서: https://help.openai.com/en/articles/8590148-memory-in-chatgpt
- Anthropic Claude Code Docs, “How Claude remembers your project”, 2026 기준 문서: https://code.claude.com/docs/en/memory
- Anthropic Claude Code Docs, “Explore the context window”, 2026 기준 문서: https://code.claude.com/docs/en/context-window
- Anthropic Engineering, “Equipping agents for the real world with Agent Skills”, 2025: https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills
- Model Context Protocol Docs, “What is the Model Context Protocol?”, 2026 기준 문서: https://modelcontextprotocol.io/docs/getting-started/intro
PoC 에이전트를 운영 에이전트로 바꾸려면 프롬프트보다 먼저 하네스를 설계해야 한다. AX Ops 방법론 →
