툴 콜링: AI 에이전트가 외부 도구를 호출하는 방법

툴 콜링, 즉 도구 호출은 AI 모델이 텍스트로 답하는 데 그치지 않고 정확한 인자와 함께 특정 함수의 실행을 요청할 수 있는 능력을 말합니다.

Atako 에이전트가 작성 · 검토·승인자 Romain Laodicina · Atako CTO

간단한 정의

툴 콜링(도구 호출, 펑션 콜링이라고도 불림)은 언어 모델이 요청 처리에 외부 행동, 이를테면 데이터베이스 조회나 메시지 발송이 필요하다는 것을 인식하고, 인자를 포함한 구조화된 호출 요청을 생성하는 능력입니다. 애플리케이션이 이 호출을 실행하고 결과를 모델에게 돌려줍니다.

툴 콜링이 없다면 언어 모델은 한 가지 일밖에 할 수 없습니다. 텍스트를 받아 텍스트를 생성하는 것입니다. 최신 데이터베이스를 조회할 수도, 메시지를 보낼 수도, 다른 소프트웨어에서 행동을 실행시킬 수도 없습니다. 툴 콜링은 모델을 외부 시스템과 연결하는 다리입니다. 대화만 하는 모델을 행동할 수 있는 AI 에이전트로 바꿔주는 것이며, 모든 자율 에이전트의 기초가 되는 요소입니다.

상세 정의

펑션 콜링이라고도 불리는 툴 콜링은 언어 모델이 요청에 대해 텍스트만으로 답하는 것이 아니라, 미리 정의된 스키마에 따라 인자를 채운 구조화된 함수 실행 요청으로 응답하는 능력을 말합니다. 앤트로픽의 문서는 이 원리를 이렇게 설명합니다. 모델은 요청과 도구 설명을 바탕으로 도구를 호출해야 하는지 판단한 뒤, 애플리케이션이 실행하거나(클라이언트 측) 공급업체가 직접 실행하는(일부 내장 도구의 경우 서버 측) 구조화된 호출을 반환합니다. 2023년 펑션 콜링이라는 용어를 대중화한 오픈AI의 문서도 동일한 메커니즘을 설명합니다. 모델은 자유로운 텍스트가 아니라 기계가 읽을 수 있는 함수 호출로 응답하며, 이를 실행하는 것은 애플리케이션의 몫입니다.

두 대표 공급업체는 근본적인 정의에서 일치합니다. 함수는 이름, 자연어 설명, 예상 파라미터를 나열한 JSON 스키마로 기술됩니다. 모델은 이 세 가지 요소만으로 도구를 호출해야 하는지, 인자를 어떻게 채워야 하는지 판단합니다. 이 기본 원칙에서는 두 접근 방식 사이에 유의미한 차이가 없으며, 차이는 구현 세부사항(병렬 호출 형식, 공급업체가 기본 제공하는 도구, 오류 처리)에 있습니다.

툴 콜링은 단순한 챗봇과 실제 세계에서 행동할 수 있는 시스템을 가르는 요소입니다. 데이터베이스를 조회하고, 웹을 검색하고, 파일에 쓰고, 메시지를 보내고, 결제를 실행하는 것 말입니다. 또한 도구가 모델에 기술되고 노출되는 방식을 표준화하기 위해 만들어진 MCP 프로토콜을 가능하게 하는 기초 요소이기도 합니다.

작동 원리

도구 호출의 흐름은 항상 여러 단계로 이루어진 동일한 패턴을 따릅니다. 먼저 애플리케이션이 모델이 사용할 수 있는 도구 목록을 정의합니다. 각 도구는 이름, 설명, 인자 스키마를 갖습니다. 그다음 모델은 이 도구 목록과 함께 사용자의 요청을 받고, 맥락에 따라 텍스트로 바로 답할지 도구 실행을 요청할지 판단합니다.

도구를 호출하기로 결정하면, 모델은 도구 이름과 인자 값을 담은 구조화된 응답을 반환할 뿐 스스로 아무것도 실행하지 않습니다. 이 요청을 받은 애플리케이션이 실제로 그 행동(API 호출, 데이터베이스 조회, 파일 작성)을 실행하고, 결과를 모델이 읽을 수 있는 형태로 돌려줍니다. 모델은 이 결과를 바탕으로 응답을 이어가며, 작업이 요구하면 여러 번의 도구 호출을 연속으로 이어갈 수 있습니다.

이런 구분은 보안 측면에서 중요합니다. 모델은 절대 스스로 코드를 실행하지 않고 호출을 제안할 뿐입니다. 실제로 무엇이 실행되는지는 애플리케이션이 통제하며, 조건이 충족되지 않으면 호출을 거부할 수도 있습니다.

아타코의 실제 사례

아타코에서 툴 콜링은 에이전트가 작동하는 방식의 핵심입니다. 연결된 각 인테그레이션(Slack, Notion, GitHub, HubSpot을 비롯한 약 40여 개)은 Slack의 post_message나 GitHub의 create_issue처럼 정확한 행동 집합을 노출하며, 에이전트는 작업에 필요하다고 판단하면 이를 호출할 수 있습니다.

하지만 아타코에서 도구 호출은 절대 곧바로 실행되지 않습니다. 먼저 권한 검사를 거칩니다. 플랫폼은 해당 에이전트와 해당 연결에 대한 '그랜트'가 존재하는지, 요청된 행동이 그 그랜트의 허용 목록에 실제로 포함되어 있는지, 부여된 범위(읽기 전용 또는 읽기-쓰기)가 그 행동을 포함하는지 확인합니다. 이 조건 중 하나라도 충족되지 않으면 호출은 거부되고 실패가 기록됩니다. 에이전트가 호출을 제안하고 플랫폼이 실행 전에 검증하는 이 판단 경로는, 툴 콜링이 가능하게 하는 보안 논리 그 자체입니다. 모델은 제안하고, 인프라는 결정합니다.

흔한 오해

흔한 오해 하나는 모델이 호출하는 도구를 모델 스스로 실행한다고 믿는 것입니다. 이는 결코 사실이 아닙니다. 모델은 구조화된 요청을 생성할 뿐이며, 실제로 행동을 실행하고 언제든 이를 거부할 수 있는 것은 항상 애플리케이션이나 플랫폼입니다.

두 번째 오해는 모델에 도구 접근 권한을 주는 것이 그 서비스에 대한 완전하고 무제한적인 접근을 준다고 생각하는 것입니다. 잘 설계된 툴 콜링 시스템은 '전부 아니면 전무'식의 포괄적 접근이 아니라, 행동별·범위별 권한으로 이용 가능한 행동을 정밀하게 제한합니다.

세 번째 오해는 도구 설명의 중요성을 과소평가하는 것입니다. 모델은 도구를 언제 어떻게 호출할지 판단할 때 이름, 설명, 인자 스키마만을 근거로 삼습니다. 모호하거나 불명확한 설명은 성능 좋은 모델을 쓰더라도 잘못 선택된 호출이나 부정확한 인자를 만들어냅니다.

마지막으로, 일부는 툴 콜링과 MCP를 혼동합니다. 툴 콜링은 2023년부터 주요 모델 공급업체들이 사용해온 기본 메커니즘입니다. MCP는 도구마다, 공급업체마다 다른 인테그레이션을 새로 만들지 않도록, 도구가 모델에 기술되고 연결되는 방식을 표준화하는 더 최근의 프로토콜입니다.

관련 용어

자주 묻는 질문

인공지능에서 툴 콜링이란 무엇인가요?

툴 콜링, 즉 도구 호출은 언어 모델이 텍스트가 아니라 정의된 인자를 담은 특정 함수를 실행해달라는 구조화된 요청으로 응답하는 능력을 말합니다. 외부 애플리케이션이 이 함수를 실행하고 결과를 모델에 돌려주면, 모델은 그 결과를 바탕으로 응답을 이어갑니다.

툴 콜링과 펑션 콜링은 어떻게 다른가요?

같은 메커니즘을 가리키는 두 가지 이름입니다. 오픈AI가 2023년 펑션 콜링이라는 용어를 대중화했고, 앤트로픽을 비롯한 다른 공급업체들은 주로 툴 유즈나 툴 콜링이라는 표현을 씁니다. 원리는 동일합니다. 모델이 도구를 선택하고 인자를 채우면, 애플리케이션이 실제 호출을 실행합니다.

AI 에이전트가 아무 통제 없이 모든 도구를 호출할 수 있나요?

아닙니다. 제대로 만들어진 플랫폼이라면 모든 도구 호출은 에이전트가 이 특정 도구를 사용할 권한이 있는지, 어떤 접근 범위로 사용할 수 있는지 확인하는 권한 계층을 거칩니다. 모델은 호출을 제안할 뿐이고, 이를 실행할지 거부할지는 애플리케이션이 결정합니다.

툴 콜링은 아무 언어 모델에서나 작동하나요?

아닙니다. 이 구조화된 출력 형식을 생성하도록 특별히 학습된 모델이 필요합니다. 주요 공급업체(오픈AI, 앤트로픽 등)의 최근 모델 대부분은 이를 기본으로 지원하지만, 더 오래되거나 더 작은 모델은 신뢰할 수 있는 도구 호출을 만들어내지 못할 수 있습니다.

다음으로 읽을거리

출처

Romain Laodicina

Atako CTO

이 콘텐츠는 Atako의 AI 에이전트가 작성한 후, Atako CTO인 Romain Laodicina가 검토, 수정 및 승인했습니다.

첫 AI 에이전트를 배포하세요

무료로 계정을 만들고 코드 없이 몇 분 만에 에이전트를 실행하세요.

AI 트렌드에서 한 발 앞서세요.

제품 업데이트, 신규 에이전트, AI 분석 콘텐츠를 이메일로 바로 받아보세요. 스팸은 없으며 언제든 구독을 취소할 수 있습니다.