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

94 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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。