← 返回项目
在线作品 · 公开仓库 · V2 Phase 4 In Progress迭代中

游戏 AI · Agent

Elysia Persona Agent

从 Character Companion 到 Persona Agent

一个从 AI Character Companion 持续演进的 Persona Agent 实验。围绕人格一致性、长期记忆、Agent Tool Calling、Permission / Approval、Lore RAG、Trace 与 Evaluation,探索角色 AI 从「像角色地聊天」走向「基于人格、记忆与世界观受控执行」的产品路径。

IN PROGRESS
V2 · Phase 4 In ProgressPhase 1–3 已完成验收
Phase 1–3已实现

Agent Core / Permission / Lore RAG

仓库当前开发线已验收;默认 Feature Flag 关闭
0.991真实测试

Lore R@5(原型门)

本地确定性检索评测;非生产开启依据
44+真实测试

V2 相关本地测试

Harness / Permission / Lore RAG / lore_search 子集
Elysia Persona Agent 真实对话界面,包含角色状态、亲密度、反馈和长期记忆操作
真实产品截图Elysia Persona Agent 真实对话界面,包含角色状态、亲密度、反馈和长期记忆操作
01|项目概览

这是什么,做到哪一步,我做什么

IN PROGRESS
V2 · Phase 4 In Progress

Phase 1–3 已完成验收

产品问题

当角色 AI 开始拥有长期记忆、世界观知识和工具能力后,问题不再只是“回复像不像角色”,而是如何控制上下文、事实依据、工具权限、长期记忆和执行过程。

产品方案

Persona + Agent Harness + Permission / Approval + Lore RAG + Layered Memory + Trace / Evaluation,将人格、知识、私人记忆与工具执行拆分为可控模块。

当前进度

V1 已完成角色陪伴闭环;V2 Phase 1–3 已完成 Agent Core、Permission & Tools、Lore RAG,目前进入 Phase 4 Memory V2 设计与实现。

我的工作

产品定义、Agent 架构设计、Memory / RAG 机制设计、Permission 规则、Evaluation、Bad Case 分析,以及使用 Cursor / Codex 协同完成工程实现与验收。

02|为什么升级

从 Character Companion 到 Persona Agent

V1 并不是失败版本。它完成了人格、记忆、关系与评测闭环,但在继续扩展工具与知识后暴露出 Agent 边界。

V1 已完成

  • 人格一致性(Persona Prompt)
  • 长期记忆与用户确认(Candidate → Active)
  • Relationship / Companion Mode
  • Voice(STT / TTS + 文本降级)
  • Evaluation 与 Memory Regression
  • Bad Case Review(如 BC-004)

继续扩展后暴露的边界

  • 更像角色地回答,不等于 Agent
  • 世界观知识不能完全依赖模型参数
  • 长期记忆增长后不能全部塞入 Prompt
  • 工具调用需要权限与 Observation
  • 多步执行需要 Trace;高风险操作允许用户拒绝
  • Persona、Memory、Lore、Tool 不应混成一个 Prompt
V1 解决的是「怎么让 AI 更像一个角色」,V2 开始解决「怎么让这个角色成为一个可控、可追踪、拥有记忆与世界知识的 Agent」。
03|V1 → V2 产品演进

按阶段验收,而不是一次性堆功能

  1. DONE

    V1 · Character Companion

    验证角色人格、记忆和陪伴体验是否能够形成稳定闭环。

    • Persona
    • Candidate Memory
    • Active Memory
    • Companion Mode
    • Relationship
    • Voice
    • Evaluation
  2. DONE

    Phase 1 · Agent Core

    将单轮「Prompt → Response」升级为可执行的 Agent Loop。

    • ElysiaHarness
    • ToolRegistry
    • ToolResult
    • Tool Call
    • Observation
    • AgentTrace
    • Multi-step Loop
    • max rounds / timeout / error handling
  3. DONE

    Phase 2 · Permission & Tools

    让 Agent 的执行过程不再只有「能不能做」,而增加「用户是否允许做」。

    • PermissionGate
    • Approval / Reject
    • AgentRuntime
    • search_memory
    • lore_search
    • get_current_companion_state
    • Safe Execution + Trace

    升级计划中的 web_search / read_text_file / write_note / generate_report 尚未实现,计入 Planned。

  4. DONE

    Phase 3 · Lore RAG

    将「模型记得设定」升级为「模型能够检索并基于世界观证据回答」。

    • Lore Corpus V1
    • BM25 + hashed hybrid retrieval
    • lore_search tool
    • Metadata / Integrity
    • Evidence / Citation
    • Retrieval Evaluation
    • Retrieval Review Workbench

    sentence-transformers 语义后端仍在分支迭代,不作为生产默认开启依据。

  5. IN PROGRESS

    Phase 4 · Memory V2

    将 Memory Storage 与 Memory Retrieval 分离,避免长期记忆全量注入 Prompt。

    • Current Design:L0 / L1 / L2
    • Scoring:relevance / importance / recency
    • Top-K retrieval + Context Budget
    • 保留确认流;Pin 规划中
04|Agent 系统架构

执行链与上下文来源分开

人格层与执行层分离:工具参数使用结构化数据;执行成功/失败先以客观状态记录,再做角色化表达。Feature Flag(如 ENABLE_AGENT_V2、LORE_RAG_ENABLED)默认关闭。

User
 ↓
Streamlit UI
 ↓
ElysiaHarness
 ↓
LLM Decision
 ↓
Tool Call
 ↓
PermissionGate
 ↓
Tool Execution
 ↓
ToolResult / Observation
 ↓
AgentTrace
 ↓
LLM
 ↓
Final Response
Context / State / Knowledge(旁路接入,非单一 Prompt)

· Persona
· Memory(V1 lifecycle;V2 retrieval 设计中)
· Lore RAG
· Relationship / Companion State
05|Permission & Tool Calling

能不能做,还要看用户是否允许做

读操作尽量低摩擦,修改状态和高风险操作需要更高控制。

权限检查路径

Agent decides tool
 ↓
PermissionGate
 ↓
Allow / Require Approval / Reject
 ↓
Execute / Abort
 ↓
ToolResult
 ↓
Observation → Trace

用户拒绝路径

Require Approval
 ↓
User Reject
 ↓
Do Not Execute
 ↓
Return Agent Observation

用户拒绝不是异常,而是 Agent 产品设计中的正常状态。

已实现工具

  • search_memory
  • get_current_companion_state
  • lore_search(需 LORE_RAG_ENABLED)

Planned 工具

  • web_search
  • read_text_file
  • write_note
  • generate_report
06|Lore RAG

设定回答需要可检查的知识来源

V1 问题:设定遗漏、世界观漂移、时间线错误、角色关系错误、回答不可验证。

V1

Model Internal Knowledge
+
Prompt

V2

User Query
 ↓
lore_search
 ↓
Semantic / Hybrid Retrieval
 ↓
Relevant Evidence + Citation
 ↓
Agent Context
 ↓
Response
RAG 的价值不是「让模型知道更多」,而是让设定回答拥有更稳定、可检查的知识来源。
  • Lore Corpus V1(official / BH3Text / BH3Helper 分层)
  • Chunk / Metadata hardening
  • BM25 + hashed-vector + RRF 混合检索
  • Evidence grounding / source tier
  • Offline retrieval evaluation
  • Retrieval review workbench
0.991真实测试

Recall@5

baseline_b_bm25 / hybrid 原型门;本地确定性运行

0.914真实测试

MRR

LORE_RAG_EVALUATION_REPORT.md

passed真实测试

Prototype gate

允许继续开发原型,不能绕过人工核验门自动开启生产

当前评测向量后端为 hashed-char-ngram-v1(稀疏向量,非神经语义 embedding)。sentence-transformers 语义混合层仍在分支迭代,页面不将其写成已完成生产能力。

07|Memory V2 · Phase 4

Store ≠ Retrieve ≠ Inject

IN PROGRESS
Current Design

本阶段正在进行;下表区分已实现、设计中与规划项。

保存某条记忆,并不代表每次对话都应该把它提供给模型。

Why Memory V2 · V1 问题

  • 长期记忆数量增长,Context 变长
  • 无关记忆污染当前对话
  • Token 成本与延迟上升
  • 新旧信息冲突
  • 「记住」和「当前想起」不是同一个产品问题

V2 目标

将 Memory Storage 与 Memory Retrieval 分离。

User Message
 ↓
Memory Query
 ↓
Candidate Memory
 ↓
Scoring(relevance / importance / recency)
 ↓
Top-K
 ↓
Context Builder
 ↓
ElysiaHarness

(Phase 4 Current Design — 评分管线与分层尚未落地)

记忆确认流(pending → active → deleted)

Implemented

V1 MemoryService 保留

importance 字段(1–5)

Implemented

V1 DB 字段;尚未进入 V2 综合评分管线

Delete 用户操作

Implemented

V1;删除后隔离 active retrieval

Memory V2 架构设计与验收标准

In Progress

ELYSIA_V2_AGENT_UPGRADE_PLAN §9 / Phase 4

L0 / L1 / L2 分层

Planned

relevance + importance + recency 综合评分

Planned

Top-K 检索(不全量注入 Prompt)

Planned

Pin 记忆

Planned
08|Evaluation / Trace / Bad Case

基线保留,V2 验证分开呈现

V1 Baseline & Lessons

V1 阶段通过真实模型调用、人工复核、Memory Regression 和 Bad Case 分析建立初始质量基线,这些结果成为 V2 架构升级的重要输入。

20 个真实测试

Core20 测试任务

第二阶段真实模型测试范围

67 / 67真实测试

真实模型调用成功

0 次调用错误

8.676 秒真实测试

中位耗时

同批调用记录

13.942 秒真实测试

P95 耗时

另有一次 611.604 秒极端长尾

5 / 5真实测试

Memory 本地回归

不包含真实模型调用

435,522 / 16,515真实测试

输入 / 输出 Token

Core20 真实模型调用记录。

611.604 秒真实测试

极端长尾

必须保留,不能只展示中位数和 P95。

63 条真实测试

人工复核记录

用于确认自动候选与真实问题。

4 → 1真实测试

自动候选 → 确认问题

确认问题为删除记忆后仍引用旧信息。

5 / 5真实测试

MEM-REG-001~005

本地自动化回归,不代表线上验证。

约 USD 1.554291估算

总调用成本

按公开价格估算,不是供应商账单。

BC-004 · 删除记忆后仍被旧信息影响

真实测试
  1. 问题

    用户删除长期记忆后,旧信息仍可能从长期记忆读取、最近聊天或其他 Prompt 来源进入回复。

  2. 定位

    记忆生命周期状态与 Prompt 来源过滤不够严格,删除语义没有覆盖全部上下文来源。

  3. 修复

    只检索 active 记忆;强化 deleted 状态,并用 all_prompt_sources 隔离关联聊天来源。

  4. 回归验证

    MEM-REG-001~005 本地自动化回归 5/5 通过;真实模型删除后追问仍待验证。

V2 Validation

V2 验证以仓库本地自动化测试与 Lore 离线检索评测为主;不编造 Tool Success Rate 或线上通过率。Memory V2 专项测试尚未开始。

11 passed真实测试

Agent Loop / Tool / Trace

tests/test_agent_harness.py

9 + 7 + 8真实测试

Permission / Approval

test_permission_gate / test_agent_runtime / test_agent_events

R@5 0.991真实测试

Lore Retrieval Eval

LORE_RAG_EVALUATION_REPORT · prototype gate passed

5 passed真实测试

lore_search tool

tests/test_lore_search_tool.py

Harness 覆盖真实测试

Error Handling

max rounds / timeout / tool failure 路径已有自动化用例

Testing未完成

Memory V2

Phase 4 设计进行中;尚无 Memory V2 专项回归

09|边界 / 贡献 / Next

只写真实参与与真实计划

我的贡献

  • 定义从 Character Companion 到 Persona Agent 的产品方向与阶段拆解。
  • 设计 Agent Harness、Permission / Approval、Lore RAG 与 Memory V2 的产品边界。
  • 设计记忆确认流、权限策略与 Trace 可观测性要求。
  • 整理 V1 Core20 / Memory Regression / BC-004 基线,并接入 V2 本地测试与 Lore 评测证据。
  • 使用 Cursor / Codex 协助实现工程代码;本人负责产品定义、架构拆解、验收标准、测试与迭代决策。

产品边界

同人与版权
非商业技术演示,与 miHoYo / HoYoverse 无官方关联,不提供官方立绘、配音、权重或游戏资产。
记忆与隐私
用户保留确认、编辑和删除权;未确认、拒绝或删除内容不得进入长期 Prompt。
Agent 权限
写入与外部动作默认需审批;用户拒绝后不执行。不开放 shell、付款等高风险能力。
Lore 生产门
检索评测通过仅允许原型继续;BH3Text 等社区转录需人工核验后方可开启生产检索。
情绪依赖
不把 Agent 描述为现实关系或专业心理支持的替代品。
评测边界
本地回归与离线检索指标不能替代线上真实模型与用户验证。
本项目为同人向、非商业技术演示,与米哈游、HoYoverse 或其他游戏公司无官方关联。仓库和网站不包含官方立绘、官方配音、模型权重或游戏资产。不代表官方线上服务。

Next

IN PROGRESS

Phase 4 Memory V2 实现

落地 L0/L1/L2、评分与 Top-K 检索,保留确认流。

IN PROGRESS

语义 Lore 后端硬化

sentence-transformers / readiness 门与人工核验,不自动开启生产。

NEXT

扩展工具集

web_search、read_text_file、write_note、generate_report(按权限策略接入)。

NEXT

Phase 5 Agent Evaluation

Tool selection、Task success、Groundedness、Permission compliance、Persona consistency。

来源说明

已依据公开 GitHub 仓库(含 V2 开发分支)、在线作品、本地自动化测试与 Lore 检索评测报告校对;这是非商业同人作品,仓库不含官方角色资产。不把规划能力写成已上线结果。

记忆不是默认授权

原型把模型提取到的信息先放进「待确认记忆」,由用户决定保存或拒绝。V2 进一步强调:保存某条记忆,并不代表每次对话都应该把它提供给模型。

同人项目说明

这是用于产品与工程学习的非商业同人作品,与米哈游或 HoYoverse 没有隶属或授权关系。公开仓库不包含官方图片、音频、模型权重或角色资产;可选语音能力需要使用者自行确认资源来源与许可。角色内容仅用于学习与产品实验,不代表官方线上服务。

站内搜索

搜索这个个人空间

输入关键词搜索项目、研究、随笔及其他页面。