제01권 · 제10호 CS · AI · Infra 2026년 5월 14일

AI 용어집

용어 사전레퍼런스학습
LLM · 생성AI

Tool Calling툴 호출

난이도

쉽게 이해하기

LLM은 학습 시점 이후의 최신 정보에 접근하거나 실제 시스템을 바꾸는 일을 스스로 할 수 없습니다. 사용자는 날씨, 재고, 환불 같은 ‘지금 이 순간’의 데이터와 행동을 원하지만, 모델은 텍스트만 생성합니다. 이 간극을 메우는 방식이 바로 툴 호출입니다. 툴 호출에서는 모델이 도구를 직접 실행하지 않고, “어떤 도구에 어떤 인자를 넣어 달라”는 지시서를 만들어 냅니다. 접수창구 직원이 민원을 보고 담당 부서와 양식(필요한 칸)을 정확히 골라 전달하는 것과 비슷합니다. 모델은 도구 목록과 설명, JSON Schema 같은 매개변수 형식을 보고 필요할 때 도구 이름과 인자를 구조화해 제안합니다. 메커니즘은 단계적입니다. 애플리케이션이 프롬프트와 함께 사용 가능한 도구 정의를 모델에 제공하면, 모델은 필요 시 특정 도구 호출 블록을 반환합니다. 앱은 그 인자를 검증해 실제 API나 내부 시스템을 호출하고, 그 결과(구조화 JSON 또는 텍스트)를 모델 컨텍스트에 다시 포함해 후속 응답을 요청합니다. 이 반복으로 모델은 최신 데이터나 실행 결과를 근거로 답변을 완성합니다.

비유와 예시

  • 환불 처리 자동화: 고객이 주문 문제가 있다고 말하면 모델이 issue_refund 도구와 필요한 주문 ID를 제안합니다. 앱이 실제 환불 API를 호출하고 결과를 다시 넘기면 모델이 처리 요약과 다음 안내를 작성합니다.
  • 사내 CRM 조회 보조: 상담원이 고객 이름만 알 때 모델이 search_users로 후보를 찾고, 이어 get_customer_profile로 정확한 프로필을 가져오도록 인자를 구성합니다. 결과가 컨텍스트로 돌아오면 상담용 멘트가 즉시 생성됩니다.
  • 실시간 환율·견적 업데이트: 모델이 convert_currency로 금액을 환산하고, 이어 update_quote로 견적을 갱신하라고 제안합니다. 실행 결과가 반영되면 모델은 최종 견적서 설명을 작성합니다.

한눈에 비교

툴 호출RAG(검색 증강)직접 API 연동(비-LLM)
목적실행·데이터를 모델 흐름에 편입최신 지식 인용·근거 제시고정 로직으로 데이터/액션 수행
입력/출력JSON Schema 기반 인자·결과 재주입쿼리→문서 검색→컨텍스트 주입명시적 파라미터·엔드포인트 고정
유연성대화 맥락에 따라 도구 선택질문에 맞는 문서 선택사전 정의된 시나리오 중심
책임 분리모델=의도 생성, 앱=실행모델=답변, 검색=근거앱=전부 책임

대화 맥락에서 행동과 근거가 함께 필요한 경우 툴 호출과 RAG를 결합하고, 규칙이 단순·고정이라면 직접 API 연동이 비용과 안정성 측면에서 유리하다.

어디서 왜 중요한가

  • 데이터 갱신이 필요한 답변: 날씨, 환율, 계정 상태처럼 시의성이 중요한 질문에 최신 정보를 포함한 응답을 생성할 수 있습니다.
  • 업무 액션 연결: 양식 제출, 상태 변경, 환불 같은 외부 작업을 앱이 안전하게 실행하고 모델은 사용자 대화와 이유 설명을 맡는 분업이 보편화되었습니다.
  • 스키마 중심 설계의 확산: 도구 정의를 이름·설명·JSON Schema로 명확히 쓰는 관행이 자리 잡아, 잘못된 인자 생성과 런타임 오류를 줄입니다.
  • 대규모 도구 카탈로그 운용: 많은 도구를 한 번에 넘기지 않고, 필요 시 검색해 가져오는 설계(tool search)가 컨텍스트 오염과 선택 오류를 줄이는 실무 패턴으로 쓰입니다.
  • 감사·안전 경계 명확화: 모델은 의도만 제안하고 실행은 앱이 담당하므로, 권한·검증·로깅을 실행 계층에서 관리하기 쉬워졌습니다.

자주 하는 오해

  • ❌ 오해: 모델이 외부 API를 직접 실행한다 → ✅ 실제: 모델은 도구 이름과 인자를 구조화해 제안할 뿐, 실행은 애플리케이션이 수행합니다.
  • ❌ 오해: 도구를 많이 붙일수록 더 똑똑해진다 → ✅ 실제: 도구가 많아질수록 선택 혼선과 컨텍스트 소음이 늘어, 검색·라우팅으로 추려 쓰는 게 안정적입니다.
  • ❌ 오해: 함수 정의만 넘기면 안전하다 → ✅ 실제: 입력 검증, 권한 제한, 실패 복구, 로깅 같은 안전장치는 앱 계층에서 반드시 구현해야 합니다.

대화에서는 이렇게

  • "이번 분기 목표는 툴 호출 성공률 99%인데, 스키마 enum 추가로 잘못된 인자 비율을 더 줄여봅시다."
  • "도구가 100개 넘어가니 tool search 없이는 선택 오류가 늘어요; 먼저 관련 도구만 로드합시다."
  • "모델이 issue_refund를 제안했는데, 우리 권한 체크 미들웨어가 금액 상한 넘었다고 막았어요."
  • "도구 결과를 그대로 넣지 말고 요약 필드만 반환하세요, 컨텍스트 낭비가 큽니다."
  • "이 흐름은 모델이 의도 생성, 런타임이 실행·검증이라 책임 구분대로 에러 알림도 나눠주세요."

함께 읽으면 좋은 용어

참고 자료

도움이 되었나요?