35분
OpenAI Function Calling 완전 정복
Day 2: Tool 정의 & Function Calling
OpenAI Function Calling 완전 정복
AI Agent 기초 > Day 2: Tool 정의 & Function Calling
학습 목표
OpenAI Function Calling API의 전체 흐름을 이해한다 tool_choice 옵션의 차이를 구분한다 병렬 Tool 호출 패턴을 이해한다
Function Calling이란?
LLM에게 "이런 Tool들이 있어"라고 알려주면, LLM이 스스로 언제 어떤 Tool을 쓸지 결정한다.
이것이 OpenAI의 Function Calling 이다.
전체 API 호출 구조
에디터 로딩 중...
tool_choice 옵션
| 옵션 | 의미 | 사용 시기 |
|---|---|---|
"auto" | LLM이 알아서 결정 | 일반적인 경우 (권장) |
"none" | Tool 사용 금지 | 일반 대화만 원할 때 |
"required" | 반드시 Tool 사용 | 항상 조회가 필요할 때 |
{"type": "function", "function": {"name": "..."}} | 특정 Tool 강제 | 테스트, 특수 상황 |
에디터 로딩 중...
제조 현장 팁: 설비 상태 조회는
"required"를 쓰는 게 좋다. 추측이 아니라 반드시 실제 데이터를 조회해야 하니까.
병렬 Tool 호출
하나의 질문에서 여러 Tool이 동시에 호출될 수 있다.
에디터 로딩 중...
메시지 흐름 정리
에디터 로딩 중...
Anthropic Claude의 Tool Use (비교)
OpenAI와 거의 동일하지만 형식이 조금 다르다.
에디터 로딩 중...
| 항목 | OpenAI | Anthropic |
|---|---|---|
| Tool 정의 키 | parameters | input_schema |
| 응답 구조 | tool_calls 배열 | content 블록 |
| Tool 결과 role | "tool" | "user" (tool_result) |
| 모델 | gpt-4o-mini | claude-sonnet |
핵심 개념은 동일하다. Schema를 정의하고, LLM이 판단하고, 결과를 돌려준다.