첫 번째 Letta 실행은 단순한 회상이 아닌 메모리 격리(Memory Isolation)를 테스트해야 한다
요약
Letta 에이전트를 테스트할 때 단순한 기억력을 넘어 메모리 격리(Memory Isolation)와 세션 간 상태 누출 여부를 검증해야 함을 강조합니다. 올바른 환경 설정과 데이터 격리 테스트를 통해 에이전트의 신뢰성을 확보하는 엔지니어링 접근법을 제시합니다.
핵심 포인트
- 단순 회상이 아닌 메모리 격리 및 세션 간 상태 누출 검증 필요
- Letta의 버전 차이와 Node.js/Python 환경 설정 주의
- 합성 데이터와 일회성 ID를 사용한 샌드박스 테스트 권장
- 제공자, 메모리, 도구, 샌드박스 등 계층별 디버깅 순서 준수
공개 사항: 이 기사는 AI의 도움을 받아 작성되었으며, 연결된 Doramagic 프로젝트 페이지, 매뉴얼 및 업스트림 README를 대조하여 확인되었습니다. 이는 독립적인 엔지니어링 해석이며, 공식 Letta 문서가 아닙니다.
에이전트가 세부 사항을 기억하는 것은 데모에 불과합니다. 유용한 첫 번째 Letta 테스트는 해당 세부 사항이 어디에 저장되었는지, 어떤 세션이 이를 읽을 수 있는지, 어떤 도구(tools)가 경계를 공유하는지, 그리고 상태(state)를 어떻게 제거할 수 있는지를 묻습니다.
첫 번째 명령을 내리기 전에 버전 함정이 있습니다. 업스트림 README에 따르면 이 저장소는 레거시(legacy) Letta 서버를 포함하고 있으며, 활발한 개발은 letta-ai/letta-code로 이동했다고 명시되어 있습니다. 현재 CLI 경로는 Node.js 22.19+ 이상이 필요합니다:
mkdir -p /tmp/letta-trial
cd /tmp/letta-trial
node --version
...
이는 pyproject.toml에서 letta 0.16.8 및 Python >=3.11,<3.14를 보고하는 Python 저장소 스냅샷의 설치 방식과 동일하지 않습니다. Agent SDK는 세 번째 접점(surface)이며 클라우드, 로컬 또는 자체 호스팅(self-hosted) 백엔드를 대상으로 할 수 있습니다. 저는 어떤 결과를 해석하기 전에 정확한 접점과 백엔드를 기록합니다.
저의 첫 번째 실행은 합성 데이터(synthetic data) 또는 폐기 가능한 데이터와 하나의 테스트 ID를 사용합니다. 저는 제공자/모델(provider/model), 에이전트 및 세션 식별자, 메모리 쓰기/읽기 동작, 도구 권한(tool permissions), 샌드박스 모드(sandbox mode), 그리고 정리 후 무엇이 남는지를 캡처합니다. 일관된 답변이 메모리가 격리되었다는 증거는 아닙니다. 성공적인 도구 호출(tool call)이 CLI, SDK 및 서버 전체에 동일한 정책이 적용된다는 증거도 아닙니다.
Doramagic 매뉴얼은 제공자 호환성, 계층적 메모리/데이터, 에이전트/도구/샌드박스, 그리고 서버/REST API를 구분합니다. 이는 유용한 디버깅 순서입니다. 제공자 실패는 하나의 게이트(gate)에 속하며, 세션 간 상태 누출(cross-session state leakage)은 다른 게이트에 속하고, MCP 새로고침 또는 도구 구성은 또 다른 게이트에 속합니다. 트랜스크립트(transcript)가 제대로 보일 때까지 프롬프트를 반복하는 것은 어떤 게이트가 실패했는지를 숨길 뿐입니다.
프로젝트 페이지는 커뮤니티의 증거를 계속해서 공개하고 있습니다: 암호화된 Bedrock 또는 VLLM 자격 증명(credentials)과 관련된 보고, 세션 간 메모리 오염(cross-session memory poisoning), MCP 스키마/새로고침(refresh) 동작, 컨텍스트 압축(context compaction), 그리고 제공자(provider) 오류 처리 등이 포함됩니다. 이것들은 검토를 위한 입력값이지, 포괄적인 보안 판결은 아닙니다. 하지만 실제 데이터나 기본 설정 디렉터리가 시스템에 진입하기 전에, 일회성(disposable) 첫 실행을 수행해야 할 근거로는 충분합니다.
저의 수락 패킷(acceptance packet)에는 설치 명령(install command), 런타임/버전(runtime/version), 정확한 제품 접점(product surface), 제공자/모델(provider/model), 테스트 데이터 위치, 원시 출력(raw output), 메모리 경계(memory boundary), 실패 로그(failure log), 그리고 롤백 조치(rollback action)가 포함되어 있습니다. "나를 기억한다"는 테스트의 시작이지, 끝이 아닙니다.
매뉴얼: https://doramagic.ai/en/projects/letta/manual/
업스트림(Upstream): https://github.com/letta-ai/letta
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기