Anthropic, Claude에 코드 실행 능력 탑재! 에이전트 개발 판도를 뒤집을까?

요약

Anthropic이 Claude에 출시한 ‘고급 도구 사용’ 기능은 기존 MCP 방식의 토큰 소모 문제를 해결하고, 도구 검색, 프로그래밍 방식 도구 호출, 도구 사용 예시를 통해 에이전트 개발 방식을 획기적으로 개선합니다. 이는 에이전트가 필요할 때만 도구를 로드하고, 코드로 도구를 조율하며, 구체적인 예시를 통해 학습할 수 있도록 합니다.

주요 내용

1. 기존 MCP 방식의 문제점

  • 토큰 과다 소모: 여러 MCP 서버를 연결하고 서버당 수십 개의 도구를 로드하면, 에이전트가 첫 사용자 요청을 보기도 전에 도구 정의만으로 5만~10만 개의 토큰을 소모
  • 컨텍스트 오염: 중간 도구 결과가 컨텍스트를 오염시켜 비효율적인 처리 발생
  • 확장성 문제: 200개의 도구가 있더라도 현재 작업에 필요한 것이 3개뿐이라면, 200개 전체에 대한 비용을 미리 지불해야 하는 비효율성

2. 도구 검색 도구 (Tool Search Tool)

  • 작동 방식: 모든 도구 정의를 미리 로드하는 대신, 약 500 토큰에 불과한 검색 도구 하나만 전달하여 필요할 때 도구를 찾게 함
  • 사용 예시: github.com/pull_requestsearch_jira_tickets와 같은 쿼리로 검색 도구를 호출하면, 일치하는 소수의 도구 집합만 반환되어 컨텍스트에 포함
  • 성능 개선:
    • 기존 방식: 작업 시작 전 77,000 토큰 필요
    • 도구 검색 사용: 8,700 토큰으로 컨텍스트 창의 95% 보존
    • MCP 작업의 정확도 향상 (Claude가 수많은 유사 도구에 압도되지 않음)
  • 구현 방법:
    • 도구 배열에 tool_search_tool 추가
    • 다른 모든 도구에 defer_loading: true 설정
    • MCP 서버 전체를 지연 로딩으로 설정 가능
    • 자주 사용하는 일부 도구만 항상 로드되도록 재정의 가능
  • 장단점:
    • 장점: 엄청난 양의 컨텍스트 절약, 더 나은 도구 실행 결과
    • 단점: 검색 단계 추가로 약간의 지연 발생
  • 권장 사용: 도구가 10개 미만이면 불필요, 50개 이상이면 필수

3. 프로그래밍 방식 도구 호출 (Programmatic Tool Use)

  • 기존 방식의 문제: 각 단계마다 별도의 도구 호출과 모델 왕복이 필요하여 토큰 낭비 및 지연 발생
  • 새로운 방식: Claude가 샌드박스 내에서 코드로 도구를 호출하는 Python 스크립트를 작성
  • 실제 예시: “어떤 팀 멤버가 3분기 출장 예산을 초과했는가?”
    • 기존 방식: 팀 멤버 가져오기 → 각 멤버의 비용 가져오기 → 예산 가져오기 → 컨텍스트에서 결합 (여러 번의 왕복)
    • 프로그래밍 방식: 하나의 Python 스크립트에서 모든 도구 호출을 처리하고 최종 JSON만 반환
  • 성능 개선:
    • 토큰 절약: 복잡한 연구 작업에서 평균 37% 감소
    • 지연 시간 감소: 단일 코드 블록에서 여러 도구 호출 처리로 모델 왕복 횟수 감소
    • 정확도 향상: 명시적인 루프와 조건문이 자연어 지시보다 훨씬 신뢰성 높음
  • 구현 방법: 도구에 code_execution 추가
  • 권장 사용: 대규모 데이터셋 처리 또는 여러 도구 호출을 결합하는 다단계 워크플로우에 적합

4. 도구 사용 예시 (Tool Use Examples)

  • 개념: 도구 호출에 작고 현실적인 예시를 도구 정의에 직접 첨부
  • 효과: 모델이 JSON 스키마뿐만 아니라 좋은 도구 호출의 실제 모습을 학습
  • 적용 시나리오: 선택적 필드와 규칙이 많은 도구에서 에이전트 성능 크게 향상
  • 기존 대비 차이: 이전에도 매개변수 설명이나 예시 제공 가능했지만, 이제 도구 정의에 표준화된 필드로 제공됨

5. 보안 및 주의사항

  • 워크플로우의 결정성 저하: 도구 검색에서 쿼리가 다르게 표현되어 도구를 찾지 못하거나, 오케스트레이션 스크립트에서 잘못된 코드 작성 가능성
  • 디버깅 어려움: 추적 플랫폼에서 이전과 같은 방식으로 도구 출력을 볼 수 없음 (주로 코드의 최종 결과만 확인 가능)
  • 적절한 안전 장치 필요: 실제 데이터를 다룰 때 빠르고 큰 피해를 초래할 수 있으므로, 샌드박스 환경 및 검증 로직 필수

핵심 인사이트

  • 에이전트 개발 패러다임의 전환: “모든 도구를 미리 로드하고 행운을 빈다”에서 “필요할 때 도구를 검색하고 실제로 필요한 것만 구체화”로 변화
  • 코드 실행의 공식화: 에이전트가 코드를 실행하는 방식이 더 이상 편법이 아니라 권장되는 접근 방식으로 자리 잡음
  • MCP의 내장 라우터 추가: 도구 검색 기능은 기본적으로 MCP에 라우터를 추가한 것과 같은 효과
  • 다른 모델 제공 업체로의 확산 가능성: Anthropic이 프론티어 모델 회사 중 처음으로 이 방식을 채택했지만, 다른 회사들도 뒤따를 것으로 예상
  • 자체 에이전트 프레임워크 적용: API에서 직접 지원하지 않는 다른 모델 제공 업체를 사용하더라도 동일한 패턴을 자체 프레임워크에 적용 가능

Leave a Comment