7 분 소요

0. Introduction

Paper link

PDF link

Code link

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해진다.

기존 접근은 다음 한계를 갖는다.

  1. Closed-world assumption
    • Retrieval corpus와 tool descriptions가 고정되어 있다고 가정한다.
    • 새 tool이 들어오거나 기존 tool이 사라지는 상황을 잘 다루지 못한다.
  2. Tool isolation bias
    • Tool documentation을 개별 tool 단위로 고친다.
    • 실제 실패는 유사 tool 간 selection confusion이나 fallback 부재에서 생길 수 있다.
  3. 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다.

  1. Relation-guided exploration
    • 새 tool이 추가되면 기존 tool 중 기능적으로 관련된 tool을 anchor로 찾는다.
    • 그 relation을 바탕으로 probing query를 만들고 새 tool capability를 탐색한다.
    • 실행 결과를 보고 tool documentation을 refine한다.
  2. 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은 크게 세 가지다.

  1. Expansion-only evolution
    • Tool이 점진적으로 추가된다.
  2. Reduction-only evolution
    • Tool이 점진적으로 제거된다.
  3. Mixture evolution
    • Tool 추가와 제거가 함께 일어난다.

이렇게 해야 static tool benchmark에서 보이지 않는 adaptation과 forgetting을 따로 측정할 수 있다.

4-2. Training strategy

ContDa는 model training이 아니다. Agent가 사용할 tool documentation을 self-adapt하는 offline loop다.

각 time step에서 다음을 반복한다.

  1. 현재 toolset 변화 확인
  2. 새 tool과 관련 tool 식별
  3. Relation-guided probing query 생성
  4. Tool execution으로 response 관찰
  5. Documentation refine
  6. Overlapping tools relation 정리
  7. Usage preference와 fallback option 반영

Model weight는 고정되어 있고, 바뀌는 것은 documentation이다. 이 점이 실용적이다. Enterprise agent에서 model fine-tuning은 어렵지만, tool docs update는 훨씬 가볍게 배포할 수 있다.

4-3. Engineering notes

실무 적용 관점에서 중요한 포인트는 다음과 같다.

  1. Documentation은 static manual이 아니라 agent memory다
    • Tool docs는 human-facing description이면서 동시에 agent policy hint다.
  2. Tool relation graph를 관리해야 한다
    • Similarity, overlap, fallback, deprecation relation을 저장해야 한다.
  3. Discovery와 Forget을 분리해 metric을 봐야 한다
    • 평균 성능이 올라가도 기존 task forgetting이 크면 production에는 위험하다.
  4. Documentation update에는 versioning이 필요하다
    • 어떤 toolset version에서 어떤 docs가 사용됐는지 trace해야 한다.
  5. 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이다.

  1. Average performance
    • 현재 evolving environment에서 전체적으로 얼마나 잘 푸는가.
  2. Forget
    • 이전에 풀던 task를 얼마나 잃었는가.
  3. Discover
    • 새로 등장한 capability를 얼마나 잘 찾아 쓰는가.

좋은 tool adaptation은 Discover만 높이는 것이 아니다. Discover를 높이면서 Forget을 통제해야 한다. ContDa의 contribution은 이 둘을 documentation relation으로 균형 잡으려는 데 있다.

6. Limitations

  1. Forgetting을 완전히 제거하지 못한다
    • 논문도 큰 tool functionality change에서는 documentation만으로 충분하지 않을 수 있다고 말한다.
  2. Controlled simulation의 한계
    • StableToolBench와 RestBench 기반 dynamic extension은 비교 가능성을 주지만, 실제 MCP deployment의 모든 irregularity를 담지는 못한다.
  3. Evolution horizon이 제한적이다
    • 논문은 정해진 evolution step과 run 수에서 평가한다.
    • 장기 운영에서 documentation이 얼마나 길어지고 충돌하는지는 별도 검증이 필요하다.
  4. Tool relation quality에 의존한다
    • Related tool retrieval이 틀리면 exploration query도 틀어질 수 있다.
  5. 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

재사용 가능한 포인트는 다음과 같다.

  1. Tool relation index
    • Tool descriptions와 execution traces를 바탕으로 similar, overlap, fallback relation을 관리한다.
  2. Documentation diff pipeline
    • Toolset change가 생기면 자동으로 docs adaptation PR을 만든다.
  3. Discover and Forget dashboard
    • 새 tool task 성공률과 기존 task regression을 따로 모니터링한다.
  4. Probe-based tool learning
    • 새 API가 들어왔을 때 sample query를 실행해 실제 behavior를 문서에 반영한다.
  5. 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로 보게 만든다.

댓글남기기