06 - 改进路线图
2026/7/30 21:22:05 · 更新于 2026/7/30 21:29:10
AI 翻译于 2026/7/30 23:13:26 · 使用 Qwen3.6 35B (fast, default)
一项分阶段改进计划,将系统升级分为三个时间段——立即实施(能快速降低风险的高回报举措)、近期推进(值得投入精力以积累价值)与稍后考虑(仅在出现明确需求时才采取的大幅投入),从而引导团队排定优先级、避免推测性工程。
立即执行——低成本、高价值、低风险
那五项能够快速消除已知风险和债务的修复工作:
1. 将 Tavily API 密钥从 mcp_servers.json 中移出
将其放入环境变量,或一个权限设为 chmod 600 的密钥文件中,主配置文件仅引用该文件。这只需花费五分钟,却能解决当前明文存储带来的实质性隐患:密钥可能出现在用户提交的配置文件中、以明文形式被备份下来,或被未授权进程读到。
完成标志: 密钥不出现在任何可能被提交、以明文备份或被除必要进程以外的任何东西读取的文件中。
2. 将备份副本拷贝到 AI_DATA 存储卷之外
备份系统本身很可靠;差距纯粹在于“不在本机”。只需手动复制到另一块物理硬盘或云存储,即可消除那个唯一的单点故障——否则一旦驱动器故障,丢失的将不只是误删的数据,而是全部数据。
请按项目 SOP 设置每季度定时提醒。
3. 将“先正则匹配、再嵌入”模式应用到 skills/loader.py
代码库中已有现成的确切修复方案(步骤 5.9 / 5.10),针对的是一个结构相同的问题。这更接近"移植一个已验证的方案"而非"解决一个新问题",是一项能直接修复已确认的、有日志记录的误报问题的良好扩展练习。
4. 清理孤立文件 (memory_test2.db、过期的 wiki-ingest-state)
在删除前确认这些文件可以安全删除。这很简单,但能消除下一个人(包括未来的你)查看文件夹时的困惑。
近期执行——实质工作,切实回报
那些需要更多精力但价值会持续累积的工作项值得趁势头正猛时推进:
5. 扩展评估/测试题范围,超出当前 20 道题
在 20 道题的基线上获得 65%(13/20)的正确率是一个真实信号——但样本量太小。几个新失败的题目可能大幅拉低通过率,但这并不意味着实际退步;反之,几个新通过的题目也可能轻易掩盖真正的退步。
若将这些测试题从当前数量扩展到 50–100 道,并直接从已在记录的生产流量中反馈(项目已通过
logs/agents/feedback.jsonl收集反馈),就能让"这个改动是改善还是损害了结果?"变得更加可信。
6. 为主端点添加经模式验证的请求模型
将当前的裸 json.loads() 替换为正式请求模式(Pydantic,因 FastAPI 已原生支持它),能将令人困惑的内部错误转化为对任何格式错误的调用方返回清晰、可操作的 400 响应。添加成本低,且在每次调试集成时都能持续受益。
7. 添加轻量级自动化测试运行
项目已具备真实的端到端和流式测试(test_endpoint_e2e.py、test_streaming.py),缺失的环节在于没有任何机制自动运行这些测试。将这些测试集成到简单的重启前检查中(即在 Restart-Agent-Server.command 实际替换新代码之前),可以在回归问题影响生产流量之前就将其捕获,从而闭合了项目自身 SOP 所提及的流程闭环(“运行测试套件”是“更新服务器代码”的第 3 步,但尚无机制强制执行)。
8. 为写入操作构建人工审批关卡 这是项目自身护栏清单中明确未实现的唯一一项护栏。鉴于当前的写入范围已经有限(仅限于知识库文件夹),无需过于复杂——即使采用简单的“暂停并记录日志,要求第二次显式确认调用”模式,也能在“沙箱隔离”与“人工监督”之间填补空白。
9. 手动获取剩余的 .mil / .gov 受限文档
来自 GAO/各军种财务报告库和 DFAS/各军种财务管理的知识库中,约有 二十余个文件 因自动下载受限而缺失,且确切的 URL 已在设置指南的手动下载表格中记录清楚。这纯属执行层面工作,而非工程开发——最难的部分(确定缺失了哪些内容以及从哪里获取)已经完成。
10. 逐一验证剩余已集成的项目
在指向该服务器的大约 十九个 其他项目中,仅有 一个 已通过直接测试确认在新代理商服务器上正常工作;其余项目均假设遵循相同的集成模式。一次简短的验证过程(确认每个项目的环境变量中包含指向 :8443 的有效代理商服务器密钥,而非过期的 :443/网关密钥)即可在用户发现问题之前捕获静默故障。
后续考虑——更大规模的重构
仅在出现特定且已记录的触发需求时,才值得重新审视的可选改进:
11. 评估微调适配器与质量基线的对比 微调管线已端到端跑通(LoRA 冒烟测试已证实),但在仅 约 13 个示例 上进行训练,本就不预期能产出可部署的成果。以下两个条件满足时值得重新审视:
- 评估套件(第 5 项)生成了足够多的 PASS 标注样本用于训练;且
- “最终实际针对哪个生产模型”这一根本问题已得到解决(冒烟测试故意使用了小型替代模型)。
12. 如果延迟成为实际问题,调查提示前缀缓存的替代方案 Ollama 未提供此控制选项,且 vLLM(通常的解决方案)无法在 Apple Silicon 上运行。如果这真正成为瓶颈而非已知的文档限制,现实的解决路径有:
- 支持 Apple Silicon 前缀缓存的推理服务层(值得直接调研——该领域发展迅速);或
- 缩小稳定的系统提示前缀体积,从而每次只需重新处理更少的内容。
13. 仅在必需工具仅提供此类传输时,添加 HTTP/SSE MCP 传输支持 目前设计为仅支持 stdio,已足够覆盖所有已接入的工具。仅在确有必要接入的特定 MCP 服务器需要此功能时才构建——不要基于猜测提前做(这会带来实实在在的维护负担)。
14. 仅当并发负载确实超出单台 Mac Studio 处理能力时,才重新评估水平扩展方案 内存限流器、缓存和 MCP 会话池均基于单进程假设设计。多实例部署需将这些组件迁移至共享存储(Redis,或哪怕仅通过适当锁定机制使用共享 SQLite 文件)——这是实实在在的工作量,鉴于当前单实例架构更简洁且无已知 Bug(仅有已知的扩展上限问题),在没有实际容量需求前不值得提前投入。
15. 仅当扩大后的评估集(第 5 项)显示出真正的、反复出现的多跳关系问答失败模式时,才考虑 Tier 3(图)知识检索。 项目自身的知识管理指南已明确指出这一点:不要盲目构建图谱 RAG。索引和维护成本高昂,且预期向量 RAG 结合精心整理的 Wiki已能覆盖绝大多数实际问题。
任务排序原则
第 1–4 项每项工作量均在 1 小时以内,且能实质性降低风险或减少技术债——无论其他优先级如何,都应完成这些。第 5–10 项效果会叠加:更大的评估集(#5)能让后续所有更改(包括 #11)的评估更加客观公正,而补齐手动下载缺口(#9)并验证集成(#10)完全是“完成已做好 90% 的收尾工作”的事务。
第 11–15 项真正属于可选项,应仅由实际观察到的需求触发,而非仅仅因为它们在清单上就提前构建——这种纪律性(基于真实证据响应需求,而非凭空预期),正是 00_Project_Timeline.md 中记录的大部分修复工作得以产出的核心原则。
核心总结
Here is the translation of all four knowledge-bank test-files into Simplified Chinese. Code blocks, technical terms, proper nouns, URLs, and document names are preserved verbatim. The structure (headings, lists, tables) is kept identical to the originals.
学习地图
改进路线图 — 分阶段学习路径
第一阶段:基础(即时降低风险与维护负担)
- 完善密钥管理(环境变量、文件权限)
- 建立离线备份机制
- 修复模式匹配 / 嵌入管线中的已知误报问题
- 清理孤立残存产物与废弃文件
第二阶段:质量与可靠性(连锁提升改进)
- 扩展评估 / 测试题目覆盖至 50–100 题
- 引入经架构验证的请求模型(Pydantic)以生成清晰的错误响应
- 将自动化预重启测试运行集成至部署标准作业程序(SOP)中
- 为写操作增设人工审批关卡
- 手动处理受阻文档并验证下游集成的有效性
第三阶段:战略性投资(仅在触发条件满足时建设)
- 在评估通过案例积累充足后,微调适配器(Adapters)
- 仅在出现延迟投诉时,探究前缀提示缓存方案
- 添加 HTTPS/SSE MCP 传输协议以覆盖工具短板
- 仅在单实例容量触及上限时,评估横向扩展方案
- 在面临多跳问答(MQA)失败频发时,考量图级知识检索能力
第四阶段:纪律与复盘
- 每季度依据生产环境的实证数据重新检视优先级
- 基于真实数据的变化来构建机制,而非凭主观预判
动手实践——分步指南
- 从
mcp_servers.json提取你的 API 密钥,并将其迁移至.env文件或权限设为chmod 600的密钥文件中。 - 更新
mcp_servers.json,使配置引用环境变量/密钥路径而非明文——提交时务必彻底剥离旧密钥。 - 执行一次手动离线备份(至外部硬盘或云端存储),随后设置每季度一次的日历提醒以备后续备份。
- 将步骤 5.9/5.10 中已验证的“先正则后嵌入”修复方案移植到
skills/loader.py中——此举属于集成已验证代码,而非从零开发。 - 列出所有孤立文件(
memory_test2.db、残留的 wiki-ingest-artifacts 等),逐一书面确认可安全删除后执行清理。 - 从
logs/agents/feedback.jsonl中复制 30–80 个真实生产环境中的故障案例至你的评估套件,直至测试题目总量达到 50–100 道。 - 将主端点中的裸
json.loads()替换为 Pydantic 请求模型,并验证畸形请求现已返回规范的 400 错误响应。 - 在你的部署钩子(
Restart-Agent-Server.command)中添加一行重启前检查逻辑,在载入新代码前先行跑完现有测试套件。 - 实现简易写入拦截机制:记录所有写入操作,并在实际执行写入前要求第二次显式确认调用。
- 利用设置指南中已记录的 URL,下载 GAO/DFAS 表格剩余的约 24 个受阻文档。
- 遍历所有约 19 个下游项目,验证其环境变量均指向
:8443且关联有效的 agent-server 密钥(而非过期的:443密钥)。 - 仅在步骤 6 积累足够多的已评分通过(PASS)示例、且你已明确选定生产环境的目标模型后,才启动微调工作。
- 每季度审查延迟日志;仅当数据确证提示词前缀缓存(prompt-prefix caching)构成真实瓶颈时,才对其进行专项排查。
三大推荐资源
- 1FastAPI / Pydantic — Input Validation
Official FastAPI guide on using Pydantic models for request validation, covering clean error handling for malformed requests.
https://fastapi.tiangolo.com/tutorial/body/
- 2OWASP Security Keys Cheat Sheet
OWASP best practices for managing API keys and secrets — environment variables, file permissions, and gitignore strategies.
https://cheatsheetseries.owasp.org/cheatsheets/Secrets_Management_Cheat_Sheet.html
- 3MLflow Evals — Build and Iterate on LLM Evals
MLflow's guidance on building eval suites with sufficient question coverage, automated scoring, and tracking test sets over time.
https://mlflow.org/docs/latest/llms/mlflow-evals/index.html
链接由 AI 推荐——使用前建议快速核实。