TL;DR
Python 함수와 OpenAI·Anthropic 도구 JSON 스키마를 따로 관리하면 필드 누락이나 이름 오타가 LLM의 함수 호출 실패로 이어질 수 있다. function-schema-generator는 Python 내장 inspect 모듈로 함수 시그니처를 읽고 타입 힌트를 JSON Schema 자료형으로 바꾼다. 기본값이 없는 매개변수는 required 배열에 자동으로 넣으며, OpenAI 형식과 Anthropic의 Claude 3.5 input_schema 형식을 모두 지원한다. 생성된 결과를 각 API에 바로 전달할 수 있어 함수 정의와 호출 스키마의 동기화 부담을 줄이는 방식이다.
실용적 조언
- 도구 호출 함수를 먼저 Python 시그니처와 타입 힌트로 작성한 뒤 function-schema-generator에 전달하면 된다. 기본값이 없는 인자는 생성 결과의 required 배열에 들어가므로 API에 넘기기 전에 필수 필드 구성이 함수 정의와 맞는지 확인할 수 있다. OpenAI 또는 Anthropic을 사용하는 경우 각 API가 요구하는 생성 형식을 선택해 결과를 그대로 연결하면 된다.
섹션별 상세
이미지 분석

이미지는 저장소 이름과 함께 Python 함수 시그니처에서 OpenAI 및 Anthropic 도구 호출 스키마를 자동 생성하는 기능을 보여준다. 본문의 핵심인 별도 의존성 없는 스키마 생성 도구라는 정체성을 시각적으로 뒷받침하지만, 타입 변환이나 required 배열 처리의 세부 구현까지 담고 있지는 않다.
function-schema-generator GitHub 저장소 화면에 OpenAI·Anthropic 도구 호출 스키마를 Python 함수 시그니처에서 생성한다는 기능과 무의존성 특성이 적혀 있다.
용어 해설
- JSON 스키마(JSON Schema)
- — JSON Schema는 API가 허용하는 도구 입력의 이름·자료형·필수 여부를 구조화한 규격이다. 이 도구는 Python 타입 힌트와 기본값을 읽어 호출 형식 오류를 줄인다.
- 타입 힌트(Type Hints)
- — Type Hints는 Python 함수 매개변수에 예상 자료형을 기록하는 문법이다. 생성기는 이 정보를 문자열·정수 같은 JSON Schema 자료형으로 변환해 도구 입력 구조에 반영한다.
- 도구 호출(Tool Calling)
- — Tool Calling은 LLM이 함수 이름과 인자를 구조화된 JSON으로 반환해 외부 함수를 실행하는 방식이다. 스키마가 함수 정의와 어긋나면 필드 누락이나 오타로 호출이 실패할 수 있다.
- Python inspect 모듈(Python inspect)
- — Python inspect는 실행 중인 함수의 시그니처와 매개변수 정보를 읽는 내장 모듈이다. 이 도구는 별도 의존성 없이 이를 사용해 함수 정의에서 API용 스키마를 만든다.
언급된 도구
Python 함수 시그니처와 타입 힌트를 읽어 OpenAI·Anthropic 도구 호출용 JSON 스키마를 생성한다.
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.
