Inflearn brand logo image

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

LEE JONG PIL님의 프로필 이미지
LEE JONG PIL

작성한 질문수

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

5.3 공식문서의 MCP Client 활용방법

tool의 Output Size 관련 질문

작성

·

14

·

수정됨

0

  • MCP Server 나 langgraph 나 모두 tool 입니다. 만약 tool 에서 결과 값이 너무 많이 나오는 경우 어떻게 처리 해야 할까요?

  • 예1) MCP Server의 "우리 회사 고객 정보중 매출 얼마 이상 되는 정보를 보여줘?" 라고 고객이 입력 했는데, 그 고객 정보가 10만명이 나와서 tool 의 결과가 너무 커 버리는 예)

    • DB의 Limit 등으로 어떻게 하더라도 다음 호출을 LLM이 잘 못해주는 경우가 있음.

  • 예2) 슬랙의 채널을 보여줘 했을 때, 슬랙의 채널이 너무 많은 경우 ... 결국 전부다

     

  • 예3) 소스코드를 분석해 줘

    • 소스코드가 1만 - 2만 라인 되었을 경우

       

  • Tool 의 결과라도 양이 많으면 Summary를 하면서 계속 돌려야 하는게 효과 적일까요? 아니면 페이지 1, 2 등을 호출할 수 있게 어떻게 하던 LLM 에게 권한을 주는게 효과 적일까요?

  • 더 괜찮은 방법이나 좋은 prompt 등이 있으시면 답변 부탁 드립니다.

  • 감사합니다.

 

답변 1

0

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

안녕하세요! 좋은 질문 감사합니다.

개인적으로는 context window가 커진다고 하더라도, 해당 Context를 모두 활용하면 비용이나 속도 측면에서 효율이 떨어지기 때문에 추천하고 싶지는 않습니다.

그래서 각 케이스별로 답변을 드려보자면

  1. 우리 회사 고객 정보중 매출 얼마 이상 되는 정보를 보여줘? 라는 질문은, 엑셀에 있는 데이터를 파싱해서 LLM을 호출하기 보다는, LLM에 해당 엑셀의 컬럼 정보를 넘겨주고, pandas 코드를 작성하게 한 후에, 해당 엑셀 파일을 pandas 코드를 활용해서 분석하는 걸 추천 드립니다.

  2. 슬랙의 채널을 보여줘 했을 때, 슬랙의 채널이 너무 많은 경우 ... 결국 전부다 는 어쩔 수 없이 모두 넣을 수밖에 없을 것 같습니다. 그러면 슬랙에 있는 모든 채널을 불러와서 LLM에게 전달하기 보다는, 슬랙 채널에 대한 메타데이터를 별도로 저장하고, 해당 메타데이터를 기반으로 채널명과 채널ID를 불러오는 편이 더 효율적일 것 같습니다.

  3. 소스코드를 분석해 줘: 소스코드가 1만 - 2만 라인 되었을 경우 는 왠지 효율이 떨어질 것 같습니다. 말씀하신 summary를 하기에는 소스코드를 분석해서 코드를 작성해야하는데 summary를 하면 오히려 성능이 안나올 것 같습니다. 소스코드 전체를 전달하기 보다는, 코드를 파악해서 필요한 부분만 적절히 전달하는 편이 성능에 유리할 것 같습니다.

요약하면 너무 긴 context를 넘겨주면 성능이슈가 있을 수 있어서, 가급적 작은 단위로 실행해 보는 것을 추천드립니다!

 

LEE JONG PIL님의 프로필 이미지
LEE JONG PIL

작성한 질문수

질문하기