Beyond Static Toolsets: Self-Evolving LLM Tool Agents via Continual Documentation Adaptation Review
0. Introduction
Tool-use agent 논문은 보통 tool selection, function calling, tool retrieval, instruction tuning을 다룬다. 하지만 실제 서비스 환경에서는 더 근본적인 문제가 있다. Toolset이 고정되어 있지 않다. API가 추가되고, 이름이 바뀌고, deprecate되고, 비슷한 기능의 tool이 동시에 존재한다. Agent는 새 tool을 배워야 하지만, 기존 tool 사용 능력을 잊으면 안 된다.
이 논문은 이 문제를 stability-adaptation dilemma로 정의한다. 더 많은 tool을 받아들이면 adaptation은 좋아질 수 있지만, 기존 task에서 선택 혼동이나 fallback 실패가 늘 수 있다. 반대로 기존 documentation을 보수적으로 유지하면 stability는 좋지만 새 tool discovery가 약해진다.
한 줄 요약: ContDa는 evolving toolset 환경에서 model weight를 바꾸지 않고 tool documentation을 계속 업데이트해, 새 tool capability를 discovery하면서 기존 task competence를 최대한 유지하려는 continual documentation adaptation framework다.
이 논문을 지금 볼 가치가 있는 이유는 다음과 같다.
- MCP나 enterprise tool server처럼 tool list가 계속 바뀌는 환경과 직접 맞닿아 있다.
- Agent memory를 model weight가 아니라 documentation artifact로 다루는 실용적 관점을 준다.
- 새 tool 탐색과 기존 tool 보존을 Discover와 Forget metric으로 분리한다.
- Static ToolBench류 benchmark를 production-like dynamic setting으로 확장하는 방법을 보여준다.
1. Problem Setting
1-1. Problem definition
기존 tool-use agent evaluation은 대개 static tool environment를 가정한다. Tool set, API description, documentation, argument schema가 고정되어 있고, agent는 그 안에서 올바른 tool을 찾으면 된다.
하지만 실제 환경은 다르다.
- 새 tool이 추가된다.
- 기존 tool이 삭제된다.
- 비슷한 기능의 tool이 여러 개 생긴다.
- Documentation이 불완전하거나 outdated하다.
- 기존 task는 계속 돌아가야 한다.
이때 agent가 해야 하는 일은 단순히 new tool을 쓰는 것이 아니다. 기존 tool competence를 유지하면서, 새 tool capability를 발견하고, overlapping tool 사이의 usage preference와 fallback relation을 정리해야 한다.
1-2. Why previous approaches are insufficient
Static tool optimization은 tool documentation을 한번 refine하고 끝낼 수 있다. 하지만 evolving toolset에서는 그 documentation이 곧 stale해진다.
기존 접근은 다음 한계를 갖는다.
- Closed-world assumption
- Retrieval corpus와 tool descriptions가 고정되어 있다고 가정한다.
- 새 tool이 들어오거나 기존 tool이 사라지는 상황을 잘 다루지 못한다.
- Tool isolation bias
- Tool documentation을 개별 tool 단위로 고친다.
- 실제 실패는 유사 tool 간 selection confusion이나 fallback 부재에서 생길 수 있다.
- Stability metric 부족
- 새 tool을 잘 쓰게 됐는지만 보면 기존 task forgetting을 놓친다.
- 평균 success rate만으로는 adaptation과 forgetting을 분리하기 어렵다.
2. Core Idea
2-1. Main contribution
ContDa의 핵심은 tool documentation을 continual learning의 substrate로 보는 것이다. Model parameter를 바꾸지 않고, evolving toolset에 맞춰 documentation을 계속 self-adapt한다.
전체 구성은 두 stage다.
- Relation-guided exploration
- 새 tool이 추가되면 기존 tool 중 기능적으로 관련된 tool을 anchor로 찾는다.
- 그 relation을 바탕으로 probing query를 만들고 새 tool capability를 탐색한다.
- 실행 결과를 보고 tool documentation을 refine한다.
- Relation-aware adjustment
- 서로 겹치는 tool들을 cluster나 relation으로 정리한다.
- 어떤 tool을 우선 쓰고, 어떤 상황에서 fallback을 사용할지 documentation에 명시한다.
- Tool overlap으로 생기는 selection confusion을 줄인다.
2-2. Design intuition
새 tool을 완전히 unknown object로 보면 exploration cost가 크다. 하지만 tool ecosystem에서는 많은 tool이 기존 tool과 기능적으로 관련되어 있다. 예를 들어 sports API에 wnba_scoreboard가 새로 들어오면, 기존 wnba_summary, wnba_standing, get_all_game 같은 tool이 capability hypothesis를 만드는 anchor가 될 수 있다.
ContDa는 이 relation을 적극적으로 쓴다. 새 tool documentation만 읽고 probe를 만들면 documentation의 빈틈에 갇힐 수 있다. 반대로 관련 tool을 같이 보면, 새 tool이 무엇을 할 수 있을지 더 좋은 질문을 던질 수 있다.
또 하나 중요한 점은 adjustment다. Discovery만 잘해도 충분하지 않다. 새 tool을 알게 된 뒤에는 기존 tool과의 관계를 정리해야 한다. 이 tool은 언제 쓰고, 비슷한 tool이 실패하면 어떤 fallback을 쓸지 문서에 남겨야 한다.
3. Architecture / Method
3-1. Overview
| Item | Description |
|---|---|
| Goal | Evolving toolset에서 tool agent의 adaptation과 stability 동시 개선 |
| Main artifact | Updated tool documentation |
| Stage 1 | Relation-guided exploration |
| Stage 2 | Relation-aware adjustment |
| Environment | Dynamic extensions of StableToolBench and RestBench |
| Metrics | Average performance, Forget, Discover |
| Main constraint | Model parameter update 없이 documentation만 수정 |
3-2. Module breakdown
1) Evolving tool environment
ContDa는 time step마다 toolset이 바뀌는 상황을 가정한다. Tool이 추가되는 expansion-only, 제거되는 reduction-only, 추가와 제거가 섞이는 mixture evolution이 있다.
이 setting에서 중요한 것은 현재 toolset $T_t$와 이전 documentation $D_{t-1}$의 mismatch다. Agent는 새 tool을 이해해야 하고, 없어진 tool에 의존하던 task를 다른 tool로 복구해야 한다.
2) Relation-guided exploration
새 tool이 들어오면 ContDa는 기능적으로 유사한 기존 tool을 찾는다. 그 tool들은 probe query를 만드는 anchor가 된다.
예를 들어 새 tool documentation이 불완전하더라도, related tools가 제공하는 input-output pattern을 보면 다음 질문을 만들 수 있다.
- 새 tool이 기존 tool과 같은 entity를 다루는가.
- 기존 tool에는 없지만 새 tool이 제공할 수 있는 field가 있는가.
- 새 tool이 실패하는 edge case는 무엇인가.
- 어떤 argument 조합이 valid한가.
이 probe를 실행하고 response를 관찰한 뒤, documentation을 refine한다.
3) Relation-aware adjustment
두 번째 stage는 overlapping tools를 정리한다. Evolving environment에서 forgetting은 단순 retrieval failure보다 selection confusion이나 tool unavailability에서 더 자주 발생할 수 있다. 논문은 84개 forgetting case 분석에서 tool unavailability와 selection confusion이 큰 비중을 차지한다고 보고한다.
그래서 ContDa는 tool 간 relation을 documentation에 명시한다.
- Overlap: 두 tool이 비슷한 기능을 제공하는지
- Complementarity: 한 tool이 다른 tool의 부족한 정보를 보완하는지
- Preference: 어떤 상황에서 어느 tool을 우선 쓸지
- Fallback: 특정 tool이 unavailable일 때 무엇을 쓸지
이 단계가 없으면 새 tool discovery는 좋아져도 기존 task에서 혼동이 늘 수 있다.
4. Training / Data / Recipe
4-1. Data
논문은 StableToolBench와 RestBench를 dynamic toolset setting으로 확장해 평가한다. Evolution pattern은 크게 세 가지다.
- Expansion-only evolution
- Tool이 점진적으로 추가된다.
- Reduction-only evolution
- Tool이 점진적으로 제거된다.
- Mixture evolution
- Tool 추가와 제거가 함께 일어난다.
이렇게 해야 static tool benchmark에서 보이지 않는 adaptation과 forgetting을 따로 측정할 수 있다.
4-2. Training strategy
ContDa는 model training이 아니다. Agent가 사용할 tool documentation을 self-adapt하는 offline loop다.
각 time step에서 다음을 반복한다.
- 현재 toolset 변화 확인
- 새 tool과 관련 tool 식별
- Relation-guided probing query 생성
- Tool execution으로 response 관찰
- Documentation refine
- Overlapping tools relation 정리
- Usage preference와 fallback option 반영
Model weight는 고정되어 있고, 바뀌는 것은 documentation이다. 이 점이 실용적이다. Enterprise agent에서 model fine-tuning은 어렵지만, tool docs update는 훨씬 가볍게 배포할 수 있다.
4-3. Engineering notes
실무 적용 관점에서 중요한 포인트는 다음과 같다.
- Documentation은 static manual이 아니라 agent memory다
- Tool docs는 human-facing description이면서 동시에 agent policy hint다.
- Tool relation graph를 관리해야 한다
- Similarity, overlap, fallback, deprecation relation을 저장해야 한다.
- Discovery와 Forget을 분리해 metric을 봐야 한다
- 평균 성능이 올라가도 기존 task forgetting이 크면 production에는 위험하다.
- Documentation update에는 versioning이 필요하다
- 어떤 toolset version에서 어떤 docs가 사용됐는지 trace해야 한다.
- MCP style deployment와 잘 맞는다
- Tool server가 바뀌면 documentation adaptation job을 별도로 실행할 수 있다.
5. Evaluation
5-1. Main results
논문은 ContDa가 StableToolBench와 RestBench의 dynamic setting에서 average performance와 Discover를 개선하면서 Forget을 제한적으로 유지한다고 보고한다.
StableToolBench mixture evolution에서 ContDa는 baseline보다 높은 average performance를 보이고, stability-adaptation frontier를 더 좋은 방향으로 이동시킨다. RestBench에서도 expansion-only, reduction-only, mixture evolution 모두에서 ContDa가 더 나은 평균 성능과 discovery 경향을 보인다.
또한 realistic interface irregularities setting에서도 ContDa가 baseline보다 높은 success rate를 보인다. 이는 documentation adaptation이 단순 synthetic tool addition뿐 아니라 불규칙한 interface 변화에도 어느 정도 도움이 될 수 있음을 시사한다.
5-2. What really matters in the experiments
이 논문에서 중요한 것은 headline success rate보다 metric decomposition이다.
- Average performance
- 현재 evolving environment에서 전체적으로 얼마나 잘 푸는가.
- Forget
- 이전에 풀던 task를 얼마나 잃었는가.
- Discover
- 새로 등장한 capability를 얼마나 잘 찾아 쓰는가.
좋은 tool adaptation은 Discover만 높이는 것이 아니다. Discover를 높이면서 Forget을 통제해야 한다. ContDa의 contribution은 이 둘을 documentation relation으로 균형 잡으려는 데 있다.
6. Limitations
- Forgetting을 완전히 제거하지 못한다
- 논문도 큰 tool functionality change에서는 documentation만으로 충분하지 않을 수 있다고 말한다.
- Controlled simulation의 한계
- StableToolBench와 RestBench 기반 dynamic extension은 비교 가능성을 주지만, 실제 MCP deployment의 모든 irregularity를 담지는 못한다.
- Evolution horizon이 제한적이다
- 논문은 정해진 evolution step과 run 수에서 평가한다.
- 장기 운영에서 documentation이 얼마나 길어지고 충돌하는지는 별도 검증이 필요하다.
- Tool relation quality에 의존한다
- Related tool retrieval이 틀리면 exploration query도 틀어질 수 있다.
- Security와 trust 문제
- Tool documentation을 자동으로 바꾸면 malicious or misleading tool docs가 agent behavior에 반영될 수 있다.
7. My Take
7-1. Why this matters for my work
ContDa의 가장 중요한 메시지는 tool documentation이 agent의 외부 memory이자 policy surface라는 점이다. Tool-use agent를 운영하면 모델 자체보다 tool docs, schema, fallback, deprecation note가 더 자주 바뀐다. 이걸 수동으로 관리하면 금방 운영 병목이 된다.
특히 MCP 기반 agent 생태계에서는 tool list가 동적으로 바뀔 수 있다. 그런 환경에서 agent가 매번 처음부터 tool을 읽는 것보다, tool relation과 usage preference를 계속 축적하는 documentation adaptation layer가 필요하다.
7-2. Reuse potential
재사용 가능한 포인트는 다음과 같다.
- Tool relation index
- Tool descriptions와 execution traces를 바탕으로 similar, overlap, fallback relation을 관리한다.
- Documentation diff pipeline
- Toolset change가 생기면 자동으로 docs adaptation PR을 만든다.
- Discover and Forget dashboard
- 새 tool task 성공률과 기존 task regression을 따로 모니터링한다.
- Probe-based tool learning
- 새 API가 들어왔을 때 sample query를 실행해 실제 behavior를 문서에 반영한다.
- Human reviewable agent memory
- Weight update보다 documentation update는 사람이 검토하기 쉽다.
7-3. Follow-up papers
- StableToolBench
- RestBench
- EasyTool
- Tool documentation optimization 관련 논문
- MCP와 agent protocol 관련 survey
8. Summary
- ContDa는 evolving toolset에서 agent가 새 tool을 배우면서 기존 competence를 잃지 않도록 documentation을 계속 업데이트한다.
- 핵심은 relation-guided exploration과 relation-aware adjustment다.
- 새 tool은 관련 기존 tool을 anchor로 probing하고, overlapping tool은 preference와 fallback을 문서화한다.
- Evaluation은 average performance뿐 아니라 Forget과 Discover를 분리해서 본다.
- 이 논문은 tool docs를 static manual이 아니라 agent behavior를 조정하는 lightweight memory layer로 보게 만든다.
댓글남기기