도구 호출이 뭐예요?
도구 호출(함수 호출)을 앵무새에게 도구 상자 목록을 주고 부탁 쪽지를 쓰게 하는 이야기로 풀어봤어요.
손님이 오늘 환율을 물었어요. 앵무새는 옛날 숫자를 말해요.앵무새는 책을 덮은 날 이후를 몰라요. 오늘 숫자는 어디서 가져와야 할까요?
앵무새는 말만 하는 새예요. 계산도 검색도 전화도 직접 못 해요.계산기가 바로 앞에 있어도 손이 없어요. 말로 숫자를 지어내는 수밖에요 — 그래서 옛날 숫자가 나와요.
도구 호출은 앵무새가 부탁 쪽지를 쓰고, 조련사가 도구를 돌리는 거예요.도구마다 이름·설명·빈칸을 적은 목록을 먼저 줘요. 앵무새는 필요할 때 정해진 칸에 부탁을 써요. 실제로 도구를 돌리는 건 조련사(프로그램)예요.
질문, 쪽지, 실행, 결과 콩, 답. 다섯 걸음이에요.결과 콩은 쟁반에 올라가요. 앵무새는 그 콩을 읽고 답을 이어요. 도구가 여러 개면 쪽지를 한꺼번에 여러 장 쓸 수도 있어요.
앵무새가 도구를 쓰는 게 아니라 부탁하는 거예요. 쪽지가 틀리면 돌아와요.없는 도구를 부르거나 칸을 잘못 채우면 조련사가 돌려보내요. 부탁 쪽지를 여러 번 쓰며 일을 끝내는 앵무새는 심부름 목록을 스스로 짜는 앵무새, 도구 상자의 공통 규격은 도구 상자 규격에서.
도구 호출 = 앵무새에게 도구 상자 목록을 주고, 필요할 때 부탁 쪽지를 쓰게 하기. 실제로 도구를 돌리는 건 조련사(프로그램)고, 결과는 콩으로 쟁반에 돌아와요.
Tool calling / function calling. 모델에게 도구 스키마(이름·설명·파라미터)를 주면, 모델은 도구를 실행하는 게 아니라 '이 도구를 이 인자로 불러 달라'는 구조화된 요청을 출력해요. 런타임이 실제 함수를 실행하고 결과를 컨텍스트에 넣어 주면 모델이 답을 이어가요.
어른들은 이렇게 불러요
- 도구 호출
Tool calling / function calling - 부탁 쪽지 쓰기. 앵무새가 도구를 쓰는 게 아니라 써 달라고 적어요.
- 도구 스키마
Tool schema - 도구마다 이름·설명·칸. 앵무새가 받는 도구 목록. 칸이 정해져 있어요. → 정해진 칸에 쓰기
- 도구 결과
Tool result - 돌아온 결과 콩. 쟁반에 올라가고 앵무새가 읽어요. → 앵무새 앞의 쟁반
- 런타임
Runtime - 조련사. 쪽지를 읽고 진짜 도구를 돌리는 프로그램이에요.
- 병렬 호출
Parallel tool calls - 쪽지 여러 장 한꺼번에. 서로 상관없는 도구는 한 번에 부탁해요.
- 오류 처리
Error handling - 틀린 쪽지 돌려보내기. 없는 도구, 잘못된 칸, 실패한 도구는 결과 대신 오류 콩을 줘요.
- MCP
MCP - 도구 상자 규격. 어느 앵무새든 열 수 있는 상자. → 도구 상자 규격
- 에이전트
Agent - 쪽지를 여러 번 쓰는 앵무새. 결과를 보고 다음 도구를 골라요. → 심부름 목록을 스스로 짜는 앵무새