Workflows(工作流)
April 4, 2026 · View on GitHub
这是什么?
工作流是 Agent 的行为模板。如果说工单是"做什么",工作流就是"怎么做"。它定义了 Agent 的角色、执行指令、触发条件和生命周期钩子。你可以把它理解为给 AI Agent 的一份"岗位职责说明书"。
基本概念
| 概念 | 说明 |
|---|---|
| Harness(指令文档) | Markdown 格式的执行指令,告诉 Agent 该扮演什么角色、如何完成任务 |
| 角色类型(Role) | 工作流的角色定位,如"后端工程师"、"QA 测试"、"部署" |
| 状态绑定 | 配置哪些工单状态会触发 Agent 自动领取 |
| 技能绑定 | 给工作流附加可复用的 Skills |
| 钩子(Hooks) | 生命周期事件处理器(领取时、完成时、失败时) |
| 版本 | 工作流支持版本控制,每次修改产生新版本 |
常用操作
创建工作流
- 进入 Workflows 页面
- 点击"新建工作流"
- 填写名称和角色类型
- 编写 Harness 文档
编写 Harness
Harness 是工作流的核心。它使用 Markdown 格式编写,支持模板变量自动替换:
# 角色
你是一名后端工程师,负责处理 API 相关的开发任务。
# 任务
请根据工单描述完成以下工作:
- 工单标题:{{ ticket.title }}
- 工单描述:{{ ticket.description }}
# 要求
- 代码必须通过所有现有测试
- 新增功能需要编写对应的单元测试
- 提交 PR 前需要运行 lint 检查
Harness 编写建议:
| 做法 | 效果 |
|---|---|
| 明确角色定位 | Agent 更好地理解自己的职责边界 |
| 提供具体步骤 | 减少 Agent 的自由发挥空间,提高一致性 |
| 设置验收标准 | Agent 知道什么时候算"完成" |
| 使用模板变量 | 自动注入工单上下文信息 |
配置状态绑定
- 领取状态(Pickup Status):当工单进入这些状态时,Agent 会自动领取
- 完成状态(Finish Status):Agent 完成后将工单移到这些状态
这是自动化的关键——状态绑定让 Agent 知道何时开始工作、工作完成后做什么。
绑定技能
从已有 Skills 中选择需要的技能附加到工作流。Agent 执行时可以调用这些技能中定义的脚本和操作规范。
高级配置
| 参数 | 说明 |
|---|---|
MaxConcurrent | 最大并发数,限制 Agent 同时处理的工单数 |
MaxRetryAttempts | 最大重试次数,执行失败后的自动重试 |
TimeoutMinutes | 超时时间,防止 Agent 无限执行 |
管理工作流
- 影响分析:退役前查看哪些工单和定时任务会受影响
- 替换引用:批量将旧工作流切换为新工作流
- 版本历史:查看工作流的修改记录
内置模板
平台提供了一些开箱即用的工作流模板:
| 模板 | 用途 |
|---|---|
| Coding | 代码编写和功能开发 |
| Testing | 测试执行和报告 |
| QA | 质量保证和代码审查 |
| Deployment | 部署和发布 |
小贴士
- Harness 写得越具体,Agent 表现越好。避免"请完成这个任务"这样模糊的指令
- 合理设置
MaxConcurrent避免 Agent 同时处理过多工单 - 设置
TimeoutMinutes防止 Agent 无限执行 - 用版本控制追踪 Harness 的演进,方便回滚