Files
memabra/docs/DECISIONS.md
2026-04-15 11:06:05 +08:00

2.5 KiB
Raw Permalink Blame History

Design Decisions

D-001: 不以端到端训练作为第一阶段目标

决定: 第一阶段采用分层架构,不直接训练一个从任务到动作的黑盒大模型。

原因:

  • 反馈稀疏
  • credit assignment 困难
  • 数据量不足时容易学偏
  • 可解释性太差,难 debug

影响: 项目先构建 observability、logging、router 和 reward 层。

D-002: 将 memory、skill、tool 统一为候选对象接口,但不混淆类型

决定: 在召回和排序阶段,三者共享统一候选 schema在存储、执行和评估阶段保持强类型边界。

原因:

  • 统一召回便于路由决策
  • 保持类型边界可避免语义坍塌

影响: 后续 schema 设计需要同时支持统一特征和类型特有字段。

D-003: 记忆分为 facts / procedures / episodes / working 四层

决定: 长期系统至少区分:

  • facts
  • procedures
  • episodes
  • working memory

原因: “记忆”不是一坨文本,人的有效直觉来自多种记忆系统协同。

影响: 每个写入动作都要先判定落到哪一层,而不是直接塞进统一向量库。

D-004: 先优化路由策略,再考虑学习基础模型内部权重

决定: 学习目标先放在 external policy 上,而不是 foundation model 的参数上。

原因:

  • 小模型更便宜
  • 训练更稳定
  • 更容易比较实验结果
  • 更适合本地部署

影响: 需要专门设计 router features、训练样本和离线评估框架。

D-005: reward 必须拆分,不使用单一任务成败信号

决定: reward 将拆分为 success、efficiency、retrieval_hit、user_correction、tool_error、latency、context_cost 等因子。

原因: 只看任务成功会掩盖大量中间行为质量问题。

影响: 需要事件级 logging不能只存最终答案。

D-006: 所有学习都建立在可回放轨迹上

决定: 任何策略更新都必须能追溯到完整 trajectory。

原因: 不可回放,就无法排查策略劣化;不可回放,也无法做人类审计。

影响: trajectory schema 和 replay 工具会成为基础设施,而不是可选项。

D-007: 项目正式命名为 memabra

决定: 项目正式名采用 memabra

副标题: An intuition-driven control plane for agent memory and action selection.

原因:

  • 需要一个可品牌化、可传播的短名
  • 技术本质由副标题补足
  • 避免旧名把项目误导成“单纯记忆管理工具”

影响: 后续所有原型代码、文档、schema 标识、演示材料统一使用 memabra。