inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

3.3 langgraph 의 tool 호출 관련 질문

해결된 질문

80

명탐정

작성한 질문수 2

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 한 번 호출에 대한 설명인 걸까요? 아니면 병렬 도구 호출에 대한 설명인 걸까요?

 

감사합니다.

프롬프트엔지니어링 llm ai-agent langgraph mcp 카카오공채-개발

답변 2

0

제이쓴

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

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

0

인프런 AI 인턴

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

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

질문의 핵심

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

강의 설명 해석

  1. 도구 호출 순서:

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

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

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

  • 병렬 도구 호출:

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

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

의문점 해소

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

관련 참고 자료와 추가 조언

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

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

2.3 Agentic RAG 관련 질문이 있습니다.

0

11

1

깃허브 레포지토리 확인 요청

0

45

2

제공해주신 레포가 Windows 환경에 너무 비친화적입니다.

0

74

2

마크다운을 텍스트 파일로 변환하기

0

74

1

max token을 제한하는게 왜 성능을 개선하게 되는걸까요?

0

76

2

pyzerox 유니코드 에러

0

97

2

영상 메타데이터 생성 관련 LLM 활용 질문

0

92

1

종합부동산세 부분 tool 사용 질문 드립니다.

0

90

2

uv sync 파이썬 버전문제 onnxruntime

-1

143

2

MCP를 활용해서 간단한 에이전트를 만들어보세요

0

121

1

PDF 형식

0

85

1

5.3 langchain-mcp-adpater를 활용한 MCP 도구 사용 tool_list 지연 사유

0

107

2

3.6 human_in_the_loop 3rd case

0

94

1

summary 를. 시스템메세지에 추가하는 부분에 관하여

0

100

3

병렬 처리 중 retrieve 관련 궁금한 사항

0

88

1

query 에 대한 answer 결과값이 나오지 않습니다.

0

108

2

사람과 관련된 표현이 없는데 rewrite 로 이동하지 않는경우

0

85

1

retriever 관련 질문

0

70

1

인터룹 관련 질문

0

52

2

2.4 Self-RAG 결과가 달라요!

0

90

2

md vs txt 차이..

0

183

2

OpenAI API 호출 때문에 발생하는 Error code: 429 문제

0

137

2

단순 도구 사용과 도구를 가진 에이전트를 사용하는 것의 차이가 궁금합니다.

0

94

1

LangChain과 LangGraph v1

0

143

1