LLM Day 29 - Tool Calling

Soyee Sung·2025년 3월 11일

LLM

목록 보기
28/34

Tool Calling이란?

Tool Calling은 LLM(대형 언어 모델, Large Language Model)이 외부 시스템과 상호작용할 수 있도록 하는 함수 호출 기능이에요. 쉽게 말해, LLM이 단순히 텍스트만 생성하는 것이 아니라, 외부 API나 데이터베이스와 같은 시스템과 직접 연결되어 작업을 수행할 수 있도록 해주는 거예요.

예를 들어, 우리가 LLM에게 "현재 서울 날씨 알려줘" 라고 물어보면, LLM은 직접 날씨를 모를 수 있어요. 하지만 Tool Calling 기능이 있다면, 날씨 정보를 제공하는 API를 호출해서 실제 데이터를 받아올 수 있죠.

Tool Calling의 핵심 개념

1. LLM이 외부 시스템과 통신

LLM은 단순한 대화형 모델이 아니라, 다양한 기능을 수행하는 도구(Tool)와 연결될 수 있어요.
예를 들어, LLM이 웹 검색 도구나 계산기 도구, 데이터베이스 조회 도구 등을 호출해서 원하는 정보를 가져올 수 있어요.
✅ 예시:
사용자가 "5 + 7은 뭐야?" 라고 물어봤다고 가정해볼게요.

일반 LLM은 사전에 학습된 내용을 바탕으로 "12" 라고 답변해요.
하지만 Tool Calling이 가능하면, 실제 계산기를 호출해서 정확한 연산을 수행하고 답변을 제공할 수 있어요.

2. Tool Calling은 LLM이 시스템과 직접 상호작용할 수 있게 해줌

Tool Calling이 없는 LLM은 주어진 데이터를 바탕으로 답을 생성하는 데 그쳐요.
반면, Tool Calling 기능이 있다면 LLM이 직접 API 요청을 보내거나, 데이터베이스를 조회하는 등의 작업을 수행할 수 있어요.
✅ 예시:
사용자가 "내 일정 캘린더에서 다음 회의 시간 알려줘"라고 요청했어요.

👉 일반 LLM:
"캘린더를 확인할 수 없어요. 직접 확인해 주세요."

👉 Tool Calling을 지원하는 LLM:

캘린더 API를 호출하여 사용자 일정을 조회
데이터를 받아온 후 분석
"다음 회의는 오후 2시입니다."라고 정확한 답변을 제공!
즉, LLM이 단순한 텍스트 생성기가 아니라 실제 시스템과 연결된 지능형 도우미가 되는 거죠.

3. 구조화된 출력 (Structured Output)

Tool Calling을 활용하면, LLM이 외부 시스템이 이해할 수 있는 정확한 형식(스키마, JSON 등)으로 데이터를 주고받을 수 있어요.
예를 들어, API와 소통할 때 특정한 데이터 구조(예: JSON 형식)를 따라야 해요.
✅ 예시: 사용자가 "현재 환율 알려줘"라고 하면,
LLM은 외부 API에 다음과 같은 구조화된 요청을 보낼 수 있어요.

{
  "currency": "USD",
  "target_currency": "KRW"
}

그리고 API로부터 정확한 환율 데이터를 받아와 다음과 같은 형식으로 출력할 수도 있어요.

{
  "currency": "USD",
  "target_currency": "KRW",
  "exchange_rate": 1320.50
}

그 결과, LLM은 사용자에게
💬 "현재 1달러(USD)는 1320.50원(KRW)입니다."
라고 정확한 답변을 줄 수 있어요!

4. 스키마 기반 응답 (Schema-based Response)

Tool Calling을 사용할 때, 시스템 간의 원활한 통신을 위해 미리 정해진 데이터 형식(스키마, Schema)을 따라야 해요.
API와 같은 시스템에서는 정해진 데이터 형식을 맞춰야 정상적으로 작동하기 때문에, LLM이 정확한 형식으로 응답을 만들어야 해요.
✅ 예시:
사용자가 "오늘 날짜 알려줘"라고 하면,
LLM은 API 요청을 보내고 다음과 같은 구조로 데이터를 받을 수 있어요.

{
  "date": "2025-03-11",
  "day_of_week": "Tuesday"
}

그럼 LLM은 사용자에게
💬 "오늘은 2025년 3월 11일 화요일입니다."
라고 정확히 답변할 수 있어요.

왜 Tool Calling이 중요한가?
1️⃣ 정확한 정보 제공

LLM이 단순한 학습 데이터가 아니라 실제 최신 정보(날씨, 뉴스, 환율 등)를 가져올 수 있음
2️⃣ 다양한 작업 수행 가능

단순 대화뿐만 아니라, 일정 확인, 데이터 조회, 계산, 번역, 추천 시스템 등 여러 기능을 자동화할 수 있음
3️⃣ 기업 및 서비스에서 활용 가능

AI 챗봇, 헬스케어 시스템, 금융 서비스, 스마트홈 등 실제 비즈니스 환경에서 LLM을 효과적으로 활용할 수 있음

정리: Tool Calling 한눈에 보기

실제 Tool Calling 예제

예제 1: 환율 정보 가져오기

{
  "function": "get_exchange_rate",
  "parameters": {
    "base_currency": "USD",
    "target_currency": "KRW"
  }
}

👉 LLM이 API를 호출해서 최신 환율을 받아오고 사용자에게 알려줌!

예제 2: 날씨 정보 가져오기

{
  "function": "get_weather",
  "parameters": {
    "city": "Seoul"
  }
}

👉 LLM이 날씨 API와 통신해서 현재 서울 날씨를 사용자에게 제공!

마무리

Tool Calling 기능 덕분에 LLM이 단순한 챗봇이 아니라, 실제 데이터를 기반으로 정교한 기능을 수행하는 AI 비서가 될 수 있어요.
앞으로 AI가 더 똑똑해지고 다양한 시스템과 연동될 수 있도록, Tool Calling은 핵심 기술로 자리 잡을 거예요!

0개의 댓글