본문 바로가기
인공지능/생성형 AI

[생성형 AI] LLM의 Tool Calling(도구 호출)이란?

by 클레어몬트 2025. 2. 17.

ㅇTool Calling: LLM(Large Language Model)이 외부 도구(함수, API, 데이터베이스 등)를 호출하여 특정 작업을 수행하는 기능

 

LLM 자체가 모든 정보를 가지고 있지 않거나 계산을 직접 수행할 수 없는 경우, 외부 도구를 활용하여 정확한 답변을 생성할 수 있다

 

기본적으로 LLM은 훈련된 데이터에 기반하여 응답을 생성하지만, 다음과 같은 한계가 있다

  1. 최신 정보 부족 → LLM은 훈련 이후의 최신 데이터를 반영할 수 없음
  2. 정확한 연산 수행 어려움 → 복잡한 계산, 데이터 검색 등을 직접 수행할 수 없음
  3. 외부 시스템과의 연동 필요 → API 호출, 데이터베이스 조회 등의 기능이 필요할 수 있음

이를 해결하기 위해 Tool Calling 기능이 도입되었다. LLM은 입력된 프롬프트에 따라 적절한 외부 도구를 선택하고, 이를 호출한 후 결과를 바탕으로 최종적인 응답을 생성한다.

 

Tool Calling의 동작 방식

  1. 사용자 입력 처리
    • 사용자가 질의를 입력하면, LLM은 이를 분석하여 Tool Calling이 필요한지 판단
  2. 적절한 도구 선택
    • LLM은 사전에 정의된 도구 목록에서 적절한 API, 함수 또는 데이터베이스 조회 기능을 선택
    • "서울의 날씨가 어때?" → 날씨 API 호출 필요
  3. 도구 호출 및 결과 반환
    • LLM이 외부 API 또는 함수 호출을 요청하면, 해당 도구가 실행되어 결과를 반환
    • get_weather("Seoul") → {"temperature": 15, "condition": "Sunny"}
  4. LLM이 응답 생성
    • Tool에서 받은 결과를 바탕으로 최종 응답을 생성하여 사용자에게 제공
    • "현재 서울의 날씨는 15도이며, 맑습니다."

 

(API 호출 예제)

사용자 입력: "비트코인의 현재 가격이 얼마야?"

 

Tool Calling 과정:

  1. LLM은 "비트코인 가격 조회" API가 필요하다고 판단
  2. get_crypto_price("BTC") API를 호출
  3. API 응답: {"price": 42,500}
  4. 최종 응답: "현재 비트코인의 가격은 42,500달러입니다."

 

(계산기 호출 예제)

사용자 입력: "1542 × 283을 계산해줘."

 

Tool Calling 과정:

  1. LLM은 내부적으로 연산이 어려우므로 계산기 함수 호출이 필요하다고 판단
  2. calculator.multiply(1542, 283) 실행
  3. 결과 반환: 436,386
  4. 최종 응답: "1542 × 283의 결과는 436,386입니다."

 

 

 

※ Tool Calling vs RAG

 

 

 

 

Tool Calling은 LLM이 외부 도구를 활용하여 보다 정확하고 신뢰할 수 있는 응답을 생성하는 기술이다. 이를 통해 최신 정보를 반영하고, 연산을 수행하며, 다양한 데이터 소스와 연동할 수 있다. AI 비서, 검색 엔진, 금융 데이터 분석, 의료 진단 등 다양한 산업에서 활용되고 있으며, 앞으로 더욱 발전할 것으로 기대된다.