Claude로 AI 애플리케이션을 구축할 때, 실시간 정보에 대한 접근 권한이나 작업을 수행할 수 있는 능력을 Claude에게 부여해야 하는 경우가 많습니다. 이때 도구 함수(tool functions)가 필요합니다 - 이는 Claude가 사용자를 돕기 위해 추가 데이터가 필요할 때 호출할 수 있는 Python 함수입니다.

위 이미지는 우리가 구현할 세 가지 필수 도구를 보여줍니다: 현재 날짜/시간 가져오기, 날짜에 기간 추가하기, 알림 설정하기입니다. 첫 번째 도구부터 시작해 보겠습니다.
도구 함수란 무엇인가요?
도구 함수는 Claude가 작업을 완료하기 위해 추가 정보가 필요하다고 판단할 때 자동으로 실행되는 일반적인 Python 함수입니다. 예를 들어, 사용자가 "지금 몇 시예요?"라고 물으면, Claude는 현재 시간을 얻기 위해 날짜/시간 도구를 호출합니다.

다음은 날씨 도구 함수의 예시입니다. 입력값을 검증하고 명확한 오류 메시지를 제공하는 방식에 주목하세요 - 이는 우리가 따를 핵심 모범 사례입니다.
도구 함수 작성을 위한 모범 사례
도구 함수를 작성할 때는 다음 가이드라인을 염두에 두세요:
- 설명적인 이름 사용: 함수 이름과 매개변수 이름 모두 그 목적을 명확하게 나타내야 합니다
- 입력값 검증: 필수 매개변수가 존재하고 유효한지 항상 확인하세요
- 의미 있는 오류 메시지 제공: Claude가 오류를 받으면, 수정된 매개변수로 함수를 다시 호출하려고 시도할 수 있습니다
오류 처리는 Claude가 실패로부터 학습할 수 있기 때문에 특히 중요합니다. "위치는 비워둘 수 없습니다"와 같은 명확한 오류 메시지를 반환하면, Claude는 적절한 위치 값으로 함수 호출을 재시도할 수 있습니다.
첫 번째 도구 함수 만들기
현재 날짜와 시간을 가져오는 함수를 만들어 보겠습니다. 이 함수는 날짜가 표시되는 방식을 제어하는 형식 문자열을 받습니다:
기본 형식 문자열 "%Y-%m-%d %H:%M:%S"는 "2024-03-15 14:30:45"와 같은 출력을 생성합니다. 다른 형식 문자열을 전달하여 이를 사용자 지정할 수 있습니다:
입력값 검증
검증 확인 if not date_format:은 빈 문자열로 날짜를 형식화하려고 시도하지 않도록 보장합니다. Claude가 이런 실수를 하는 경우는 드물지만, 명확한 오류 메시지를 제공하면 AI가 무엇이 잘못되었는지와 이를 어떻게 수정해야 하는지 이해하는 데 도움이 됩니다.
Claude가 오류를 만나면, 정확한 오류 메시지를 확인합니다. 이 피드백 루프는 Claude가 접근 방식을 조정하고 수정된 매개변수로 다시 시도할 수 있게 합니다.
다음 단계
이 도구 함수는 첫 번째 단계일 뿐입니다. 다음으로, 이 함수를 Claude에게 설명하는 JSON 스키마를 만들고, 이를 채팅 시스템에 통합해야 합니다. 함수 자체는 간단한 Python이지만, 복잡성은 이를 Claude의 도구 호출 시스템에 제대로 연결하는 데 있습니다.