应采用kanban看板驱动并行执行、profile角色隔离、三层记忆架构及人工介入点四大技巧。具体包括:创建任务看板并分配子任务;按职能新建profile并配置专属能力;分层管理soul/memory/user记忆并强制压缩;在关键节点嵌入kanban_block实现人工确认。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您正在设计 Hermes Agent 的工作流,但发现任务执行混乱、角色职责不清或状态无法追踪,则可能是由于缺乏结构化编排机制。以下是实现高效、可维护、可扩展工作流的多种设计技巧:
一、采用 Kanban 任务看板驱动并行执行
Kanban 是 Hermes Agent 内置的持久化任务调度系统,它将抽象需求转化为可视化卡片,并支持多智能体并行认领与协作。该机制避免了传统串行对话式工作流的阻塞瓶颈,确保任一环节停滞不影响整体进度。
1、使用命令 hermes kanban create "需求名称" 创建父级任务看板。
2、通过 hermes kanban add --parent [ID] --title "子任务名" --assignee researcher 添加带角色绑定的子任务。
3、执行 hermes -p researcher run 启动指定 Profile 的智能体自动认领并处理对应子任务。
4、所有任务日志实时写入 ~/.hermes/kanban.db,支持崩溃恢复与跨会话续跑。
二、基于 Profile 实现角色隔离与能力专精
Hermes Agent 允许为不同职能创建完全独立的 Profile,每个 Profile 拥有专属模型配置、记忆文件、技能集与工作目录。这种设计杜绝了角色混用导致的上下文污染和技能冲突,是构建专业化工作流的基础。
1、运行 hermes profile create tester --clone-all 复制现有配置并新建测试工程师角色。
2、为该 Profile 安装专用技能:hermes -p tester skills install web-test playwright。
3、修改其 SOUL.md 文件,明确设定身份定位为“专注端到端浏览器兼容性验证的自动化测试专家”。
4、通过 hermes -p tester gateway setup 配置独立消息入口,使其仅响应测试类指令。
三、利用三层记忆架构保障上下文稳定性
Hermes Agent 将记忆划分为 SOUL(身份)、MEMORY(环境事实)、USER(用户偏好)三个层级,每层容量受限且内容强制压缩。该设计迫使系统只保留高价值信息,防止长期运行后记忆膨胀失焦,从而维持工作流中各环节的语义一致性。
1、编辑 ~/.hermes/profiles/tester/memories/MEMORY.md,仅记录项目专属约束如“所有测试必须覆盖 Chrome 124+、Firefox 125+”。
2、在 USER.md 中固化用户反馈模式:“当发现断言失败时,优先输出差异快照而非原始日志”。
3、禁止直接追加条目;每次更新需先执行 hermes -p tester memory compact 触发自动去重与摘要压缩。
4、验证记忆密度:运行 hermes -p tester memory stats 确保 MEMORY.md 字符数始终低于 2200 限制。
四、嵌入人工介入点(kanban_block)控制关键决策节点
在自动化流程中预设人工确认锚点,可有效规避模型幻觉引发的错误传播。Hermes 的 kanban_block() 函数允许任意智能体在识别不确定性时主动暂停流程、标注原因并等待人工输入,保障工作流在高风险环节不失控。
1、在自定义 Skill 脚本中插入条件判断逻辑:if confidence_score 。
2、执行 hermes kanban list 查看当前所有 blocked 状态任务。
3、人工干预后,使用 hermes kanban resolve [ID] --note "采用XPath路径方案" 解锁任务并注入决策依据。
4、该注释将自动进入对应 Profile 的 USER.md 记忆,成为后续同类任务的参考依据。
五、通过 Skill 自进化闭环持续优化工作流执行质量
Hermes Agent 在每次任务完成后自动分析执行轨迹,提取成功模式生成新 Skill 或合并相似旧 Skill。该机制使工作流具备“越运行越精准”的特性,无需人工反复调试提示词或重写逻辑。
1、启用进化开关:hermes config set skill.auto_evolve true。
2、完成一次完整 Kanban 流程后,系统自动生成 ~/.hermes/profiles/tester/skills/AUTOGEN_20260514_1832.md。
3、检查该文件是否包含可复用动作序列,例如:“给定页面 URL → 截图全屏 → 提取可见文本 → 匹配正则表达式 /v[0-9]+\.[0-9]+/ → 输出版本号”。
4、手动编辑该 Skill,将其中硬编码值替换为参数占位符 {{url}} 和 {{pattern}},提升泛化能力。











