5장. LLM 외부 도구 연동
먼저 큰 그림부터
여행사 상담원에게 심부름꾼이 몇 명 딸려 있다고 해 봅시다. 손님이 "P01 상품에 어른 둘, 아이 하나면 얼마예요?"라고 물으면, 상담원은 머릿속으로 어림하지 않고 쪽지에 "요금 계산 담당에게: P01, 어른 2, 아이 1"이라고 적어 건넵니다. 심부름꾼이 계산기를 두드려 결과를 가져오면, 상담원은 그 숫자로 손님에게 답합니다. 심부름이 여러 번 필요하면 상담원이 알아서 여러 번 보냅니다. 그리고 심부름꾼이 늘어날수록, 어느 창구에서든 같은 방식으로 부를 수 있게 "심부름 부르는 규격"을 정해 두면 편합니다. 이 장의 Tool Calling 과 MCP 가 바로 이 이야기입니다.
이 장에서는 두 가지를 챙겨 갑니다. 첫째, 모델에게 도구(함수)를 쥐여 주는 Tool Calling 입니다. 모델은 "이 도구를 이 값으로 불러 달라"고 부탁만 하고, 실제 실행은 우리 코드가 합니다. 이 고리를 손으로 돌려 보고, 에이전트(create_agent)에게 맡겨 봅니다. 둘째, 도구를 꽂는 표준 규격인 MCP(Model Context Protocol)입니다. 구름다리여행의 상품 표와 공지 파일을 읽는 작은 MCP 서버를 직접 만들고, LangChain 챗봇에 붙여 데이터를 찾아 답하게 합니다. 실습의 절반은 API 키 없이 돌아갑니다.