본문 바로가기
web/AI

[AI] Tool Calling

by 뽀리님 2025. 12. 17.

챗봇을 개발하려 하다보니 툴 콜링 툴 콜링 자꾸 등장하는 단어가 있길래

 

아니... 뭔말이여.. 하다가 정리해보는 글

 

✔️ Tool Calling
AI 업계에서 LLM이 외부세계와 연결될때 쓰이는 가장 보편적인 표준 인터페이스 이다.
그렇기에 모델이 바뀌더라도 (GPT에서 Gemini같이) 이 Tool Calling 명세에 맞춰 잘 작성해두면
다른 도구들을 그대로 쓸수 있다.

✔️ 그래서 의미가 뭔데?
이걸 직역하자면 도구를 부르는것(쓰는것) (=Fuction calling)
Tool Calling은 쉽게 말해 AI가 스스로 판단해서 필요한 외부 도구(함수)를 호출해달라고 요청하는 기능을 의미한다.

과거의 AI는 질문을 받으면 자신이 학습한 데이터 안에서만 답변을 지어내려 했지만(헛소리하는원인), Tool Calling 기능이 있는 AI는 "아, 이 질문은 내가 모르니까 외부 시스템(RAG, API, 계산기 등)을 써야겠다!" 라고 판단하는 기능이다.

✔️ RAG랑 비슷한거 아냐?
여기서 RAG랑 헷갈릴 수 있을꺼 같은데

RAG는 전략/방법론이다.
회사의 기밀 데이터나 민감한 개인정보등을 AI 모델 제공사에게 절대 유출하지 말고, 내부 금고에 보관하면서 필요할 때만 열람해서 업무를 처리하는 보안 지침으로 봐야한다.

이 RAG를 구현 할수 있는 도구가 백터DB/임베딩 모델인거고,
이것들을 AI와 연결하는 기술이 Tool Calling 인것이다. 

 

AI에게 숨을 불어넣는다 생각하면 쉽다.

 

이미지로 나타낸 Tool Calling이다.

출처 : 나노바나나

 

임베딩/벡터 DB라는 기억 장치(RAG)를 달아주고,
각종 API라는 손과 발을 달아준 뒤,
Tool Calling이라는 신경계를 통해 이 모든 것을 AI(LLM)의 두뇌와 연결하는 과정이다.

 

 


✔️ 그럼 이놈의 특징이 뭔데?

1) 실시간성
"오늘 삼전 주식 얼마냐?" 그랬을 때, 

- Tool Calling이 없다면
"??? 전 2022년 모델이라 몰라유..."   [죽은지식]

- Tool Calling이 있을경우
"잠시만요 하고 (주식 API 호출후 답변)"   [실시간지식]

어떻게 보면 AI에게 현재를 살게 하도록 하는거다.


2) 실행력
"팀장님한테 이 보고서 메일로 보내줘" 했을때, 

- Tool Calling이 없다면
"네 메일 내용을 써드리겠습니다. 하지만 보내는건 너님이 직접 보내세요^^."  [관찰자]

- Tool Calling이 있을경우
"메일내용을 쓰고 보내겠습니다(메일 API를 호출하여 실제로 메일발송)" [에이전트]

방구석에만 앉아있는 AI놈을 현장으로 보내는 격이라 보면 된다.

3) 정확성
"이번에 나온 수능 수리 오답률 97%인 문제야 풀어봐" 했을경우,

- Tool Calling이 없다면
"(대충그럴싸한 숫자 찌끄려냄) 여깄습니다!" [오답]

- Tool Calling이 있을경우
"(계산기 및 다른 도구 API 이용)" [정답]

구라쟁이를 전문가로 만들어준다.

✔️ 챗봇에서만 쓰는거야?
정답은 NO, 아니다.
이건 챗봇에만 갇혀있는 기술이 아니다.

이 기술의 핵심은 "언어를 이해하는 AI가 컴퓨터 시스템을 직접 조작한다." 에 의의가 있다.
챗봇보다 자동화 에이전트로 훨씬 많이 쓰인다.

1. 지능형 업무 자동화
사용자가 대화하지 않아도 특정이벤트 발생시 AI가 알아서 도구를 사용해 업무를 처리한다.

매일 아침 전 세계의 뉴스 기사를 수집(API) 
-> 우리 회사 사업과 관련된 것만 필터링(RAG/벡터 DB) 
-> 요약 보고서 작성 
-> 담당자에게 팀즈 전송



사람이 개입하지 않는 백그라운드 자동화 시스템이다.



2. 개인화된 추천엔진
만약 쇼핑몰을 운영하는 사람이라면 

사용자의 과거 구매 이력과 문의내역(RAG) 를 분석하여 현재 재고상황(API) 을 확인 후,
"아, 이 고객이 좋아하는 스타일은 이런거구만?" 판단
최적의 상품 리스트 생성



단순 알고리즘이 아닌 사용자의 니즈를 파악하고 도구를 꺼내쓰는 추천 엔진이다.


3. 복잡한 데이터 분석 및 보고서 생성

"지난 3년간 우리회사 재무제표 분석해서 매출하락 원인분석 해서 그래프로 그려줘"
-> RAG 읽은후 Python Tool로 그래프 그려줌


AI가 도구를 마구 휘둘러서 결론만 도출해낸다.

 

 


4. 고객 지원 자동답변

고객이 메일을 발송함 
-> AI 먼저 메일을 읽은후 문제 파악 
-> (RAG) 사내메뉴얼 뒤져봄
-> (있을경우) AI가 답변메일 발송(API)
-> (없을경우) 뭐 JIRA같은걸로 티켓생성(API)



상담원에게 연결이 가기 전에 AI가 먼저 해결할 수 있는 부분을 해결한다.


💡

!!! 잠깐 여기서 !!!


그럼 엇? 내가 만든 그 JIRA Agent도 Tool Calling 아닌가? 해서 봤더니
아니다...(쳇)
쪼금 달랐다.
https://ssmyefrin.tistory.com/120

 

[AI] JIRA를 연동하여 주간업무 Agent 만들기(2)

저번에 JIRA를 연동하여 보고서 작성후 slack으로 업무 보고를 하는 Agent를 만들었다. 우리회사는 현재 메신저를 Teams로 쓰고 있기에 HOOK_URL을 teams 채널로 바꾸었다. 그리고 이걸 Docker 이미지로 만

ssmyefrin.tistory.com

 

이 방식은 딱 내가 정해진 순서대로만 작업한다.(시퀀스방식)

1. (JIRA API) 호출해서 오늘자 티켓 긁어옴
2. 긁어온 텍스트를 LLM에게 통째로 던져좀
3. "이거 오늘 티켓 목록이야 보고서 작성해줘"
4. LLM이 보고서 작성완료


LLM이 자기 스스로 API를 호출한게 아니라 내가 지시한대로만 행동한거라 이건 다르다.

그럼 또 여기서 의문
1번 방식(뉴스 수집하는거) 도 그럼 고정된 파이프라인으로 움직여도 되는거 아니야? 저게 왜 Tool Calling이지? 생각했더랬다.

하지만 엄연히 다르다.

만약 1번 예시 방식을 고정된 파이프라인으로 간다?
루트: 뉴스 수집 → 무조건 RAG 검색 → 무조건 요약 → 무조건 팀즈 전송.

문제점: 만약 오늘 뉴스가 하나도 없다면? 혹은 오늘 뉴스가 우리 회사와 전혀 상관없는 연예 뉴스뿐이라면? 시스템은 영문도 모른 채 "관련 내용 없음"이라는 빈 보고서를 팀즈에 보낸다.

But, Tool Calling 방식은????   
AI에게 [뉴스 검색], [RAG 조회], [팀즈 전송] 도구를 주고 "보고서를 써라"는 미션만 준다. 그러면 AI는 이렇게 판단한다.

판단 1: "일단 뉴스를 가져와 보자." (뉴스 API 호출)
판단 2: "가져온 뉴스들을 보니 우리 회사랑 상관있는 게 2건 있네? 상세 내용을 RAG로 더 알아봐야지." (RAG 호출)
판단 3 (중요): "어? 근데 이 뉴스는 우리 회사에 치명적인 위기 상황인데? 
이건 요약 보고서가 아니라 '긴급 알림' 모드로 팀즈를 보내야겠다." (스스로 판단해서 전송 방식 변경)
판단 4: 만약 뉴스가 쓰레기같은 거지 뉴스네?  "오늘은 보고서를 보낼 가치가 없군" 하고 스스로 종료



판단을 이놈이 한단거임.


단순 반복은 시퀀스가 짱짱짱! 이겠지만
뭔가 상황에 따른 예외 처리가 들어가는 순간 Tool Calling은 필연적이다.

음... 특히 이런 뉴스수집 루틴은 좀 하이브리드로도 갈수가 있다.

1. 뉴스를 긁어오는건 시퀀스 방식으로 돌림
2. 가져온 데이터를 보고 AI가 "이걸 보고서로 만들만한 가치가 있나?, 
도구를 더 검색해서 보고를 할만한게 있나?" 하는 역할은 Tool Calling에게 넣는 방식



걍 노가다성 업무는 시퀀스
판단의 영역은 Tool Calling으로 하는게 효율적이다. 

모든걸 AI에게 맞기면 토큰도 낭비되고 이놈시키가 가끔 엉뚱한 판단을 할때가 있기 때문이다.

뭐 또 예를들면 우리 왜 고기나 과일같은거 등급 나누는거나 불량인지 판단하는거에 이 방식을 쓸수 있겠다.

먼저 원재료를 일단 공장 안으로 들여오고 씻는 과정은 시퀀스로
지나가는 고기나 과일을 보고 불량체크하고 등급 판단하는건 AI가!


-끝-

 

'web > AI' 카테고리의 다른 글

[AI] 챗봇만들기 프로젝트 (2)  (0) 2025.12.19
[AI] Qdrant 로 RAG 구축하기(2)  (0) 2025.12.18
[AI] RAG 와 VectorDB  (1) 2025.12.17
[AI] Qdrant 로 RAG 구축하기(1)  (1) 2025.12.16
[AI] 챗봇만들기 프로젝트 (1)  (0) 2025.12.04