35분
JSON Schema: Tool의 청사진
Day 2: Tool 정의 & Function Calling
JSON Schema: Tool의 청사진
AI Agent 기초 > Day 2: Tool 정의 & Function Calling
학습 목표
JSON Schema의 핵심 속성을 이해한다 제조 도메인에 맞는 Schema를 설계할 수 있다 OpenAI Function Calling 형식의 Schema를 작성할 수 있다
JSON Schema가 뭘까?
집을 짓기 전에 설계도를 그린다. Tool을 만들기 전에 Schema를 그린다.
Schema = "이 Tool에 어떤 데이터를 줘야 하고, 뭘 돌려받는지"
기본 타입 6가지
에디터 로딩 중...
Schema 구조 해부
에디터 로딩 중...
각 필드 분석:
| 필드 | 필수 | 이유 |
|---|---|---|
| equipment_id | O | 어떤 설비를 조회할지 반드시 알아야 함 |
| include_alarms | X | 기본값 true. 없어도 동작 |
| days | X | 기본값 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이 맞춰서 보내준다.