소프트웨어 개발(SWE) 작업을 돕는 AI 에이전트에게 과거 대화나 작업 세션 기록을 기억시키는 것이 실제 성능 향상에 도움이 되지 않으며, 오히려 모델의 품질을 저하시킬 수 있다는 분석이 나왔습니다. 흔히 에이전트의 장기 기억(long-term memory)을 위해 모든 세션 기록(transcript)을 데이터베이스에 저장하고 벡터 검색, Elasticsearch, SQL 검색 등을 활용하지만, 여러 달에 걸친 비교 테스트 결과 이러한 접근 방식은 이점을 만들지 못했으며 때로는 모델을 더 나쁘게 만들 수 있었습니다.
이러한 현상이 발생하는 주된 이유는 유용한 정보가 이미 코드 변경 사항에 포함된 커밋 메시지, PR(Pull Request) 메시지, 문서, 메타데이터 등 코딩 산출물에 잘 정리되어 있기 때문입니다. 에이전트가 특정 코드를 작업할 때 이러한 기존 문서를 참조하도록 지시받으면, 세션 기록 검색은 이미 알고 있는 내용을 다시 읽게 하거나, 처음부터 기록하지 않기로 한 임시 판단이나 스크래치패드(scratchpad) 내용까지 불필요하게 토큰으로 소비하게 만듭니다. 에이전트는 장기 기억 유지를 위해 중요하지 않은 정보를 걸러내는 '메모리 정리' 기능을 제대로 수행하지 못하며, 상태가 없기 때문에 입력 컨텍스트(input context)의 모든 것을 의도로 간주하여 '의도 이탈(intent drift)'이 누적될 수 있습니다. 이는 에이전트가 자율적으로 메모리 기반을 쌓을수록 이전 입력의 잘못된 의도 해석이 계속 쌓이는 결과를 초래합니다.
결론적으로, 세션 기록은 팀의 관측성(observability)에는 유용할 수 있지만, AI 에이전트의 성능을 개선하는 수단으로는 부정적인 영향을 미칠 수 있습니다. 불필요한 컨텍스트는 토큰 소비를 늘려 비용을 증가시키고 모델 품질을 떨어뜨립니다. 이는 마치 ChatGPT(챗GPT)의 세션 간 기억 기능이 관련 없는 정보로 대화를 오염시켜 사용자가 기능을 끄게 만드는 것과 유사합니다. 따라서 AI 에이전트 개발 시에는 정교한 기억 시스템보다는, 기존의 잘 정리된 코드 산출물과 문서화된 지식을 활용하는 방향으로 컨텍스트를 관리하는 것이 더 효과적이라는 시사점을 제공합니다.