ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

第22篇-Kanban协作-多Agent工作队列

第22篇-Kanban协作-多Agent工作队列 【Hermes Agent 从入门到精通】第 22 篇Kanban 协作 — 多 Agent 工作队列本系列定位零基础入门从安装配置到高级架构全覆盖。无论你是开发者、运维工程师、还是技术爱好者本系列带你彻底掌握 Hermes Agent。本篇你将学到Kanban 概念持久化的多 Agent 协作看板Kanban vs delegate_task 的区别创建看板与任务Worker 自动调度实战场景学完本篇你将能用多个 Hermes Profile 协作完成大型项目。一、为什么需要 Kanban1.1 delegate_task 的局限delegate_task 适合临时、短期、单次任务 → 父 Agent 发起 → 子 Agent 执行 → 返回结果 → 结束 不适合长期、多步骤、需要持久化的协作 → 任务可能跨越数小时或数天 → 任务之间有依赖关系 → 需要持久化存储Agent 重启后任务不丢1.2 Kanban 的方案Kanban 是一个基于 SQLite 的持久化任务看板Kanban 看板 ├── Task 1: 搭建项目骨架 ✅ Done ├── Task 2: 实现用户认证 ✅ Done ├── Task 3: 实现商品 CRUD In Progress ├── Task 4: 实现订单系统 ⏳ Pending依赖 Task 3 └── Task 5: 编写测试 ⏳ Pending持久化Agent 重启后任务还在依赖管理Task 4 等 Task 3 完成后自动开始多 Worker多个 Profile 同时认领任务下面是delegate_task与 Kanban 的流程对比图对比Kanban 流程是否创建任务到看板Dispatcher 自动调度Worker 认领并执行任务完成标记 Done标记 Blocked问题解决后继续delegate_task 流程父 Agent 发起任务子 Agent 执行返回结果任务结束二、Kanban 核心概念2.1 看板Board一个看板是一个 SQLite 数据库文件存储所有任务。2.2 任务Task属性说明标题任务描述状态Pending → In Progress → Done / Blocked分配指定给哪个 ProfileWorker依赖依赖其他任务完成后才能开始链接关联的文件、Session 或外部资源2.3 Worker工作者每个 Profile 可以作为 Worker自动从看板认领任务并执行Profile backend → 认领后端任务 Profile frontend → 认领前端任务 Profile tester → 认领测试任务三、Kanban vs delegate_task维度delegate_taskKanban持久化❌临时✅SQLite时长分钟级小时/天依赖管理❌✅多 Agent批量并行多 Profile 持续协作自动调度手动发起Dispatcher 自动分配适用快速并行子任务长期项目协作四、创建看板4.1 初始化hermes kanban init创建一个 Kanban 看板。4.2 添加任务hermes kanban create搭建项目骨架hermes kanban create实现用户认证hermes kanban create实现商品 CRUDhermes kanban create编写单元测试4.3 设置依赖# 编写单元测试 依赖 实现商品 CRUDhermes kanbanlink编写单元测试--depends-on实现商品 CRUD4.4 分配任务# 把任务分配给指定 Profilehermes kanban assign实现商品 CRUD--profilebackendhermes kanban assign编写单元测试--profiletester4.5 查看看板hermes kanban list Kanban 看板 ✅ Done: - 搭建项目骨架 - 实现用户认证 In Progress: - 实现商品 CRUD (assigned: backend) ⏳ Pending: - 编写单元测试 (assigned: tester, blocked by: 实现商品 CRUD)五、自动调度5.1 DispatcherDispatcher 是 Kanban 的自动调度器运行在网关中# config.yamlkanban:dispatch_in_gateway:true# 在网关中启用自动调度Dispatcher 的工作每 30 秒检查一次 1. 有没有新的 Pending 任务 2. 依赖是否已满足 3. 分配的 Profile 是否空闲 4. 满足条件 → 自动 spawn Profile 执行任务5.2 Worker 视角被分配的 Profile 作为 Worker 运行时只能看到自己的任务# backend Profile 启动hermes-pbackend# Worker 看到的工具集是精简版/kanban show ← 查看自己的任务 /kanban complete ← 标记完成 /kanban block ← 遇到阻碍时标记Worker 的工具集被限制为只包含 Kanban 相关工具 标准开发工具避免意外修改看板。六、任务生命周任务在 Kanban 看板中的完整生命周期如下创建任务依赖满足 Worker 空闲任务完成遇到阻碍问题解决归档PendingIn_ProgressDoneBlocked6.1 常用命令hermes kanban show TASK_ID# 查看任务详情hermes kanban complete TASK_ID# 标记完成hermes kanban block TASK_ID# 标记阻塞hermes kanban unblock TASK_ID# 解除阻塞hermes kanban comment TASK_ID注释# 添加评论hermes kanban archive TASK_ID# 归档hermes kanban stats# 统计信息hermes kanbantail# 查看最近活动七、实战多 Agent 协作开发7.1 场景用 3 个 Profile 协作开发一个 Web 应用backend Profile负责后端 API frontend Profile负责前端页面 tester Profile负责测试7.2 步骤# 1. 创建 Profilehermes profile create backend hermes profile create frontend hermes profile create tester# 2. 初始化看板hermes kanban init# 3. 创建任务并设置依赖hermes kanban create搭建后端骨架hermes kanban create搭建前端骨架hermes kanban create实现商品 APIhermes kanban create实现商品页面hermes kanban create编写商品测试# 4. 设置依赖hermes kanbanlink实现商品页面--depends-on实现商品 APIhermes kanbanlink编写商品测试--depends-on实现商品 API# 5. 分配hermes kanban assign搭建后端骨架--profilebackend hermes kanban assign搭建前端骨架--profilefrontend# ... 其他任务# 6. 启动网关Dispatcher 自动调度hermes gateway startDispatcher 会自动发现 “搭建后端骨架” 和 “搭建前端骨架” 无依赖 → 分配给对应 Profile骨架完成后 → 自动开始 “实现商品 API”API 完成后 → 同时启动 “实现商品页面” 和 “编写商品测试”–下面是多 Agent 协作开发的完整流程时序图tester Profilefrontend Profilebackend Profile网关 (Dispatcher)tester Profilefrontend Profilebackend Profile网关 (Dispatcher)每 30 秒检查一次看板所有任务完成发现搭建后端骨架 (Pending)发现搭建前端骨架 (Pending)Spawn 执行搭建后端骨架Spawn 执行搭建前端骨架完成标记 Done完成标记 Done发现实现商品 API (依赖满足)Spawn 执行实现商品 API完成标记 Done发现实现商品页面和编写商品测试 (依赖满足)Spawn 执行实现商品页面Spawn 执行编写商品测试完成标记 Done完成标记 Done本篇小结知识点核心内容Kanban持久化 SQLite 多 Agent 协作看板vs delegate_task持久化 vs 临时、依赖管理、多 ProfileBoard看板SQLite 数据库Task任务标题、状态、分配、依赖WorkerProfile 作为工作者Dispatcher自动调度器网关中运行依赖管理--depends-on设置前置任务hermes kanbanCLI 命令族下篇预告第 23 篇多实例部署 — 独立 Hermes 进程除了 delegate_task 和 Kanban还可以直接启动多个独立的 Hermes 进程。下一篇学习 tmux Hermes 的多 Agent 部署。如果本篇内容对你有帮助欢迎点赞收藏有任何疑问欢迎在评论区交流。
返回列表