Tiered Context Loading: Fit a Huge Agent Registry in Your Context Window

개요

거대한 에이전트 레지스트리를 모델의 컨텍스트 창에 맞추기 위한 Tiered Context Loading 패턴은, 에이전트 선택 시 필요한 정보의 깊이를 세 단계로 분리하여 효율적으로 관리하는 방법을 제시한다.

주요 내용

* 문제점: 기존 방식은 에이전트 선택 시마다 모든 에이전트의 전체 명세(설명, 파라미터, 예제 등)를 로드하여 컨텍스트 창을 초과하는 문제를 야기하며, 이는 에이전트 레지스트리의 규모가 커질수록 더욱 심각해진다.
* 기존 해결책의 한계: 스펙을 적게 로드하거나, 키워드 매칭으로 라우팅하는 방식은 정보 부족 또는 부정확한 라우팅으로 인해 실패할 가능성이 높다.
* Tiered Context Loading 패턴:
* L0 (Always-present index): 각 에이전트의 이름, 한 줄 설명, 주요 태스크 타입 등 최소한의 정보만을 항상 로드하여 전체 에이전트 목록을 파악한다. (400개 에이전트 기준 약 40K 토큰)
* L1 (Category layer): L0에서 명확한 선택이 어려울 경우, 관련 카테고리의 파라미터 요약 정보만을 온디맨드로 로드한다. (약 2K 토큰)
* L2 (Full spec): 최종적으로 선택된 하나의 에이전트를 디스패치하는 시점에 해당 에이전트의 전체 명세(파라미터, 예제, 에러 모드 등)를 로드한다. (약 8K 토큰)
* 효율성: Tiered Context Loading을 적용하면 최대 50K 토큰으로도 400개 이상의 에이전트 레지스트리를 관리할 수 있으며, 128K 컨텍스트 창에서 대화 기록 등을 위한 충분한 공간을 확보할 수 있다.
* 컨텍스트 압박 시 관리: 컨텍스트 창이 가득 찰 경우, L2가 가장 먼저, 그리고 L0는 가장 적게 사용된 에이전트부터 제거되어 실제 사용되는 에이전트 중심으로 컨텍스트가 유지된다.

시사점

Tiered Context Loading 패턴은 에이전트 레지스트리의 확장성을 확보하고 컨텍스트 창 관리의 효율성을 극대화하며, KARIMO 프로젝트에서 제시된 L0/L1/L2 계층화 방식을 통해 별도의 임베딩이나 검색 인프라 없이 구현 가능하다.

원문 읽기 →
원문을 불러오는 중...

댓글

GitHub Discussions