커스텀 툴 만들기
툴은 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"툴 편집
- 툴 카드에서 편집 클릭
- Python 코드 수정
- 변경 사항 저장 클릭
변경 사항이 툴을 사용하는 모든 채팅에 즉시 적용됩니다.
모델에서 툴 사용
모델을 만들거나 편집할 때:
- 툴 섹션에서 "+ 툴 추가" 클릭
- 대화상자에서 툴 선택
- 추가 클릭
선택된 툴이 모델의 툴 목록에 표시됩니다.
모델의 툴 사용 방식
대화 중:
- 모델에 메시지를 보냄
- 모델이 툴이 필요한지 분석
- 필요한 경우 모델이 파라미터와 함께 툴 호출
- 툴이 결과 반환
- 모델이 결과를 응답에 통합
예시:
사용자: "25 Celsius를 Fahrenheit로 변환해줘"
모델: (25로 convert_temperature 툴 호출)
툴 반환: "25°C = 77°F"
모델: "25도 섭씨는 77도 화씨입니다."
문제 해결
툴이 만들어졌지만 모델 대화상자에 표시되지 않음
원인: Python 구문 오류 또는 Tools 클래스 누락.
해결 방법: 툴의 Python 코드를 확인하세요. Tools 클래스가 적절한 메서드로 정의되어 있는지 확인하세요.
모델이 툴을 호출하지 않음
원인: 툴 설명이 불명확하거나 모델이 언제 필요한지 인식하지 못함.
해결 방법: 툴을 사용해야 하는 시점을 설명하는 더 명확한 설명을 작성하세요.
툴이 오류 반환
원인: 입력 파라미터가 유효하지 않거나 외부 서비스를 사용할 수 없음.
해결 방법: 입력을 검증하고 오류를 처리하도록 툴을 업데이트하세요.