57 lines
3.9 KiB
Markdown
57 lines
3.9 KiB
Markdown
# **SSA-Pro 架构一致性与调整分析报告**
|
||
|
||
**分析对象:** PRD V2.0 "智能分析模式" vs. V1.3 开发计划套件 (5文档)
|
||
|
||
**分析结论:** **核心逻辑完全一致,无需重构,仅需解耦接口。**
|
||
|
||
## **1\. 核心结论:我们绕弯路了吗?**
|
||
|
||
**没有。我们只是把“隐性”的逻辑“显性化”了。**
|
||
|
||
* **V1.3 计划(原计划)**:设计了一个“串联”系统。
|
||
* 逻辑:用户上传 \-\> 系统规划(Planner) \-\> 系统执行(Executor) \-\> 结果
|
||
* **现状**:这正是 PRD V2.0 中的 **“流程一:智能分析模式”**。这是用户 90% 的使用场景。
|
||
* **V2.0 架构(新概念)**:提出了“双引擎”概念。
|
||
* 逻辑:把上述串联系统中的 规划 和 执行 两个步骤,定义为两个可以**独立调用**的模块。
|
||
|
||
**结论:**
|
||
|
||
**V1.3 的开发计划(代码、Docker、数据库)依然是 100% 可用的基础。** 我们不需要推翻它,只需要在写代码时,注意把 Planner 和 Executor 的代码写在不同的 Service 文件里,不要写死在一个大函数里即可。
|
||
|
||
## **2\. 详细对比与复用策略**
|
||
|
||
我们来看之前的 5 个文档,看看哪些可以直接用,哪些需要微调。
|
||
|
||
| 原文档 | V1.3 内容 | V2.0 架构要求 | 调整建议 |
|
||
| :---- | :---- | :---- | :---- |
|
||
| **02-R服务开发指南** | 定义了 R Docker、Wrapper、护栏、混合数据协议。 | 需要一个独立的计算引擎。 | **无需调整 (0%)**。 R 服务本身就是 Executor,它生来就是被调用的,不关心是谁调用的。 |
|
||
| **03-后端开发指南** | 定义了 RClientService (执行) 和 PlannerService (规划)。 | 需要 Planner 和 Executor 解耦。 | **微调接口 (10%)**。 原计划中可能有一个 runAnalysis() 函数把两步连起来写了。**调整为:** 写两个函数 plan() 和 execute(),然后在 Controller 层串联它们。 |
|
||
| **04-前端开发指南** | 定义了 PlanCard, ExecutionTree, ResultCard。 | 需要支持“咨询模式”和“执行模式”。 | **微调路由 (10%)**。 增加一个 /consult 页面(复用 Chat 组件)。PlanCard 增加一个“仅下载方案”的按钮。 |
|
||
| **00/01 计划任务** | 定义了开发里程碑。 | 强调 Planner 先行。 | **无需调整**。 原计划也是先做 RAG/Planner,再做 Executor。顺序本就一致。 |
|
||
|
||
## **3\. 为什么“双引擎”概念依然重要?(即使流程没变)**
|
||
|
||
既然流程一样,为什么还要提“双引擎”?是为了解决 **边界情况(Corner Cases)**:
|
||
|
||
1. **无数据咨询 (The "No-Data" Problem)**:
|
||
* 如果按照旧的 V1.3 思维,代码可能会写成 if (\!file) throw Error("请上传文件")。
|
||
* 引入“双引擎”概念后,后端代码会写成 if (\!file) return PlannerService.consult()。
|
||
* **这就是唯一的区别:允许 Planner 独立工作。**
|
||
2. **专家配置 (The "Config" Problem)**:
|
||
* V1.3 计划里,工具的 Prompt 可能是写死在代码里的。
|
||
* V2.0 强调配置中心,提醒我们把 Prompt 放到数据库里,让专家能改。
|
||
|
||
## **4\. 最终执行建议:如何使用现有的 5 个文档?**
|
||
|
||
**请直接使用之前的 5 个文档进行开发,但在实施时遵循以下 3 条“解耦原则”:**
|
||
|
||
1. **后端开发原则**:
|
||
* 不要把 Planner 的逻辑和 Executor 的逻辑混在一个 Class 里。请创建 src/modules/ssa/planner/ 和 src/modules/ssa/executor/ 两个文件夹。
|
||
2. **前端开发原则**:
|
||
* 不要假设用户一定上传了文件。Chat 界面初始化时,允许 file 为空。
|
||
3. **专家配置原则**:
|
||
* 按原计划优先使用 **Excel** 导入配置。这是最快落地的方案,不需要改架构。
|
||
|
||
**一句话总结:**
|
||
|
||
**架构不需要大改。V1.3 的开发计划是稳健的。所谓的“架构调整”,只是要求开发人员在写代码时,“手起刀落”把逻辑拆得更干净一点,方便未来复用,仅此而已。** |