AI 메모리의 역설: 모든 것을 기억하는 것은 쉽다. 현명하게 기억하는 것은 어렵다.
Source: Dev.to
Naive Memory의 문제
하지만 아무도 말하지 않는 것이 있습니다: 순진한 메모리는 비용이 많이 듭니다. 그리고 그 비용은 금전적인 것만이 아닙니다.
에이전트에게 거대한 컨텍스트 윈도우를 주고 그 안에 지금까지 본 모든 것을 채워 넣으세요. 더 많은 컨텍스트가 더 많은 이해를 의미하는 것이 아니라, 더 많은 잡음을 의미합니다. 신호‑대‑잡음 비율이 붕괴됩니다. 에이전트는 무관한 것들 사이에 연결을 환상하고, 현재 중요한 것이 무엇인지 놓치며, 정확도가 떨어지는 동시에 속도가 느려집니다.
컨텍스트는 단순한 자원이 아니라 인지 환경입니다. 이를 오염시키면, 에이전트는 “알고” 있을수록 더 둔해집니다.
인간 두뇌는 이런 식으로 작동하지 않습니다. 질문에 답하기 전에 모든 대화를 다시 재생하지 않습니다. 대부분을 잊어버립니다. 그 잊음은 버그가 아니라 설계 자체입니다.
보다 인간적인 메모리 아키텍처
구조화된 추출
- 사실은 독립적으로 추출되어 저장됩니다.
- 결정은 신뢰도, 추론, 결과와 함께 기록됩니다.
- 대화가 종료될 때 요약됩니다 — 통찰은 살아남고, 원문은 사라집니다.
프레임‑인식 예산
- 모든 상호작용은 인지 프레임(대화, 작업, 결정, 디버그, 연구)으로 분류됩니다.
- 각 프레임은 서로 다른 토큰 예산을 가집니다:
- 캐주얼 채팅은 약 3 K 토큰의 컨텍스트를 로드합니다.
- 복잡한 결정은 약 12 K 토큰을 로드하고, 과거 결정 3배를 끌어옵니다.
- 에이전트가 얼마나 기억할지 결정하는 것이 아니라, 프레임이 결정합니다.
배치된 검색
에이전트가 여러 소스에서 데이터를 필요로 할 때, 하나의 임베디드 스크립트가 모든 쿼리를 실행하고, 결과를 필터링·압축하여 중요한 것만 반환합니다.
각각 전체 결과를 컨텍스트에 덤프하던 세 개의 도구 호출이 하나의 압축 요약으로 대체됩니다.
적극적인 가지치기
- 도구 출력은 시간이 지나면 자동으로 잘려 나갑니다.
- 4 K 문자 이상인 결과는 앞과 뒤 각각 1 500 문자만 남기고 부드럽게 잘립니다.
- 여섯 번의 도구 호출 후에는 오래된 출력이 완전히 삭제됩니다.
- 에이전트는 절대 죽은 무게를 짊어지지 않습니다.
의도적인 망각
일부 내용은 의도적으로 잊혀집니다.
결과
수백 번의 대화에 걸쳐 사용자를 기억하면서도, 메모리가 전혀 없는 기본 채팅보다 턴당 사용 토큰이 적은 에이전트.
이것이 에이전시 AI에서 진정한 도전 과제입니다: 단순히 일을 할 수 있는 에이전트를 만드는 것이 아니라(이는 대부분 해결됨), 비용 효율적으로 사고할 수 있는 에이전트를 만드는 것입니다. 컨텍스트를 비용 없이 운반하고, 법정 속기사보다 신뢰받는 동료처럼 기억하는 것이 목표입니다.
결론
우리는 AI의 메모리 아키텍처가 모델 자체보다 더 중요해지는 시대에 들어서고 있습니다. 낭비가 큰 메모리를 가진 가장 똑똑한 모델은 지능적인 회상을 가진 좋은 모델에게 패배합니다.
모든 것을 기억하는 에이전트가 아니라, 현명하게 기억하는 에이전트를 구축하세요.
GitHub repository: tfatykhov/nous
P.S. 아직 진행 중이지만, 많은 작업이 완료되었습니다.