多个 Hermes Agent 协作时,最佳做法不是把所有任务丢进一个会话,而是用 profile 隔离身份和配置,用 git worktree 隔离代码改动,用主会话只负责拆任务和验收。这样最不容易出现记忆串线、文件互相覆盖和上下文混乱。
什么时候用 profile
profile 适合区分长期角色,比如“写代码的 Hermes”“运营内容的 Hermes”“个人助理 Hermes”。每个 profile 有自己的配置、会话、技能和 home 目录。如果你希望某个 Agent 有独立模型、独立记忆或独立平台接入,就应该建 profile。
什么时候用 worktree
--worktree 适合多个 Agent 同时改同一个仓库。它会给每个会话创建隔离工作树,避免两个 Agent 同时改同一份文件。官方文档还支持通过 .worktreeinclude 复制被 git 忽略的必要文件,例如 .env、.venv/、node_modules/。
一套稳妥流程
- 主 Agent 只做计划和分工,不直接大改代码。
- 每个子任务开独立 worktree,要求它最后汇报改了哪些文件。
- 涉及长期身份差异时再开 profile,不要为了每个小任务都新建 profile。
- 合并前由主 Agent 或人工跑测试、看 diff、处理冲突。
很多“多 Agent 越用越乱”的问题,本质是隔离边界没定好。长期角色用 profile,并行代码用 worktree,临时探索用普通会话,这个组合最清晰。