自定义 agent 拉不起来?用通用 subagent + 注入 prompt 顶班,我试通了

分享一下刚踩平的一个坑。

IDE 里配好的自定义 agent(比如审代码的、做校验的),有时候会突然拉不起来——派单被拦、提示类型不存在、换台机器或新会话就找不到它了。重试也没用,活儿卡在那。

我当时没选择硬绕过让别的 agent 直接干,因为角色边界会糊:审代码的人去写代码,约束等于白设。后来想到一个法子:

拉一个一定能拉起来的通用 subagent,把自定义 agent 的职责用一个 prompt 前置块「注入」给它,让它顶班。

实测跑通了。注入模板我收敛成 8 个字段,字段都从该 agent 的定义文件里读(不凭印象写):

【代理角色:代码审查员】
- 域/角色:审查域 / VERIFY(只读)
- 职责:审查变更的正确性、可维护性、边界,输出结构化问题清单
- 前置校验:本次只做审查,与被审对象非同一主体
- 工具:只读读取文件、搜索代码(以载体可用集为准)
- 铁则:只读不写,不替代执行角色
- 边界:不修改代码、不执行部署、不越权
- 输出契约:问题清单(优先级/位置/理由)
(来源:该角色定义文件,SSOT)

任务:<原始任务>

用通用 subagent 拉起 + 这段前置块一贴,角色纪律基本就保住了。

三个时机(别逮着就用):

  1. IDE 正常拉起 → 优先原生自定义,不用这招
  2. 拉起失败、重试 1 次仍失败 → 走注入
  3. 跨会话/换机器,本地没注册这个类型 → 直接注入(这种情况最容易遇到,算是注定拉不起来)

几个坑

  • 通用载体的工具面可能不够,执行前先核对工具在不在,缺就降级成「只读/咨询型」或让主代理代执行
  • VERIFY 独立性会弱化(载体同一个),把角色写进 prompt 头 + 尽量异机校验做补偿,心里有数这是用便利换的
  • 派单前的角色校验不能省——它是守着角色纪律的最后一道
  • 字段从正本文件读、缺了标「缺失」,别脑补

等 IDE 恢复拉起自定义 agent,一切照旧,这个兜底安静待在角落备着就行。

有更好的招欢迎聊聊。

1 个赞