LLM(대규모 언어모델) 기반 에이전트가 외부 도구(tool)를 사용하거나 문서를 처리할 때 발생하는 '기억' 문제를 해결하기 위한 오픈소스 솔루션 'Ingot'이 등장했습니다. 기존에는 에이전트가 도구 사용 결과를 프롬프트에 모두 담아 컨텍스트 비용을 증가시키거나, RAG(검색 증강 생성) 방식을 사용해도 상위 K개 결과만 검색하는 과정에서 정보 손실이 발생하는 한계가 있었습니다. Ingot은 이러한 문제에 대한 새로운 접근 방식을 제시하며, 에이전트가 여러 차례 상호작용해도 정확도를 유지하면서 비용 효율적인 메모리 관리를 가능하게 합니다.
Ingot의 핵심은 도구 실행 결과나 문서를 PostgreSQL 데이터베이스와 Parquet 파일 형태로 구조화된 메모리로 저장하는 것입니다. 각 데이터 행은 SQL로 읽고, 텍스트로 검색하며, 대시보드에서 탐색하거나 Parquet 파일을 읽는 모든 도구로 열람할 수 있습니다. 특히 PDF는 페이지별로, 마크다운과 HTML은 제목별로, CSV는 유형화된 행으로 문서를 청크(chunk)하여 저장하며, 임베딩(embedding)과 요약, OCR(광학 문자 인식) 기능은 선택적으로 활용할 수 있습니다. 이를 통해 에이전트는 복잡한 질의를 SQL과 텍스트 검색의 조합으로 수행하여, 기존 RAG 스택에서 상위 K개 검색만으로는 불가능했던 정교한 정보 검색을 할 수 있습니다.
Ingot은 기존 RAG 스택의 '저장 및 검색' 부분을 대체하며, 모델 호출 전에 필요한 모든 검색 파이프라인 기능을 제공합니다. 벤치마크 결과에 따르면, Ingot은 기존 RAG 방식이나 전체 컨텍스트를 사용하는 방식보다 높은 정확도(97%)를 보이면서도 더 적은 컨텍스트 토큰과 도구 호출을 사용했습니다. 이는 에이전트가 불필요한 정보를 프롬프트에 담지 않고도 필요한 정보에 정확하게 접근할 수 있음을 의미합니다. 결과적으로 Ingot은 LLM 에이전트의 장기 기억력을 강화하고, 복잡한 다중 턴(multi-turn) 상호작용에서 일관된 성능을 유지하며, 운영 비용을 절감하는 데 크게 기여할 수 있습니다. 이는 특히 복잡한 비즈니스 로직을 처리하는 에이전트나 대규모 문서 기반 질의응답 시스템 개발에 중요한 이점을 제공할 것입니다.