티스토리 뷰
'Function call', 'Tool use', 'Planning'의 개념간 혼동되는 부분이 있어, 구분하여 정리해본다.
1. Function call
Function call은 사용자 질의가 들어왔을 때, 이를 처리하기 위해 필요한 함수를 식별하여 함수의 이름 및 파라미터를 생성하는 작업을 의미한다.
여기서 말하는 함수란, 일반적으로는 실제 executable한 API를 의미하며, API 사용이 불가한 환경에서는 특정 프로그래밍 언어로 작성된 function(method)을 의미하기도 한다.
사용 가능한 API document 리스트가 사전에 제공되어야 하며, API document에는 각 API의 이름, 필수/선택 파라미터, API 기능 설명(description), 출력에 대한 설명 등의 정보가 작성되어 있다.
API document와 mismatch되지 않도록 (ex: 파라미터의 이름을 틀리거나, 파라미터의 값 타입을 틀리거나...) 형식을 잘 준수해야 하는 것이 function call의 핵심 포인트 중 하나이다.
2. Tool use
Tool use는 사용자 질의에 대한 Function call을 생성할 뿐만 아니라, 이를 호출하고, 호출 결과를 바탕으로 자연어로 된 답변을 생성하는 작업 전체를 의미한다.
Tool use가 Function call보다 포괄적인 개념으로, Tool use의 목표는 사용자 질의에 대한 적절한 답변을 생성하는 것이며, 이를 위한 중간 수단으로 Function call을 이용한다.
3. Planning
사용자 질의에 대한 적절한 답변을 생성하기 위해, 다수 개의 연쇄적인 Function call이 필요한 경우가 있다. 즉, 첫 번째 Function call을 생성 및 호출하고, 그 호출 결과를 두 번째 Function call에 넘겨주는 식 말이다. 이러한 작업은 Planning이라고 불린다.
Planning 작업에서는 어떤 Function call을 몇 개, 어떤 순서로 사용할지 계획하는 일과, 이전 Function call의 결과를 다음 Function call에 넘겨줄 format을 결정하는 일이 challenge라고 할 수 있다.
'AI' 카테고리의 다른 글
| Gemma 3 (0) | 2025.10.06 |
|---|---|
| AI 관련 개념 정리 (0) | 2025.09.03 |
| Rotary Positional Embedding (RoPE)에 대해 알아보자 (0) | 2025.04.12 |
| KL-Divergence Loss (1) | 2023.12.23 |
| [논문 리뷰] P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks (0) | 2023.08.01 |