Code Velocity
개발자 도구

에이전트 도구: Claude 최적화를 통한 AI 성능 향상

·7 분 소요·Anthropic·원본 출처
공유
성능 향상을 위한 Claude Code를 사용한 AI 에이전트 도구 평가 및 최적화 일러스트.

AI 에이전트 성능에서 도구의 핵심적인 역할

빠르게 진화하는 AI 환경에서 지능형 에이전트의 효율성은 에이전트가 사용하는 도구의 품질과 유용성에 크게 좌우됩니다. 인공지능 모델이 점점 더 복잡하고 다단계적인 작업을 수행할 수 있게 되면서, "도구"를 통해 외부 시스템과 상호 작용하는 방식이 무엇보다 중요해졌습니다. AI 연구 및 개발의 선두주자인 Anthropic은 이러한 도구를 구축, 평가, 심지어 최적화하여 에이전트 성능을 극적으로 향상시키는 방법에 대한 중요한 통찰력을 공유했습니다.

이 접근 방식의 핵심에는 대규모 언어 모델(LLM) 에이전트가 광범위한 기능에 접근할 수 있도록 설계된 시스템인 모델 컨텍스트 프로토콜(MCP)이 있습니다. 하지만 단순히 도구를 제공하는 것만으로는 충분하지 않습니다. 도구는 최대한 효과적이어야 합니다. 이 글에서는 Anthropic이 에이전트 기반 AI 시스템을 개선하기 위해 입증한 기술들을 자세히 다루며, Claude와 같은 AI 모델이 어떻게 협력하여 자체 도구 세트를 개선할 수 있는지 강조합니다. 초기 개념부터 최적화된 도구에 이르는 과정은 프로토타이핑, 엄격한 평가, 그리고 에이전트 자체와의 협력적인 피드백 루프를 포함합니다.

AI 에이전트 도구 이해: 소프트웨어의 새로운 패러다임

전통적으로 소프트웨어 개발은 결정론적 원칙에 따라 작동합니다. 즉, 동일한 입력이 주어지면 함수는 항상 동일한 출력을 생성합니다. 간단한 getWeather("NYC") 호출을 생각해 보세요. 이 호출은 항상 동일한 방식으로 뉴욕시의 날씨를 가져옵니다. 그러나 Anthropic의 Claude와 같은 AI 에이전트는 비결정론적 시스템으로 작동합니다. 이는 동일한 초기 조건에서도 응답이 달라질 수 있음을 의미합니다.

이러한 근본적인 차이 때문에 에이전트용 소프트웨어를 설계할 때 패러다임 전환이 필요합니다. AI 에이전트를 위한 도구는 다른 개발자를 위한 단순한 함수나 API가 아닙니다. 그것들은 지능적이지만 때로는 예측 불가능한 개체를 위해 설계된 인터페이스입니다. 사용자가 "오늘 우산을 가져가야 할까요?"라고 물으면, 에이전트는 날씨 도구를 호출하거나, 일반 지식을 사용하거나, 심지어 위치를 명확히 해달라고 요청할 수도 있습니다. 때로는 에이전트가 환각을 일으키거나 도구를 올바르게 사용하는 방법을 이해하지 못할 수도 있습니다.

따라서 목표는 에이전트가 효과적으로 작동할 수 있는 "표면적"을 넓히는 것입니다. 이는 견고할 뿐만 아니라 에이전트가 사용하기에 "인체공학적인" 도구를 만드는 것을 의미합니다. 흥미롭게도 Anthropic의 경험에 따르면, 에이전트의 비결정론적 특성을 염두에 두고 설계된 도구는 종종 인간이 이해하기에도 놀랍도록 직관적이고 쉽다는 것이 밝혀졌습니다. 이러한 도구 개발 관점은 실제 애플리케이션에서 Claude Opus 또는 Claude Sonnet과 같은 정교한 모델의 잠재력을 최대한 발휘하는 데 핵심입니다.

효과적인 AI 도구 개발: 프로토타입부터 최적화까지

효과적인 AI 에이전트 도구를 만드는 과정은 구축, 테스트, 정제를 반복하는 반복적인 프로세스입니다. Anthropic은 신속한 프로토타이핑으로 시작하여 포괄적인 평가로 넘어가는 실질적인 접근 방식을 강조합니다.

신속한 프로토타입 구축

실제 경험 없이 에이전트가 도구와 어떻게 상호 작용할지 예측하는 것은 어려울 수 있습니다. 첫 번째 단계는 프로토타입을 신속하게 구축하는 것입니다. 개발자가 Claude Code와 같은 에이전트를 활용하여 도구를 생성하는 경우, 기본 소프트웨어 라이브러리, API 또는 SDK(MCP SDK 포함)에 대한 잘 구조화된 문서를 제공하는 것이 중요합니다. 종종 공식 문서 사이트에서 발견되는 플랫한 'llms.txt' 파일은 특히 LLM 친화적입니다.

이러한 프로토타입은 로컬 MCP 서버 또는 데스크톱 확장(DXT)으로 래핑하여 Claude Code 또는 Claude 데스크톱 앱 내에서 로컬 테스트를 용이하게 할 수 있습니다. 프로그래밍 방식 테스트를 위해 도구를 Anthropic API 호출에 직접 전달할 수도 있습니다. 이 초기 단계는 개발자가 도구를 직접 테스트하고, 사용자 피드백을 수집하며, 도구가 처리하도록 의도된 예상 사용 사례 및 프롬프트에 대한 직관을 구축하도록 장려합니다.

포괄적인 평가 실행

프로토타입이 작동하면 다음으로 중요한 단계는 체계적인 평가를 통해 에이전트가 이러한 도구를 얼마나 효과적으로 사용하는지 측정하는 것입니다. 여기에는 실제 시나리오를 기반으로 한 다양한 평가 작업을 생성하는 것이 포함됩니다.

평가 작업 생성

평가 작업은 실제 사용자 쿼리에서 영감을 받아야 하며 현실적인 데이터 소스를 활용해야 합니다. 도구의 복잡성을 충분히 스트레스 테스트하지 못하는 단순한 "샌드박스" 환경은 피하는 것이 중요합니다. 강력한 평가 작업은 종종 에이전트가 솔루션을 달성하기 위해 여러 도구 호출을 수행하도록 요구합니다.

작업 유형강력한 예시약한 예시
회의 일정 잡기"다음 주에 제인과 Acme Corp 프로젝트에 대해 논의하는 회의 일정을 잡아주세요. 지난 프로젝트 계획 회의록을 첨부하고 회의실을 예약해 주세요.""다음 주에 jane@acme.corp와 회의 일정을 잡아주세요."
고객 서비스"고객 ID 9182번이 단일 구매 시도에 대해 세 번 청구되었다고 보고했습니다. 모든 관련 로그 항목을 찾아 다른 고객들도 동일한 문제의 영향을 받았는지 확인해 주세요.""결제 로그에서 'purchase_complete'와 'customer_id=9182'를 검색하세요."
유지 분석"고객 Sarah Chen이 방금 해지 요청을 제출했습니다. 유지 제안을 준비해 주세요. (1) 이탈하는 이유, (2) 가장 설득력 있는 유지 제안, (3) 제안하기 전에 알아야 할 위험 요소를 파악해 주세요.""고객 ID 45892번의 해지 요청을 찾아주세요."

각 프롬프트는 검증 가능한 응답 또는 결과와 짝을 이루어야 합니다. 검증자는 간단한 문자열 비교부터 에이전트에게 응답을 판단하도록 요청하는 고급 평가까지 다양할 수 있습니다. 사소한 형식 차이로 인해 유효한 응답을 거부할 수 있는 지나치게 엄격한 검증자는 피하는 것이 중요합니다. 선택적으로 개발자는 예상 도구 호출을 지정할 수 있지만, 에이전트가 솔루션에 이르는 여러 유효한 경로를 찾을 수 있으므로 특정 전략에 지나치게 상세하게 지정하거나 과적합하는 것을 피하기 위해 신중하게 수행해야 합니다.

평가를 프로그래밍 방식으로 실행

Anthropic은 간단한 에이전트 루프(예: LLM API 호출과 도구 호출 사이를 번갈아 사용하는 while 루프) 내에서 직접 LLM API 호출을 사용하여 평가를 프로그래밍 방식으로 실행할 것을 권장합니다. 각 평가 에이전트는 단일 작업 프롬프트와 도구를 제공받습니다. 이러한 에이전트의 시스템 프롬프트에서, 도구 호출 및 응답 블록 전에 구조화된 응답 블록(검증용), 추론 및 피드백 블록을 출력하도록 지시하는 것이 유용합니다. 이는 사고의 연쇄(CoT) 행동을 장려하여 LLM의 효과적인 지능을 향상시킵니다. Claude의 "인터리브드 사고" 기능은 에이전트가 특정 도구를 선택하는 이유에 대한 통찰력을 제공하며, 유사한 기능을 바로 사용할 수 있도록 제공합니다.

최고 수준의 정확도 외에도 총 런타임, 도구 호출 수, 토큰 소비량, 도구 오류와 같은 지표를 수집하는 것이 중요합니다. 도구 호출을 추적하면 일반적인 에이전트 워크플로우를 파악할 수 있어 도구 통합 또는 개선 기회를 제안할 수 있습니다.

AI로 도구 최적화: Claude의 협력적 접근 방식

평가 결과 분석은 매우 중요한 단계입니다. 에이전트 자체도 이 과정에서 문제를 찾아내고 피드백을 제공하는 데 귀중한 파트너가 될 수 있습니다. 그러나 그들의 피드백이 항상 명시적인 것은 아닙니다. 그들이 생략하는 것이 포함하는 것만큼 많은 것을 말해줄 수 있습니다. 개발자는 에이전트의 추론(CoT)을 면밀히 조사하고, 원본 스크립트(도구 호출 및 응답 포함)를 검토하며, 도구 호출 메트릭을 분석해야 합니다. 예를 들어, 중복되는 도구 호출은 페이지네이션 또는 토큰 제한 조정의 필요성을 나타낼 수 있으며, 유효하지 않은 매개변수로 인한 잦은 오류는 명확하지 않은 도구 설명을 나타낼 수 있습니다.

Anthropic의 주목할 만한 예시 중 하나는 Claude의 웹 검색 도구에 관한 것이었습니다. 이 도구는 쿼리에 불필요하게 '2025'를 덧붙여 결과에 편향을 주었습니다. 도구 설명을 개선하는 것이 Claude를 올바른 방향으로 이끄는 핵심이었습니다.

Anthropic 방법론의 가장 혁신적인 측면은 에이전트가 자신의 결과를 분석하고 도구를 개선할 수 있도록 하는 능력입니다. 평가 스크립트를 연결하여 Claude Code에 입력함으로써, 개발자는 복잡한 상호 작용을 분석하고 도구를 리팩토링하는 Claude의 전문 지식을 활용할 수 있습니다. Claude는 수많은 변경 사항에도 불구하고 도구 구현과 설명 간의 일관성을 보장하는 데 탁월합니다. 이러한 강력한 피드백 루프는 Anthropic 자체의 도구 개발 조언 대부분이 에이전트 지원 최적화라는 바로 이 과정을 통해 생성되고 정제되었음을 의미하며, 소프트웨어 개발에서 에이전트 기반 워크플로우의 성장 추세를 반영합니다.

고품질 에이전트 도구 개발을 위한 핵심 원칙

광범위한 실험과 에이전트 기반 최적화를 통해 Anthropic은 AI 에이전트를 위한 고품질 도구를 제작하는 몇 가지 핵심 원칙을 확인했습니다.

  1. 전략적 도구 선택: 어떤 도구를 구현할지, 그리고 무엇보다도 어떤 도구를 구현하지 않을지 현명하게 선택해야 합니다. 불필요한 도구로 에이전트를 과부하하면 혼란과 비효율성을 초래할 수 있습니다.
  2. 명확한 네임스페이스 지정: 효과적인 네임스페이스 지정을 통해 각 도구의 명확한 경계와 기능을 정의합니다. 이는 에이전트가 각 기능의 정확한 범위와 목적을 이해하는 데 도움이 됩니다.
  3. 의미 있는 컨텍스트 반환: 도구는 에이전트에게 간결하고 관련성 있는 컨텍스트를 반환하여, 장황하거나 불필요한 정보 없이 정보에 입각한 의사 결정을 가능하게 해야 합니다.
  4. 토큰 효율성 최적화: 토큰 효율성을 위해 도구 응답을 최적화합니다. LLM 상호 작용에서 모든 토큰은 비용과 처리 속도 모두에 중요합니다.
  5. 정밀한 프롬프트 엔지니어링: 도구 설명 및 사양을 세심하게 프롬프트 엔지니어링합니다. 명확하고 모호하지 않은 지침은 에이전트가 도구를 올바르게 해석하고 활용하는 데 필수적입니다.

이러한 원칙을 준수하고 반복적이며 에이전트 지원 개발 주기를 수용함으로써 개발자는 AI 에이전트의 성능과 역량을 크게 향상시키고, 이러한 지능형 시스템이 달성할 수 있는 것의 한계를 뛰어넘는 견고하고 효율적이며 매우 효과적인 도구를 구축할 수 있습니다.

자주 묻는 질문

What is the Model Context Protocol (MCP) and how does it relate to AI agents?
The Model Context Protocol (MCP) is a framework designed to empower large language model (LLM) agents by providing them with access to potentially hundreds of tools, enabling them to solve complex real-world tasks. It defines a standardized way for agents to interact with external systems and data sources, transforming how AI agents can leverage deterministic software. Rather than agents relying solely on their internal knowledge, MCP allows them to use specialized tools, much like a human uses various applications or references to complete tasks, thus significantly expanding their capabilities and effectiveness across diverse domains.
Why is designing tools specifically for non-deterministic AI agents different from traditional software development?
Traditional software development typically involves creating contracts between deterministic systems, where a given input always yields the same predictable output. AI agents, however, are non-deterministic, meaning their responses can vary even with identical starting conditions. This fundamental difference requires rethinking tool design. Instead of assuming precise, static interactions, tools for AI agents must be robust enough to handle varied agentic reasoning, potential misunderstandings, or even hallucinations. The goal is to make tools 'ergonomic' for agents, facilitating their diverse problem-solving strategies, which often results in surprisingly intuitive tools for human users too.
What are the critical steps in evaluating the performance of AI agent tools?
Evaluating AI agent tools involves a systematic approach starting with generating a diverse set of real-world evaluation tasks. These tasks should be complex enough to stress-test tools, potentially requiring multiple tool calls. Next, the evaluation is run programmatically, typically using agentic loops that simulate how an agent would interact with the tools. Key metrics collected include accuracy, total runtime, number of tool calls, token consumption, and tool errors. Finally, analyzing results involves having agents provide reasoning and feedback, reviewing raw transcripts, and identifying patterns in tool usage or errors to pinpoint areas for improvement in tool descriptions, schemas, or implementations.
How can AI agents like Claude optimize their own tools?
Anthropic demonstrates that AI agents, particularly models like Claude Code, can play a pivotal role in optimizing the very tools they use. This is achieved by feeding the agent transcripts and results from tool evaluations. Claude can then analyze these interactions, identify inefficiencies, inconsistencies, or areas where tool descriptions are unclear, and suggest refactorings. For instance, it can ensure that tool implementations and descriptions remain self-consistent after changes or recommend adjustments to parameters for better token efficiency. This collaborative approach leverages the agent's analytical capabilities to continuously improve the quality and ergonomics of its toolset, leading to enhanced performance.
What are the key principles for writing high-quality tools for AI agents?
Several core principles guide the creation of effective tools for AI agents. Firstly, judiciously choosing which tools to implement (and which to omit) is crucial for agent clarity and efficiency. Secondly, namespacing tools clearly defines their functional boundaries, reducing ambiguity for the agent. Thirdly, tools should return meaningful and concise context to agents, aiding their decision-making. Fourthly, optimizing tool responses for token efficiency is vital for managing costs and processing speed in LLM interactions. Lastly, meticulous prompt-engineering of tool descriptions and specifications ensures agents accurately understand and utilize each tool's purpose and capabilities, minimizing errors and maximizing effectiveness.

최신 소식 받기

최신 AI 뉴스를 이메일로 받아보세요.

공유