강의

멘토링

커뮤니티

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

cocococoa님의 프로필 이미지
cocococoa

작성한 질문수

한 번에 끝내는 AI 에이전트 개발 올인원 (w. LangGraph, Google ADK, CrewAI)

Agent를 위한 기억 능력 부여, Short-term Memory 기능 개발 (동적 Agent)

dynamic_agent가 없어도 괜찮지 않나요?

작성

·

22

0

안녕하세요. 강의 잘 보고있습니다.

13. Agent를 위한 기억 능력 부여, Short-term Memory 기능 개발 (동적 Agent)

강의에서 매 comunication마다 새로운 agent를 생성하기 위해 동적으로 에이전트를 만드시는 기법을 사용하시는데요. 그런데 main.py에 있는 handler 함수는 텔레그램 봇과 대화하면서 매번 실행되는 함수같아보이는데 그러면 그 때 마다 밑의 라인이 실행되어서 매번 새로운 Agent가 자동으로 생성되는 것 아닌가요?

chatbot_crew = ChatBotCrew()

동적으로 에이전트를 만드는 기법이 이 케이스에서도 반드시 쓰여야하는 것일까요?

답변 2

0

윤상석님의 프로필 이미지
윤상석
지식공유자

안녕하세요. 네 맞습니다. system prompt가 동적으로 생성이 되기에 (이전 대화 context 주입) 매번 새로운 agent를 정의하는 것입니다!

0

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

강의에서 동적 Agent를 생성하는 이유는 봇의 메모리 기능을 효율적으로 관리하기 위함입니다. 매번 새로운 Agent를 생성함으로써 이전 대화의 맥락을 초기화하고 새로운 상호작용을 시작할 수 있습니다. 이렇게 하면, 봇이 각 사용자와의 대화를 독립적으로 관리할 수 있으며, 사용자 간의 대화 정보가 섞이지 않게 됩니다.

하지만, 만약 봇의 디자인이 대화를 지속적으로 기억해야 하는 구조라면 동적으로 에이전트를 생성하는 방식이 아닐 수 있습니다. 지속적으로 사용자별 대화 기록을 기억해야 한다면, Agent를 생성할 때마다 기록 정보를 불러오고 관리해야 할 것입니다.

텔레그램 핸들러 함수에서 매번 실행될 때마다 새로운 인스턴스를 생성하더라도, 이 방식은 각 대화의 시작과 끝을 명확하게 나누어 사고할 수 있게 해줍니다. 이렇게 하면 기억을 독립적으로 관리할 수 있어, 예를 들어 한 사용자가 “이전에 했던 말 기억해?“라고 질문했을 때, 메모리에서 해당 정보가 존재하는지를 체크하고 그에 맞게 응답할 수 있게 됩니다.

기존의 방식에 대해 충분히 이해하셨다면, 사용자의 요구에 맞게 에이전트를 관리하는 방법도 연구해보시면 좋습니다. 이와 관련한 더 구체적인 접근 방법에 대해 다른 학생들의 경험을 참고하고 싶으시다면, 기존에 답변된 유사 질문과 같은 질문의 답변을 확인해 보실 수 있습니다.

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

cocococoa님의 프로필 이미지
cocococoa

작성한 질문수

질문하기