본문으로 건너뛰기

[DSBA 세미나] 에이전트 AI: Tool Use 기본 - Toolformer와 Gorilla 분석

LLM이 외부 API와 도구를 자율적으로 호출하여 한계를 극복하는 핵심 기법인 Toolformer의 자기지도 학습과 Gorilla의 검색 인지 파인튜닝 전략을 상세히 분석합니다.

챕터별 상세

00:00

Tool Use의 기초와 에이전트의 신뢰성

에이전트 관점에서 Tool Use는 단순히 자연어로 명령하는 것이 아니라 기계가 실행 가능한 구조화된 형식을 생성하는 과정이다. 도구 호출이 성공하려면 올바른 함수 이름, 인자 타입, JSON 스키마 준수라는 세 가지 조건이 충족되어야 한다. 이러한 구조적 출력의 신뢰성은 에이전트 전체 워크플로우의 안정성을 결정하는 기초가 된다. 본 세션에서는 Syntax 레이어를 넘어 Utility(언제 쓸 것인가)와 Selection(어떤 도구를 쓸 것인가) 문제를 다루는 연구들을 살펴본다.

LLM이 외부 도구를 쓰기 위해서는 API 명세에 맞는 정확한 형식을 생성해야 하며, 이를 Structured Output이라고 한다.

06:11

Toolformer: 스스로 도구 사용법을 배우는 언어 모델

LLM은 최신 정보 검색이나 복잡한 산술 연산에서 한계를 보이며, 이를 해결하기 위해 외부 도구 활용이 필수적이다. 기존 방식은 사람이 직접 주석을 단 방대한 데이터가 필요하여 비용이 높고 특정 작업에 국한되는 한계가 있었다. Toolformer는 소수의 예시만으로 모델이 스스로 API 호출 후보를 생성하고 그 유용성을 판단하는 Self-supervised 방식을 제안한다. 이를 통해 모델은 별도의 대규모 레이블링 없이도 도구 사용의 시점과 방법을 학습한다.

LLM의 고질적인 문제인 지식 컷오프와 연산 오류를 외부 API 호출로 해결하려는 시도이다.

11:09

Toolformer의 학습 프로세스와 유용성 필터링

Toolformer의 학습은 어노테이션, 필터링, 파인튜닝의 3단계로 진행된다. 먼저 퓨샷 프롬프트를 통해 텍스트 내 잠재적 API 호출 위치에 후보를 삽입한다. 이후 실제 API를 실행하여 얻은 결과값이 다음 토큰 예측의 Cross-entropy loss를 유의미하게 줄이는지 비교한다. Loss가 일정 임계값 이상 감소하는 유용한 호출만 남겨 최종 학습 데이터셋을 구성하고 이를 통해 모델을 재학습한다. 결과적으로 모델은 API 호출이 예측에 도움이 되는 맥락을 스스로 파악하게 된다.

Cross-entropy loss는 모델이 다음 단어를 얼마나 잘 예측하는지 나타내는 지표로, 값이 낮을수록 예측 정확도가 높음을 의미한다.

python
L_i(z) = sum_{j=i}^n w_{j-i} * log P_M(x_j | z, x_{1:j-1})
// z: API call + response
// L_i(z): API 호출이 포함된 경우의 loss
// L_i(ε): API 호출이 없는 경우의 loss
// 유용성 판단: min(L_i(ε), L_i(e(c_i, ε))) - L_i(z) > τ_f

Toolformer에서 특정 위치의 API 호출이 유용한지 판단하기 위한 Loss 비교 수식

17:28

Toolformer 실험 결과 및 Scaling Laws

Toolformer는 QA, 위키피디아 검색, 계산기, 번역, 캘린더 등 5가지 도구를 활용하여 실험을 진행했다. 실험 결과 대부분의 다운스트림 태스크에서 베이스라인 모델보다 우수한 성능을 보였으며, 특히 계산기 도구 활용 시 산술 연산 능력이 비약적으로 상승했다. Scaling Law 분석 결과 모델 크기가 755M 파라미터 이상일 때부터 API 호출의 효과가 두드러지게 나타났다. 이는 모델이 일정 규모 이상이 되어야 외부 도구의 응답을 문맥에 맞게 활용할 수 있음을 시사한다.

Scaling Law는 모델의 파라미터 수, 데이터 양 등이 증가함에 따라 성능이 지수적으로 향상되는 법칙을 말한다.

27:08

Gorilla: 수천 개의 API를 다루는 검색 인지 모델

현실 세계에는 수천, 수만 개의 API가 존재하며 LLM이 이 중 정확한 도구를 선택하는 것은 매우 어렵다. GPT-4와 같은 최신 모델도 존재하지 않는 API를 호출하거나 잘못된 라이브러리를 사용하는 Hallucination 문제를 빈번히 일으킨다. Gorilla는 이러한 'Open-world Tool Selection' 문제를 해결하기 위해 제안되었다. 약 1,600개의 실제 API로 구성된 APIBench를 구축하고, 모델이 API 문서를 실시간으로 참조하여 정확한 호출 코드를 생성하도록 학습시킨다.

Open-world Selection은 제한된 도구 세트가 아닌, 방대한 외부 API 생태계에서 적절한 도구를 고르는 문제를 의미한다.

32:27

Gorilla의 방법론: Retrieval-aware Fine-tuning

Gorilla는 Self-instruct 방식을 통해 16,450개의 Instruction-API 페어 데이터를 생성하여 학습에 활용한다. 핵심은 Retrieval-aware Fine-tuning으로, 모델이 학습 시 API 문서를 직접 참조하는 패턴을 익히게 하는 것이다. 추론 시에는 정보 검색기(Retriever)가 데이터베이스에서 관련 API 문서를 찾아 프롬프트에 포함시킨다. 이를 통해 API 명세가 변경되거나 새로운 API가 추가되어도 모델을 재학습할 필요 없이 문서 업데이트만으로 대응이 가능해진다.

Self-instruct는 LLM을 활용하여 학습용 데이터를 자동으로 생성하는 기법이다.

json
{
  "domain": "framework",
  "functionality": "api_name",
  "api_call": "api_arguments",
  "environment": "requirements",
  "example_code": "performance",
  "description": "..."
}

Gorilla의 APIBench 구축을 위해 각 API 정보를 구조화한 JSON 데이터 포맷

34:48

Gorilla 실험 결과 및 AST 평가

Gorilla는 단순 문자열 매칭이 아닌 AST Sub-tree Matching 방식을 도입하여 API 호출의 기능적 정확성을 정밀하게 평가했다. 실험 결과 Gorilla는 GPT-4를 포함한 기존 소타 모델들보다 API 선택 및 호출 정확도에서 압도적인 성능을 보였다. 특히 제약 조건(Constraint)이 포함된 복잡한 요청에서도 높은 정확도를 유지했다. 이는 모델이 API의 기능뿐만 아니라 성능 제약 사항까지 이해하고 추론할 수 있음을 증명한 결과이다.

Constraint는 '파라미터 수 10M 이하', '정확도 70% 이상'과 같이 사용자가 요구하는 구체적인 성능 제한 조건을 의미한다.

용어 해설

자기 지도 학습(Self-Supervised Learning)
레이블이 없는 데이터에서 모델이 스스로 데이터의 구조나 패턴을 학습하는 방식이다. Toolformer에서는 API 호출이 포함된 텍스트를 생성하고, 해당 호출이 예측 손실을 줄이는지 스스로 판단하여 학습 데이터로 채택하는 과정에 활용된다.
환각 현상(Hallucination)
LLM이 사실과 다르거나 존재하지 않는 정보를 마치 사실인 것처럼 그럴듯하게 생성하는 현상이다. Tool Use 맥락에서는 존재하지 않는 API를 호출하거나 잘못된 인자를 생성하는 문제로 나타나며, Gorilla는 이를 해결하기 위해 설계되었다.
추상 구문 트리(AST (Abstract Syntax Tree))
프로그래밍 언어의 소스 코드 구조를 트리 형태로 표현한 것이다. Gorilla 연구에서는 단순 문자열 비교 대신 AST 서브트리 매칭을 통해 생성된 API 코드가 기능적으로 정확한지 정밀하게 평가하는 데 사용된다.
검색 인지 파인튜닝(Retrieval-aware Fine-tuning)
모델이 학습 단계에서 외부 문서를 검색하고 참조하는 방식을 함께 학습하는 기법이다. Gorilla는 이 방식을 통해 실시간으로 업데이트되는 API 문서를 참조하여 정확한 호출 코드를 생성하는 능력을 갖추게 된다.
AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 03. 07.수집 2026. 03. 07.출처 타입 YOUTUBE

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.