𝗖𝗼𝗻𝘃𝗲𝗿𝘀𝗮𝘁𝗶𝗼𝗻 𝗠𝗲𝗺𝗼𝗿𝘆 𝗳𝗼𝗿 𝗟𝗮𝗻𝗴𝗖𝗵𝗮𝗶𝗻 𝗔𝗴𝗲𝗻𝘁𝘀

메모리를 추가하면 LangChain 에이전트를 더 똑똑하게 만들 수 있습니다. 이를 통해 에이전트는 이전 메시지의 사실들을 기억할 수 있습니다.

이 포스트에서는 고객 지원 에이전트를 멀티턴(multi-turn) 도구로 변환해 보겠습니다.

첫 번째 턴에서 에이전트는 고객과 인보이스를 조회합니다. 두 번째 턴에서 에이전트는 ID를 다시 묻지 않고 티켓을 생성합니다.

알아야 할 세 가지 핵심 개념:

고객 지원 흐름에서의 작동 방식:

  1. 사용자가 고객 ID 1042와 인보이스 8891을 조회해 달라고 요청합니다. 에이전트가 데이터를 찾습니다.
  2. 사용자가 "티켓을 생성해 줘"라고 말합니다. 에이전트는 첫 번째 단계의 ID를 기억하여 작업을 완료합니다.

테스트를 위해서는 MemorySaver를 사용하세요. 로컬 프로세스 내에 상태를 유지합니다.

중요: MemorySaver는 코드가 실행을 멈추면 초기화됩니다. 프로덕션 환경에서는 Postgres나 SQLite와 같은 데이터베이스를 사용하세요. thread_id API는 변경되지 않으므로 코드는 동일하게 유지됩니다.

사용자마다 다른 thread ID를 사용하여 세션을 분리하세요. 이렇게 하면 한 사람의 데이터가 다른 사람의 채팅으로 유출되는 것을 방지할 수 있습니다.

전체 스크립트는 langchain-agent-memory-nodejs-demo 폴더를 확인하세요.

Source: https://dev.to/zsevic/conversation-memory-for-langchain-agents-31pa

Optional learning community: https://t.me/GyaanSetuAi