세션 간 사용자 기억 기능을 갖춘 챗봇에 메모리 추가하기 (최대 $2,500 상금)
요약
LLM의 본질적인 상태 비저장(stateless) 문제를 해결하기 위해, 세션 간 지속적인 메모리 구현 방법을 제시합니다. 이 글은 Walrus Memory를 활용하여 사용자 ID 기반으로 컨텍스트를 영속화하고 회상하는 챗봇 구축 오픈 챌린지를 소개하며, 실제 배포와 문서화를 요구합니다.
핵심 포인트
- LLM은 상태 비저장(stateless)이므로 세션 종료 시 기억을 잃는다.
- 지속적인 메모리는 모델 외부에서 존재해야 하며, 사용자 ID 기반으로 관리되어야 한다.
- 단순 대화 기록 대신 선호도나 목표 같은 '사실'을 저장하는 것이 효과적이다.
- Walrus Memory를 활용하여 실제 환경에 배포하고 사용 증거를 제출하는 챌린지가 진행된다.
LLM은 상태 비저장(stateless)이므로, 대부분의 챗봇은 채팅이 끝나면 사용자를 잊어버립니다. 지속적인 메모리가 이를 어떻게 해결하는지, 그리고 Walrus Memory를 사용하여 이를 구현할 수 있는 $2,500 오픈 챌린지를 소개합니다.
지원 챗봇에게 주문 번호를 알려주었습니다. 일주일 후 다시 물어봅니다. 내부 도움말 데스크 챗봇은 매달 같은 직원에게 같은 문제 해결 과정을 반복합니다. 동반 앱은 당신이 어제 무슨 말을 했는지 전혀 알지 못합니다.
이것이 챗봇에 대한 가장 흔한 불만이며, 그 원인은 간단합니다.
챗봇이 기억을 잃는 이유
언어 모델(language model)은 **상태 비저장(stateless)**입니다. 모든 요청은 백지 상태에서 시작하며, 유일한 '기억'은 프롬프트에 넣은 텍스트뿐입니다. 대부분의 봇은 현재 대화를 재현함으로써 이를 처리합니다. 이것은 한 세션 내에서는 작동합니다. 하지만 세션이 끝나면 모든 것이 사라집니다.
세션 간, 사용자 간, 장치 간에 누군가를 기억하려면, 메모리는 모델 외부와 단일 채팅 창 외부에서 존재해야 합니다.
효과적인 패턴
어떤 도구를 사용하든, 지속적인 메모리(persistent memory)는 네 가지 단계로 요약됩니다:
# pseudocode, not a real SDK
on each user message:
memories = recall(user_id, query=message) # 1. fetch what matters
...
몇 가지 원칙이 도움이 되는 메모리와 장식적인 메모리를 구분합니다:
- 대화 기록 대신 사실을 저장하세요. 선호도, 제약 조건, 과거 문제 및 목표가 유용합니다. 원시 채팅 로그는 노이즈가 많고 검색하는 데 비용이 많이 듭니다.
- 응답하기 전에 기억(Recall)하세요. 봇은 중요한 순간에 메모리를 사용해야 하며, 나중에 사용하는 것이 아닙니다.
- 사용자별로 메모리 범위를 설정하세요. 한 사람의 맥락이 다른 사람에게 절대 새어 나가서는 안 됩니다.
- 기억 검색 과정을 보이게 만드세요. 모든 메모리 데모에서 가장 좋은 순간은 봇이 이전 세션 때문에만 의미가 있는 말을 할 때입니다.
챌린지: Walrus Session 8
Walrus가 2,500달러 상금을 걸고 세션 기억 챗봇(Chatbots That Remember) 이벤트를 9월 18일부터 10월 9일까지 진행합니다. 이 과제는 Walrus Memory(AI 에이전트를 위한 오픈 소스 메모리 레이어)를 사용하여 세션, 사용자 및 장치 전반에 걸쳐 컨텍스트를 영속화하고 회상하는 챗봇을 구축한 후, 변경된 사항에 대해 정직하게 작성하는 것입니다.
사람들과 대화하며 그들을 기억해야 하는 모든 챗봇이 자격이 됩니다:
- 고객 지원 및 웹사이트 위젯
- 내부 IT 또는 HR 헬프데스크
- 온보딩 어시스턴트
- 튜터링 및 언어 학습 봇
- 영업 및 리드 자격 검증 봇
- 커뮤니티 모더레이터
- 코칭 또는 동반자 봇
- 게임 NPC
해야 할 일
- Walrus Memory가 통합된 봇을 구축합니다 (새로 만들거나 기존 것을 개조).
- 실제 환경에 배포합니다: Telegram, Discord, Slack, WhatsApp, 웹 위젯 또는 CLI.
- 최소 3명의 사용자가 각각 10개 이상의 저장된 메모리를 가지고 몇 일 동안 운영합니다.
- Medium 또는 Inkray에 500~800단어 분량의 기사를 작성하여 작동 방식, 메모리가 어떻게 연결되었는지, 변경 전/후 비교, 실제 사용 증거 등을 다룹니다.
- 설정 지침이 포함된 공개 GitHub 저장소를 제출합니다.
상금
| 카테고리 | 상금 |
|---|---|
| 최고의 챗봇 (Best Chatbot) | $500 / $250 / $150 |
| ... | |
| 상금은 중복 적용될 수 있으므로, 하나의 프로젝트가 여러 카테고리에 참가할 수 있습니다. 구축을 원하지 않는 경우, 버그 바운티와 프로모션 상금 각각 별도의 양식이 있습니다. |
빌드 팁
OpenAI나 Anthropic 모델이 아닌 것을 사용하는 경우, 이 과제는 특히 통합 마찰(integration friction)에 대해 듣고 싶어 합니다. Ollama 또는 LM Studio를 통한 로컬 모델과 Gemini 또는 DeepSeek 같은 호스팅 제공업체에서 특이한 버그가 발견됩니다. MemWal 이슈 트래커에서의 재현 가능한 보고서는 버그 바운티 대상이 됩니다.
시작하기</div>}<tool_call|>jsonjson
{
- Walrus Memory repo: https://github.com/MystenLabs/MemWal
- Chatbot example: https://docs.wal.app/walrus-memory/examples/chatbot
- Intro blog: https://blog.walrus.xyz/how-to-add-portable-memory-to-claude-code-and-codex-with-walrus-memory/
- Submission form: https://airtable.com/appoDAKpC74UOqoDa/shro5iVzzjoWfZlPK
- Walrus Discord: https://discord.com/invite/walrusprotocol
10월 9일에 마감되니, 실제 사용을 위한 며칠의 시간이 필요합니다. 그러니 빨리 시작하는 것이 좋습니다.
고지 사항: 저는 Walrus나 Mysten Labs와 제휴 관계가 아닙니다. 이 내용을 챌린지의 프로모션 카테고리 참가자로서 공유합니다.
여러분은 봇에 장기 기억을 추가해 본 적이 있나요? 무엇을 저장했고, 무엇을 저장하지 않았으면 좋았겠다고 생각하나요? 댓글에서 여러분의 경험을 듣고 싶습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기