把 AI Coding 工作流做成插件:资产、契约与运行时的三层拆分
æ AI Coding 工使µåææä»¶ï¼èµäº§ãå¥çº¦ä¸è¿è¡æ¶çä¸å±æå
ZzT 2026-08-15 0 é 读11åéDeepSeek Harness 弿ºåå¾å¿«çªç ´åä¸ starãç度ä¹å¤ï¼æ´å¼å¾ç ç©¶çæ¯å®ç设计ååï¼Everything is a Pluginã
模åéé 卿¯æä»¶ï¼å·¥å ·æ³¨åè¡¨æ¯æä»¶ï¼ä¼è¯æ¥å¿æ¯æä»¶ï¼è¿é©±å¨å¯¹è¯ç Agent Loopï¼Agent æ§è¡å¾ªç¯ï¼ä¹åªæ¯é»è®¤å®ç°ä¹ä¸ãç³»ç»æ²¡æä¸ä¸ªéè¦é ä¿®æ¹æºç æè½æ©å±çç¹æå æ ¸ã
è¿å¥æè·¯ä¸åªéç¨äº Agent Runtimeï¼Agent è¿è¡æ¶ï¼ãåå¾ä¸ä¸å±ï¼å¢éæ¯å¤©ä½¿ç¨ç代ç è§èãè¯å®¡è¦æ±ãäº¤ä»æµç¨åæ¶æçº¦å®ï¼ä¹é¢ä¸´åæ ·çé®é¢ï¼å ¬å ±é¨åéè¦å¤ç¨ï¼å·®å¼é¨åéè¦æ¿æ¢ï¼èä¸ä¸è½éç项ç®å Coding Agent çå¢å 䏿å¤å¶ã
æ¬æå ç¨ DeepSeek Harness è§£éæä»¶åçè¾¹çï¼åç»åºä¸å¥éç¨äº AI Coding 工使µçä¸å±æåï¼æå·¥ä½æµè¿è¡æ¶ä¸éæèµäº§åå¼ï¼æèµäº§ç»ç»æå¯è£ é æä»¶ï¼æåå 许åä¸å¥èµäº§è¿è¡å¨ä¸å弿ä¸ã
DeepSeek Harness çæä»¶æ¨¡å
DeepSeek Harness çæ¶æææ¡£ç¨ä¸å¥è¯æ¦æ¬äºå®çæ©å±æ¹å¼ï¼
there is no privileged core to patch: you extend dsh by mounting a plugin beside the others, and registrations are effects that unwind when their plugin unloads.
è¿å¥è¯å å«ä¸¤ä¸ªæºå¶ã
第ä¸ï¼æä»¶ä¹é´æ²¡æå®æ¹ä¸ç¬¬ä¸æ¹çç级差å¼ãä¼ ç»æä»¶ç³»ç»é常ç±å æ ¸é¢çæ©å±ç¹ï¼ä½¿ç¨è åªè½ä¿®æ¹ä½è äºå 弿¾çé¨åï¼DeepSeek Harness åææ¨¡åãå·¥å ·ãæ¥å¿åæ§è¡å¾ªç¯é½æ¾è¿å䏿£µæä»¶æ ï¼éè¿é ç½®å®ææ¿æ¢ã
第äºï¼æ³¨åæ¯å¯éçå¯ä½ç¨ãæä»¶å¸è½½æ¶ï¼å®æ³¨åçæå¡ãäºä»¶åè¡ä¸ºä¼ä¸å¹¶æ¤éãæ¿æ¢ä¸åªæ¯ææ°å®ç°è£ ä¸å»ï¼è¿è¦ä¿è¯æ§å®ç°éåºåä¸çä¸ç¶æåè¡ä¸ºæ®çã
å®çé ç½®éç¨æåºåå±ï¼é¢ç½® BundleãProfile è¡¥ä¸ãç¨æ·çº§è¡¥ä¸åå½ä»¤è¡è¡¥ä¸ä¾æ¬¡å å ãä¸å±å¯ä»¥æ ID æ¿æ¢ä¸å±é ç½®ï¼æä»¥ååå æä¾çæ¯é»è®¤ç»åï¼è䏿¯ä¸å¯ä¿®æ¹çæç»çæ¡ã
深度å®å¶ç代价
è¿ç§è®¾è®¡æâåªäºé¨åå 许修æ¹âçå³å®æäº¤ç»äºä½¿ç¨è ãé¢åæ£ç´¢æ¹å¼ä¸åï¼å¯ä»¥æ¿æ¢å·¥å ·æä¾è ï¼æ¨¡åè°åº¦çç¥ä¸åï¼å¯ä»¥æ¿æ¢ Agent Loopï¼æä¸ªä¼è¯éè¦åç¬çè½åéåï¼ä¹å¯ä»¥éè¿é ç½®ç»åã
ä»£ä»·å¹¶æ²¡ææ¶å¤±ï¼åªæ¯æ¢äºä½ç½®ã使ç¨è éè¦çè§£æä»¶èè´£ãå 载顺åºãé ç½®è¦çåå ¼å®¹å ³ç³»ï¼æ¡æ¶ç»´æ¤è åè¦æä¾ç¨³å®å¥çº¦ãå¯è¿½è¸ªçé ç½®æ åè¶³å¤å¯é çé»è®¤ç»åãDeepSeek Harness ç®åä»å¤äº Developer Previewï¼å®æ¹ä¹æç¡®æéä¼åºç°ç ´åå ¼å®¹æ§çåæ´ã
å æ¤ï¼å¼ç®±å³ç¨ä¸æ·±åº¦å®å¶å¹¶éä¸¥æ ¼çäºéä¸ã好çé»è®¤é ç½®å¯ä»¥éä½ä¸æææ¬ï¼ä½æ¿æ¢é¢è¶æ·±ï¼ç»å䏿²»çææ¬é常è¶é«ãçæ£çé®é¢æ¯ï¼å¢éçå·®å¼åéæ±ï¼æ¯å¦å·²ç»å¤å°å¼å¾æ¿æ è¿é¨åææ¬ã
è§èæä»¶è¶ç§¯è¶å¤
常è§åæ³æ¯è®©è§èè·ç项ç®èµ°ï¼æ¯ä¸ªä»åºæ¾ä¸ä»½ä¾ Agent 读åç说ææä»¶ï¼ä»£ç 约å®ãç®å½ç»æåè¯å®¡è¦æ±é½åå¨éé¢ï¼é代ç ä¸èµ·æäº¤ã
åªæä¸ä¸ªé¡¹ç®åä¸ç§ Coding Agent æ¶ï¼è¿æ ·æç®åãè§æ¨¡æ©å¤§åï¼å¯æ¬ä¼æ²¿ä¸¤ä¸ªæ¹åå¢é¿ï¼
- 项ç®å¢å ï¼åä¸å¥å ¬å ±çº¦å®è¢«å¤å¶å°å¤ä¸ªä»åºï¼
- Coding Agent å¢å ï¼åä¸é¡¹ç®åè¦ç»´æ¤
CLAUDE.mdãAGENTS.mdæå ¶ä»å¹³å°æä»¶ã
æç»ç»´æ¤éæ¥è¿âé¡¹ç®æ° à Agent æ°âãè¿äºæä»¶è¡¨è¾¾çæ¯å䏿¹çº¦å®ï¼å´ä¼å¨ç¬ç«ä¿®æ¹ä¸éæ¸ååãå ¬å ±è§åæ¹äºä¸æ¬¡ï¼æä¸ªä»åºææä¸ªå¹³å°æ¼æ¹ï¼äºå®æ¥æºå°±ä¸åå¯ä¸ã
æ´éº»ç¦çæ¯ï¼äº¤ä»æµç¨ä¹å¯è½è¢«åæ»å¨å·¥å ·éãéæ±å¦ä½æ¾æ¸ ã使¶è¿å ¥è¯å®¡ã缺å°åªäºäº§ç©å¿ 须忢ï¼å¾å¾æ£è½å¨æç¤ºè¯ãèæ¬åå¹³å°é ç½®ä¸ãæ¤æ¶æ³è°æ´æµç¨ï¼æ¹çå·²ç»ä¸åªæ¯ä¸ä»½è§èï¼èæ¯æ´å¥å·¥å ·ã
è¦è§£é¤è¿ç»ç»å®ï¼å¯ä»¥å䏿¥å¤çï¼å 忏 èµäº§ä¸è¿è¡æ¶çè¾¹çï¼å让èµäº§å¯è£ é ï¼æåè§£é¤èµäº§å¯¹åä¸è¿è¡æ¶çä¾èµã
第ä¸å±ï¼å离éæèµäº§ä¸å·¥ä½æµè¿è¡æ¶
å å®ä¹è¾¹çã
| 屿¬¡ | è´è´£ä»ä¹ | ä¸è´è´£ä»ä¹ |
|---|---|---|
| éæèµäº§ | å£°ææµç¨ææãé¶æ®µå¥çº¦ãAgent è§è²ãSkill åé¢åç¥è¯ | 䏿§è¡è°åº¦ï¼ä¸åè¿è¡ç¶æï¼ä¸å¤çæ¢å¤ |
| 工使µè¿è¡æ¶ | è§£æé ç½®ãæ¨è¿é¶æ®µãè°ç¨æ£æ¥å¨ãç»´æ¤ç¶æãå¤çæå䏿¢å¤ | ä¸å ç½®å ·ä½é¡¹ç®çè§èä¸ç¥è¯ |
éæèµäº§å¯ä»¥å£°æé¶æ®µé¡ºåºãä¾èµå ³ç³»å Gateï¼é¶æ®µæ£æ¥ç¹ï¼ï¼ä½ä¸å 嫿§è¡è¿äºå£°æçè°åº¦ä»£ç ãè¿è¡æ¶ç¥éâææ ·æ¨è¿âï¼èµäº§å®ä¹âè¦æ¨è¿å°åªéï¼ä»¥åä»ä¹æ¡ä»¶ä¸æç®å®æâã
夿ä¸ä¸ªå 容å±äºåªä¸å±ï¼å¯ä»¥ç宿´æ¢æ§è¡å¼æåæ¯å¦ä»ç¶æç«ã鿱鶿®µå¿ 须交ä»åªäºäº§ç©ï¼ä¸ä¾èµå ·ä½å¼æï¼å±äºèµäº§ï¼ç¶æåå ¥åªéãè¿ç¨ä¸æåå¦ä½æ¢å¤ï¼åç±è¿è¡æ¶å³å®ã
ç¨æå½±çæåå¹³å°çåçé ç½®
èµäº§ä¸è¿è¡æ¶å离åï¼è¿éè¦ä¸ä¸ªéé 屿åä¸ä»½èµäº§è½¬æ¢æä¸å Coding Agent è½è¯»åçæ ¼å¼ãè¿éæè¿ä¸ªè¿ç¨ç§°ä¸ºâæå½±âï¼æºèµäº§ä¿æå¹³å°ä¸ç«ï¼æå½±å¨è´è´£çæå®¿ä¸»å¹³å°çç®å½ä¸é ç½®æä»¶ã
targets:
- claude-code
- codex
- deepseek-harness
æ§è¡æå½±åï¼Claude CodeãCodex å DeepSeek Harness åå«å¾å°ç¬¦åèªèº«çº¦å®çæä»¶ãæ°å¢å®¿ä¸»çå·¥ä½ä¸»è¦è½å¨éé å¨ï¼è䏿¯å¤å¶å¹¶ç»´æ¤å ¨é¨è§èã
æå½±äº§ç©å¿ é¡»æ¯åªè¯»çæ´¾çç»æãå®ä»¬å¯ä»¥å¿½ç¥æäº¤ï¼ä¹å¯ä»¥å¨ CI ä¸éæ°çæå¹¶æ ¡éªï¼ä½ä¸è½æä¸ºæ°çç¼è¾å ¥å£ãè¡ä¸ºåæ´åªè½åå°æºèµäº§ä¿®æ¹ï¼å¦åäºå®æ¥æºéæ°åè£ï¼å¯æ¬é®é¢ä¹ä¼åæ¥ã
第äºå±ï¼æéæèµäº§ç»ç»ææä»¶
åç¦»è½æ¶é¤è·¨å¹³å°å¤å¶ï¼å´ä¸è½æ¶é¤é¡¹ç®å·®å¼ã妿ææå¢éåªè½ä½¿ç¨ä¸ä»½åºå®èµäº§ï¼ç»ä¸ç®¡çå¾å¿«ä¼åæå¼ºå¶æ åãå æ¤ï¼èµäº§è¿è¦ç»§ç»æææå¥çº¦çè£ é åå ã
é¶æ®µå£°æï¼å¯è·³è¿ï¼ä¹å¯æ¿æ¢
ä¸ä¸ªäº¤ä»é¶æ®µå¯ä»¥åæå£°æå¼é ç½®ï¼
{
"id": "verify",
"skill": "<é»è®¤éªè¯å®ç°>",
"gate": "verify-to-delivery",
"capabilities": ["review", "runtime-verification"],
"mandatory_review": false
}
skill æåé»è®¤å®ç°ï¼capabilities 声æé¶æ®µå¯ä»¥ä½¿ç¨çè½åï¼mandatory_review å³å®æ¯å¦å¿
须人工确认ï¼gate åå®ä¹ç¦»å¼é¶æ®µåè¦éè¿çæ£æ¥ã
é¶æ®µå é¨è¿å¯ä»¥ç»§ç»ææèç¹ï¼
verify.review:
contract: code-review-signal/v2
enabled: true
depends_on: [verify.execution]
uses:
skill: <代ç è¯å®¡å®ç°>
activation:
metric: changed_lines
threshold: <å¢ééå¼>
enabled æ§å¶èç¹æ¯å¦å¯ç¨ï¼uses æ¯å®ç°æ¿æ¢ç¹ï¼depends_on 声æä¾èµï¼activation è´è´£ææ¡ä»¶è§¦åãè¿è¡æ¶è§£éè¿äºå段ï¼èµäº§æ¬èº«ä¸æ§è¡ä»»ä½è°åº¦ã
å¥çº¦çº¦æäº§ç©ï¼ä¸ç»å®å®ç°
ä»¥éæ±æ¾æ¸
为ä¾ãé»è®¤å®ç°å¯ä»¥æ¿æ¢ä¸º Matt Pocock ç grill-with-docs Skillï¼å®æ²¿å³çæ é项æ¶é¤æ§ä¹ï¼å¹¶å¨æ¾æ¸
è¿ç¨ä¸åæ¥ç»´æ¤æ¯è¯è¡¨åæ¶æå³çè®°å½ï¼Architecture Decision Recordï¼ADRï¼ã
requirements.clarification:
uses:
skill: grill-with-docs
æ¿æ¢æç«çåæä¸æ¯ä¸¤ä¸ª Skill çæç¤ºè¯ç¸ä¼¼ï¼èæ¯å®ä»¬æ»¡è¶³åä¸ä»½è¾åºå¥çº¦ãæµç¨åªè¦æ±éæ±æ¾æ¸ èç¹äº¤ä»æ¯è¯å®ä¹ãå·²å®å³çåæªå³äºé¡¹ï¼ä¸å ³å¿è¿äºäº§ç©ç±åªä¸ª Skill çæã
Gate è´è´£å¨é¶æ®µè¾¹çéªè¯å¥çº¦ï¼å¹¶ä¸åºç±ç¬ç«æ£æ¥å¨æ§è¡ãåç¨é»è®¤èç¹åªè¡¨ç¤ºä¸å使ç¨é»è®¤å®ç°ï¼ä¸çäºéä½äº¤ä»è¦æ±ï¼æ¿ä»£å®ç°äº¤ä¸åºå¿ é产ç©ï¼æµç¨ä»ç¶åæ¢ãè¿æ ·æè½æâå®ç°å¯æ¿æ¢âåâè´¨éæ å稳å®âåæ¶ä¿ç䏿¥ã
äºæ¥ç¥è¯åºå½ç©çé离
æ¶æçº¦å®æå®¹æå¨æä»¶åæ¶åºéã妿æä¸¤å¥äºæ¥è§èå¡è¿åä¸ä»½æä»¶ï¼åç¨æ¡ä»¶åæ¯åè¯ Agent 使¶ä½¿ç¨åªä¸æ®µï¼æ¨¡åä»å¯è½åæ¶å¸æ¶ä¸¤å¥è§åï¼æç»äº§åºæ··åå®ç°ã
æ´ç¨³å¦¥çåæ³æ¯è®©æ¯å¥æ¶æè§èæä¸ºç¬ç«èµäº§ãæ¯ä»½èµäº§é½è¦å£°æéç¨èå´ãç¦ç¨èå´ãçæ¬ãé£é©ç级åäººå·¥å¤æ ¸è¦æ±ï¼
description: >
ä»
å½å·¥ç¨å»ç»çæ¶ææ è¯ä¸º architecture-a/v1 æ¶ä½¿ç¨ã
ä¸éç¨äº architecture-b/v1ï¼ä¹ä¸è´è´£æ¿é¡¹ç®éæ©æ¶æã
metadata:
version: 1.0.5
risk_level: high
human_review: required
å·¥ç¨åå§åæ¶å»ç»æ¶æéæ©ï¼è¿è¡æåªè¯»åç»æï¼ä¸åä¸´æ¶æ¨æãå·¥ç¨ä¾§è´è´£å®è£ åªä»½èµäº§ï¼èµäº§å é¨ä¸éè¦ç¥éå ¶ä»äºæ¥å®ç°çåå¨ãæ°å¢ç¬¬ä¸å¥è§èæ¶ï¼æ°å¢ä¸ä»½èµäº§å³å¯ï¼ä¸å¿ ç»§ç»æ©å¤§åæä»¶éçæ¡ä»¶åæ¯ã
Agent è§è²åé¢åç¥è¯ä¹å¯ä»¥æ²¿ç¨è¿å¥ç»æï¼è§è²ç»å®é»è®¤ Skillï¼ç¥è¯æé¢ååçï¼ç´¢å¼è´è´£åç°ä¸è£ é ãé«é£é©è½åå³ä½¿å·²ç»æä»¶åï¼ä¹ä¸è½ç»è¿äººå·¥ç¡®è®¤ãæä»¶åè§£å³çæ¯æ¿æ¢ä¸å¤ç¨ï¼ä¸ä¼èªå¨è§£å³æéé®é¢ã
第ä¸å±ï¼è®©å·¥ä½æµè¿è¡æ¶ä¹å¯æ¿æ¢
èµäº§å¯ä»¥æ¿æ¢ï¼æ§è¡èµäº§ç弿ä¹ä¸å¿ åªæä¸ä¸ªã
ä¸å¥èªæè¿è¡æ¶å¯ä»¥è§£ææµç¨å¾ï¼ææåæ ç¯å¾ï¼Directed Acyclic Graphï¼DAGï¼æ¨è¿é¶æ®µï¼å¨ Gate ä¸è°ç¨æ£æ¥å¨ï¼å¹¶è®°å½ç¶æä¸è¯æ®ãå®è¿è¦å¤çæåãæ¢å¤ãå¹¶åååå ¥äºæ¥ãè¿äºé½æ¯è¿è¡æ¶èè´£ï¼ä¸åºæ··å ¥ Skill æé¢åç¥è¯ã
å½èµäº§ä¿æè¿è¡æ¶ä¸ç«æ¶ï¼åä¸å¥é¶æ®µå¥çº¦åç¥è¯å¯ä»¥æ å°å°å¤é¨å¼æï¼ä½è¿ééè¦åºåä¸¤ä¸ªå±æ¬¡ã
Trellis æ´æ¥è¿åæ¡ç åæµç¨ç Harnessã宿 Specãä»»å¡ PRDãå®ç°ä¸ä¸æãæ£æ¥ä¸ä¸æå Workspace Journal ä¿åå¨ä»åºä¸ï¼å¹¶åå¤ç§ Coding Agent æå½±åçæä»¶ãæ¥å ¥ Trellis æ¶ï¼éé 卿鶿®µä¸èµäº§æ å°å°å®çç®å½å工使µè¡¨é¢ï¼æµç¨ç¶æç± Trellis 管çã
Multica å¤ççæ¯å¢é级åä½ï¼æ AgentãRuntime å Task åå¼ç®¡çï¼éè¿ Issueãè¯è®ºãä»»å¡åé åè¿è¡è®°å½åè°å¤ä¸ª Agentãå®å¯ä»¥æ¿è½½ææ¡ç åæµç¨ï¼ä½å ³æ³¨ç¹ä¸æ¯é¶æ®µå¦ä½éæ¥æ¨è¿ï¼èæ¯è°æ¥æ§è¡ãå¨åªä¸ª Runtime æ§è¡ï¼ä»¥åç»æå¦ä½åå°å¢éå·¥ä½åºã
ä»èè´£è¾¹çæ¨æï¼ä¸¤è ä¸ä¸å®äºæ¥ãTrellis å¯ä»¥æ¿æ¥å个任å¡å é¨ç计åãå®ç°åéªè¯ï¼Multica å卿´å¤å±è´è´£ä»»å¡åæ´¾ä¸è·¨ Agent åä½ãçæ£éè¦æ¿æ¢çæ¯æä¸å±çå®ç°ï¼è䏿¯æä¸å屿¬¡çå·¥å ·ç¡¬æ¾è¿åä¸ä¸ªåéå表ã
å¤è¿è¡æ¶çå²çªæ§å¶
ä¸å¥èµäº§å 许å¤ä¸ªè¿è¡æ¶è¯»åï¼ä¸ä»£è¡¨å®ä»¬å¯ä»¥åæ¶æ¨è¿åä¸ä¸ªä»»å¡ãè³å°è¦è¡¥ä¸ä¸¤ç±»æ§å¶ï¼
- æ§è¡æä»²è£ï¼æ¯ä¸ªä»»å¡å¨ä»»ä¸æ¶å»åªè½ç±ä¸ä¸ªè¿è¡æ¶ææåæéï¼éæ¾åå ¶ä»è¿è¡æ¶æè½æ¥ç®¡ï¼
- å¥çº¦å ¼å®¹ï¼è¿è¡åæ£æ¥èµäº§çæ¬ãè¿è¡æ¶è½åå Gate æ¥å£ï¼ä¸è½è¯å«çåæ®µå¿ é¡»æç¡®æ¥éï¼ä¸è½éé»å¿½ç¥ã
ç¼ºå°æ§è¡æä»²è£ï¼å¤ä¸ªå¼æä¼åæ¶åç¶æï¼ç¼ºå°å ¼å®¹æ£æ¥ï¼åä¸ä»½èµäº§å¨ä¸å弿ä¸å¯è½å¾å°ä¸åè¯ä¹ãè¿è¡æ¶å¯æ¿æ¢çé¾ç¹ä¸å¨âè½å¦è¯»ååä¸ä»½ YAMLâï¼èå¨åæ¢ä¹åæ¯å¦ä»è½ä¿æä¸è´çç¶ææºåè´¨é约æã
æ»ç»
åå° DeepSeek Harness çäºè®®ï¼å®ç¡®å®æ¯åºå®åè½çæåæ´é¾çè§£ï¼ä½åå 䏿¯æä»¶è¶å¤è¶å è¿ï¼èæ¯ç³»ç»æåæ¬èå¨å æ ¸éçéæ©æ¾å¼äº¤ç»äºä½¿ç¨è ã
AI Coding 工使µä¹ä¸æ ·ãæèµäº§ä¸è¿è¡æ¶åå¼ï¼å¯ä»¥æ¶é¤è·¨å¹³å°å¯æ¬ï¼ç¨å¥çº¦å°è£ èµäº§ï¼å¯ä»¥é离项ç®å·®å¼ï¼å è®¸æ¿æ¢è¿è¡æ¶ï¼åè½é¿å æµç¨é¿æç»å®å¨ä¸ä¸ªå®¿ä¸»ä¸ã䏿¤åæ¶ï¼å¢éä¹è¦æ¿æ çæ¬ç®¡çãä¾èµè§£æãå²çªæ£æµãæé审æ¥åè¿ç§»å ¼å®¹ã
è¿å¥è®¾è®¡éå项ç®ä¹é´ç¡®å®åå¨å·®å¼ãåæ¶ä½¿ç¨å¤ç§ Coding Agentï¼å¹¶ä¸æ¿æç»´æ¤ç»ä¸èµäº§æºçå¢éãå¦æé¡¹ç®ææ¯æ åäº¤ä»æµç¨é«åº¦ä¸è´ï¼ä¸ä»½å ±äº«è§èå å°é项ç®é ç½®é常æ´çäºãæä»¶å䏿¯é»è®¤çæ¡ï¼å®åªå¨âå¤å¶ä¸ç»å®çææ¬âå·²ç»é«äºâç»å䏿²»ççææ¬âæ¶æç«ã
Aitishiku.com