Hermes Kanban:您的 AI Agents 任务控制中心

@akshay_pachaar
英语1个月前 · 2026年6月04日
120K
272
27
9
629

TL;DR

Hermes Kanban 为 AI Agents 引入了一种协作模型,可防止切换过程中的上下文丢失,使专业 Agent 团队能够通过可视化项目和 Telegram 构建全栈应用程序。

Hermes Kanban 完整指南:协调模型、Agent 之间的上下文共享,以及在大约 20 分钟内构建一个 4 个 Agent 的软件团队(项目经理、后端、前端、测试)。

AI Agent 本应像团队一样工作。

你描述目标。它们分工。每个 Agent 接着上一个的进度继续。

想法很美好。但实际情况恰恰相反。Agent 从一张白纸开始。一个 Agent 不知道其他 Agent 构建了什么、哪些文件被修改了、或者 API 长什么样。每次交接都是一次冷启动,工作一旦从一个 Agent 传递到另一个,质量就会下降。

Hermes Kanban 解决了这个问题。每个任务在崩溃和重启后都能存活。每次简报都精确携带下一个 Agent 需要的信息。每次失败都会被保存,因此重试时知道哪里出了问题。

这就是你的任务控制中心的样子:

Akshay 🚀 - inline image

看板仪表盘

最棒的是整个团队都可以从你的手机上运行。你可以通过 Telegram 创建和引导任务,而 Agent 在你离开办公桌时继续工作。

看看这个:

Akshay 🚀 - inline image

在本文中,我们将从零开始构建这个完整设置:协调模型、简报,以及一个运行在你自己的硬件上的 4 人软件团队,整个过程大约 20 分钟。

为了演示,我创建了一个可用的 Google Docs 克隆,包含 AI 功能、生产级后端,正是由这个 Agent 团队构建的。

Akshay 🚀 - inline image

Google Docs 克隆演示

那么,闲话少说,我们开始吧。

为什么一个 Agent 不够用

举个例子,你想添加密码重置功能。工作会分成三个领域:

  • 后端开发人员,构建 REST API
  • 前端开发人员,读取该 API 并在其之上构建 UI
  • 测试人员,端到端验证整个功能
Akshay 🚀 - inline image

1 个 vs 3 个 Agent

你可以通过一个 Agent 运行所有三个任务,但上下文窗口会填满,Agent 会丢失三步前的操作记忆。你花在管理上的时间比它节省的时间还多。

将工作分配给各自负责一个领域的 Agent 会产生另一个问题:前端开发人员如何知道后端开发人员构建了什么?这个共享上下文的问题正是 Hermes Kanban 所解决的。

心智模型:任务板,但 Agent 站在列后面

一个任务有标题、描述、负责人和状态。有人拾起它,跨过看板移动它,然后关闭它。看板是唯一的事实来源。

Hermes Kanban 保留了这个模型,并将 Agent 放在每列后面,而不是人类。

Akshay 🚀 - inline image

Hermes Kanban 看板

每个任务都是一行,在崩溃和重启后依然存在。当 Agent 完成时,它会写一个摘要:修改了哪些文件、构建了什么、下一个 Agent 需要知道什么。下一个 Agent 在开始之前会读取这个摘要。

这个摘要就是全部精髓所在。它把一群 Agent 变成了一个团队,而不是陌生人。

词汇表

看板上有 6 个不同的列:

Akshay 🚀 - inline image
  • Triage(分类): 粗略的想法落在这里,适合在你还没有完整规格时,比如“我想要认证限流”。
  • Todo(待办): 任务已创建,但等待依赖项。在父任务完成之前不会移动。
  • Ready(就绪): 依赖项已满足,等待 Agent 拾取。
  • In Progress(进行中): Agent 正在积极运行。
  • Blocked(阻塞): Agent 遇到障碍,并标记给人类处理。在你解除阻塞之前,什么都不会运行。
  • Done(完成): 已完成,并保留完整的运行历史、摘要和元数据。

编排器:一个管理其他 Agent 的 Agent

把编排器 Agent 想象成项目经理,它读取高级目标,检查有哪些 Agent 可用,将目标分解为相关联的任务,然后退后一步。它从不编写代码或运行测试。它负责协调。

Akshay 🚀 - inline image

编排器 Agent

唯一重要的规则是:在创建任务之前检查哪些配置存在。系统会默默跳过任何负责人与实际配置不匹配的任务,因此第零步始终是 kanban_list。

下面是一个典型的项目经理步骤,将“构建密码重置流程”请求分解为一个关联的管道:

python
1kanban_show()
2
3be = kanban_create(title="密码重置后端", assignee="backend-developer",
4 body="忘记/重置密码流程 + 会话失效")
5
6fe = kanban_create(title="密码重置 UI", assignee="frontend-developer",
7 parents=[be], body="使用后端 API 的 Next.js 重置流程")
8
9qa = kanban_create(title="端到端密码重置测试", assignee="tester",
10 parents=[fe], body="验证所有验收标准")
11
12kanban_complete(summary="创建了后端 → 前端 → QA 依赖管道")

之后,看板处理任务提升,简报处理上下文传递。当所有三个任务完成后,项目经理被唤醒,阅读摘要,并判断工作是否完成。如果测试人员返回“verdict”: “FAIL”,则会创建修复任务,循环继续。

但实际上,你不需要关心任何事情。你只需要通过 Telegram 委派一个任务,编排器就会接手处理。

你会经常使用的三种模式

1. 管道: 每个任务依赖于前一个任务。只有第一个任务从就绪状态开始。其他所有任务等待轮到它们。

text
1BACKEND=$(hermes kanban create "实现认证 API" \
2 --assignee backend-developer \
3 --body "POST /register, POST /login, POST /refresh, POST /logout." \
4 --json | jq -r .id)
5
6FRONTEND=$(hermes kanban create "构建认证 UI" \
7 --assignee frontend-developer \
8 --parent $BACKEND \
9 --body "读取后端交接文档以了解 API 形状。登录、注册、个人资料页面。" \
10 --json | jq -r .id)
11
12hermes kanban create "端到端测试认证流程" \
13 --assignee tester \
14 --parent $FRONTEND \
15 --body "覆盖快乐路径、错误密码、过期令牌、会话持久性。"

你不需要手动运行这些。你只需在 Telegram 上向项目经理描述项目,它就会为你创建这些任务。在底层,它的样子就像上面那样。

当后端 Agent 调用 kanban_complete() 时,前端任务移动到就绪状态,并附带了后端的成果。

Akshay 🚀 - inline image

2. 人在回路中: 并非所有阻塞都是失败。有时 Agent 发现一个真正的问题并停下来询问。

text
1kanban_block(reason="review-required: 密码强度检查缺失,"
2 "重置令牌不是一次性使用(可在 30 分钟内重放)")

你会在仪表盘上看到阻塞。你验证问题,修复它,然后解除任务阻塞:

text
1hermes kanban unblock $IMPL

你也不需要在终端中运行这些,只需在看板上评论或在 Telegram 上发送消息,系统就会解除阻塞。

系统会在下一个周期重启 Agent。第二次运行时,Agent 调用 kanban_show() 并准确看到第一次尝试被阻塞的原因。它知道具体要修复什么,而不是从头开始。

Akshay 🚀 - inline image

3. 分类细化器。

当你有一个粗略的想法而不是完整的规格时,把它放到看板上,让系统在 Agent 拾取之前充实它。

text
1# 放置一个粗略想法
2hermes kanban create "认证需要限流" --triage --assignee backend-developer
3
4# 在调度器拾取之前充实它
5hermes kanban specify $TASK_ID

specify 命令将三个字的标题重写为一个完整任务,包含目标、方法和验收标准。拾取它的 Agent 会得到一份真正的简报。

设置它:大约 20 分钟内创建四个配置

四个 Agent,一个共享看板,项目经理可通过 Telegram 联系。

Akshay 🚀 - inline image

第 1 步:创建配置

bash
1hermes profile create project-manager --clone
2hermes profile create backend-developer --clone
3hermes profile create frontend-developer --clone
4hermes profile create tester --clone

--clone 将你的默认配置复制作为起点。

第 2 步:为每个 Agent 赋予个性

1. 项目经理 位于 ~/.hermes/profiles/project-manager/SOUL.md:

markdown
1# Soul(灵魂)
2
3你是软件开发团队的项目经理。你的工作是接受用户的应用创意,将其拆分为清晰的任务,分配给正确的团队成员,并在看板上跟踪进度。你自己不写代码。你管理工作。

2. 后端开发人员 位于 ~/.hermes/profiles/backend-developer/SOUL.md:

markdown
1# Soul(灵魂)
2
3你是软件团队的后端开发人员。你使用 InsForge 构建和管理整个后端——数据库、认证、存储、边缘函数和部署。

3. 前端开发人员 位于 ~/.hermes/profiles/frontend-developer/SOUL.md:

markdown
1# Soul(灵魂)
2
3你是软件团队的前端开发人员。你构建 UI——组件、页面和用户流程——并使用后端开发人员设置的 API 和 SDK 方法将它们连接到后端。

4. 测试人员 位于 ~/.hermes/profiles/tester/SOUL.md:

markdown
1# Soul(灵魂)
2
3你是软件团队的测试人员。你端到端测试已完成的功能,验证验收标准是否满足,并清晰地将 bug 报告回看板,以便修复。

第 3 步:添加 Agent 技能

技能是分步指南,针对特定类型工作的具体说明。可以将其视为 Agent 的岗位培训。我们逐一列出:

InsForge

Akshay 🚀 - inline image

InsForge(开源,Apache 2.0) 作为后端上下文工程层,为使用技能和 CLI 的 Agent 提供服务。我们的后端开发 Agent 配置使用此技能,为项目提供即用型后端服务。

首先,添加 InsForge 技能源:

bash
1hermes skills tap add InsForge/insforge-skills

然后安装后端技能:

bash
1hermes -p backend-developer skills install InsForge/insforge-skills/insforge --force

同样,我们安装其他技能:insforge-cli(基础设施命令)、insforge-debug(故障诊断)和 insforge-integrations(第三方认证提供者)。

下面是后端开发 Agent 如何使用该技能在 InsForge 上构建我们的项目后端。

首先,后端开发 Agent 在 InsForge 中创建一个名为“Google Docs Clone”的项目。

仪表盘显示项目统计信息,如用户数量、数据库中的表、存储以及部署的 JavaScript/TypeScript 代码的边缘函数列表,这些函数涉及认证、文档处理等。

Akshay 🚀 - inline image

所以,如果你正在构建一个 AI 后端工程师,一定要看看 InsForge →

(别忘了点赞 🌟)

技能中心中的更多技能

Hermes 还维护了一个技能中心,包含 687 个技能,涵盖 18 个类别:87 个内置技能、79 个可选技能、16 个来自 Anthropic(前端设计、pdf、pptx、docx、mcp-builder 等),以及 505 个来自 LobeHub。

Akshay 🚀 - inline image

对于前端开发人员,安装 frontend-design。对于测试人员,安装 webapp-testing。两者都来自技能中心。

第 4 步:初始化看板并启动网关

hermes kanban init 创建 ~/.hermes/kanban.db,这是一个 SQLite 数据库,保存所有任务、上下文和运行历史。

然后,在项目经理配置下设置聊天网关。从 Telegram 上的 @BotFather 获取机器人令牌,从 @userinfobot 获取你的用户 ID,然后:

bash
1hermes kanban init
2hermes -p project-manager gateway setup
3hermes -p project-manager gateway start

该连接 24/7 运行,保持系统活跃,并使项目经理可通过 Telegram 联系。

第 5 步:发送你的第一个项目

通过 Telegram 向项目经理发送你想要构建的内容。它会将目标分解为任务,创建带有依赖链接的任务,系统按顺序运行它们。

Akshay 🚀 - inline image

仪表盘

运行 hermes dashboard 并打开 http://127.0.0.1:9119。你将看到每个状态对应一列,并通过 WebSocket 实时更新,无需刷新。

Akshay 🚀 - inline image

0:20

Hermes Kanban 仪表盘

有两个控件值得一提。按配置分列 将运行列按负责人分组,这样你可以一目了然地看到哪个 Agent 负责什么。推动调度器 会立即运行一次,而不是等待 60 秒,这在解除任务阻塞后特别有用。

点击任意卡片打开其抽屉,查看完整的运行历史、每次尝试的结果和元数据,以及可编辑的字段(标题、负责人、优先级和依赖项)。

需要注意什么

在正式工作负载下有三个值得了解的失败模式。

1. 数据库过载。 如果并行运行 2 到 4 个 Agent,你永远不会遇到这个问题。但如果 10 个以上的 Agent 以高频率写入,事情就会变慢。使用 hermes kanban dispatch --max 4 来限制。

2. 临时工作区删除。 保存到临时工作区中的文件在任务标记为完成的那一刻就会消失,因为临时工作区设计为会被清空。对于编码任务,请使用工作树,或者将项目文件夹路径放入任务描述中,以便 Agent 知道在哪里保存。

3. 本地模型饱和。 针对本地模型(Ollama、本地 GPU),系统可能会同时启动多个 Agent,从而压垮 GPU,导致生成速度变慢并触发自动停止。对于本地设置,使用 hermes kanban dispatch --max 2。对于 API 支持的模型(如 Claude 或 GPT-4o),这很少成为问题。

全景图

每个组件有一个职责:

  • SOUL.md 是 Agent 的固定身份:它是什么以及它如何思考。
  • 技能 是针对特定类型工作的分步说明。
  • 记忆 是 Agent 在不同会话中了解的关于你环境的信息。
  • 看板 是协调层:共享状态、上下文传递,以及任何时刻的“人在回路中”。
Akshay 🚀 - inline image

四个配置,四个 SOUL.md 文件,一次网关启动。在 Telegram 上向项目经理描述你想要构建的内容,然后观察看板被填满。

如果你更喜欢通过视频学习,完整的 Hermes Kanban 指南将在几天后在 YouTube 和 X 上发布。

感谢阅读。

一键保存

使用 YouMind AI 深度阅读爆款文章

保存原文、追问细节、总结观点,并在一个 AI 工作空间里把爆款文章沉淀成可复用笔记。

了解 YouMind
写给创作者

把你的 Markdown 变成干净的 𝕏 文章

图片上传、表格、代码块,往 𝕏 上手动重排太痛苦。YouMind 把整篇 Markdown 一键转成干净、可直接发布的 𝕏 文章草稿。

试试 Markdown 转 𝕏

更多可拆解样本

近期爆款文章

探索更多爆款文章