tool use (도구 호출)
LLM 이 외부 함수를 호출해 실행 결과를 받는 구조. 에이전트화의 기반.
1줄 정의
LLM 이 외부 함수를 호출해 실행 결과를 받는 구조. 에이전트화의 기반.
전체 시스템에서 맡는 역할
LLM 혼자서는 텍스트 생성밖에 못 한다. 파일 읽기, 검색, API 호출, 명령 실행 — 이런 바깥 세계로의 작용 은 전부 “도구 호출 (tool use / tool calling / function calling)” 이라는 구조로 바깥에 붙인다.
구조는 대화의 왕복.
- 개발자가 쓸 수 있는 도구를 LLM 에 알려 준다 (이름, 인자, 설명)
- LLM 이 답변 생성 중에 “이 도구 쓸게” 라고 판단하면 함수 호출 JSON 을 반환
- 개발자 쪽에서 그 JSON 을 읽어 실제로 함수 실행
- 실행 결과를 대화 이력에 추가해 LLM 에 돌려준다
- LLM 은 결과를 읽고 이어지는 추론이나 다음 도구 호출로 간다
이 왕복 루프가 돌아가는 게 agent. tool use 없는 LLM 은 “그냥 채팅” 에 그친다.
MCP 는 이 tool use 규격을 표준화한 것. 도구 정의 작성법, 호출법, 결과 반환 방식을 공통화해서 어느 LLM 클라이언트에서든 같은 도구를 부를 수 있게 한다.
흔한 오해
- 오해 1: tool use 는 ChatGPT 의 “플러그인” 이다, 라고 여겨지기 쉽다.
– 실제로 플러그인은 tool use 의 UI 적 발현 중 하나. 기술적으로는 주요 LLM API (Claude, OpenAI, Gemini) 전부가 자체 tool use 인터페이스를 갖고, MCP 가 그 상위 호환이 되어 가고 있다.
- 오해 2: tool use 는 API 호출을 좀 자동화한 것뿐이다, 라고 경시되기 쉽다.
– 실제로는 LLM 에 “행동할 능력” 을 주는 유일한 기구 로서 agent 엔지니어링 전체의 바탕이 된다. 여기를 이해 못 하면 harness 설계가 안 된다.
이 용어가 중요한 이유
tool use 를 설계 단위로 이해하면 “뭘 LLM 에 판단시키고 뭘 코드로 고정할 것인가” 의 경계를 스스로 그을 수 있게 된다. 이게 T2 에서도 잡을 가치.
- 도구의 입출력 스키마는 어떻게 쓸 것인가
- 도구 호출 횟수 상한을 어디서 끊을 것인가
- 실패 시 재시도 전략은 어떻게 할 것인가
- 권한 체크를 어디에 끼울 것인가
이 용어가 나오는 기사
- Claude Code, MCP, agent 설계 관련 기사
다음에 읽을 용어 3개
- agent — tool use 의 상위 구조.
- MCP — tool use 의 표준 규격.
- Claude Code — tool use 를 대량으로 쓰는 구현.