커스텀 툴 만들기

툴은 AI 모델이 할 수 있는 일을 확장하는 Python 함수입니다. 계산, 데이터 가져오기, 시스템 상호작용을 위한 커스텀 툴을 만드세요.

참고: 툴 및 MCP 개요

툴이란?

툴은 모델이 대화 중에 호출할 수 있는 Python 함수입니다:

  • 계산 수행 — 수학, 데이터 분석
  • 데이터 가져오기 — 실시간 정보, API
  • 시스템과 상호작용 — 통합, 자동화

커스텀 툴 만들기

1단계: "툴 만들기" 클릭

워크스페이스 → 툴로 이동하여 "+ 툴 만들기" 버튼을 클릭하세요.

2단계: 툴 정보 입력

입력:

  • 툴 이름 — 고유 식별자 (영숫자, 소문자)
  • 설명 — 툴의 역할 설명

모델이 언제 사용할지 알 수 있도록 명확한 설명 작성:

  • 좋음: "주어진 티커 기호의 현재 주가를 가져옵니다"
  • 나쁨: "금융 툴"

3단계: Python 코드 작성

툴은 Tools 클래스를 정의해야 합니다:

python
import anthropic

class Tools:
    def __init__(self):
        pass
    
    def get_stock_price(self, ticker: str) -> str:
        """Fetch current stock price for a given ticker"""
        # Your implementation
        return f"AAPL: $150.25"

요구 사항:

  • Tools 클래스 정의
  • 모델이 호출할 수 있는 메서드 구현
  • 메서드에 독스트링 추가 (모델이 언제 호출할지 이해하는 데 사용됨)
  • 문자열 또는 JSON 반환

4단계: 툴 저장

변경 사항 저장을 클릭하세요. 툴이 즉시 사용 가능합니다:

  • 모델에 연결
  • 채팅 툴 메뉴에서 사용

툴 구조

기본 예시

python
class Tools:
    def convert_temperature(self, celsius: float) -> str:
        """Convert temperature from Celsius to Fahrenheit"""
        fahrenheit = (celsius * 9/5) + 32
        return f"{celsius}°C = {fahrenheit}°F"
    
    def calculate_compound_interest(self, principal: float, rate: float, years: int) -> str:
        """Calculate compound interest"""
        amount = principal * (1 + rate/100) ** years
        return f"After {years} years: ${amount:.2f}"

외부 API 사용

python
import requests

class Tools:
    def get_weather(self, city: str) -> str:
        """Get current weather for a city"""
        api_url = "https://api.weather.example.com"
        response = requests.get(f"{api_url}/current?city={city}")
        data = response.json()
        return f"Weather in {city}: {data['condition']}, {data['temp']}°C"

툴 편집

  1. 툴 카드에서 편집 클릭
  2. Python 코드 수정
  3. 변경 사항 저장 클릭

변경 사항이 툴을 사용하는 모든 채팅에 즉시 적용됩니다.

모델에서 툴 사용

모델을 만들거나 편집할 때:

  1. 툴 섹션에서 "+ 툴 추가" 클릭
  2. 대화상자에서 툴 선택
  3. 추가 클릭

선택된 툴이 모델의 툴 목록에 표시됩니다.

모델의 툴 사용 방식

대화 중:

  1. 모델에 메시지를 보냄
  2. 모델이 툴이 필요한지 분석
  3. 필요한 경우 모델이 파라미터와 함께 툴 호출
  4. 툴이 결과 반환
  5. 모델이 결과를 응답에 통합

예시:

사용자: "25 Celsius를 Fahrenheit로 변환해줘"

모델: (25로 convert_temperature 툴 호출)
툴 반환: "25°C = 77°F"

모델: "25도 섭씨는 77도 화씨입니다."

문제 해결

툴이 만들어졌지만 모델 대화상자에 표시되지 않음

원인: Python 구문 오류 또는 Tools 클래스 누락.

해결 방법: 툴의 Python 코드를 확인하세요. Tools 클래스가 적절한 메서드로 정의되어 있는지 확인하세요.

모델이 툴을 호출하지 않음

원인: 툴 설명이 불명확하거나 모델이 언제 필요한지 인식하지 못함.

해결 방법: 툴을 사용해야 하는 시점을 설명하는 더 명확한 설명을 작성하세요.

툴이 오류 반환

원인: 입력 파라미터가 유효하지 않거나 외부 서비스를 사용할 수 없음.

해결 방법: 입력을 검증하고 오류를 처리하도록 툴을 업데이트하세요.