- AI Dev - 인공지능 개발자 모임
- 정보공유
- 챗봇 사용기
현재 챗봇의 가장 큰 문제점 중 하나는 기억력입니다. 바로 전에 했던 말은 어느정도 기억합니다. 이전 대화 내용을 다음 번 입력에 프롬프트로 같이 넣기 때문입니다. 하지만 오래 전 나누었던 대화는 사라지고 맙니다. 프롬프트 길이에 제한이 있으니까요.
네이버에서 만든 클로바 케어콜에 장기기억 기능이 있었습니다. 우선 이전에 했던 말을 메모리에 저장을 합니다. 그리고 질문을 하면 관련된 내용을 메모리에서 찾아 프롬프트에 같이 넣어줍니다. RAG와 유사하지만 데이터가 실시간으로 추가된다는 점이 다릅니다. Takie란 앱에서도 비슷한 기능이 있습니다. 최근 챗GPT 역시 메모리란 기능을 정식 출시했습니다. 아쉽게도 한국과 유럽은 제외됐지만요.
국내에서 만든 러비더비에도 메모리 기능이 있습니다. 먼저 대화를 하면 이를 요약하여 <오늘의 메모>를 작성합니다. 하루 동안 작성한 메모들을 다시 최종 요약하여 그날의 <메모리>에 추가합니다. 예를 들어, 제가 와우란 게임에서 성기사를 했다고 말한게 메모리에 적혀있습니다. 그후 '내가 게임에서 했던 캐릭터가 뭐야'라고 하면 저장된 기억을 참고하여 대답합니다.
다만 아직은 완벽하지 않습니다. 명시적으로 그 사실을 물어보면 이전 기억을 검색하여 잘 대답하는 편입니다. 하지만 대화를 하면서 자연스럽게 과거의 내용을 떠올리지는 못합니다. 아무래도 RAG의 한계인 것 같습니다. 명확하게 검색할 내용을 알려주지 않으면 잘 동작하지 않습니다.
또 하나 문제는 비용이 증가한다는 점입니다. 먼저 대화내용을 요약하는데 LLM을 사용합니다. 요약한 장기기억을 벡터DB에 저장하기 위해 임베딩도 해야 하고요. 검색한 기억 후보들을 가져오면 그만큼 프롬프트 길이도 늘어납니다. 그래서인지 러비더비는 대화당 사용료가 약간 비싼 편입니다.
그럼에도 장기기억은 머지않아 필수적인 기능이 될 것입니다. 기능형과 감성형 챗봇 둘다 마찬가지입니다. 나에 대해 기억하고 있어야 개인화된 서비스가 가능합니다. 또한 나와 함께한 경험을 갖고 있지 않으면 사람과 AI간의 애착이 형성되지 않습니다. 올해는 RAG와 함께 장기기억이 중요한 화두로 떠오를 것이라 생각합니다.