关于 agent-bridge
agent-bridge 是一项技能,可让主工程师把独立的编码任务交给在自身运行环境中工作的同伴编码 Agent。它会识别当前 Agent 和可用同伴,实时传递执行过程并保存记录,便于后续跟进与核验。
主要功能
- 01检测可用的同伴 Agent
- 02从项目根目录委派任务
- 03实时查看同伴执行过程
- 04保存运行记录
- 05管理持久化同伴会话
适用场景
- 01委派功能实现
- 02请同伴审查代码变更
- 03开展独立的对抗性审查
- 04在同一会话中继续协作
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ kununu/ agent-bridge --skill agent-bridge安装后在 Claude Code 中输入/agent-bridge确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/agy.mdclaude.mdcodex.mdscripts/adapter.pybridge.shmeta.pyrender.pyscripts/adapters/agy.jsonclaude.jsoncodex.json详细介绍
agent-bridge — 委派任务给同伴编码 Agent
你是首席工程师。通过该桥接工具,你可以将独立完整的工作交给同伴编码 Agent(例如 Claude Code、Codex)。它们会在自动模式下运行自己的执行环境,因此可以接手规模较大的工作并完成任务:构建、测试、验证自己的输出,然后汇报结果。
桥接工具会自动检测你是哪种 Agent,以及你可以调用哪些同伴。你不会委派任务给自己;要做到这一点,请使用你自己的执行环境中的子 Agent。
我可以调用谁?
bash "$HOME/.agents/skills/agent-bridge/scripts/bridge.sh" agents
列出这台机器上可用的同伴(不包括你)。在下面的命令中选择一个作为 <peer>。如需了解某个同伴的特殊情况,请阅读此技能中的 references/<peer>.md。
请记住一个命名例外:“Gemini”指的是同伴 agy——Google 将 Gemini CLI 的继任者更名为 Antigravity CLI,因此,“询问 Gemini”(或“Antigravity”)实际上会调用 agy。
如何委派
在项目根目录(即你当前工作的目录)中运行:
bash "$HOME/.agents/skills/agent-bridge/scripts/bridge.sh" <peer> "your task for the peer"
- 它会实时流式输出同伴的推理和操作——运行时请阅读输出。
- 每次运行的完整记录都会保存在该同伴的
logs/下。状态存储在全局位置~/.agent-bridge/projects/<project>/<you>/<chat>/<peer>/<thread>/,无需你管理。线程默认为main——只有在并行运行同伴时才需要指定线程(请参阅下文的并行委派)。 - 如果同伴感到困惑,或者用户要求重新开始,请重置并重试——请参阅下文的让同伴重新开始。
耗时较长的任务,或包含 $、反引号或引号的任何任务:请将任务写入文件,并使用 --task-file 传递,而不是通过 argv 传递。 argv 会先经过你的 shell,因此提示词中的字面字符串 $12B 会变成 2B,导致同伴依据遭到篡改的说明开展工作。- 表示从 stdin 读取。这可以解决字符被篡改的问题,但无法解决长度限制——超过约 120KB 后,桥接工具会拒绝处理(任务仍会作为 argv 传给同伴);此时请让同伴自行读取文件。
bash "$HOME/.agents/skills/agent-bridge/scripts/bridge.sh" <peer> --task-file brief.md
首次运行前请先阅读下文的注意事项——大多数“看起来卡住了”的情况,其实是同伴正在思考。
注意事项
- 思考看起来像卡住了——但其实没有。 在首次操作之前和操作之间,同伴经常会推理一到几分钟。有些同伴会输出
· thinking… ~Nk tokens心跳信息,计数不断增加;另一些同伴则会持续显示· exec:/· tool:操作行。这说明同伴正在工作。只要输出还在持续,就不要中断、终止或重启它——只有在输出长时间完全静默时才介入。 - 同伴的最终答复会出现在
── <peer> done ──标记之后。 标记之前的所有内容都是实时推理和操作;请阅读这些内容,但将标记之后的文本视为答复。答复之后还可能出现一项内容:── <peer> artifacts ──列表。当同伴将文件写入自己的私有会话目录而非代码库时,就会出现此列表(agy 生成的图像便是如此)。这些路径指向真实文件——请将需要保留的内容复制到项目中。 - 同伴对自身输出的报告只是说法,不是结果。 在转述之前,请使用你自己的工具进行验证;同伴可能会声称满足了所有约束,实际却并非如此。
- 会话会按对话、同伴和线程持续保存。 新对话会开启一个全新的同伴会话;在当前对话中,对同一同伴的每次调用(同一线程——除非指定其他线程,否则为
main)都会延续同一会话。后续任务应以延续的方式提出(例如:“你写的解析器会丢弃末尾的数字——请修复并重新运行测试”),不要当作新任务重新解释一遍。 - 每个线程一次只能运行一个任务。 如果委派立即失败并提示“already has a run in progress”,说明该线程上仍有另一个任务在运行——请等待它完成,或使用自己的
--thread标签。(发生崩溃后,系统会自动检测并清除过期锁。)
推理强度
该对端默认以 high 推理级别运行。传入 --effort 可调整推理强度:
bash "$HOME/.agents/skills/agent-bridge/scripts/bridge.sh" <peer> --effort <level> "your task"
级别为 low · medium · high · xhigh · max(low → 快速且省成本,max → 尽可能深入思考)。将用户的要求转换为最接近的级别——例如,“认真思考/全面细致” → high 或 xhigh;“竭尽全力” → max;“快速/粗略/别想太多” → low。如果用户没有提及推理强度,就省略该标志(默认使用 high)。始终传入这些规范级别;桥接程序会将其映射到对端自己的设置(有些对端支持的级别较低——这是预期情况,并会显示在运行标头中)。
模型
在新会话中,桥接程序不会发送模型标志——对端会使用其 CLI 配置的模型(已指定模型的会话会继续使用该模型——见下文)。 用户没有提及模型时,这就是正确做法。只有在用户指定模型或明确提出能力要求(“最强”、“最便宜”)时,才选择模型:
bash "$HOME/.agents/skills/agent-bridge/scripts/bridge.sh" <peer> --model <model> "your task"
--model 接受一个与对端无关的值——top,即对端最强的编码模型;或模型的简称(例如 sonnet、luna);每个对端的模型列表位于 references/<peer>.md,适配器会将名称转换为对端 CLI 自己的模型参数。无法识别的值会原样传给对端 CLI,因此精确的或全新的模型 ID 也能使用。自行规范化用户的措辞:“Claude 的最佳模型” → --model top;“codex astr”(拼写错误)→ --model astra;“codex 最便宜的模型” → 该对端参考说明中列出的最便宜模型。
模型和推理强度是相互独立的选项:--model 选择模型,--effort 控制推理强度。像 “快速”、“全面细致”、“别想太多” 这样的词只调整推理强度——除非用户也表达了对模型或成本的偏好,否则不要据此推断应选择更便宜的模型。
**明确指定的模型会沿用至整个会话。**传入 --model 后,该会话中的后续调用会自动沿用同一模型——不要重复传入该标志。之后传入其他模型会切换该会话的模型(标头会显示 switching model old→new)。重置会话时,模型选择也会一并清除。
并行委派(线程)
默认情况下,你对同一对端的所有调用会共用一个会话——这正是后续调用能够接续上下文的原因。但如果同时向同一对端发起多项委派(例如,你启动的多个辅助子 Agent 都调用了桥接程序),它们就不能共用该会话:子 Agent 会继承你的聊天 ID,因此如果不加区分,它们会接续彼此的上下文并覆盖彼此的状态。为每个并行任务指定独立的线程标签:
bash "$HOME/.agents/skills/agent-bridge/scripts/bridge.sh" <peer> --thread worker-1 "task A"
bash "$HOME/.agents/skills/agent-bridge/scripts/bridge.sh" <peer> --thread worker-2 "task B"
- 启动会执行委派的辅助子 Agent 时,要在传给每个辅助子 Agent 的确切命令中加入唯一的
--thread <label>——辅助子 Agent 无法自行判断自己是否属于多个并行任务之一。 - 标签由你选择——
worker-1、review、tests(必须以字母或数字开头)。 - 每个线程都是独立的持久对端会话——使用相同标签的后续调用会接续该会话。
- 需要从头开始的辅助子 Agent 应只重置自己的任务线程——
<peer> reset --thread <its-label>——绝不要只运行<peer> reset,因为这会清除该对端的所有线程会话。
像对待能力出众的工程师一样向对端说明任务
- **交给它完整的任务块,而不是零碎步骤。**可以是一个完整功能、一个模块、一次重构或实际的调试任务。不要把工作拆成一个函数一个函数的小请求——这会浪费往返时间,也会严重低估它的能力。应假设它能够端到端负责范围明确、内容充实的任务,并在汇报前自行验证工作。
- **一开始就提供完整上下文:**目标、相关文件、约束条件,以及如何判断任务成功(要运行哪些测试、预期行为是什么)。说明越完整,它就越能承担完整的任务。
- 明确说明任务范围,避免它越界或提前停止。
使用同伴的四种方式——选择适合你的方式
- 实现者——把工作交给它;让它构建、测试并汇报。
- 独立审查者——请它重新审视你或它写的内容: “审查 X 中的更改,检查正确性和边缘情况;请具体说明。”
- 对抗性红队——让它尝试破坏某个设计,或找出最严重的故障: “找出能让这个解析器返回错误答案的输入。”
- 思考伙伴——就想法、设计、方法或计划征求意见;它可以集思广益、提出批评、建议替代方案,或验证你的计划: “这是我的迁移计划。你会如何改进?”
进行审查时,提出有针对性的问题,并根据实际价值判断其意见——不同意时就提出异议,意见正确时就采纳。两个强大的模型意见不一,正是我们想要的。
重新启动同伴会话
同伴的会话会按对话持续存在,因此默认情况下会继续使用现有会话。但如果它陷入困境或感到困惑,或者用户说了类似 “开启新会话再试一次” 的话,请自行执行重置,然后重新下达任务——不应让用户输入任何命令:
bash "$HOME/.agents/skills/agent-bridge/scripts/bridge.sh" <peer> reset # this peer, all threads
bash "$HOME/.agents/skills/agent-bridge/scripts/bridge.sh" <peer> reset --thread <label> # one thread only
bash "$HOME/.agents/skills/agent-bridge/scripts/bridge.sh" reset # every peer, this chat
下次调用时,该同伴会从干净状态开始。其他对话不受影响。如果有受影响的委派任务仍在运行,重置会被拒绝,因此不会清除正在执行的任务——但在启动并行助手时不要重置,因为全新的线程仍可能悄然启动。
你在整个流程中的职责
- 同伴汇报后,先用自己的工具独立验证(阅读文件、运行测试),再决定是否接受。不要不加判断地照单全收。
- 如果有问题,可以在同一会话中委派修复,也可以自己修复——由你决定。
- 完成并验证后,向用户简要总结:完成了什么、检查了什么,以及还有哪些事项未解决。