Sign in to save your progressYou can keep reading without an account, but completed lessons won't be saved.
Sign in

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

위 이미지는 우리가 구현할 세 가지 필수 도구를 보여줍니다: 현재 날짜/시간 가져오기, 날짜에 기간 추가하기, 알림 설정하기입니다. 첫 번째 도구부터 시작해 보겠습니다.

도구 함수란 무엇인가요?

도구 함수는 Claude가 사용자를 돕기 위해 추가 정보가 필요하다고 판단할 때 자동으로 실행되는 일반적인 Python 함수입니다. 예를 들어, 누군가 "지금 몇 시예요?"라고 물으면, Claude는 현재 시간을 얻기 위해 날짜/시간 도구를 호출합니다.

다음은 날씨 도구 함수의 예시입니다. 입력값을 검증하고 명확한 오류 메시지를 제공하는 방식에 주목하세요 - 이는 중요한 모범 사례입니다.

도구 함수를 위한 모범 사례

도구 함수를 작성할 때는 다음 가이드라인을 따르세요:

  • 설명적인 이름 사용하기: 함수 이름과 매개변수 이름 모두 그 목적을 명확하게 나타내야 합니다
  • 입력값 검증하기: 필수 매개변수가 비어 있거나 유효하지 않은지 확인하고, 그런 경우 오류를 발생시키세요
  • 의미 있는 오류 메시지 제공하기: Claude는 오류 메시지를 볼 수 있으며 수정된 매개변수로 함수 호출을 다시 시도할 수 있습니다

검증이 특히 중요한 이유는 Claude가 오류로부터 학습하기 때문입니다. "위치는 비워둘 수 없습니다"와 같은 명확한 오류를 발생시키면, Claude는 적절한 위치 값으로 함수를 다시 호출하려고 시도할 수 있습니다.

첫 번째 도구 함수 만들기

현재 날짜와 시간을 가져오는 함수를 만들어 보겠습니다. 이 함수는 날짜 형식 매개변수를 받아 Claude가 다양한 형식으로 시간을 요청할 수 있도록 합니다:

python
def get_current_datetime(date_format="%Y-%m-%d %H:%M:%S"):
    if not date_format:
        raise ValueError("date_format cannot be empty")
    return datetime.now().strftime(date_format)

이 함수는 Python의 datetime 모듈을 사용하여 현재 시간을 가져오고 제공된 형식 문자열에 따라 포맷합니다. 기본 형식은 연-월-일 시:분:초를 제공합니다.

다양한 형식으로 테스트해 볼 수 있습니다:

python
# 기본 형식: "2024-01-15 14:30:25"
get_current_datetime()

# 시간과 분만: "14:30"
get_current_datetime("%H:%M")

이 검증 확인은 Claude가 날짜 형식에 빈 문자열을 전달할 수 없도록 보장합니다. 이 특정 오류는 발생할 가능성이 낮지만, 입력값을 검증하고 Claude가 학습할 수 있는 유용한 오류 메시지를 제공하는 패턴을 보여줍니다.

다음 단계

함수를 만드는 것은 첫 번째 단계일 뿐입니다. 다음으로, Claude에게 함수를 설명하는 JSON 스키마를 작성하고 이를 채팅 시스템에 통합해야 합니다. 이러한 도구 함수 접근 방식은 Claude에게 강력한 기능을 제공하면서도 코드를 체계적이고 유지보수 가능하게 유지해 줍니다.