← 자료실로 돌아가기

리소스 상세 · 기억 실험

계층형 기억: 출처·정정·철회

고정된 가상 메시지로 선호 기록·정정·철회를 살펴보고 구형 계층도에서 출처 연결을 확인합니다.

본문, 예시와 라이선스는 원문을 유지합니다. 코드를 표시할 뿐 온라인으로 실행하거나 AI를 호출하지 않습니다.

리소스 상세

JavaScript 기초가 있고 대화 기억의 경계를 이해하려는 분을 위한 오프라인 실험 라이브러리입니다. 합성 예제이며 WeChat 연결 플러그인, 모델, 계정 또는 실제 성장 시스템이 아닙니다.

시작 전 준비

지원 환경
Windows · macOS · Linux
내용 업데이트
  • Node.js 22 이상과 텍스트 편집기를 준비하세요. 이 사이트에서는 v24.19.0으로 검사했으며 22는 아직 검사하지 않았습니다. npm install, 계정 또는 API 키는 필요하지 않습니다.
  • 전체 실험 압축 파일을 일반 폴더에 풀고 demo.mjs와 두 모듈을 같은 위치에 두세요.
node demo.mjs

압축을 푼 실험 폴더에서 실행하세요. 합성 데이터만 사용하며 네트워크나 개인 파일 읽기·쓰기는 없습니다.

흔한 문제

  • demo.mjs만 복사하면 실행되지 않습니다. 같은 패키지의 radial-memory-core.mjs와 typed-extractor.mjs를 불러옵니다.
  • 상태는 현재 프로세스 안에서만 계산됩니다. 이 구조의 암호화 저장, 재시작 복구 및 실제 플랫폼 연결은 구현되지 않았습니다.
공식 설치 안내 ↗

전체 본문

// 本网站作者原创 · 包子海梦. Deterministic synthetic data only.
import { createHash } from 'node:crypto';
import { pathToFileURL } from 'node:url';
import { extractTypedFacts } from './typed-extractor.mjs';
import { createRadialMemory, applyRadialFacts, recallRadialMemory, projectRadialMemory } from './radial-memory-core.mjs';

export function buildDemoFrames() {
  const scopeHash = createHash('sha256').update('synthetic-public-memory-demo-v1').digest('hex');
  const envelope = { companionId: 'local-deepseek', scopeHash };
  const baseAt = Date.UTC(2026, 9, 28, 0);
  let state = createRadialMemory({ ...envelope, fictionalBackground: ['合成角色:喜欢安静阅读'] });
  const frames = [];
  const addFrame = (id, title, message) => frames.push({ id, title, message,
    projection: projectRadialMemory(state, envelope),
    recall: recallRadialMemory(state, { ...envelope, query: '你记住了什么?', maxChars: 240 }) });
  const applyTyped = segments => {
    const facts = extractTypedFacts(segments);
    const result = applyRadialFacts(state, { ...envelope, facts });
    if (result.results.some(item => item.outcome === 'rejected')) throw Error('synthetic_demo_rejected');
    state = result.state;
  };
  const segment = (id, text, offset) => ({ messageId: `synthetic-demo-${id}`, itemIndex: 0, kind: 'typed', text, at: baseAt + offset });

  addFrame('initial', '初始:设定与真实相处分开', '尚未输入用户偏好;角色设定是合成内容');
  applyTyped([segment('cake-like', '我喜欢草莓蛋糕', 1), segment('coriander-dislike', '我不喜欢香菜', 2)]);
  addFrame('remember', '记住:保存明确偏好与来源', '我喜欢草莓蛋糕 / 我不喜欢香菜');
  applyTyped([segment('cake-correction', '我现在不喜欢草莓蛋糕了', 3)]);
  addFrame('correct', '改口:当前事实替换,来源链保留', '我现在不喜欢草莓蛋糕了');
  applyTyped([segment('coriander-withdrawal', '忘记我不喜欢香菜', 4)]);
  addFrame('retract', '撤回:移除派生详情,保留去重墓碑', '忘记我不喜欢香菜');
  return { schema: 'xiaobu-radial-memory-demo-frames-v1', synthetic: true,
    author: '包子海梦', attribution: '本网站作者原创 · 包子海梦',
    notice: '全部为固定合成演示数据;不是任何真实用户、微信账号或聊天记忆。', frames };
}

if (process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href)
  console.log(JSON.stringify(buildDemoFrames(), null, 2));

사용 방법

4단계 구형 데모를 살펴본 뒤 같은 고정 메시지를 실행하여 가상 설정, 현재 선호 및 이전 출처를 구분하세요.

  1. 전체 폴더 다운로드

    아래 전체 실험 패키지를 풀고 모듈, 데모, 테스트 및 LICENSE.txt를 보존하세요. 표시된 코드는 패키지의 demo.mjs 진입점이며 독립 파일이 아닙니다.

  2. 고정 합성 데모 실행

    해당 폴더에서 터미널을 열어 node demo.mjs를 실행하세요. 네 단계의 JSON을 출력하며 봇, WeChat 또는 모델을 시작하지 않습니다.

  3. 정정과 철회 확인

    딸기 케이크를 좋아하고 고수를 싫어한다고 기록한 뒤 케이크를 싫어함으로 정정하고 고수 선호를 철회합니다. 구형도에서 이전 케이크 출처가 대체되고 고수 상세는 제거되며 중복 방지 표식이 남는지 확인하세요.

저장 파일명
demo.mjs
실행 환경
Node.js 22 이상이며 Node 내장 모듈만 사용합니다. 추가 패키지는 없습니다.
의존성과 비용
클라우드 API 요금이나 전용 GPU가 필요하지 않습니다. 장치와 전력 비용은 사용자가 부담합니다.

실행 명령

node demo.mjs

예상 출력

initial → remember → correct → retract
{"synthetic":true,"frames":[...]}

로컬 검증

2026-10-28 · Node.js v24.19.0

고정 합성 데이터의 로컬 데모와 자동 검사입니다. 정확한 범위는 패키지의 VALIDATION.txt를 확인하세요. 실제 서비스 연결이나 보안 감사를 뜻하지 않습니다.

적합한 용도

  • 출처가 연결된 명시적 선호와 정정 학습
  • 철회·재전송 중복 방지·제한된 회상의 경계 학습

사용 전 주의

  • 일부 명시적인 중국어 선호 문형만 인식하며 임의의 언어 이해나 범용 기억 추출기가 아닙니다.
  • 인용, 웹페이지, 이미지 및 음성 전사는 사용자의 명시적 선호로 자동 승격되지 않습니다. 실제 애플리케이션에서 출처와 권한을 검증해야 합니다.
  • 철회는 파생 상세를 제거하고 제한된 중복 방지 표식을 남깁니다. 외부 로그, 백업 또는 이미 보낸 메시지를 지우지는 않습니다.
  • 상태는 현재 프로세스 안에서만 계산됩니다. 이 구조의 암호화 저장, 재시작 복구 및 실제 플랫폼 연결은 구현되지 않았습니다.
  • 완전한 기억이나 실제 token 절약량을 보장하지 않습니다. 구형 계층도는 데이터 관계 설명이며 뇌나 모델 내부 구조가 아닙니다.

작성자와 출처

저작자 표시
이 웹사이트 저자의 창작물 · 包子海梦
작성자와 출처
包子海梦
라이선스 확인일
2026-10-28

고지 및 수정 내용

2026-10-28에 작성한 독자적인 오프라인 실험 라이브러리입니다. 배포 파일에는 WeChat 연결, 모델, 사용자 데이터 또는 외부 런타임이 없습니다.

전체 라이선스

MIT

MIT License

Copyright (c) 2026 包子海梦

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

검증 범위

오프라인 실험 라이브러리 · 검증 기록 포함

고정 합성 데이터 데모와 자동 검사를 제공합니다. WeChat, 모델 또는 실제 계정은 연결되지 않았으며 이 구조의 암호화 영속 저장이나 실제 성장은 구현되지 않았습니다.

2026-10-28 Node.js v24.19.0

검증 기록 보기 →