본문 바로가기
SEO·GEO 용어사전

함수 호출 (Function Calling)

마지막 업데이트
선호 출처로 추가

함수 호출은 AI 모델이 실행할 함수의 이름과 인자를 구조화된 형식으로 생성하는 기능입니다. 날씨 조회, 데이터베이스 검색이나 웹 검색 도구를 설명해 주면 모델이 요청에 필요한 기능과 값을 선택합니다. OpenAI는 2023년 6월 API에 공개했으며, 다른 모델사도 tool use 등의 이름으로 비슷한 기능을 제공합니다.

모델의 요청을 애플리케이션이 실행하는 과정

개발자가 정의한 함수는 모델이 호출을 요청하고 애플리케이션이 검증한 뒤 실행합니다.

  1. 개발자가 함수의 이름과 설명, 입력값의 구조를 정의한 JSON Schema를 모델에 전달합니다.
  2. 모델이 요청을 처리하는 데 함수가 필요하다고 판단하면 함수 이름과 인자 JSON을 출력합니다. 인자는 조회할 도시명처럼 함수에 넘길 입력값입니다.
  3. 애플리케이션이 입력값과 실행 권한을 검증한 뒤 함수를 실행합니다.
  4. 실행 결과를 모델에 보내면 모델이 최종 답변을 만들거나 추가 도구 호출을 요청합니다.

예를 들어 날씨 조회 함수를 제공한 앱에서 “서울의 지금 날씨를 알려줘”라고 요청하면, 모델은 조회 함수와 도시명 ‘서울’을 출력할 수 있습니다. 실제 날씨 데이터를 가져오는 일은 앱의 코드가 맡고, 모델은 돌아온 값을 바탕으로 답합니다. 모델이 적절한 함수를 선택했더라도 입력값과 실행 권한의 검증을 생략해서는 안 됩니다.

function calling과 tool use의 관계

OpenAI는 function calling을 tool calling과 같은 의미로 쓰면서 함수를 도구의 한 종류로 설명합니다. Anthropic은 tool use라는 명칭을 사용하며, 2024년 5월 Claude 3 모델군 전체에 정식 출시했습니다.

Anthropic은 애플리케이션이 실행하는 기능을 클라이언트 도구, Anthropic 인프라에서 실행하는 기능을 서버 도구로 나눕니다. 웹 검색과 코드 실행은 서버 도구에 속합니다. 따라서 모든 도구 호출에 개발자가 직접 실행 코드를 작성해야 하는 것은 아닙니다.

AI 검색도 도구 호출

OpenAI와 Anthropic의 API는 웹 검색을 도구로 제공합니다. OpenAI에서는 tools 배열에 웹 검색을 넣으며, 모델은 입력을 보고 검색이 필요한지 판단할 수 있습니다. Anthropic도 웹 검색을 서버 도구로 분류합니다. 이는 두 회사가 공개한 API 구조이며, 모든 검색엔진과 챗봇의 내부 구현이 같다는 의미는 아닙니다.

웹 검색 도구를 제공해도 매번 검색이 실행되는 것은 아닙니다. 모델이 검색 여부를 선택하는 설정이라면 질문에 따라 도구 없이 답할 수 있습니다. 검색을 실행했다면 찾은 자료 중 어떤 URL이 실제 답변의 근거로 붙었는지 살펴봅니다.

OpenAI의 웹 검색 API에서는 sources가 답변을 만들며 참고한 전체 URL을, 인라인 인용이 답변에 연결된 주요 출처를 보여 줍니다. 참고 목록에 있다는 이유만으로 모두 인용됐다고 집계하면 안 됩니다. 검색 대상과 자료를 수집하는 방식은 제품마다 다르므로 각 서비스가 공개한 기록의 범위 안에서 해석합니다.

여러 도구를 조합해 조사하는 에이전틱 검색에서도 함수 호출이 실행 요청을 전달합니다. MCP는 이런 도구와 데이터 연결을 여러 애플리케이션이 공통 방식으로 다루도록 하는 프로토콜입니다.

함수 호출 여부를 확인하는 방법

API 서비스에서는 모델 응답의 도구 호출 항목, 함수 이름과 인자를 먼저 확인합니다. 이어서 실제 실행 기록, 반환값과 최종 답변을 대조합니다. 최신 날씨나 검색 정보가 답변에 나왔다는 이유만으로 도구 호출을 추정해서는 안 됩니다. 캐시에 있던 자료나 애플리케이션이 미리 넣은 정보일 수도 있습니다.

일반 챗봇에서는 ‘웹 검색 중’, ‘도구 사용’ 같은 제품 표시와 출처 링크를 참고합니다. 내부 호출 기록을 공개하지 않는다면 최종 답변만으로 정확한 함수 이름과 인자를 확인할 수는 없습니다.

자주 묻는 질문

모델이 함수를 직접 실행하는 것 아닌가요?

모델은 함수 이름과 인자를 담은 호출 요청을 생성합니다. 애플리케이션이 그 요청을 검증하고 실행합니다. 제공사의 서버 도구라면 제공사 인프라가 실행을 맡습니다.

function calling과 tool use는 다른 기술인가요?

두 회사가 외부 도구를 호출하는 기능을 설명할 때 쓰는 명칭입니다. OpenAI는 function calling과 tool calling, Anthropic은 tool use라고 부릅니다. 이름보다 해당 도구를 애플리케이션이 실행하는지, 제공사의 서버가 실행하는지를 알아야 구현 범위를 정할 수 있습니다.

AI 검색과 함수 호출이 무슨 관계인가요?

OpenAI와 Anthropic의 API는 웹 검색을 도구로 제공하며 모델이 검색 필요성을 판단할 수 있게 합니다. 다른 AI 서비스의 내부 구현까지 이 구조로 일반화할 수는 없습니다.

마케터가 이 개념을 알아야 하는 이유가 있나요?

AI 답변에 우리 사이트가 나오지 않았을 때 검색이 실행됐는지부터 구별하는 데 도움이 됩니다. 검색하지 않은 답변과 웹 자료를 찾고도 우리 사이트를 인용하지 않은 답변은 같은 실패로 집계하기 어렵습니다. 대표 질문의 답변을 기록할 때 검색 실행 표시와 실제 인용 URL을 함께 남기면 두 경우를 나눠 볼 수 있습니다.

함께 알아두면 좋은 용어

  • MCP: AI 애플리케이션과 외부 도구, 데이터를 연결하는 공통 프로토콜
  • AI 에이전트: 목표를 수행하도록 작업을 계획하고 도구를 사용하는 시스템
  • 에이전틱 검색: 조사 결과에 따라 다음 검색과 도구 사용을 이어 가는 검색 방식
  • RAG: 외부에서 검색한 자료를 참고해 답변을 생성하는 방식

참고 문서