← 최신 논문
🤖 AI

Context as an Environment: Programmatic Context Management for Long-Horizon Agents

이 논문은 에이전트 세션을 추가 전용(append-only) 이벤트 로그와 지속적인 파이썬 커널을 갖춘 실행 가능한 환경으로 취급하여, LLM이 코드를 통해 장기적 상태를 동적으로 관리할 수 있게 함으로써 롱 컨텍스트 벤치마크에서 최첨단 성능을 달축하는 프로그래밍 방식의 컨텍스트 관리 시스템인 Scroll을 소개한다.

원저자: Yin Lin, Elaine Ang, Erkang Zhu, Bolin Ding, Jingren Zhou

게시일 2026-08-25
📖 4 분 읽기☕ 가벼운 읽기

원저자: Yin Lin, Elaine Ang, Erkang Zhu, Bolin Ding, Jingren Zhou

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

끝나지 않는 대화를 상상해 보십시오. 당신은 코드를 작성하거나, 복잡한 여행을 계획하거나, 깊이 있는 주제를 연구하는 데 도움을 줄 수 있는 매우 똑똑한 컴퓨터 프로그램과 대화하고 있습니다. 처음에는 대화가 쉽습니다. 프로그램은 지난 몇 분 동안 당신이 말한 모든 것을 기억합니다. 하지만 대화가 몇 시간 또는 며칠 동안 길어짐에 따라, 정보의 양은 점점 늘어납니다. 결국, 프로그램이 즉각적인 메모리에 담기에는 너무 많은 양이 됩니다. 인공지능의 세계에서 이 즉각적인 메모리를 '컨텍스트 윈도우(context window)'라고 부릅니다. 이것은 특정 수의 종이를 담을 수 있는 책상처럼 크기가 정해져 있습니다. 종이 더미가 너무 높아지면, 프로그램은 새로운 종이를 위한 공간을 만들기 위해 일부를 버려야 합니다.

문제는 프로그램이 언제 무엇이 중요한지 너무 늦기 전까지는 알지 못한다는 점입니다. 만약 당신이 3일 전에 언급했던 것에 대해 질문한다면, 프로그램은 이미 그 종이를 버렸을 수도 있습니다. 전통적인 해결책들은 과거의 종이들을 짧은 노트로 요약하거나, 몇 가지 사실을 골라 별도의 공책에 보관하는 방식으로 이 문제를 해결하려 합니다. 하지만 이러한 방법들은 위험합니다. 만약 프로그램이 날짜나 숫자와 같은 구체적인 세부 사항을 버린다면, 그 세부 사항은 영원히 사라집니다. 그것은 복구될 수 없습니다. 긴 역사를 되돌아보며 정확한 사실을 찾아내거나 상황이 어떻게 변했는지 추적해야 하는 작업의 경우, 단 하나의 세부 사항을 잃는 것만으로도 프로그램은 실패할 수 있습니다.

한 연구팀이 이 늘어나는 대화를 처리하는 다른 방법을 제안했습니다. 그들은 이 시스템을 '스크롤(Scroll)'이라고 부릅니다. 대화 전체를 프로그램의 즉각적인 메모리에 넣으려고 노력하는 대신, 그들은 역사를 프로그램이 필요할 때마다 방문할 수 있는 별도의 영구적인 환경으로 취급합니다. 이것은 프로그램의 책상 바로 밖에 놓여 있는 거대하고 체계적인 기록 보관소와 같습니다. 프로그램은 보관소 전체를 한꺼번에 읽지 않습니다. 대신, 보관소로 가서 필요한 특정 페이지를 찾아 그 페이지만을 책상으로 가져오라는 검색 쿼리나 명령 같은 작은 지시문을 작성합니다.

이 시스템의 핵심은 모든 상호작용의 영구적인 기록인 '이벤트 로그(Event Log)'입니다. 이 로그는 모든 메시지, 도구의 결과, 그리고 결정을 정확한 세부 사항과 함께 포착하는, 멈추지 않는 테이프 녹음기와 같습니다. 이것은 프로그램의 즉각적인 메모리 외부에 안전하게 저장되므로 아무것도 유실되지 않습니다. 이 로그와 함께, 프로그램이 현재의 생각이나 계산을 유지할 수 있는 일종의 디지털 샌드박스인 '지속적인 작업 공간(persistent workspace)'이 존재합니다. 프로그램이 과거의 무언가를 기억해야 할 때, 요약본에 의존하는 대신, 이벤트 로그를 검색하여 자신이 찾고 있는 정확한 순간을 찾아내고 그 정보를 자신의 작업 공간으로 불러오는 코드를 작성합니다.

이 접근 방식은 프로그램이 자신의 메모리를 생각하는 방식을 바꿉니다. 무엇을 남길지 추측하는 대신, 프로그램은 필요한 순간에 무엇을 찾아볼지 결정합니다. 만약 프로그램이 여행을 계획하다가 몇 주 전에 사용자가 언급한 선호도를 기억해야 한다면, 특정 선호도를 찾기 위한 명령어를 작성합니다. 그런 다음 사용자가 사용했던 정확한 단어들을 불러와 결정을 내리는 데 사용합니다. 프로그램은 오직 필요한 정보만을 자신의 즉각적인 시야로 가져옵니다. 나머지 대화 기록은 보관소에 안전하게 저장되어 나중에 필요할 때 호출되기를 기다립니다.

즉각적인 시야가 너무 가득 차지 않도록, 시스템은 현재 사용되지 않는 오래된 정보를 정리하는 방법을 가지고 있습니다. 작업 공간이 혼잡해지면, 시스템은 대화의 가장 오래된 부분들을 다시 보관소로 이동시킵니다. 하지만 다른 시스템들이 이 오래된 부분들을 삭제하거나 요약하는 것과 달리, 스크롤은 그것들을 있는 그대로 유지합니다. 시스템은 프로그램에게 보관소의 해당 부분이 정확히 어디에 저장되어 있는지 알려주는 작은 지도인 '인덱스(index)'를 생성합니다. 만약 프로그램이 나중에 오래된 대화를 확인해야 할 필요성을 느끼면, 이 지도를 사용하여 해당 지점으로 직접 뛰어들어 원문 텍스트를 가져올 수 있습니다. 이는 프로그램이 정보가 더 이상 즉각적인 시야에 없더라도 항상 원천 데이터로 돌아갈 수 있음을 보장합니다.

연구진은 인공지능이 긴 대화를 얼마나 잘 처리할 수 있는지 확인하기 위해 설계된 몇 가지 어려운 과제들로 이 시스템을 테스트했습니다. 한 테스트에서 시스템은 100만 단어가 넘는 대화 기록을 바탕으로 질문에 답해야 했습니다. 또 다른 테스트에서는 도구를 사용하여 정보를 수집하고 문제를 해결하며 장기간 결정을 내리는 에이전트로서 역할을 수행해야 했습니다. 결과는 이 새로운 방법이 매우 효과적임을 보여주었습니다. 긴 역사를 기억하고 추론하는 능력을 측정하는 테스트에서 시스템은 94.8%의 점수를 기록했습니다. 1,000만 단어의 역사가 포함된 또 다른 테스트에서는 73.1%를 기록했는데, 이는 이전에 발표된 그 어떤 시스템보다 높은 수치였습니다. 시스템이 복잡한 과제를 해결하면서 확장되는 환경을 관리해야 하는 테스트에서는 86.7%에 도달하여, 이전의 최고 결과들을 크게 앞질렀습니다.

이 시스템의 성공은 메모리를 프로그래밍 작업으로 취급하는 능력에서 비롯됩니다. 프로그램이 정보를 찾고 사용하는 자신만의 지시문을 작성할 수 있게 함으로써, 시스템은 프로그램의 발전하는 코드 작성 능력을 활용합니다. 이는 프로그램이 중요한 세부 사항을 잃을 수 있는 요약본으로 역사를 압축하도록 강요하지 않습니다. 대신, 프로그램이 필요할 때마다 전체의 편집되지 않은 역사에 접근할 수 있는 도구를 제공합니다. 연구진은 이 방법이 다양한 유형의 강력한 프로그램에서 잘 작동한다는 것을 발견했으며, 이는 코드를 통해 장기 기억을 관리하는 능력이 여러 시스템이 학습할 수 있는 일반적인 기술임을 시사합니다.

이 연구는 우리가 지능형 에이전트를 구축하는 방식의 변화를 시사합니다. 프로그램의 즉각적인 메모리를 더 크게 만들거나 요약 능력을 개선하려 하기보다, 우리는 그것에게 자신의 삶에 대한 영구적이고 검색 가능한 기록에 대한 접근 권한을 줄 수 있습니다. 프로그램은 이 기록을 탐색하며, 무엇을 앞으로 가져오고 무엇을 뒤에 남겨둘지 결정하는 법을 배웁니다. 이는 즉각적인 시야를 맑고 집중되게 유지하는 동시에, 과거의 온전한 진실이 항상 사용 가능하도록 보장합니다. 연구진은 이 접근 방식이 인공지능이 미래에 훨씬 더 길고 복잡한 과제를 처리하는 데 도움이 될 수 있으며, 중요한 세부 사항을 잃지 않고 훨씬 더 깊은 역사로부터 학습할 수 있게 해줄 것이라고 믿고 있습니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →