함수 호출
Function Calling / Tool Use · 중급
함수 호출(도구 사용)은 언어모델이 사용자 요청을 처리하는 과정에서 미리 정의된 외부 함수나 API를 어떤 이름과 인자로 호출해야 하는지를 구조화된 형식으로 출력하는 기능을 말한다.
언어모델은 학습 시점까지의 지식만 담고 있어 실시간 정보 조회, 정확한 계산, 외부 시스템 조작 같은 일을 스스로 할 수 없다. 이 한계를 보완하기 위해 개발자가 사용 가능한 도구들의 이름, 설명, 입력 파라미터 스키마를 모델에 함께 전달하면, 모델은 사용자 요청을 분석해 어떤 도구를 어떤 인자로 호출할지 JSON 형태로 생성하고, 실제 실행은 애플리케이션 쪽 코드가 맡아 처리한 뒤 그 결과를 다시 모델에 돌려주어 최종 답변을 완성한다. 실무에서는 에이전트가 웹 검색, 코드 실행, 데이터베이스 조회, 사내 시스템 API 호출 등을 자동으로 수행하게 만들 때, 또는 자유 텍스트 대신 정해진 스키마의 데이터를 뽑아내는 구조화된 출력 용도로 자주 사용한다. MCP(Model Context Protocol) 같은 표준도 여러 애플리케이션이 도구 정의를 일관된 방식으로 모델에 제공하기 위해 등장했다. 흔한 오해는 모델이 함수를 직접 실행한다고 생각하는 것인데, 실제로는 호출 의도(함수명과 인자)만 생성할 뿐이며 실행 여부와 안전성 검증은 이를 받아 처리하는 애플리케이션의 책임이다.
함께 보기
시스템 프롬프트시스템 프롬프트는 사용자와의 대화가 시작되기 전에 AI 모델에게 미리 전달되는 지침으로, 모델의 역할과 말투, 행동 규칙을 정의하는 텍스트를 말한다.MCPMCP(Model Context Protocol)는 LLM 애플리케이션이 파일, 데이터베이스, 외부 API 같은 도구와 데이터 소스에 표준화된 방식으로 연결할 수 있도록 만든 개방형 프로토콜을 말한다.