“캐릭터는 소리 지르는 것을 좋아하지 않습니다”는 사실입니다. "이 캐릭터의 내부 삶의 주요 창으로 제기 된 목소리에 대한 반응을 사용하고, 그 불편 함이 명시하지 않고 모든 대결 장면을 형성하게하십시오"모델이 추가 추론없이 행동 할 수있는 지침입니다.
Tenure에 대한 모든 신념은 모델이 올바르게 얻을 수있는 전체 대화 컨텍스트를 가질 때 추출 시간에이 변환을 수행하는 why_it_matters 필드를 가지고 있습니다. 차이점은 선언적 표현과 필수 표현의 구분입니다. “Uses TypeScript with strict mode”는 사실입니다. “엄격한 모드가 없고 암시적인 것이 없는 TypeScript에 대한 모든 코드 예제를 형성합니다.”는 지침입니다. 사실을 수신하는 모델은 여전히 적용하는 방법을 파악해야 합니다. 지시를 받는 모델은 직접 그 위에 작용합니다.
이것이 사이드 카 타이밍을 매우 중요하게 만드는 이유입니다. 추출 모델은 모든 것이 존재할 때 why_it_matters를 씁니다 : 대화, 사용자의 의도, 전체 추론 체인. 형성의 순간에 캡처 된 결정화 된 지침은 미래의 쿼리에 대해 정확하고 실행 가능합니다. 원시 성적표에서 작업하는 모델은 나중에 오래되고 문맥을 벗어난 재료로 모든 것을 재구성해야합니다.
실제로 작동하는 검색
대부분의 메모리 시스템은 모델에 모호하게 관련된 사실의 더미를 건네며 무엇이 관련이 있는지 알아 내길 바랍니다. 벡터 검색은 TypeScript 환경 설정과 별도로 Redis 결정과 별도로 MongoDB 결정을 말할 수 없기 때문입니다. 그들은 모두 같은 의미의 이웃에 살고 있습니다.
이것은 이론적 인 문제가 아닙니다. 우리는 그것을 직접 테스트했습니다. 동일한 시드 코포라 및 동일한 테스트 하네스를 사용하여 두 백 엔드에 대해 72개의 검색 케이스 실행:
같은 코퍼스. 같은 주장. 메커니즘은 구조적입니다. 한 개발자의 스택에 대한 모든 믿음은 진정으로 의미적으로 근접합니다. Redis, TypeScript, Fastify, MongoDB, Kubernetes, GitHub Actions는 모두 동일한 인프라 도메인에 속합니다. 코사인 점수는 0.65에서 0.83까지 다양합니다. 임계값이나 재순위 계층은 문제가 검색 패러다임 자체이기 때문에 이를 해결합니다.
Tenure는 별칭 가중 용어 일치 대신 사용합니다. k8s에 대해 질문하면 향후 검색 작업을 위해 추출 작업자가 특별히 작성한 표준 이름 및 별칭과 일치합니다. 쿼리 작성자와 신념 작성자는 동일한 어휘에서 작업하고 있습니다. BM25 over authored aliases는 당신이 지명한 무슨을 검색합니다. 벡터 검색은 의미적으로 인접한 것을 검색합니다.
전체 방법론은 arXiv (2605.11325)에 대한 논문에 있습니다. 다른 시스템이 작동하지 않기 때문에 별도로 호출 할 가치가있는 검색 동작이 하나 더 있습니다.
반대 서명 재산
다른 시스템이 하는 일은 여기 있습니다. Tenure는 당신이 선택한 것만이 아니라 당신이 거부 한 것을 색인합니다.
특정 이유로 Mongoose보다 MongoDB 원시 드라이버를 사용하기로 결정한 경우, 그 신념은 별칭으로 "mongoose"를 운반합니다. 따라서 향후 세션에서 Mongoose에 대해 질문 할 때 Tenure는 결정이 결코 일어나지 않은 것처럼 새로운 평가를 제공하는 대신 이미 배제 한 결정을 표면화합니다. 쿼리 "내 사용자 모델에 대한 좋은 Mongoose 스키마 제안"은 점수 9.29의 별칭을 통해 mongo-raw-driver를 검색합니다.
이 재산은 우리가 조사한 모든 시스템에 없습니다. Mem0은 반 신호 메커니즘없이 사실을 저장합니다. Memori의 의미형 트리플은 거부 된 내용을 색인화하지 않고 무엇이 사실인지 기록합니다. 모델은 당신이 MongoDB를 선택했다는 것을 알지 못합니다. 왜 당신이 몽구스를 거부했는지 알고 있으므로 다시는 제안하지 않습니다.
개발자뿐만 아니라
이것은 단지 코드에 관한 것이 아닙니다. 창의적인 글쓰기 에이전트와 함께 OpenClaw를 사용하는 작가라면 Tenure도 같은 방식으로 작동합니다.
그것은 적용하는 방법을 알아 내야한다는 사실이 아닙니다. 그것은 즉시 행동하는 직접적인 지시입니다. 그리고 하루 직업에 대한 코드 에이전트가 있다면 캐릭터의 심리가 API 아키텍처 토론에 결코 실패하지 않습니다. 범위 격리는 그것을 보장합니다.
작가는 캐릭터 목소리와 계속되는 세계 성경을 얻습니다. 연구자들은 논문 각도와 배제 된 상태를 유지하는 배제 된 접근 방식을 얻습니다. 컨설턴트는 재브리핑 없이 클라이언트 컨텍스트 간에 깨끗한 전환을 얻습니다. 신념 체계는 도메인에 관계없이 동일하게 작동합니다.
컨텍스트 어셈블리: 세 레이어, 하나의 예산
모든 요청, Tenure는 공급자에게 전달하기 전에 신념 컨텍스트를 조립합니다. 그것에는 3개의 층이 있습니다:
Persona prelude: 누적 된 신념 상태에서 생성되고 모든 세션에 무조건 주입 된 보편적 인 선호도 및 의사 소통 스타일에 대한 짧은 산문 요약. 이것은 콜드 스타트 문제를 해결하는 것입니다. 부분적으로 완료된 온 보딩조차도 자신감있는 세대를 알 수없는 컨텍스트로 대체 할 수있는 충분한 페르소나 신호를 보정 된 불확실성으로 생성합니다.
Pinned facts: 현재 범위에 대한 모든 활성 고정 신념은 항상 요청한 내용에 관계없이 주입됩니다. 당신의 기본 언어, 틀, 내러티브 목소리. 항상 관련된 것들.
Relevant beliefs: 귀하의 질문에 대한 텍스트 검색으로 표면화 된 고정되지 않은 신념. 신념 콘텐츠가 아닌 모호한 일치를 가진 표준 이름 및 별칭에 대한 일치를 검색합니다. 신념 내용은 회수 표면이 아닌 페이로드를 주입합니다.
세 층 모두 토큰 천장 내에 예산이 책정됩니다. 고정 된 사실이 우선입니다. 관련 신념은 남은 공간을 채 웁니다.
아무도 다른 사람이 해결하지 않는 장기 문제
대부분의 메모리 플러그인은 처음 몇 세션에 맞게 설계되었습니다. 그들은 당신이 수백 개의 항목을 가지고있을 때 매일 사용의 6 개월 후에 일어나는 일에 대한 답을 가지고 있지 않습니다, 일부는 서로 모순, 일부는 지난 분기에 사실이었고 더 이상 존재하지 않습니다.
실패 모드는 메모리가 비어 있지 않습니다. 메모리에는 조용히 응답에 영향을 미치는 오래된, 대체되거나 모순되는 사실이 포함되어 있습니다. 이것은 문헌에 이름이 있습니다 : 문맥 부패.
Tenure는 세 가지 메커니즘을 통해이를 해결합니다.
Supersession chains. 한 접근 방식에서 다른 접근 방식으로 전환하면 오래된 믿음은 사라지지 않습니다. 그것은 대체되고, 새로운 신념에 묶여 있으며, 감사를 위해 유지됩니다. 오래된 신념을 삭제하는 시스템은 "우리는 이것을 결코 알지 못했다"와 "우리는 이것을 알고 있었고 그것을 지나쳤다"를 구별 할 수 없습니다. 중첩 된 신념은 결코 주입되지 않지만 항상 검사 할 수 있습니다..
Compaction. 배경 작업자는 30분마다 자동으로 실행되며 겹치는 신념을 병합하고, 기존 버전과 모순된 사실을 대체하며, 별칭 세트를 풍부하게 하여 검색 정밀도가 시간이 지남에 따라 개선되지 않도록 합니다. 별칭 농축 플라이휠은 더 많은 세션을 축적할수록 더 정확하게 Tenure는 당신이 의미하는 바를 찾습니다. 고양이에게 한 번 전화하면 다음 번에 그 문구가 올바르게 해결됩니다.
Full observability. 모든 신념은 http://localhost:5757/beliefs에서 볼 수 있고, 편집 가능하며, 수정할 수 있습니다. 추론 된 신념은 확인을 위해 나타납니다. 충돌은 조용히 흡수되는 것이 아니라 명시적이고 검토 가능한 사건으로 표면화됩니다. 이것은 embeddings 사이의 모순이 건설에 의해 보이지 않는 벡터 저장소에서는 불가능합니다.