资料准备、维护与发布 flow
这份 flow 同时供开发期资料准备工具、人工维护流程和 App 的运行期资料增长实现引用。它不是 Core 会自动执行的 prompt 或状态机,也不赋予任何读写权限。在已有项目中,开发期验证与运行加载复用同一个 knowledge.config.json 和 compileApplicationKnowledge。只有想法而无来源时保持空文件和空文档清单,不生成初始事实。
共同流程
| 阶段 | 必须得到什么 | 执行责任 |
|---|---|---|
| 取得来源 | 原件或引用、来源主体、时间、使用/访问范围 | 开发者整理,或 App 经授权接收 |
| 形成候选 | 可定位正文/字段,未知与冲突保留 | 人工或 App 提取器;模型输出只是候选 |
| 分配身份 | 稳定 document/section ID、明确 revision 与 locale | App 的维护策略;不是模型随意发明新的程序 handler |
| 检查结构和引用 | 文档、章节、任务读取与预算全部可用 | 同一套应用编译入口与 Knowledge/Task 等局部 validator |
| 审定发布 | 根据来源与风险决定人工/业务校验,授权范围不扩大 | App 自己的发布策略;库不内置通用审批 |
| 发布版本 | 持久记录与并发版本提交成功,再使新目录可用 | 开发期的受控发布,或运行期的事务/CAS 实现 |
| 使用和追溯 | 请求绑定目录与来源快照;纠正时能找到旧版本 | App handler 与存储,Core 维持执行预算与取消 |
共同规则
- 文档 ID 在目录中唯一;章节 ID 在文档内全局唯一。标题或文件路径不代替身份。
- 修改正文或影响解释的元数据须改变 revision。快照不代替原始资料、审批记录或内容 hash。
- 对任务、reader、章节、输出和 checks 做引用校验。一个资料文件通过语法解析,不代表整个 Agent 接入正确。
- 原始材料、用户偏好、经验候选、已发布资料和工具回执分别处理;用户自述不自动晋升为公共事实。
- 采用最小完整读取范围;预算不足明确报错/分次读取,不静默截断规则或必要证据。
- 校验或发布失败不覆盖旧版。已有请求继续使用自己的旧快照,不在生成和复核之间偷偷换资料。
- 数据更新不自动增加执行权限。动态资料引用与程序能力注册是两条不同的流程。
共同规则的执行位置
示例的 knowledge.config.json 是 App 自有配置范本,不是库新增的协议。它声明源稿、读取预算及必须有效的读取引用。development/skills/agent-core-app/scripts/lib/knowledge.mjs 中的 compileApplicationKnowledge 同时供校验工具与运行加载使用;App 复制或改写范本时保留同一入口:
text
开发者/开发期脚本 → 源稿和配置 → 共享编译校验 → 发布应用资料
运行期增长适配器 → 经审定的新版本 → 共享编译校验 → 持久提交/切换可用版本示例仅实现本地源稿的读取、版本计算、引用检查和内存目录构建。运行期的候选提取、审核、持久化事务、CAS、删除和权限过滤,仍由 App 实现;不能因为本文件写了流程就声称这些功能已经接入。
接入其他格式、数据库或检索服务时,保留这份 flow 和相同的结构/引用检查,替换输入和提交适配即可。无需把存储路径或某个产品的数据表固化到 Core。