RAGSpine
架构决策(ADR)

ADR 0003: 受众——供他人在其上构建的通用 OSS 库

首要受众是要在 RAGSpine 之上构建自己 RAG 的开发者;金融成为示例领域之一,而非项目身份。

状态:accepted · 日期:2026-06-17

不可变记录。免于漂移追踪(无 covers)。取代,而不是编辑。

隶属于 0002 产品方向。

背景

RAGSpine 同时背负着三种相互冲突的受众信号:OSS 库(Apache 2.0、PyPI 包名、"contributions welcome"、Protocol 扩展点)、企业内部工具(RESTRICTED 隔离、SME 审核队列、无处不在的财报基因),以及作品集/参考展示(虚构的 ACME 演示、943 个测试的徽章、"诚实差距"路线图)。受众从未被明确声明,却牵动着每一个下游决策。

决策

首要受众是要在 RAGSpine 之上构建自己 RAG 的其他开发者——一个通用 OSS 库。为此优化:干净的 Protocol 扩展面、被证明(而非被断言)的通用性、打包好的 CLI,以及面向贡献者的文档。金融成为示例领域之一,而非项目身份。

曾考虑的备选方案(已否决)

  • 参考实现 / 作品集 + OSS 库(最初推荐的、更保守的选项):为可读的严谨性和可复现性优化,把贡献者社区视为范围之外。否决——用户想要真实的外部用户,而不是一个展示品。
  • 生产级企业内部工具:接入休眠代码、添加鉴权、瞄准一次部署。作为_首要_身份被否决,尽管代码库很可能正是这样起源的。

后果

  • "通用"必须被证明,这倒逼出 0004(完全通用化)和一个第二领域示例。
  • 休眠/半接入的代码成为信誉负债 → 0005
  • service/ 层被重新定位为参考部署示例,而非产品。
  • 贡献者界面变得重要:locale 包(0007)、一份"如何新增后端/locale"指南、CONTRIBUTING/治理文档。

本页目录