zizi 0e3964da2c W00 固定工作树、资料与数据边界:新版设计文档树、改造计划与验证清单基线;工作树资料与数据边界。
按 R2 串行阶段整理提交;包内文件为该阶段交付(含后续小增量),状态以工作包清单为准。
2026-09-10 19:25:40 +08:00

82 lines
5.2 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.

# 新版 agent-example 总体架构
系统服务单个作者、多部作品和不同小说题材。实现形态是一个 Python 业务包、一个 React 工作台,以及同包启动的 HTTP 与任务执行进程。PostgreSQL 保存服务端业务与运行状态;私人探索稿通过受控文件接口保存。
## 模块与对象归属
| 编号 | 模块 | 唯一维护的对象与行为 |
|------|------|--------------------|
| B01 | 作品规划 | 作品、系列、卷章目录、探索交接、分层规划、场景计划和规划版本 |
| B02 | 故事世界 | 本书实体、关系、规则、人物弧线、事件、知情状态、事实和伏笔 |
| B03 | 资料研究 | 资料原文、来源、榜单快照、参考书拆解及分析版本 |
| B04 | 知识方法 | 六类范式、方法版本、证据反例、固定绑定和实际消费 |
| B05 | 正文写作 | 正文结构、版本、分支、选段、候选及正文保存和确认 |
| B06 | 审校修订 | 问题单、声音、质量规则、诊断、受控修订和保真 |
| B07 | 作者经验 | 作者偏好、反馈对、观察、改进提案、批准与启用回执 |
| B08 | 交付连载 | 全书整理、定稿清单、导出、发布版本、日程与读者反馈 |
| B09 | 上下文 | 任务读取范围、来源装配、检索、冻结快照与消费清单 |
| B10 | 效果评测 | 数据集、隔离实验、逐例结果、盲评和版本启用判据 |
| S01 | 正式变更 | 审阅身份、命令幂等、版本与依赖保护、原子提交回执 |
| S02 | 任务运行 | 步骤、尝试、租约、调用、预算、工具事件、证据和恢复 |
| S03 | 工作台与系统管理 | 作者交互、跨页会话、查询展示及系统管理入口 |
| S04 | 元数据 | 类型、字段、结构版本、扩展合成、字段校验和用途投影 |
S04 拥有结构定义,各业务模块拥有实例值。相同类型可以在不同资料或作品用途下使用相同结构,不能因此合并其来源、生命周期或确认权限。
## 系统调用关系
```mermaid
flowchart TB
A[作者] --> UI[工作台]
A --> C[CLI 与主会话]
UI --> E[身份化业务接入]
C --> E
E --> O[应用编排]
E --> B[业务模块公开接口]
O --> B
O --> R[任务运行]
R --> H[宿主与模型适配]
H --> T[受限只读工具]
T --> X[上下文]
X --> B
B --> M[元数据校验与投影]
B --> S[正式变更]
B --> D[(PostgreSQL)]
S --> D
R --> D
M --> D
B --> F[受控私人草稿]
```
查询可以直接调用业务公开接口;跨模块长流程由编排协调。任务执行器恢复的是已登记流程及固定输入,而不是主会话的内存。角色输出默认是候选或检查产物。
## 依赖纪律
- 接入处理协议、身份、输入解析和序列化;不直写业务表。
- 编排调用各模块公开接口,管理步骤顺序、等待作者和允许的有限返修;业务模块不反向导入编排。
- 模块导入图不允许环。跨模块流程由编排传递不可变查询结果;需要持续读取能力时,消费方声明窄读取合同,由启动装配绑定实现。
- S01 只依赖共用提交合同和基础设施,不反向导入业务模块或 S04;各实例维护者提供公开的类型化参与者,负责本域校验和写入。
- 跨业务调用只穿过接口.py 暴露的合同;存储、内部对象和私有函数不跨模块使用。启动装配可以选择具体实现。
- 模块内 SQL 收在存储实现;共享事务传递同一个事务上下文,不强制为每次查询再制造透传层。
- S04 不访问其他模块的表、不接收任意物理表名和列名。native_column 只引用代码登记的业务字段绑定。
- 纯规则不依赖 HTTP、数据库或宿主 SDK。宿主只执行合同,不决定作品事实。
- 工作台仅保留交互状态、查询缓存和带基线版本的未提交缓冲;最终状态从后端回执读取。
- 生产读取不能访问评测答案。字段策略只能在已有授权内裁剪;任何元数据配置都不能扩大任务范围。
## 关键设计选择
- 持久化收敛到 PostgreSQL,迁移 SQLite 独有历史后退出重复业务写路径。
- 元数据保留开放类型和内容字段;稳定骨架与受保护行为由代码维护。
- 正文采用稳定段落 ID 的受限文档结构,场景计划与段落分开表达。
- 人工保存有并发和版本保护,不要求作者先通过模型评分。
- 事实提案、规划、方法和正文分别确认;明确批准的关联变更可以组成同一原子提交包。
- 方法、规则、偏好和运行资源分别由其所属模块维护生效版本,经验模块保存关联回执。
- 保留五类角色和两阶段写手;流程可组合已登记步骤与槽位,保护节点不可删除或绕行。
- 包安装和启动不依赖 cwd、父目录层数、tests 或 .git。运行资源随发布包冻结。
具体权衡见[决策目录](决策/目录.md),字段和版本定义见[元数据与结构演进](数据模型/元数据与结构演进.md)。
## 产品边界
覆盖创作、研究拆书、方法复用、编辑、审校、反馈、评测和交付。短篇采用轻量流程;节点规划是已有规划的视图。多租户、计费、市场交易、跑团、漫画和剧本产品不成为小说主链的依赖。