← 최신 논문
💻 컴퓨터 과학

Break Later or Never: Prefix-Preserving Context Compaction for Coding Agents

이 논문은 "배치 관측 마스킹(batched observation masking)"과 논리적 토큰 접두사는 보존하면서 오래된 도구-관측 데이터를 해제하는 KV-캐시 수준의 기술인 "ObsDrop"을 도입함으로써 코딩 에이전트에서의 컨텍스트 압축과 프리픽스 캐싱 간의 충돌 문제를 다루며, 이를 통해 작업 품질을 저해하지 않으면서도 처리량과 지연 시간을 크게 개선합니다.

원저자: Musa Cim, Burak Topcu, Mahmut Kandemir

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

원저자: Musa Cim, Burak Topcu, Mahmut Kandemir

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

코드를 작성하거나, 소프트웨어 버그를 수정하거나, 복잡한 공학 문제를 해결하도록 설계된 컴퓨터 프로그램이 있다고 상상해 보십시오. 이러한 "코딩 에이전트"는 한 번의 작업으로 끝나는 것이 아니라, 대규모 언어 모델과 함께 길고 반복적인 대화를 수행하며 작동합니다. 각 단계에서 에이전트는 생각을 하고, 도구(파일을 열거나 테스트를 실행하는 것과 같은)에 명령을 내린 다음, 그 결과를 읽습니다. 그런 다음 이 과정을 반복하며 새로운 결과를 자신의 기록에 추가합니다. 시간이 흐름에 따라 이 기록은 수만 단어에 달하는 거대한 문서로 불어납니다. 시스템을 계속 구동하기 위해 컴퓨터는 현재 단계를 이해하기 위해 이 대화의 모든 단어를 기억해야 합니다. 이러한 메모리 요구 사항은 시스템을 느리게 만들고 실행 비용을 높이는 무거운 부담을 만듭니다.

이 늘어나는 텍스트 더미를 관리하기 위해 엔지니어들은 대화의 내용을 축소하는 방법인 '컨텍스트 압축(context compaction)'을 개발했습니다. 가장 흔한 방법은 대화의 오래된 부분을 단순히 삭제하거나 짧은 요약본으로 대체하는 것입니다. 하지만 이 접근 방식에는 숨겨진 함정이 있습니다. 현대의 컴퓨터는 자신이 이미 수행한 작업을 재사용하는 데 매우 효율적입니다. 만약 새로운 요청이 이전과 정확히 동일한 단어로 시작된다면, 컴퓨터는 힘든 계산 과정을 건너뛰고 바로 새로운 부분으로 넘어갈 수 있습니다. 그러나 대화의 시작 부분을 아주 조금이라도 삭제하거나 다시 쓰게 되면, 컴퓨터는 과거에 대한 기억을 잃게 되어 처음부터 다시 무거운 계산을 시작해야 합니다. 이 연구의 연구자들은 공간을 절약하기 위해 텍스트를 편집하는 행위 자체가 종종 컴퓨터로 하여금 훨씬 더 많은 일을 하게 만들어, 절약 효과를 상쇄하고 때로는 시스템을 더 느리고 비싸게 만든다는 사실을 발견했습니다.

펜실베이니아 주립대학교 연구진은 이 '공간 절약'과 '시간 절약' 사이의 충돌을 이해하기 위해 노력했습니다. 그들은 코딩 에이전트가 대화의 거의 전체 이력을 매 단계마다 자연스럽게 반복한다는 점에 주목했습니다. 이력은 마치 아래에 새로운 항목만 계속 적어 내려가는 일기처럼 주로 내용이 추가되는 방식이기 때문에, 컴퓨터는 이전 계산을 거의 완벽하게 재사용할 수 있으며, 재사용률은 98~99%에 달합니다. 이 메모리 비용의 가장 큰 부분은 에이전트의 생각에서 오는 것이 아니라, 파일의 내용이나 소프트웨어 테스트 로그와 같이 에이전트가 받는 가공되지 않은 데이터에서 발생합니다. 연구진은 오래된 파일을 삭제하거나 요약하는 표준적인 방법을 사용할 때, 이 재사용의 사슬이 끊어진다는 것을 발견했습니다. 컴퓨터는 삭제된 부분 이후의 모든 내용을 다시 읽고 재계산해야 하며, 이는 빠른 작업을 느리고 비싼 작업으로 바꾸어 놓았습니다.

이를 해결하기 위해 연구진은 먼저 삭제가 일어나는 방식에 대한 간단한 조정을 테스트했습니다. 매 단계마다 정보를 삭제하는 대신, 몇 단계마다 한 번씩 삭제하도록 시도한 것입니다. "배치 마스킹(batched masking)"이라고 부르는 이 작은 변화는 컴퓨터가 더 긴 구간 동안 기억을 온전히 유지할 수 있게 해주었습니다. 이 방식은 에이전트가 운반해야 하는 텍스트 양을 최대 절반까지 줄이면서도, 컴퓨터의 메모리 재사용률을 95~98% 사이의 높은 수준으로 유지했습니다. 이 접근 방식은 에이전트 실행 비용을 최대 18% 낮추었으며, 작업 완료 속도를 최대 21% 높였습니다. 이는 기존의 컴퓨터 소프트웨어를 변경할 필요 없이, 단지 삭제 일정을 더 똑똑하게 조정하는 것만으로 가능한 실용적인 해결책이었습니다.

하지만 연구진은 이러한 개선조차 여전히 텍스트를 다시 쓰는 과정을 포함하고 있으며, 이는 필연적으로 삭제되는 순간에 메모리 사슬을 끊는다는 점을 깨달았습니다. 그래서 그들은 "옵스드롭(ObsDrop)"이라는 더 발전된 솔루션을 개발했습니다. 에이전트가 보는 텍스트를 삭제하는 대신, 옵스드롭은 컴퓨터의 메모리 내부에서 작동합니다. 이는 텍스트를 있는 그대로 유지하여 컴퓨터가 패턴을 인식하고 이전 계산을 재사용할 수 있도록 합니다. 하지만 백그라운드에서는 더 이상 필요하지 않은 파일 내용과 같은 오래된 데이터를 담고 있는 메모리 슬롯을 조용히 해제합니다. 이를 통해 컴퓨터는 속도를 위해 논리적인 이력을 온전하게 유지하면서도, 동시에 더 많은 에이전트를 동시에 실행하는 데 필요한 물리적 공간을 확보할 수 있습니다.

연구진은 여러 에이전트를 동시에 실행하는 강력한 서버에서 이 새로운 시스템을 테스트했습니다. 그들은 에이전트의 수가 증가함에 따라 표준적인 방법들이 어려움을 겪기 시작하며, 메모리가 부족해지거나 지속적인 재계산으로 인해 시스템이 급격히 느려지는 현상을 관찰했습니다. 반면, 옵스드롭 시스템은 속도와 효율성을 유지했습니다. 과부하 상태에서도 이 시스템은 이전보다 2.45배에서 2.85배 더 많은 작업을 처리할 수 있었으며, 특정 구성에서는 원래 속도보다 5배 이상의 성능 향상을 보여주었습니다. 또한 시스템은 에이전트가 생산하는 작업의 품질을 떨어뜨리지 않으면서도 압박을 견뎌냈습니다.

이 연구는 인공지능의 미래를 위한 중요한 교훈을 전달합니다. 스마트한 에이전트의 메모리를 관리하는 것은 단순히 얼마나 많은 텍스트를 보유하느냐의 문제가 아니라, '어떻게' 보유하느냐의 문제입니다. 컴퓨터가 과거의 작업을 재사용하는 능력이 매우 취약하다는 점을 이해함으로써, 연구진은 효과적인 관리를 위해서는 데이터를 버리는 와중에도 대화의 구조를 보존해야 한다는 것을 보여주었습니다. 그들의 새로운 방식인 옵스드롭은 더 적은 메모리 점유율과 더 빠르고 반응성이 좋은 시스템이라는 두 마리 토끼를 잡는 방법을 제시하며, 이러한 강력한 코딩 도구들이 자신의 이력에 발목 잡히지 않고 미래의 복잡한 문제들을 해결하기 위해 규모를 확장할 수 있도록 보장합니다.

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

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

Digest 사용해 보기 →