35

OpenAI Function Calling 완전 정복

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와 거의 동일하지만 형식이 조금 다르다.

에디터 로딩 중...
항목OpenAIAnthropic
Tool 정의 키parametersinput_schema
응답 구조tool_calls 배열content 블록
Tool 결과 role"tool""user" (tool_result)
모델gpt-4o-miniclaude-sonnet

핵심 개념은 동일하다. Schema를 정의하고, LLM이 판단하고, 결과를 돌려준다.