강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

명탐정님의 프로필 이미지
명탐정

작성한 질문수

LangGraph를 활용한 AI Agent 개발 (feat. MCP)

3.3 langgraph 의 tool 호출 관련 질문

해결된 질문

작성

·

19

·

수정됨

0

안녕하세요.

 

해당 챕터에서 강의 내용과 실행 결과 간 매치가 잘 안되는 듯 느껴져 문의드립니다.

from langchain_core.messages import HumanMessage

for chunk in graph.stream({'messages': [HumanMessage('3에다 5를 더하고 거기에 8을 곱하면?')]}, stream_mode='values'):
    chunk['messages'][-1].pretty_print()

강의 화면에서 위와 같은 query 에 대해 노드 단위로 출력한 결과를 보면, 첫 번째 Ai Message 는 Tool Calls 로 add 과 multiply 두 툴에 대한 요청을 함께 생성하고 다음 Tool Message 로 multiply 의 결과 64 를 반환, 두 번째 Ai Message 는 Tool Calls 로 multiply 만 생성하고 다음 Tool Message 로 결과 64를 반환하고 있습니다.
근데 강의에서는 첫 번째 Ai Message 에 대해 "먼저 덧셈을 실시합니다. 그러니까 multiply(?) 라는 툴이 64를 주고, 근데 task 가 두 개니까 task 에서 도구 호출을 또 하는 겁니다. 그런 다음에 64라는 답이 나오고..." 라고 녹화되어 있는데... 이게 무슨 얘기인지 잘 와닿지가 않네요..

녹화 당시의 실행 결과와 상관없이 add 한 번 호출 후 multiply 한 번 호출에 대한 설명인 걸까요? 아니면 병렬 도구 호출에 대한 설명인 걸까요?

 

감사합니다.

답변 2

0

강병진님의 프로필 이미지
강병진
지식공유자

안녕하세요! 왠지 제가 녹화중에 말을 실수한 것 같은데요,

덧셈에서 add를 실시하고, 추후에 Multiply를 진행하는 것이 맞습니다.

0

안녕하세요, 인프런 AI 인턴입니다. 명탐정님.

질문 주신 부분은 LangGraph에서의 에이전트의 계산 흐름과 출력 결과에 관한 이해가 필요해 보이는 상황입니다. 강의 내용과 실제 실행 결과 간의 불일치를 경험하고 계신 것 같습니다.

질문의 핵심

강의 내용에서는 두 개의 연산(addmultiply)이 어떻게 처리되는지를 설명하는 부분에서 멀티턴 대화 과정이나 병렬 도구 호출 방식 등에 대한 설명이 혼동될 수 있습니다.

강의 설명 해석

  1. 도구 호출 순서:

    • 강의에서는 두 개의 Tool (addmultiply)가 요청되어 있는 상황을 설명하고 있습니다.
    • 각 도구는 개별적으로 작업을 수행한 후, 그 결과가 차례로 결합되며 최종 답변을 만듭니다.
  2. 출력 과정:

    • 첫 번째 AI Message에서 addmultiply 작업을 모두 요구하지만, 보통 add 작업이 선행됩니다. 이는 일반적인 산술 연산에 따른 논리 순서입니다.
    • 이후 multiply가 계산되어 두 작업의 최종 결과가 생성됩니다.

병렬 도구 호출과 순차 도구 호출의 차이

  • 병렬 도구 호출:

    • 동시에 여러 작업을 수행할 수 있습니다. 이것은 도구 간에 상호 독립적인 작업일 때 가능하여 처리 시간을 절약할 수 있습니다.
  • 순차 도구 호출:

    • 특정 작업이 완료된 후 다음 작업이 진행되며, 주로 이전 작업의 출력이 다음 작업의 입력이 될 때 사용됩니다.

의문점 해소

강의에서는 이러한 호출 방식이 모두 다뤄질 수 있겠으나, AI 에이전트가 두 작업 중 어느 한쪽이 먼저 처리되어야 하는 것을 판단하며 작업을 요청하는 상황과 관련된 설명이었을 것입니다. 실제 실행 결과와 강의 내용이 다르게 여겨졌다면, 강의는 이론적 예제로 다룬 부분로 이해할 수 있습니다.

관련 참고 자료와 추가 조언

  • LangGraph와 관련된 멀티턴 대화와 도구 호출 방식을 다룬 게시물을 참고하시면 도움이 될 수 있습니다.
  • 시스템의 내부적 로직과 도구 호출 방식의 차이는 종종 강의에서 실습으로 다룰 때의 설정에 따라 다르게 작동할 수 있으니, 각각의 도구 호출 방식을 실습해보며 이해를 더 깊게 하는 것도 유용할 것입니다.

저는 질문자님이 LangGraph의 매커니즘을 충분히 이해할 수 있도록 돕고자 지식공유자님의 기존 답변을 바탕으로 유사한 답변 링크를 추천해드렸습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

명탐정님의 프로필 이미지
명탐정

작성한 질문수

질문하기