개발 같이해요/AI

[AI 에이전트] Tool Calling이란? AI가 직접 일을 하는 원리 - 초보자 완벽 이해

Rio - Moon 2026. 9. 18. 01:30
728x90
반응형
AI가 날씨를 확인하고 일정을 등록하는 순간, 실제로 무슨 일이 일어날까요?

AI 모델은 문장을 만들 수 있지만, 그 자체로 우리 회사의 캘린더나 데이터베이스를 마음대로 조작하지는 못합니다. 모델이 사용할 수 있는 도구를 알려주고, 필요한 입력값을 구조화해 실행을 요청한 뒤, 애플리케이션이 그 요청을 검증하고 실행해야 합니다.

이 연결 방식이 바로 Tool Calling입니다. 이번 글에서는 모델의 판단이 어떻게 실제 검색·조회·등록 같은 행동으로 이어지는지, 그리고 왜 승인과 검증이 반드시 필요한지 단계별로 살펴보겠습니다.

1. 답변만 만드는 AI에는 한계가 있다

일반적인 대화형 AI는 질문을 이해하고 자연스러운 답변을 만드는 데 강합니다. 하지만 최신 날씨, 사내 문서, 고객 데이터처럼 모델 밖에 있는 정보는 별도의 연결 없이 직접 확인할 수 없습니다. 메일 발송이나 일정 등록처럼 외부 시스템을 바꾸는 행동도 마찬가지입니다.

IMAGE 01
이미지 01. 모델의 답변 능력은 도구와 연결될 때 조회와 실행 능력으로 확장됩니다.
모델만 있을 때설명, 요약, 아이디어 생성처럼 텍스트 안에서 해결되는 작업을 수행합니다.
도구가 연결됐을 때검색, 계산, 파일 조회, 일정 등록처럼 외부 시스템과 상호작용할 수 있습니다.

따라서 “AI가 일을 한다”는 표현은 모델이 모든 것을 직접 처리한다는 뜻이 아닙니다. 모델은 어떤 도구를 어떤 값으로 사용할지 요청하고, 실제 실행은 도구를 연결한 애플리케이션이나 플랫폼이 담당합니다.

2. Tool Calling이란 무엇일까

Tool Calling은 모델에게 사용할 수 있는 도구의 이름, 설명, 입력 형식을 알려주고, 사용자의 목표를 해결하는 데 도구가 필요하면 모델이 구조화된 호출 요청을 만들게 하는 방식입니다. Function Calling이라고 부르는 경우도 있지만, 최근에는 함수뿐 아니라 검색·파일·브라우저 등 더 넓은 실행 수단을 포함해 Tool Calling이라는 표현을 많이 사용합니다.

IMAGE 02
이미지 02. Tool Calling은 자연어 요청을 실행 가능한 도구 호출 형식으로 바꾸는 연결 과정입니다.
💡 Tool Calling은 도구 실행 그 자체가 아닙니다.

모델은 “이 도구를 이 입력값으로 호출해 주세요”라는 요청을 만듭니다. 애플리케이션은 그 요청이 허용됐는지 확인한 뒤 실제 함수나 API를 실행하고, 결과를 다시 모델에게 전달합니다.

3. 도구는 이름·설명·입력값으로 정의한다

모델이 도구를 올바르게 고르려면 도구 설명서가 분명해야 합니다. 가장 기본적인 정의에는 도구의 이름, 언제 사용하는지 알려주는 설명, 그리고 어떤 값이 필요한지 정하는 입력 스키마가 포함됩니다.

IMAGE 03
이미지 03. 도구 정의는 모델이 읽는 사용 설명서이자 입력값을 제한하는 계약입니다.
{
  "name": "get_weather",
  "description": "지정한 도시의 현재 날씨를 조회합니다.",
  "parameters": {
    "city": "조회할 도시 이름",
    "unit": "celsius 또는 fahrenheit"
  }
}

위 예시는 이해를 위한 단순화된 형태입니다. 이름이 모호하거나 설명이 너무 짧으면 모델은 비슷한 도구를 혼동할 수 있습니다. 입력 가능한 값의 형식과 필수 여부를 명확히 정하면 잘못된 호출을 줄이고 검증도 쉬워집니다.

⚠️ 도구 설명에 권한까지 생기는 것은 아닙니다.

모델이 입력 형식에 맞는 호출을 만들었다고 해서 곧바로 실행해도 안전하다는 뜻은 아닙니다. 사용자 권한, 허용 범위, 변경 대상, 승인 여부는 실행 계층에서 다시 확인해야 합니다.

4. Tool Calling은 6단계로 작동한다

Tool Calling의 핵심은 한 번의 답변이 아니라 요청 → 판단 → 실행 → 관찰 → 답변으로 이어지는 왕복 흐름입니다. “서울 날씨를 확인해서 우산이 필요한지 알려줘”라는 요청을 예로 들어보겠습니다.

IMAGE 04
이미지 04. 모델과 애플리케이션이 도구 호출과 결과를 주고받으며 최종 답변을 완성합니다.
① 사용자 요청과 사용 가능한 도구 전달
↓
② 모델이 도구 필요 여부와 종류 판단
↓
③ 모델이 도구 이름과 입력값 생성
↓
④ 애플리케이션이 검증 후 실제 도구 실행
↓
⑤ 실행 결과를 모델에게 다시 전달
↓
⑥ 모델이 결과를 해석해 최종 답변 생성

날씨 조회 결과에 비가 올 확률이 포함되면 모델은 그 데이터를 근거로 우산 필요 여부를 설명합니다. 결과가 없거나 오류가 발생하면 재시도할지, 다른 도구를 사용할지, 사용자에게 추가 정보를 물을지 결정할 수 있습니다.

5. 모델의 선택과 애플리케이션의 책임을 구분하자

도구가 등록되어 있어도 매번 호출할 필요는 없습니다. 시스템은 모델이 답변과 도구 호출 중 하나를 선택하게 하거나, 반드시 도구를 사용하도록 요구하거나, 특정 도구만 선택하게 제한할 수 있습니다. OpenAI API 문서에서는 이런 제어를 none, auto, required, 특정 도구 지정 같은 방식으로 설명합니다.

IMAGE 05
이미지 05. 모델은 호출을 제안하고, 애플리케이션은 허용 여부와 실제 실행을 책임집니다.
구분 모델이 하는 일 애플리케이션이 하는 일
도구 선택 요청과 설명을 바탕으로 적절한 도구 판단 사용 가능한 도구 목록과 범위 결정
입력값 필요한 인수를 구조화해 제안 형식, 권한, 허용 값, 민감정보 검증
실행 실행 요청 생성 함수·API를 호출하고 오류 처리
결과 결과를 해석해 다음 행동이나 답변 생성 결과와 상태를 기록하고 모델에 전달

6. 실제 업무에서는 여러 도구 호출이 이어진다

한 번의 도구 호출로 끝나는 업무도 있지만, AI 에이전트는 여러 결과를 확인하며 다음 행동을 이어갈 수 있습니다. 예를 들어 “다음 주 팀 회의 가능한 시간을 찾아 초안을 만들어줘”라는 목표에는 캘린더 조회와 시간 비교, 회의 초안 작성이 순서대로 필요합니다.

IMAGE 06
이미지 06. 복합 업무는 여러 도구 호출과 결과 확인을 연결한 워크플로로 진행됩니다.
1단계 · 조회허용된 팀원의 일정에서 가능한 시간대를 읽습니다.
2단계 · 판단겹치는 시간과 업무 시간을 기준으로 후보를 고릅니다.
3단계 · 초안회의 제목, 참석자, 안건과 시간 후보를 만듭니다.
4단계 · 승인실제 일정 등록 전 사용자의 확인을 받습니다.

여기서 캘린더를 읽는 행동과 새 일정을 등록하는 행동의 위험도는 다릅니다. 조회는 자동으로 허용하더라도 외부 변경은 승인 후 실행하도록 나누면 편의성과 안전을 함께 확보할 수 있습니다.

7. Tool Calling은 어디서 실패할까

모델이 도구를 잘 선택해도 입력값이 틀리거나, 외부 서비스가 응답하지 않거나, 실행 권한이 부족하면 작업은 실패할 수 있습니다. 따라서 정상 흐름뿐 아니라 실패했을 때의 행동도 설계해야 합니다.

IMAGE 07
이미지 07. 입력 검증, 최소 권한, 승인, 로그와 결과 확인이 도구 호출의 안전장치가 됩니다.
실패 유형 예시 대응 방법
잘못된 도구 선택 조회 요청에 수정 도구를 선택 도구 설명과 역할을 분리하고 허용 목록 적용
잘못된 입력값 없는 날짜나 잘못된 고객 ID 스키마와 업무 규칙으로 실행 전 검증
권한 부족 허용되지 않은 문서나 계정 접근 최소 권한 적용 후 명확한 오류 반환
외부 서비스 오류 API 지연, 연결 실패, 호출 한도 초과 제한된 재시도, 대체 경로, 사용자 안내
위험한 변경 잘못된 메일 발송이나 일정 삭제 실행 전 미리보기와 사용자 승인
⚠️ 성공 응답도 다시 확인해야 합니다.

API가 성공을 반환했더라도 사용자가 원한 대상과 내용이 맞는지 별도 검증이 필요할 수 있습니다. 중요한 변경은 호출 ID, 입력값, 결과, 승인자를 로그로 남기고 되돌릴 방법도 준비하세요.

8. 핵심 정리

IMAGE 08
이미지 08. Tool Calling은 모델의 판단과 안전한 실행 계층을 연결하는 반복 구조입니다.
이번 글에서 이것만 기억하세요.

모델 = 도구와 입력값 선택 애플리케이션 = 검증과 실행 도구 결과 = 다음 판단의 근거 승인·로그 = 안전장치

Tool Calling은 AI가 외부 도구를 마음대로 조작하게 만드는 기능이 아닙니다. 모델이 구조화된 실행 요청을 만들고, 애플리케이션이 권한과 입력을 검증해 실행한 뒤, 그 결과를 다시 모델에게 전달하는 협업 구조입니다.

이 원리를 이해하면 AI 에이전트가 여러 단계를 어떻게 이어가는지도 보이기 시작합니다. 다음 글에서는 에이전트가 목표를 작은 단계로 나누고, 실행 결과를 관찰하며 계획을 수정하는 과정을 살펴보겠습니다.

🔗 AI 에이전트 입문 시리즈

이전 글 : 02. AI 에이전트의 핵심 구조 - 모델, 도구, 메모리 이해하기
👉 현재 글 : 03. Tool Calling이란? AI가 직접 일을 하는 원리
다음 글 : 04. AI 에이전트는 어떻게 계획하고 행동할까

참고: OpenAI Responses API 도구 문서, OpenAI Chat API Tool Choice 문서

 

반응형