扫描王OCR
44M · 2026-04-08
先说一个真实场景。
你让 AI 改个功能,本来想要“10 分钟提效”,结果最后变成“2 小时排雷”:
我后来发现,问题不在“模型笨”,而在“流程野”。
于是我设计了一个任务编排skill:Harness:developer, 干的事很直接:
把 AI 开发变成一条有门禁的流水线。主会话只负责编排,右侧 pane 才能写业务代码。你可以理解成让 AI 去右边工位打卡上班,左边主管只盯流程,不准亲自抡键盘抢活。
这篇文章不讲玄学,直接讲它到底怎么工作。看完你就能按步骤跑,尤其适合刚上手 AI 协作开发的同学。
从 Step 2 开始,到 Step 6 结束:主会话禁止业务编码。
是的,禁止。不是“尽量不要”,是“违规就 fail”。
为什么这么绝对?因为大多数事故都发生在“差不多就行”的灰色地带。主会话一旦开始手改业务代码,你后面就很难分清:到底是编排成功,还是救火成功。
Harness:developer 固定是 9 个阶段:
/Harness:verify 验证编码结果你可以把它看成“开发版过安检”。每一步都要验票,没票就别进下一站。
终端执行tmux -> codex --yolo 或者 claude --dangerously-skip-permissions -> 输入提示词
# claudecode
/Harness:developer "完成 @docs/产品文档/v1.0/产品文档/交易中心_分账订单PRD.md" "codex" "http://localhost:3000/#/payment-orders/transfers"
# codex
$Harness:developer "完成 @docs/产品文档/v1.0/产品文档/交易中心_分账订单PRD.md" "codex" "http://localhost:3000/#/payment-orders/transfers"
这一阶段主要确认“你现在是不是在能跑流程的环境里”。
要检查的核心点:
smux/tmux-bridge 是否可用codex 还是 claude/prototype-reader、/Harness:progress、/Harness:verify这一步最常见的翻车是:根本不在 tmux 里,或者 pane 信息都拿不到,还硬着头皮继续。后面自然是连锁崩。
一句话总结:Step 0 不是形式主义,它是“这趟车能不能发车”的决定点。
这里是我认为最值钱的一步。Harness:developer 要求并行跑 3 个分析单元:
prd-analyst:看需求prototype-explorer:看原型source-analyst:看现有代码注意,原型分析必须给硬证据,不接受“我看过了”的口头保证。至少要有:
这一步完成后,会把计划文档和进度文档落盘。也就是说,从这一刻开始,你不再是“脑内计划”,而是“可追踪计划”。
很多人跳过这一步,理由是“我急着写代码”。结果往往是后面改三轮,最后总耗时更长。
Step 2 是整条链路的硬门禁。
这里要做几件关键事:
MAIN_PANE_IDORCHESTRATION_LOCK=on 并写锁文件这把锁的意义非常现实:防止流程运行中途“主会话忍不住下场改代码”。
你可以把它当作“防手痒机制”。听起来有点好笑,但真有用。
这一步会生成 READY_TOKEN 和 START_CMD,并做可执行校验。
关键要求是:START_CMD 必须包含 ready:{READY_TOKEN}。
如果只是裸 ready,后面不认。因为裸 ready 很容易误判来源,token 化回执才能明确“这是这次任务、这个 pane、这条链路的回执”。
此外还会记录 START_CMD_SHA1,防止命令被串改或发错版本。
动作看起来简单:
TARGET_PANE_IDMAIN_PANE_IDready:{READY_TOKEN}codex|claude真正难的不是“会不会 split-window”,而是“会不会做来源校验”。
我见过最经典的事故是:ready 回执出现在主 pane,但大家没注意,还继续推进。最后你以为右侧在写代码,实际右侧压根没起来。
这就是为什么它要求 token、要求来源、要求进程在位校验。不是麻烦,是防事故。
这一步的核心是“发送任务 + 验收回执”。
合规 ACK 形态主要是:task_received:{MODULE_NAME}。
如果走 fallback,也不是随便说一句“我收到了”就行,还要补齐工作态证据,比如已经进入工作、已返回空闲等。
还有个细节很关键:ACK 必须来自目标 pane。主 pane 出现对应 ACK,直接判误发。
你可以理解成工单系统里的“签收回执”:没签收,不算派单成功。
这是最考验耐心的一段。
主会话此时允许做的事只有三类:
不允许做的事就一条,但非常重要:主会话不能接管业务编码。
并且完成回执有顺序要求:
verify_done:{MODULE_NAME}done_ack:{MODULE_NAME}顺序错了不行,缺一个也不行。
另外,流程把“等待态”和“故障态”分得很清楚:
timeout、task_blocked:*:属于等待态,继续等429/50x:才算故障态,可进入恢复策略这条规则能显著减少“焦虑型误操作”:看着不动就 kill pane,结果把正常执行链路硬切断。
定时更新进度的效果图:
/Harness:verify,不能口头毕业到了这步,很多人会说“我自己跑了 lint/typecheck 就好了吧”。
不行。
Harness:developer 要求必须调用 /Harness:verify,并保留可核验回执。原因很简单:统一口径、统一证据、统一复盘入口。否则每个人都说“我测过了”,但没人说得清“你到底怎么测的”。
最后一步是很多团队最容易忽略的,但长期价值最大:
这一步做得好,后面查问题就不是“靠记忆猜”,而是“按记录查”。
如果你只看“第一次上手成本”,它确实比一句 prompt 重。
但如果你看“总交付成本”,它通常更省:
说白了,这是一套“把 AI 开发从表演赛变成联赛”的方法。
如果你今天就想试,照这个顺序来:
/Harness:verify,别手动替代你会发现,流程不是束缚,而是“降低犯错自由度”。这在多人协作里,几乎总是好事。
Harness:developer 最厉害的地方,不是让 AI 写得更快,而是让你知道“它到底有没有按规范写”。
快不快是一时的,稳不稳是长期的。
把 AI 放到右侧 pane 去打工,把主会话留给编排和审计。你会明显感觉到:项目开始像项目了,不再像临场 improvisation。
Windows + RTX 5090 + ComfyUI 桌面版 安装 SageAttention 完全手册
08-Java工程师的Python第八课-框架入门
2026-04-08
2026-04-08