

확률부터 LLM까지, 원리부터 제대로 배우는 자기주도 학습 플랫폼
AI 에이전트의 도구 사용(Tool Use)은 언어 모델이 답을 곧바로 쓰는 대신 정해진 형식의 호출(함수명 + 인자)을 출력하고, 시스템이 그 호출을 실제로 실행한 뒤 결과를 다시 모델 입력에 넣어 주는 방식으로, 모델이 계산·검색·외부 작업을 처리하게 만드는 구조다.
이 내용은 넘스탯의 프롬프트·도구 지시 실습에서 직접 실험으로 확인할 수 있습니다.
각 단계를 클릭하면 해당 학습 내용을 볼 수 있습니다
학습 진도 (완료한 단계)
0%
언어 모델은 다음에 올 토큰의 확률을 계산해 글을 이어 쓰는 장치입니다. 그래서 잘하는 일과 못하는 일이 분명합니다. 문장을 매끄럽게 쓰는 일은 잘하지만, 정확한 산술을 보장하거나, 오늘의 환율을 알아내거나, 실제로 메일을 보내는 일은 스스로 할 수 없습니다. 도구 사용(Tool Use)은 이 빈틈을 메우는 설계입니다. 모델이 답을 쓰는 대신 "계산기를 이 식으로 써 줘", "이 조건으로 데이터베이스를 조회해 줘"처럼 정해진 형식의 호출을 출력하면, 바깥의 시스템이 그 호출을 실제로 실행하고 결과를 모델에게 돌려줍니다. 이 과정을 여러 번 반복하며 스스로 다음에 쓸 도구를 고르는 구성을 AI 에이전트라고 부릅니다.
질문: "3,127 곱하기 419는?" [도구 없이] 모델은 곱셈을 "계산"하지 않고, 그럴듯한 숫자열을 이어 씁니다. 자릿수가 커질수록 틀릴 가능성이 커집니다. [도구 사용] 모델의 출력이 답이 아니라 호출문입니다. 1) 모델이 내놓는 것 (문자열일 뿐, 실행되지 않음) calculator(expression="3127*419") 2) 시스템이 실제로 실행 3127 x 419 = 1,310,213 3) 결과를 모델 입력에 덧붙임 관찰: 1310213 4) 모델이 이어서 최종 답을 작성 "3,127 곱하기 419는 1,310,213입니다." 모델이 한 일은 "계산기를 이 식으로 부르자"는 판단과, 돌아온 숫자를 문장으로 옮긴 일뿐입니다. 곱셈 자체는 모델이 아니라 계산기가 했습니다.
정답: 아니요. 모델이 출력하는 것은 정해진 형식의 텍스트, 즉 함수명과 인자를 담은 호출문입니다. 그 문자열을 읽어 실제로 계산기를 돌리거나 데이터베이스를 조회하는 주체는 모델 바깥의 시스템입니다. 모델은 "무엇을 쓸지 지시"할 뿐이라는 점이 도구 사용 구조를 이해하는 출발점입니다.
정답: 언어 모델의 출력은 다음 토큰의 확률분포에서 나오는 생성물이라, 자릿수가 큰 산술의 정확성이 원리적으로 보장되지 않습니다. 반면 계산기는 언제나 같은 입력에 같은 정답을 냅니다. 보장이 필요한 일은 보장을 주는 장치에 맡기고, 모델은 "무엇을 언제 맡길지 판단하는 일"을 담당하게 하는 것이 도구 사용의 발상입니다.
정답: 관찰은 모델이 지어내는 것이 아니라 도구 실행 결과를 시스템이 넣어 주는 값입니다. 여기가 외부 세계와 접속하는 지점이며, 그래서 모델이 자체 지식만으로 답할 때보다 최신·사실 정보를 반영할 여지가 생깁니다. 반대로 모델이 관찰을 스스로 만들어 낸다면 그것은 도구 사용이 아니라 환각입니다.