35

JSON Schema: Tool의 청사진

Day 2: Tool 정의 & Function Calling

학습 목표

JSON Schema의 핵심 속성을 이해한다 제조 도메인에 맞는 Schema를 설계할 수 있다 OpenAI Function Calling 형식의 Schema를 작성할 수 있다

JSON Schema가 뭘까?

집을 짓기 전에 설계도를 그린다. Tool을 만들기 전에 Schema를 그린다.

Schema = "이 Tool에 어떤 데이터를 줘야 하고, 뭘 돌려받는지"


기본 타입 6가지

에디터 로딩 중...

Schema 구조 해부

에디터 로딩 중...

각 필드 분석:

필드필수이유
equipment_idO어떤 설비를 조회할지 반드시 알아야 함
include_alarmsX기본값 true. 없어도 동작
daysX기본값 7. 없어도 동작

핵심: required에는 "없으면 Tool이 아예 동작하지 못하는 것"만 넣는다.


description이 결정적이다

LLM은 description을 읽고 Tool을 선택한다. description이 불분명하면 LLM이 엉뚱한 Tool을 고른다.

나쁜 description

에디터 로딩 중...

LLM: "상태? 뭐의 상태? 설비? 주문? 재고? id가 뭐 id?"

좋은 description

에디터 로딩 중...

LLM: "아, 설비 상태를 조회하는 거구나. CNC-001 형식으로 ID를 넣으면 되겠다."


enum: 선택지를 제한하라

에디터 로딩 중...

enum이 없으면 LLM이 "A라인", "A line", "라인A" 등 다양한 형식으로 보낸다. enum으로 제한하면 정확도가 올라간다.


복합 파라미터: 필터 조건

에디터 로딩 중...

: 제조 현장에서는 날짜 형식 통일이 중요하다. "1월 15일", "01/15", "2026-01-15" 등 다양한 형식이 올 수 있다. description에 형식을 명시하면 LLM이 맞춰서 보내준다.