테니스 동호회 서비스를 만들면서 자연어로 일정 생성 / 조회가 되는 챗봇을 붙였다.
예시
"다음주 토요일 2시에 번개 만들어줘"
"이번달 일정 뭐 있어?"
"코트 목록 보여줘"
Claude의 Tool Use 기능을 사용하면
이런 자연어 요청을 실제 서버 로직(DB 작업)으로 연결할 수 있다.
구조는 단순하다.
flowchart LR
A[User Message]
B[Claude]
C[Tool Call]
D[Server Logic - DB]
E[Tool Result]
F[Claude Final Response]
A --> B
B --> C
C --> D
D --> E
E --> B
B --> F
Claude가 사용할 수 있는 기능을 JSON schema로 정의한다.
예: 일정 생성
export const chatTools:Anthropic.Tool[]= [
{
name:'create_event',
description:'테니스 일정 생성',
input_schema: {
type:'object',
properties: {
title: { type:'string' },
start_datetime: { type:'string' },
end_datetime: { type:'string' },
location_name: { type:'string' },
location_url: { type:'string' },
max_participants: { type:'number' },
description: { type:'string' },
},
required: ['title','start_datetime','end_datetime','max_participants'],
},
},
]
핵심 포인트
챗봇의 역할과 규칙 정의