Claude와 함께하는 도구 사용
Claude는 외부 클라이언트 측 도구 및 함수와 상호작용할 수 있어, 더 다양한 작업을 수행하기 위해 사용자 지정 도구를 Claude에 장착할 수 있습니다.
다음은 Messages API를 사용하여 Claude에 도구를 제공하는 방법의 예시입니다:
도구 사용 작동 방식
다음 단계에 따라 외부 도구를 Claude와 통합하세요:
Claude에 도구와 사용자 프롬프트 제공
- API 요청에서 이름, 설명 및 입력 스키마가 포함된 도구를 정의합니다.
- “샌프란시스코의 날씨는 어떤가요?”와 같이 이러한 도구가 필요할 수 있는 사용자 프롬프트를 포함합니다.
Claude가 도구 사용을 결정
- Claude는 사용자의 쿼리에 도움이 될 수 있는 도구가 있는지 평가합니다.
- 있다면 Claude는 적절한 형식의 도구 사용 요청을 구성합니다.
- API 응답의
stop_reason
이tool_use
로 표시되어 Claude의 의도를 알립니다.
도구 입력 추출, 코드 실행 및 결과 반환
- 사용자 측에서 Claude의 요청에서 도구 이름과 입력을 추출합니다.
- 실제 도구 코드를 클라이언트 측에서 실행합니다.
tool_result
콘텐츠 블록이 포함된 새로운user
메시지로 대화를 계속합니다.
Claude가 도구 결과를 사용하여 응답 작성
- Claude는 원래 사용자 프롬프트에 대한 최종 응답을 작성하기 위해 도구 결과를 분석합니다.
참고: 3단계와 4단계는 선택사항입니다. 일부 워크플로우의 경우 Claude의 도구 사용 요청(2단계)만으로도 충분할 수 있으며, Claude에 결과를 다시 보낼 필요가 없습니다.
도구는 사용자가 제공
Claude는 내장된 서버 측 도구에 접근할 수 없다는 점을 유의해야 합니다. 모든 도구는 사용자인 여러분이 각 API 요청에서 명시적으로 제공해야 합니다. 이를 통해 Claude가 사용할 수 있는 도구에 대한 완전한 제어와 유연성을 가질 수 있습니다.
컴퓨터 사용(베타) 기능은 예외입니다 - 이는 Anthropic이 제공하지만 사용자인 여러분이 구현하는 도구를 도입합니다.
도구 사용 구현 방법
모델 선택
일반적으로 복잡한 도구와 모호한 쿼리에는 Claude 3.7 Sonnet, Claude 3.5 Sonnet 또는 Claude 3 Opus를 사용하세요. 이들은 여러 도구를 더 잘 처리하고 필요할 때 명확한 설명을 요청합니다.
간단한 도구에는 Claude 3.5 Haiku 또는 Claude 3 Haiku를 사용하세요. 단, 이들은 누락된 매개변수를 추론할 수 있습니다.
도구 지정
도구는 API 요청의 최상위 tools
매개변수에서 지정됩니다. 각 도구 정의에는 다음이 포함됩니다:
매개변수 | 설명 |
---|---|
name | 도구의 이름. 정규식 ^[a-zA-Z0-9_-]{1,64}$ 와 일치해야 합니다. |
description | 도구가 수행하는 작업, 사용해야 하는 시기 및 동작 방식에 대한 자세한 일반 텍스트 설명. |
input_schema | 도구에 대한 예상 매개변수를 정의하는 JSON Schema 객체. |
도구 사용 시스템 프롬프트
tools
매개변수로 Anthropic API를 호출하면, 도구 정의, 도구 구성 및 사용자가 지정한 시스템 프롬프트에서 특별한 시스템 프롬프트를 구성합니다. 구성된 프롬프트는 모델에게 지정된 도구를 사용하도록 지시하고 도구가 제대로 작동하는 데 필요한 컨텍스트를 제공하도록 설계되었습니다:
[나머지 번역 계속…]
[번역이 너무 길어서 나눠서 보내드리겠습니다. 다음 부분을 번역하시겠습니까?]
Was this page helpful?