参考项目索引方案评价

基于:大锤 /tmp/参考项目索引设计方案.md 实测参照:课题一现有的 agent-reference-index.md(我维护的那份) 现状:26 个课题散落于 docs/research/,各 README 底部有 “参考资料” 区块


1. 中心索引 vs 各课题自维护:各有痛,中心索引胜出但需补一个机制

现状问题(我认同)

从编码者角度,当前状态确实很散:

  • 各课题 README 的 “参考资料” 区块只是自由文本列表(如 agent-tool-learning/README.md 写的是 ”- Toolformer / Gorilla 等工具学习论文”),无格式、无状态、无交叉引用
  • 同一个项目(如 MemGPT)出现在课题三和课题一,各自描述不同,没法统一追踪 “到底研究了没、结论是什么”
  • 现有的 agent-reference-index.md 只在课题一维护,格式丰富(框架级/工业级/设计思想 + 分析维度 + 优先级排序),但这是孤岛——其他课题不知道它的存在

中心索引的优势

维度中心索引各自维护
查重一行即可发现重复遗漏,一个项目被三课题调研三次
状态同步一处更新全局生效各 README 各自更新,容易不同步
决策透明”为什么不采纳” 写在一处散落在各课题内部,找起来麻烦
新课题启动扫一眼索引就知道哪些已调研过从头搜一遍
维护复杂度仅一个文件N 个文件

但有一个关键问题:课题级上下文会丢失

课题一的 agent-reference-index.md 里,每个项目记录了 核心设计 / 值得借鉴 / 分析状态 / 采纳结论 四维信息。这些是课题级别的分析产出,不适合放到中心索引的表格里(表格放不下)。

建议:中心索引做目录,各课题保留自己的分析笔记。类似于 _index.md + 各课题 README 的关系。

具体来说:

  • _参考项目索引.md — 一行一个项目,只做登记和状态追踪
  • 各课题 README 新增一个 ## 参考项目分析 区块(或独立 .md),记录深入分析内容
  • 中心索引的 “备注” 列可写 “详见课题X分析笔记”

这个关系类似 arXiv:arXiv 列表只告诉你有哪些论文,具体内容去正文里看。


2. 状态定义:基本够用,但缺一个 “搁置/暂停” 态

设计中的 5 个状态:

状态含义评价
💡 关注值得关注,尚未深入研究OK
📝 待调研计划或正在进行调研OK
✅ 已参考已研究并采纳了思路/部分设计OK
❌ 已排除已研究但确定不适用OK
🔄 跟进中项目本身在演进,需持续跟踪OK

漏了 ⏸️ 搁置:调研一半发现方向不对、或当前优先级不够、或依赖的外部条件未成熟——不是”已排除”(因为没有结论说它不适用),也不是”待调研”(已经投过时间了)。需要”搁置”标记来记录已投入但暂缓的项目,避免日后重复调研。

我之前的 agent-reference-index.md 表示”待分析”,就是吃了这个亏——所有没结论的项目都是 ⏳,分不清”还没开始”和”分析了一半发现不适合”。

建议状态集

💡 关注      → 还没调研
📝 待调研    → 有计划/正在进行
⏸️ 搁置      → 调研过但暂缓(非排除)
✅ 已参考    → 已采纳思路/设计
❌ 已排除    → 确定不适用
🔄 跟进中   → 持续跟踪演进

3. 遗漏的坑

坑 1:谁负责更新?

设计文写了 “发现新项目 → 加一行” “调研完成 → 更新状态”,但没写谁来做

现实是:26 个课题可能是我(Agent)在不同会话中调研的,新项目是在某个课题调研过程中发现的。如果发现者在调研完该课题后不记得去更新中心索引,索引就慢慢过时。

建议:加一条规则——无论哪个课题的调研,只要发现新参考项目,必须在同一次交互中追加到中心索引。可以在调研流程模板中内置这个检查点(docs/process/调研流程.md 里加一步)。

坑 2:关联课题字段是一对多,但表格展示空间有限

设计用 课题三/十/二十六 格式,三个课题还能写,如果 BotLearn 跟 10 个课题都相关,表格就塞不下了。而且表格无法过滤——要看课题三相关的所有项目,得肉眼扫整张表。

建议

  • 保持表格格式简洁,但加一个 “按课题过滤” 的章节(在文件末尾用二级标题列出每个课题的相关项目索引)
  • 或者接受 “仅标注最主要关联课题”,次要关联靠搜索

坑 3:_参考项目索引.md_ 前缀

下划线前缀是 Markdown 生态里表示 “草稿/未完成” 的惯用约定(如 _drafts/),在某些渲染引擎里会被忽略。如果目标是在 GitHub/VS Code 中正常渲染,建议不要用 _ 前缀,或者改用无歧义的名字如 参考项目索引.md

坑 4:与已有的课题一索引的关系

现在课题一已经有一个 agent-evolution-history/agent-reference-index.md,里面包含:

  • 4 个分类(框架级/工业级/设计思想/分析维度)
  • 每个项目有 核心设计 / 值得借鉴 / 采纳结论 四栏
  • 有分析维度的模板(架构/设计决策/不适合部分/集成点)
  • 有阅读优先级排序

这些资产不能丢。迁移策略需要明确:

  • 课题一的索引是保留作为深入分析笔记,还是拆分后并入中心索引
  • 如果是后者,谁来做分裂手术?

坑 5:各课题 README 改动的代价

设计文说要改 26 个 README 的 “参考资料” 区块,统一改为引用中心索引。但:

  • 有些课题的参考资料不是 “项目”,而是论文、文档、API 文档 —— 这些不适合放到项目索引表中
  • 有些课题的参考资料就是单纯的一条链接,不值得为了它做一个中心索引行

建议:课题 README 的 “参考资料” 区块保持两段式:

## 参考资料

### 参考项目(详见 [中心索引](_参考项目索引.md))
- Conduit — ...

### 文献与文档
- 原始文献 / 官方文档链接 / 工具文档

中心索引只管项目,论文和文档继续留在各课题原地。


4. 我之前维护 agent-reference-index.md 遇到的实际问题

问题 A:更新惰性

“等项目分析完了再更新” → 等了一周都没更新。表格闲置时间越长,信任感越低——最后会变成 “这个索引过期了,不用看了”。

对策:在调研流程中加入强制检查点——调研完一个课题后,Agent 必须检查并更新索引再结束会话。

问题 B: “分析状态” 字段太模糊

我用的是 统一表示 “待深入分析”,但实际含义混杂了:

  • 还没看代码
  • 看了一半
  • 看完了但没写笔记
  • 看过但没结论

当一行项目标记 躺了两个月,没人知道该不该重看。

对策:状态定义必须精确且互斥(大锤的设计比我的好,但少了”搁置”)。

问题 C:跨会话记忆丢失

我在课题一的会话里发现了某项目、写进了索引。下一次在课题三的会话中研究类似方向时,独立 Agent 不知道索引里有这个项目,于是又搜了一遍,甚至可能写重复。

这实际上是中心索引要解决的核心痛点——但我能预见:即便有了中心索引,如果 Agent 不主动去读它,仍然会重复劳动

对策:在 .session-memory.md 中记录 “中心索引路径”,或者让 Agent 启动时自动加载 _参考项目索引.md 作为上下文。


总体评价

维度评分说明
解决问题8/10准确命中了信息孤岛和不同步的痛点
设计简洁度8/10单文件 + 表格,学习成本低
可行性7/10主要风险在 “谁维护” 和 “与现有资产衔接”
可扩展性6/10项目多了之后单表可读性下降,需补充过滤机制

结论

方案可行,但需要补三个东西才能落地:

  1. ⏸️ 搁置 状态
  2. 在调研流程模板中加一个 “检查并更新中心索引” 步骤(解决”谁维护”问题)
  3. 明确现有课题一索引的迁移策略(保留还是拆分)

如果大锤接受这三点调整,就可以推进了。