AI生产线自动化搭建 Pipeline 定义
先看全局流程、项目经理 Agent、全局约束和概念定义,再逐个展开 6 个流程节点,最后回到最小闭环和验收口径。
版本 v1.6
3 条 Pipeline
1 个项目经理 Agent
4 个核心 Skill
6 个流程节点
Pipeline
3 条
新建 DSL、迭代 DSL、其他
核心 Skill
4 个
流程选择、方案确认、方案执行、方案测试
主控 Agent
1 个
项目经理 Agent 负责调度和校验
接口节点
2 个
任务获取、结果回填暂不做成 skill
全局流程图
首期 1.0 版本流程为:任务获取 -> 项目经理 Agent 接管 -> 流程选择 -> 选择新建 DSL / 迭代 DSL / 其他 -> 方案确认 -> 方案执行 -> 方案测试 -> 结果回填。新建 DSL、迭代 DSL、其他这 3 条 pipeline 都属于首期 1.0。
项目经理 Agent
项目经理 Agent 是单个事务单据的主控 Agent。它不直接生成 DSL,也不替代 4 个核心 skill,而是负责按顺序调度、检查和推进。
| 项 | 内容 |
|---|---|
| 进入时机 | 节点 1 任务获取成功后。 |
| 核心职责 | 调用流程选择、方案确认、方案执行、方案测试,并检查每个节点的输入和输出。 |
| 推进规则 | 上一个节点输出合格,才允许进入下一个节点。 |
| 修复规则 | 方案测试失败且未满 5 次时,带着失败原因回到方案执行。 |
| 退出规则 | 测试通过、修复 5 次仍失败、无法继续处理时,触发结果回填。 |
| 不负责 | 不直接写 DSL、不绕过方案确认、不跳过方案测试、不替代负责人最终验收。 |
全局约束
| 约束 | 说明 |
|---|---|
| 单据是唯一入口 | 自动化搭建助手只处理结构化事务单据,不直接处理散乱需求。 |
| 先选 pipeline | 所有任务先判断属于新建 DSL、迭代 DSL、其他,或停止。 |
| 方案确认先于方案执行 | 不允许直接从任务单跳到生成 DSL。 |
| 缺字段就停止 | 必填字段缺失时不生成、不猜测、不兜底。 |
| 三条 pipeline 共用四个 skill | 差异只写在每条 pipeline 的约束里,不复制多套 skill。 |
| 项目经理 Agent 统一调度 | 4 个 skill 必须由项目经理 Agent 按顺序调用,并由它检查每步输入输出。 |
| 原 DSL 只读 | 无论哪条 pipeline,都不能修改、删除、移动原 DSL 文件;迭代 DSL 必须先复制出来,再生成新文件。 |
| 测试未成功就是失败 | 缺环境、缺权限、缺测试输入、平台不可用,都不能单独标记为成功。 |
| 测试失败先自动修复 | 方案测试失败后,按失败原因回到方案执行节点修复,最多修复 5 次。 |
| 修复 5 次后仍失败 | 第 5 次修复后仍未通过,才回填最终失败。 |
| 结果必须回填 | 成功、失败、其他任务都必须写回事务单据。 |
| 负责人保留验收 | 自动化搭建助手负责生成和测试,AI 项目负责人负责最终确认。 |
全局概念定义
| 概念 | 定义 | 当前口径 |
|---|---|---|
| Pipeline | 一类任务的业务路线 | 新建 DSL、迭代 DSL、其他 |
| 项目经理 Agent | 单个事务单据的流程主控 | 接收节点 1 的任务后,调度 4 个 skill,检查输入输出,推进修复和回填 |
| Skill | 可复用的 AI 执行能力 | 流程选择、方案确认、方案执行、方案测试 |
| 流程节点 | 串起任务的固定步骤 | 任务获取、流程选择、方案确认、方案执行、方案测试、结果回填 |
| 接口流程节点 | 主要依赖系统接口完成的节点 | 任务获取、结果回填 |
| 执行方案 | 方案确认节点输出的结构化执行依据 | 后续方案执行和方案测试必须按它来 |
| 测试修复 | 测试失败后自动回到方案执行节点修复 | 最多修复 5 次 |
| 约束 | 每个节点运行前必须满足的条件 | 输入字段、知识库范围、输出字段、成功标准、失败出口 |
三条 Pipeline 总览
| Pipeline | 进入条件 | 方案执行产物 | 测试重点 | 回填内容 |
|---|---|---|---|---|
| 新建 DSL | 明确要从 0 创建新工作流、bot、DSL 或生产车间 | XXX新建版本.V1.0 DSL、DSL 文件说明 | DSL 能否导入、运行、输出是否符合单据要求 | DSL 文件、版本号、测试报告 |
| 迭代 DSL | 明确基于已有 DSL、已有生产车间或已有版本做修改 | XXX迭代版本.V1.0 DSL、变更说明、影响范围 | 新版本能否跑通,原有能力是否被破坏,更新版本是否符合事务单据要求和执行方案要求 | 新版本文件、版本号、变更说明、测试报告 |
| 其他 | 不要求生成或修改 DSL,只需分析、判断、整理、转交或关闭 | 分析结果、处理建议、不生成 DSL 的原因 | 分析是否满足事务单据要求 | 分析结果、关闭或转交原因 |
1
任务获取
接口流程节点任务获取负责从新项目官网拿到标准事务单据,不先做成 skill。
| 项 | 内容 |
|---|---|
| 输入 | 新项目官网的事务池接口 |
| 输出 | 标准事务单据 |
| 成功标准 | 拿到标准事务单据,且包含任务目标、期望产物、验收要求和回填字段;字段细节以后以新项目官网为准。 |
| 失败标准 | 接口不可用、无权限、返回空数据、关键字段缺失。 |
标准事务单据字段
| 字段(英文) | 中文名称 | 必填 | 说明 |
|---|---|---|---|
task_id | 事务单据 ID | 是 | 用于追踪和回填 |
project_id | 项目 ID | 是 | 关联项目 |
task_title | 任务标题 | 是 | 事务单据标题 |
task_description | 任务描述 | 是 | 原始任务描述 |
expected_artifact | 期望产物 | 是 | 比如 DSL、分析结论、关闭原因 |
acceptance_requirements | 验收要求 | 是 | 判断任务是否完成的要求 |
service_target | 服务对象 | 否 | 服务对象或使用方 |
existing_dsl_uri | 原 DSL 地址 | 迭代必填 | 旧 DSL 地址,只读,不允许修改原文件 |
current_version | 当前版本 | 迭代必填 | 原版本号 |
change_request | 变更要求 | 迭代必填 | 本次要调整的内容 |
callback_fields | 回填字段 | 是 | 结果写回的位置 |
备注:具体字段待定,需要以新项目官网实际提供的事务池字段为准。
2
流程选择
Skill流程选择只判断任务进入哪条 pipeline,或者明确不能继续。它不能补需求、生成方案或猜测旧 DSL。
输入输出
| 类型 | 字段(英文) | 中文名称 | 必填 | 说明 |
|---|---|---|---|---|
| 输入 | task_package | 任务包 | 是 | 标准事务单据 |
| 输入 | classification_rules | 流程选择规则 | 是 | 流程选择规则 |
| 输出 | pipeline_type | Pipeline 类型 | 是 | new_dsl、iterate_dsl、other、blocked |
| 输出 | decision_reason | 判断原因 | 是 | 分类原因,必须能给负责人复核 |
| 输出 | missing_fields | 缺失字段 | 是 | 缺失字段,没有则为空数组 |
| 输出 | can_continue | 是否继续 | 是 | 是否能进入方案确认 |
判断顺序
| 顺序 | 判断问题 | 结果 |
|---|---|---|
| 1 | 是否能看出任务目标、期望产物和验收要求 | 看不出则停止 |
| 2 | 是否明确要求从 0 创建新工作流、bot、DSL 或生产车间 | 是则进入新建 DSL |
| 3 | 是否明确基于已有 DSL 或已有版本做修改 | 是则进入迭代 DSL |
| 4 | 是否只是分析、咨询、资料整理、字段确认、流程讨论或纯测试 | 是则进入其他 |
| 5 | 分类依据互相冲突 | 优先按明确证据判断;最终无法判断则进入其他 |
冲突处理
| 情况 | 处理 |
|---|---|
| 写了“新增”,但又给了旧 DSL 和变更要求 | 优先按迭代 DSL 判断,并说明依据。 |
| 写了“优化/调整”,但没有旧 DSL 或旧版本 | 按照新建 DSL 流程处理,并在方案确认中说明这是新建版本。 |
| 只写“做一个 AI 工作流”,没有目标和输出 | 停止,缺失字段为业务目标、服务对象、输出要求。 |
| 只是让助手分析方案或整理字段 | 进入其他,不生成 DSL。 |
3
方案确认
Skill方案确认是生成和测试之前的闸门,负责把事务单据整理成稳定执行方案。
| 类型 | 字段(英文) | 中文名称 | 必填 | 说明 |
|---|---|---|---|---|
| 输入 | pipeline_decision | 流程选择结果 | 是 | 流程选择输出 |
| 输入 | task_package | 任务包 | 是 | 标准事务单据 |
| 输入 | knowledge_context | 知识库上下文 | 是 | 知识库上下文 |
| 输出 | goal | 任务目标 | 是 | 本次要解决的问题 |
| 输出 | scope | 范围 | 是 | 做什么、不做什么 |
| 输出 | input_contract | 输入约定 | 是 | 输入字段和要求 |
| 输出 | output_contract | 输出约定 | 是 | 输出字段和格式 |
| 输出 | test_rules | 测试规则 | 是 | 测试成功、失败和修复规则 |
不同 Pipeline 的确认重点
| Pipeline | 方案确认重点 |
|---|---|
| 新建 DSL | 明确新工作流的目标、内容、用途、输入输出和 DSL 输出格式。 |
| 迭代 DSL | 读取旧 DSL,确认已有能力、更新内容、影响范围和版本规则。 |
| 其他 | 判断为什么不属于新建或迭代,确认要输出分析建议、关闭原因还是转交建议。 |
4
方案执行
Skill方案执行只按执行方案生成对应产物,不临时扩大范围。
| 类型 | 字段(英文) | 中文名称 | 必填 | 说明 |
|---|---|---|---|---|
| 输入 | execution_plan | 执行方案 | 是 | 执行方案 |
| 输入 | source_artifacts | 来源产物 | 迭代必填 | 旧 DSL、旧版本说明或相关文件;只能读取和复制,不能改原文件 |
| 输入 | repair_context | 修复上下文 | 测试失败后必填 | 上一次测试失败原因和修复要求 |
| 输出 | artifact_type | 产物类型 | 是 | dsl、dsl_revision、analysis |
| 输出 | artifact_uri | 产物地址 | 生成文件时必填 | 新生成的产物文件地址 |
| 输出 | version | 版本号 | 新建/迭代必填 | 新建命名为 XXX新建版本.V1.0;迭代命名为 XXX迭代版本.V1.0 |
| 输出 | dsl_file_description | DSL 文件说明 | 新建/迭代必填 | 说明 DSL 文件用途、关键节点、输入输出、运行方式和注意事项 |
| 输出 | output_schema | 输出字段结构 | 是 | 输出字段结构 |
| 输出 | repair_attempt_count | 修复次数 | 测试失败后必填 | 第几次自动修复,最多 5 次 |
| 输出 | can_test | 是否允许测试 | 是 | 是否允许进入方案测试 |
不同 Pipeline 的执行产物
| Pipeline | 方案执行产物 |
|---|---|
| 新建 DSL | XXX新建版本.V1.0 DSL、DSL 文件说明。 |
| 迭代 DSL | XXX迭代版本.V1.0 DSL、版本差异说明、受影响节点清单。 |
| 其他 | 分析建议、关闭原因、转交建议,不生成 DSL。 |
5
方案测试
Skill方案测试只分成功和失败。缺环境、缺权限、缺测试输入或平台不可用,都算失败。
输入输出
| 类型 | 字段(英文) | 中文名称 | 必填 | 说明 |
|---|---|---|---|---|
| 输入 | execution_artifact | 执行产物 | 是 | 方案执行产物 |
| 输入 | execution_plan | 执行方案 | 是 | 执行方案 |
| 输入 | test_environment | 测试环境 | 是 | 测试环境、平台、权限和工具信息 |
| 输入 | test_rules | 测试规则 | 是 | 测试规则 |
| 输入 | repair_attempt_count | 修复次数 | 是 | 当前已经修复的次数,最多 5 次 |
| 输出 | test_status | 测试状态 | 是 | passed、failed |
| 输出 | passed_items | 通过项 | 是 | 通过项 |
| 输出 | failed_items | 失败项 | 是 | 失败项 |
| 输出 | failure_reason | 失败原因 | 失败时必填 | 失败原因 |
| 输出 | repair_required | 是否需要修复 | 是 | 失败且修复次数小于 5 次时为是 |
| 输出 | evidence | 测试证据 | 是 | 测试证据,如校验记录、运行记录、输出样例 |
| 输出 | next_status | 下一状态 | 是 | 待验收、回到方案执行修复、执行失败 |
通用测试标准
| 状态 | 判定标准 | 下一步 |
|---|---|---|
| 测试通过 | 所有必测项通过,输出字段符合事务单据和执行方案,测试证据完整。 | 回填测试报告和待验收状态。 |
| 测试失败 | 任一必测项失败、缺环境、缺权限、缺测试输入、平台不可用、输出不符合执行方案。 | 根据失败原因回到方案执行节点自动修复;最多修复 5 次,5 次后仍失败才回填最终失败。 |
不同 Pipeline 的测试标准
| Pipeline | 成功 | 失败 |
|---|---|---|
| 新建 DSL | DSL 存在、校验通过、能导入、能运行、输出符合方案。 | 结构错误、导入失败、主流程断裂、输出字段缺失、无平台权限、缺测试输入、只能本地静态检查。 |
| 迭代 DSL | 版本命名符合 XXX迭代版本.V1.0,变更生效,旧能力未破坏,输出符合事务单据要求和执行方案要求。 | 没有复制原 DSL,修改、删除或移动了原 DSL,旧能力回归失败,变更未生效,输出冲突,缺目标平台权限。 |
| 其他 | 分析回答了问题,说明不生成 DSL 的原因,并给出后续动作。 | 结论没有回答问题,误把 DSL 任务归为其他,单据目标不清,缺少判断依据。 |
6
结果回填
接口流程节点结果回填负责把最终产物、测试报告和失败原因写回事务单据,不先做成 skill。
| Pipeline | 回填字段 |
|---|---|
| 新建 DSL | DSL 文件、版本号、DSL 文件说明、测试报告、验收状态。 |
| 迭代 DSL | 新版本 DSL、版本号、变更说明、测试报告、验收状态。 |
| 其他 | 分析结论、不生成 DSL 原因、建议动作、验收状态。 |
回填状态字段
状态字段是写回新项目官网事务池的处理状态标识。后续如果官网背后接数据库,它也可以作为数据库状态值使用。
| 状态 | 说明 |
|---|---|
| 待验收 | 测试通过,等待 AI 项目负责人验收。 |
| 已退回 | 缺字段、分类冲突,无法进入方案确认。 |
| 已关闭 | 其他任务已完成分析或关闭说明。 |
| 执行失败 | 生成失败、测试失败、缺权限、缺环境,或自动修复 5 次后仍失败。 |
当前最小闭环
任务获取 -> 项目经理 Agent 接管 -> 流程选择 -> 选择新建 DSL / 迭代 DSL / 其他 -> 方案确认 -> 方案执行 -> 方案测试 -> 结果回填
首期 1.0 要覆盖新建 DSL、迭代 DSL、其他这 3 条 pipeline。测试样例先用“课程热点编辑生产线”跑新建 DSL,同时还要补一条迭代 DSL 样例和一条其他任务样例。
最终验收口径
| 验收点 | 通过标准 |
|---|---|
| 全局流程 | 能按 6 个节点稳定跑完,不跳过方案确认和方案测试。 |
| 项目经理 Agent | 能按顺序调用 4 个 skill,检查每个节点输入输出,并控制修复和回填。 |
| 流程选择 | 能稳定区分新建 DSL、迭代 DSL、其他,且能说明原因。 |
| 方案确认 | 输出字段完整的执行方案。 |
| 方案执行 | 产物符合执行方案,不临时扩大范围。 |
| 方案测试 | 明确区分通过和失败,失败后能自动回到方案执行修复,最多修复 5 次。 |
| 结果回填 | 成功、失败和其他任务都有明确回填结果。 |