피드로 돌아가기
Does How You Feed Context to an LLM Agent Change What It Remembers? I Tested With Canary Strings.
Dev.toDev.to
AI/ML

카나리아 문자열 테스트로 검증한 LLM 에이전트 컨텍스트 기억 유지율 차이

Does How You Feed Context to an LLM Agent Change What It Remembers? I Tested With Canary Strings.

mkxultra2026년 3월 31일8intermediate

Context

LLM 에이전트에 프로젝트 컨텍스트를 로드할 때 쉘 명령어, 단일 파일, 분할 파일 세 가지 방식을 사용한다. 각 방식이 에이전트의 기억 유지에 미치는 영향은 검증된 바 없다. 2,664줄 약 50K 토큰의 실제 개발 컨텍스트를 대상으로 실험했다.

Technical Solution

  • 컨텍스트의 섹션 경계마다 SHA-256 해시 기반 고유 카나리아 문자열 19개를 삽입한다
  • 세 가지 패턴으로 컨텍스트를 전달하고 기억된 카나리아 수로 기억률을 객관적으로 측정한다
  • 쉘 명령어 출력은 크기가 예측 불가능하여 도구 제한 초과 시 컨텍스트가 잘릴 수 있다
  • 단일 파일과 분할 파일 방식은 전달 내용을 사전 검증할 수 있어 안전하다

Impact

Gemini의 경우 쉘 명령어 패턴에서만 14/19 기억률을 보였고 단일 파일과 분할 파일에서는 19/19를 달성했다. 정밀도는 기억한 것 중 100% 정확도를 유지했다. Claude와 Codex는 모든 패턴에서 19/19를 달성했다.

Key Takeaway

쉘 명령어 출력으로 컨텍스트를 전달하면 크기 제한으로 인해 정보가 손실될 수 있으므로 파일 기반 읽기 방식이 더 안전하다.


LLM 에이전트 세션 구축 시 파일 읽기 방식으로 컨텍스트를 전달하면 크기 제한으로 인한 정보 손실을 방지하고 기억률을 높일 수 있다

원문 읽기