에이전트가 스스로 편집하는 작업기억

전체 작업을 컨텍스트 창에 욱여넣는 것이 목표가 아닙니다. 오래된 도구 출력, 막다른 시도, 낡은 검색 결과가 쌓이면 현재 지시를 밀어내고 판단을 흐립니다. 메모리 툴은 recall/remember/forget/list 네 가지 조작을 제공해 에이전트가 스스로 작업기억을 관리하게 합니다. 유지할 사실은 기록하고, 더 이상 관련 없는 근거는 버리며, 뒤 단계에서 필요한 것만 다시 불러옵니다.

핵심은 분리입니다. "사실"과 "진행 중 추론"을 별도 저장소에 두면 폐기된 가설이 나중에 확정 사실인 척 오염시키지 않습니다. remember는 지속 사실을 남기고, forget은 낡은 가정을 제거하며, recall/list는 회수 품질의 경계를 정합니다.

컨텍스트 편집과 서버측 컴팩션

대화가 창 한계에 가까워지면 서버측 컴팩션이 이전 대화를 요약해 공간을 회수합니다. Anthropic 내부 에이전틱 검색 평가에서 컨텍스트 편집 단독으로 +29%, 메모리 툴과 결합했을 때 +39% 향상했습니다. 다만 컴팩션은 공짜가 아닙니다. 과도한 요약은 다음 단계가 의존하는 세부를 날리므로, 식별자·결정·미해결 항목은 산문이 아니라 필드로 보존해야 합니다.

A4 분량 상세 가이드: 기획부터 운영까지

에이전트 기능은 모델 성능만으로 완성되지 않습니다. 실제 서비스에서는 질문이 불완전하고, 도구 응답이 지연되며, 정책 제약이 동시에 발생합니다. 따라서 문서는 "어떤 상황에서 어떤 기준으로 시스템이 동작하는지"를 문장으로 명확히 적어야 합니다. 독자는 코드보다 의사결정 근거를 먼저 이해해야 재현 가능한 운영 패턴을 만들 수 있습니다.

실무에서 가장 흔한 문제는 요구의 모호성입니다. "작업기억을 가볍게 유지하라"는 요청은 지연·정확도·비용의 균형점이 정의되지 않으면 구현 단계에서 충돌합니다. 목표 지표를 숫자로 적어야 합니다. 예를 들어 회수 적중률 90% 이상, 컴팩션 발동 전 작업기억 점유율 창의 40% 이하, 컴팩션 후 세부 유실률 5% 이하로 정리합니다. 이런 기준이 있어야 모델 교체나 컴팩션 임계 조정 시 품질 회귀를 빠르게 감지합니다.

운영에서 실패는 예외가 아니라 기본값에 가깝습니다. recall이 낡은 사실을 반환하거나, forget이 사용 중인 항목을 지우거나, 컴팩션이 핵심 식별자를 날리는 일은 반복됩니다. 복구 분기를 명확히 나눠야 합니다. 낡은 회수는 재조회로, 모호한 삭제는 사람 확인으로, 손실성 컴팩션은 안전한 축약 요약으로 전환합니다. 복구에는 "언제 중단할지"도 포함해야 합니다. 최대 시도 횟수와 백오프를 함께 정의하지 않으면 무한 반복이 비용과 지연을 동시에 악화시킵니다.

배포 전 점검은 기능 목록 확인으로 끝나면 안 됩니다. 창 가득 참, 빈 회수 결과, remember/forget 충돌, 경계에서의 컴팩션을 포함한 시나리오 테스트를 수행해야 합니다. 관측은 표준 로그 필드로 통일합니다. 요청 ID, 단계별 도구 호출 시간, 실패 코드, 대체 경로 진입 여부, 메모리 조작 유형을 남기고, 개인정보가 로그와 알림 채널로 새지 않도록 PII 마스킹 규칙을 명시합니다. 코드에만 둔 규칙은 누락되기 쉬우므로 텍스트 정책과 함께 유지합니다.

마지막으로 지속 개선 루프를 문서에 넣습니다. 주간 단위로 실패 상위 유형을 정리하고 재발률이 높은 항목부터 개선합니다. 프롬프트 변경, 도구 계약 변경, 메모리 정책 변경은 각각 위험이 다르므로 변경 로그를 분리해 원인 추적을 쉽게 합니다.

실행 요약

정리하면, 에이전트가 recall/remember/forget/list로 스스로 작업기억을 편집하게 하고, 창 한계 근처에서는 서버측 컴팩션으로 공간을 회수합니다. 목표 지표를 수치로 고정하고, 실패 유형별 복구 경로를 분기하며, 관측 항목과 마스킹 규칙을 함께 기록해야 합니다. 이렇게 작성한 문서는 단발성 글이 아니라 온보딩·장애 대응·기능 확장에 바로 쓰이는 실행 자산이 됩니다.

참고 링크

Memory Tool (Claude Docs)