5 分钟看懂 DeepSeek Harness
5 åéçæ DeepSeek Harness
两ä¸äºåä¸ªå°æ¶ 2026-08-15 0 é 读15åé5 åéçæ DeepSeek Harness
ãæ·±å ¥çè§£ DeepSeek Harnessãç³»å第 0 ç¯ââæ´ä¸ªç³»åçå°å¾
ð ä»åºï¼github.com/deepseek-aiâ¦ãæ¬æåºäºæ°ç¨¿æ¶çæºç æ°åï¼ä»£ç 示ä¾ä¸ºå¸®å©çè§£èåäºç®åï¼è¯·ä»¥å®é ä»åºä¸ºåã
注ï¼Mermaid å¾è¡¨å¨æéçå客平å°ä¸æ¸²æï¼åå¸ç伿¿æ¢ä¸ºé¢æ¸²æå¾çã
å¼è¨
å¦æä½ æå¼è¿ä»»ä½ä¸ä¸ª Agent å·¥å ·çæºç ââClaude CodeãCodexãOpenClawââä½ ä¼åç°ä¸ä¸ªå ±å模å¼ï¼æä¸ä¸ªæ ¸å¿å¾ªç¯æ¯ç¡¬ç¼ç çï¼ä½ ä¸è½æ¢ï¼æä¸ç»å·¥å ·æ¯å ç½®çï¼ä½ ä¸è½å ï¼æä¸æ¡ LLM è°ç¨é¾è·¯æ¯åæ»çï¼ä½ ä¸è½å¾é颿ä¸è¥¿ãæ³æ¢ä¸ä¸ªä¸ä¸æå缩çç¥ï¼fork æ´ä¸ªæ¡æ¶ãæ³å ä¸ä¸ªèªå®ä¹çæéæ£æ¥ï¼æ¹æºç ã
DeepSeek Harness çåçä¸åï¼æ²¡æä»»ä½ä¸å±åºè¯¥æ¯ç¹ææ ¸å¿ã
DeepSeek Harness ç AGENTS.md å¼ç¯ä¸å¥è¯å®ä¹äºæ´ä¸ªé¡¹ç®çå²å¦ï¼
DeepSeek Harness is a plugin-based agent harness on vendored Cordis: everything is a plugin.
Agent Loop æ¯æä»¶ï¼System Prompt æ¯æä»¶ï¼LLM æ¯æä»¶ï¼Tools æ¯æä»¶ï¼Session æ¯æä»¶ââè¿é ç½®å è½½å¨æ¬èº«ä¹æ¯æä»¶ãè¿ä¸æ¯ä¸å¥å£å·ï¼èæ¯ä½ 卿ºç éè½çå°ãå¨é ç½®éè½æ¹çäºå®ã
æ´éè¦çæ¯ï¼DeepSeek Harness ä¸å Claude CodeãCodex ç«äºãå®çå Agent ç³»ç»æ subagent-claude-code å subagent-codex 两个 Providerââä½ å¯ä»¥è®© DeepSeek Harness ç Agent éè¿ subagent å·¥å
·è°ç¨ Claude Code æ Codex æ¥å®æåä»»å¡ãå®ä»¬å¨ DeepSeek Harness éåªæ¯ä¸åç Providerã
è¿ç¯æç« æ¯æ´ä¸ªç³»åçå°å¾ã读å®ä¹åï¼ä½ ä¼ç¥é DeepSeek Harness ç±åªäºé¨åç»æãå®ä»¬æä¹åä½ãä»¥åæ¯ä¸ªè®¾è®¡å³çèåè§£å³äºä»ä¹é®é¢ã
é è¯»é¨æ§
åç½®ç¥è¯ï¼éè¦ TypeScript åºç¡ï¼è½è¯»æ
abstract classãgenericsãdeclaration mergingï¼ï¼äºè§£ ReAct Agent åºæ¬æ¦å¿µï¼LLM äº¤æ¿æ¨çä¸è¡å¨çå¾ªç¯æ¨¡å¼ï¼ãéåï¼æ³è¦é 读 DeepSeek Harness æºç ãå Agent æ¡æ¶äºæ¬¡å¼åçå¼åè ã
ä¸éåï¼é¶åºç¡æ³å¦ä¹ 大模å Agent å ¥é¨ç读è ââ建议å äºè§£ ReAct 模å¼å TypeScript æä»¶æ¶æå忥ã
ä¸å¾æ»è§
å æ¾ä¸å¼ æ´ä½æ¡æ¶å¾ï¼åé¢å «ä¸ªæ¨¡åé½å¨è¿å¼ å¾éï¼
graph TD
classDef invisible fill:none,stroke:none,color:none
U([ç¨æ·æ¶æ¯]) --> IN[Inbox è¾å
¥éå]
subgraph CORE[å
«ä¸ªæ ¸å¿æ¨¡å]
direction TB
IN --> AL[Agent Loop Turn-Step 循ç¯]
AL --> SP[System Prompt ä¸ä¸ææ¼è£
]
AL --> TL[Tools pre-execute-post]
AL --> LLM[LLM 模åéé
]
TL --> CAP[Shell FS åè¿ç¨çè½å]
dummy_core[ ]:::invisible
end
CMP[Compaction ä¸ä¸æå缩] -.->|çå¬ pre-step| AL
SE[Session 追å å¼äºä»¶æ¥å¿]
AL -.->|turn-step-chunk-tool äºä»¶| SE
IN -.->|inbox-spliced| SE
CMP -.->|compaction-start-end| SE
subgraph BASE[Cordis æä»¶æ¡æ¶ - å°åº]
direction TB
B1["ä¾èµæ³¨å
¥<br/>äºä»¶æ»çº¿<br/>å¯ä½ç¨æ¸
ç"]
dummy_base[ ]:::invisible
end
dummy_core -.->|æå»ºäº| dummy_base
å¾ 1ï¼ä¸æ¡æ¶æ¯ä» Inbox è¿å ¥ï¼Agent Loop 驱å¨å¾ªç¯ï¼System Prompt / Tools / LLM åå¸å ¶èï¼Compaction 卿¨¡åè°ç¨åå åºï¼Session æ²åºè®°å½ä¸åãå®çº¿ = è°ç¨ï¼è线 = äºä»¶ / æ¥å¿åå ¥ãæ³¨ææ¥å¿çåå ¥æ¹æ¯ Agent Loopï¼æ¯æ¥ãæ¯ä¸ªæµå¼ chunkãæ¯ä¸ªå·¥å ·è°ç¨ï¼ãInboxï¼éååæ´ï¼å Compactionï¼å缩æ è®°ï¼ââLLM åå·¥å ·æ¨¡åæ¬èº«ä¸åæ¥å¿ï¼å®ä»¬äº§ççäºä»¶ç±å¾ªç¯è´è´£è®°å½ã
读å¾ä¹åï¼åªéè¦è®¤è¯ä¸ä»¶äºï¼è¿äºæ¨¡åå
¨é½å»ºå¨ Cordis ä¸ââä¸ä¸ª TypeScript æä»¶æ¡æ¶ï¼æå为è天æºå¨äºº Koishi 设计ï¼ãDeepSeek Harness æå®çæºç ç´æ¥ vendor è¿ä»åºè䏿¯ç¨ npm å®è£
ï¼å 为è¦å¨é颿 Agent ç¹æçè¡¥ä¸ãä½ åªéè¦è®°ä½ Cordis çä¸ä¸ªå¨ä½ï¼ä¸ä¸ªç±»ç»§æ¿ Service 并卿é 彿°éè°ç¨ super(ctx, 'key')ï¼å®å°±èªå¨æ³¨åå° ctx.key ä¸ï¼ä»»ä½æä»¶é½è½éè¿ ctx.key 使ç¨å®ã注åå³æè½½ï¼å¸è½½å³æ¸
çã ä¸é¢å
«ä¸ªæ¨¡åå
¨æ¯è¿ä¹æä¸å»çã
å «ä¸ªæ ¸å¿æ¨¡å
â Inbox ââ æ¶æ¯çé¨å£
ææè¿å ¥ Agent çæ¶æ¯ï¼ç¬¬ä¸ç«é½æ¯ Inboxââä¸ä¸ªæéçå°æ¹ã为ä»ä¹è¦æéï¼å 为"æ¶æ¯ä»ä¹æ¶åå°"å"Agent ä»ä¹æ¶åæç©º"æ¯ä¸¤ç äºãä½ å¨ Agent å¿å¾ä¸å¯å¼äº¤çæ¶åå䏿¡æ¶æ¯ï¼å®ä¸ä¼ä¸¢ï¼ä¹ä¸ä¼ææå½åçå·¥ä½ï¼åªæ¯å®éå°æå¨ééï¼çå¾ªç¯æç©ºäºååèµ°ã
æ´æææçæ¯æè¯ãä½ å¨ Agent 干活干å°ä¸åï¼è¡¥ä¸å¥"é¡ºä¾¿ææµè¯ä¹è·äº"ââè¿æ¡æ¶æ¯ä¼æè¿ä¸ä¸ªæ´ççéåï¼next-stepï¼ï¼å½åè¿ä¸æ¥ä¸å®æå°±è¢«åèµ°ãå°±åé¤å éå åï¼ä¸ç¨éæ°æéï¼ä¹ä¸ä¼æä¹±å¨æ¿ç顺åºã
æéçå¯é æ§æ¯éèç亮ç¹ï¼éåçæ¯ä¸æ¬¡åæ´é½åè¿ä¼è¯æ¥å¿ï¼agent/inbox/spliced äºä»¶ï¼ãé
åæä¹
åæä»¶ææ¥å¿åå°ç£çï¼Agent å´©æºäºãè¿ç¨éå¯äºï¼éå仿¥å¿ééæ¾æ¢å¤ââä½ ååºçæ¶æ¯ä¸æ¡é½ä¸ä¼ä¸¢ãè¿ä¸ç¹å¾å¤"è½ç¨"ç Agent å·¥å
·é½åä¸å°ã
宿´çåéåæºå¶ãä¸ç§æ³¨å ¥æ¹å¼ï¼followup / steer / injectï¼è§ 001ï¼Agent Loop æ§è¡å¼æã
â¡ Agent Loop ââ æ§è¡å¾ªç¯
å «ä¸ªæ¨¡åéï¼åªæ Agent Loop æ¯"å¨å¨"çââå ¶ä½æ¨¡åé½å¨ç宿¥è°ç¨ãå®å®ç°ç模å¼ä½ 大æ¦çå¬è¿ï¼ReActï¼è®©æ¨¡å交æ¿"æ¨ç"å"è¡å¨"ï¼ç´å°ä»»å¡å®æã
å®ç¨ä¸¤å±å¾ªç¯ç»ç»è¿ä»¶äºãå¤å±æ¯ Turnï¼ä¸æ¬¡å®æ´å¯¹è¯ï¼ä»ç¨æ·è¾å ¥å° Agent äº¤åæ§å¶æãå 屿¯ Stepï¼Turn å é¨ç䏿¬¡"è°ç¨æ¨¡å â æ§è¡å·¥å · â æç»æå忍¡å"ãä½ å¯¹å®è¯´"帮æéæè¿ä¸ªå½æ°å¹¶è·ä¸ä¸æµè¯"ï¼å®å¯è½å 读æä»¶ï¼Step 1ï¼ãæ¹ä»£ç ï¼Step 2ï¼ãè·æµè¯ï¼Step 3ï¼ï¼ç´å°æä¸æ¥æ¨¡åä¸åè¦æ±å·¥å ·ï¼Turn æç»æã
å
³é®ä¸å¨å¾ªç¯æ¬èº«ï¼å¨å¾ªç¯çå个å³çç¹ââå¼å§åã请æ±åãåºéæ¶ãç»æåââå
¨é¨æ¯äºä»¶ï¼ä¸æ¯åæ»çé»è¾ãä¸ä¸æå缩æå¨"å¼å§å"ï¼pre-step äºä»¶ï¼ï¼ååé«äºå
å缩åå²åæ¾è¡ï¼æéæä»¶ä¹è½å¨è¿éç´æ¥æç»ï¼æ´ä¸ª Turn 以 blocked æ¶åºï¼ä¸ä¸ªæ¨¡åè°ç¨é½ä¸è±ã
å¦å¤ï¼å¾ªç¯çæ¯ä¸æ¥é½è½è¿æ¥å¿ï¼turn/startãstep/startãæ¯ä¸ªæµå¼ chunkãstep/endãturn/endââæå¤´å¿
æå°¾ï¼ä¸æä¹ä¸çå个 Stepãè¿å°±æ¯ä¸ºä»ä¹åé¢ Session é£ä¸èè½æç«ã
宿´ç Phase ç¶ææºãå¤éä¸éåãå·¥å ·å¹¶è¡è°åº¦ï¼è§ 001ï¼Agent Loop æ§è¡å¼æã
⢠System Prompt ââ ä¸ä¸ææ¼è£
ç³»ç»æç¤ºè¯ä¸æ¯ä¸æ®µåæ»çåç¬¦ä¸²ï¼æ¯æ¼åºæ¥çã
ä¼ ç»æ¡æ¶éï¼å ä¸ä¸ªå·¥å ·å°±å¾å»æ¹æç¤ºè¯æ¨¡æ¿ââå·¥å ·å表ã身份ãè§åå ¨æå¨ä¸æ®µå符串éï¼è°æ¹è°å²çªãDeepSeek Harness ææç¤ºè¯ææä¸ä¸ªä¸ª Sectionï¼å·¥å ·å表æ¯ä¸ä¸ª Sectionãç¨æ·èº«ä»½æ¯ä¸ä¸ª Sectionãç¯å¢ä¿¡æ¯æ¯ä¸ä¸ª Sectionãè®°å¿æä»¶ä¹æ¯ä¸ä¸ª Sectionãæ¯ä¸ªæä»¶æ³¨åèªå·±ç Sectionã声æä¼å 级ï¼ç»è£ æ¶æä¼å 级æ¼èµ·æ¥ã
好å¤ç«ç«¿è§å½±ï¼å ä¸ä¸ª bash å·¥å ·ï¼ä¸éè¦ç¢°ä»»ä½äººçæç¤ºè¯ââtool-bash æä»¶æ³¨åæ¶å¸¦ä¸èªå·±ç Section å°±è¡ï¼èªå¨åºç°å¨æ£ç¡®ä½ç½®ï¼äºä¸è¦çãæä»¶ä¹é´æ æ³ç´æ¥æ¹å¯¹æ¹çæç¤ºè¯ï¼è¿ä¸ªç»è£ ç¹å°±æ¯å®ä»¬ç"å ¬å ±é»æ¿"ã
ç»è£
è¿ç¨æ¬èº«ä¹æ¯äºä»¶ï¼system-prompt/assembleï¼ââä½ è¿è½å¨æåä¸å»æ³¨å
¥é¢å¤ä¸ä¸æãè¯¦è§ 002ï¼System Prompt ç卿ç»è£
ã
⣠LLM ââ æ¨¡åéé
æ¢ä¸ä¸ªæ¨¡åä¾åºåï¼è¦æ¹å¤å°ä»£ç ï¼DeepSeek Harness ççæ¡æ¯ï¼ä¸è¡é ç½®ã
LLM æ¨¡åæ¯ä¸ä¸ªéé
卿³¨å表ï¼llm-deepseekãllm-pi-aiãllm-replay 齿¯æ³¨åè¿å»çéé
å¨ï¼è°ç¨æ¹åªè· ctx.llm æäº¤éï¼ä¸ç¥éåºå±æ¯è°ã模åè°ç¨æ¬èº«ä¹æ¯äºä»¶ï¼llm/streamï¼ââæ³åè·¯ç±ã注å
¥éè¯ãçè³æ´ä½æ¿æ¢æµï¼çå¬è¿ä¸ªäºä»¶å°±è¡ã
é
ç½®å±é¢ï¼cordis.patch.yml éæ llm-deepseek æ¢æå¦ä¸ä¸ª Providerï¼æ´ä¸ªç³»ç»ç
§è·ãè¿æ¯"è½åæ¥ç¼"æç´è§çä½ç°ï¼ä¹æ¯ç¬¬ â§ èè¦å±å¼ç模å¼ãè¯¦è§ 003ï¼LLM éé
å±ã
⤠Tools ââ å·¥å ·ç®¡é
模å说"æè¦è°ç¨å·¥å ·"ï¼ç¶åå¢ï¼
æ´ç´ åæ³æ¯æ¾å°å·¥å ·å½æ°ç´æ¥æ§è¡ãDeepSeek Harness æ"æ§è¡ä¸ä¸ªå·¥å ·"ææä¸æ®µçå¸ï¼pre-executeï¼æéãåæ°æ ¡éªï¼â executeï¼è¶ æ¶ãéè¯ï¼â post-executeï¼ç»æè½¬æ¢ï¼ãæ¯ä¸æ®µé½æ¯äºä»¶ï¼ä»»ä½æä»¶é½è½æè¿æ¥ï¼ä¸è° next() å°±å¯ä»¥çè·¯ââæ¯å¦æéæä»¶å¨ pre-execute æç»ï¼å·¥å ·æ ¹æ¬ä¸ä¼æ§è¡ã
æ®µä¸æ®µä¹é´ç"æ¥å£"æ¯å
¬å¼çï¼æä»¥ä¸¤ä¸ªæä»¶çå¬å䏿®µä¹ä¸ææ¶ï¼compaction-tool-result-pruner æè¶
è¿ 8192 å符çå·¥å
·è¾åºæªæå¤´å°¾ï¼spill-policy æè¶
è¿ 50KB çè¾åºæ¢æä¸´æ¶æä»¶å¼ç¨ââåèª next() ä¸å»ï¼äºä¸ç¥é对æ¹åå¨ã
äºæ¯"å æéæ£æ¥""å è¶ æ¶""å 大è¾åºæªæ"è¿äºéæ±ï¼å ¨é¨åæ"æä¸ä¸ªæä»¶"ï¼å·¥å ·æ³¨å代ç ä¸è¡ä¸æ¹ãè¯¦è§ 004ï¼å·¥å ·ç³»ç»è®¾è®¡ã
⥠Session ââ äºä»¶æ¥å¿
è¿æ¯å ¨ç¯æå¼å¾å䏿¥æ³çä¸èã
Session 䏿¯æ°æ®åºï¼æ¯ä¸ä¸ªè¿½å å¼äºä»¶æ¥å¿ï¼ç¨æ·æ¶æ¯ã模ååå¤çæ¯ä¸ä¸ªæµå¼ chunkãå·¥å ·è°ç¨ãå·¥å ·ç»æââå ¨é¨æ¯ä¸å¯åäºä»¶ï¼æé¡ºåºè¿½å ã项ç®éæä¸æ¡ç¡¬çº¦æï¼
模åè½çå°çï¼æ¥å¿éå¿ é¡»æã ä»»ä½è¿å ¥æ¨¡å请æ±çå 容ï¼é½å¿ é¡»è½ä»æ¥å¿é建ââè¿è¡æ¶è¿ææè¨å¨æ£æ¥è¿æ¡ä¸åéã
å®å¸¦æ¥ä¸ä¸ªå¾ç½çæ¨è®ºï¼ç»ä¸ä»½æ¥å¿ï¼å°±è½å®æ´éæ¾ä¸æ¬¡å¯¹è¯ï¼å
æ¬é token çæåææãæä¹
åï¼JSONL / SQLiteï¼åªæ¯çå¬ session/event æäºä»¶åççæä»¶ï¼ä¸è£
å®ï¼å
åéç session ç
§å¸¸å·¥ä½ï¼åªæ¯éå¯å丢失ã
ç±»æ¯ï¼å«çæ¡æ¶åçæ¯"è天记å½çæªå¾"ï¼DeepSeek Harness åçæ¯"å½å带"ââæªå¾åªè½çç»æï¼å½å带è½éæ¾å ¨è¿ç¨ãè¯¦è§ 005ï¼Session äºä»¶æ¥å¿ã
⦠Compaction ââ é¿å¯¹è¯å缩
é¿å¯¹è¯è¿æ©æçä¸ä¸æçªå£ãDeepSeek Harness çè§£æ³ä¸æ¯"å åå²"ï¼æ¯"åæè¦"ã
Compaction æå¨ Agent Loop ç pre-step ä¸ï¼æ¯æ¬¡æ¨¡åè°ç¨åæ£æ¥ä¸ä¸æååï¼ååé«äºå°±æä¸æ®µåå²èå´æ¿æ¢æä¸ä¸ªæè¦èç¹ï¼æ¿æ¢æ¬èº«ä¹åè¿æ¥å¿ï¼compaction/start â compaction/end ä¸å¯¹æ è®°ï¼é²æ¢å¹¶åå缩ï¼ã
ä¸ä¸ªå ¥å£ï¼èªå¨ï¼ååææº¢åºæ¶è§¦åï¼ãæå¨ï¼ç¨æ·æ§è¡ /compactï¼ãæå®èå´ï¼å¼ºå¶åç¼©ææ®µåå²ï¼ãé»è®¤å®ç°ç¨ LLM çææè¦ï¼ä¸æ»¡æï¼åä¸ä¸ªå®ç°å䏿¥å£çæ° Provider æä¸å»ââå缩çç¥ä¹æ¯æä»¶ãè¯¦è§ 006ï¼ä¸ä¸æå缩ã
â§ Capability Seam ââ è½åæ¥ç¼
æ â -⦠串起æ¥ï¼ä¼åç°ä¸ä¸ªè´¯ç©¿å§ç»ç模å¼ï¼å®ä¹ãå®ç°ã使ç¨ä¸è å离ã
以 Shell 为ä¾ï¼ShellExecutor æ½è±¡ç±»å®ä¹"è½æ§è¡å½ä»¤"è¿ä¸ªè½åï¼æå¨ ctx.shell ä¸ï¼ï¼bash-sandboxãpwsh-local æ¯å®çå®ç°ï¼tool-bash æ¯ä½¿ç¨è
ï¼åªè° ctx.shell.execute()ï¼ä¸ç¥éåºå±æ¯è°ã忢å®ç°åªéæ¹é
ç½®ââæ¯å¦ Windows ä¸èªå¨ç¦ç¨ bashãæ¢ pwshã
è¿ä¸ªæ¨¡å¼è¦çäºæ´ä¸ªç³»ç»ï¼LLMãæä»¶ç³»ç»ãåè¿ç¨ãæ²ç®±ãæä¹
ç»ç«¯ãåè¯ãå Agentâ¦â¦åå æ¡ Seamãææææçæ¯å Agent è¿ä¸æ¡ï¼Provider åè¡¨éæ subagent-claude-code å subagent-codexââDeepSeek Harness ä¸å Claude Code ç«äºï¼å®å¯ä»¥ç¼æå®ä»¬ï¼è®©èªå®¶ Agent éè¿ subagent å·¥å
·æåä»»å¡äº¤ç» Claude Code 宿ãå¨ DeepSeek Harness éï¼å®ä»¬åªæ¯ä¸åçæå¤´ãè¯¦è§ 007ï¼è½åæ¥ç¼æ¨¡å¼ã
第äºå±ï¼è½åä¸å使¨¡å
ä¸é¢å «ä¸ªæ¨¡åæ¯ä¸æ¡æ¶æ¯çå¿ ç»ä¹è·¯ââä»»ä½ä¸æ¬¡å¯¹è¯é½è¦ç»è¿å®ä»¬ãä½ä¸ä¸ªå®æ´ç Agent 产åè¿ä¸æ¢è¿æ¡ä¸»çº¿ï¼SubagentãWorkflowãGuardãPermission è¿äºè½åä¸å¨æ¶æ¯ä¸»çº¿ä¸ï¼å®ä»¬æå¨æ ¸å¿å¨å´ï¼å³å®"è¿ä¸ªäº§åè½å¹²ä»ä¹"ï¼
| 模å | å¹²ä»ä¹ | æç« |
|---|---|---|
| Subagent | æä»»å¡å§æç»å Agentï¼å¤ä¸ª Provider å¯å
±åï¼å« subagent-claude-code / subagent-codexï¼ | 009ï¼è§åä¸ï¼ |
| Workflow | 模åç¼åç¼æèæ¬ï¼é©±å¨å¤ä¸ªå Agent åä½ | 010ï¼è§åä¸ï¼ |
| Guard | çè§å¾ªç¯çæ ææ¨¡å¼ï¼ç»åæ¬¡å·¥å ·è°ç¨è®¾é¢ç®ä¸è¶ æ¶ | 011ï¼è§åä¸ï¼ |
| Permission | 人类åä½å±ï¼interaction å
ï¼ï¼æé®ã审æ¹ãæéé¢è®¾ãå½ä»¤ | 011 |
| Sandbox | ç»è¿ç¨æ§è¡å¥å®å
¨è¾¹çï¼sandbox å
ï¼ | 011 |
| Plan | è®¡åæ¨¡å¼ï¼ç»å½æ¥å¿çåä½ç¶æï¼èéä¸ä¸ªå¼å ³ | 012ï¼è§åä¸ï¼ |
| Preset | æä¼è¯ç»å Agentï¼ä¸åä¼è¯å¯æä¸åå·¥å ·ä¸æç¤ºè¯ | 012 |
| Context | 请æ±ä¸ä¸ææ³¨å ¥ï¼æä»¤ãæ¶é´ãç»ç«¯ç¶æâ¦â¦ï¼ | 012 |
| Todo / Goal | 任塿¸ åä¸æä¹ ç®æ | 012 |
| Hooks | å ¼å®¹ Claude Code / Codex ç hook å议桥 | 013ï¼è§åä¸ï¼ |
ä¸å±å³å®"䏿¡æ¶æ¯æä¹èµ°"ï¼ä¸å±å³å®"è¿ä¸ªäº§åè½å¹²ä»ä¹"ââè¿æ¯æ´å¥æ¶æç两æ¡è ¿ã䏿çç³»åå¯¼èªæä¸¤å±é½åä¸äºï¼ç¬¬äºå±æ 注"è§åä¸"ï¼ã
è¿æ ·è®¾è®¡ï¼æ¢æ¥äºä»ä¹
å¼å¤´è¯´çé£ä¸ª"if å "宿å½ï¼ç°å¨å¯ä»¥ç»çæ¡äºã
- æ©å±ä¸ç¢°æ ¸å¿ã æéãè¶ æ¶ãåç¼©ãæªæââå ¨æ¯ææä»¶ï¼æ ¸å¿å¾ªç¯ä¸è¡ä¸æ¹ãæ³æ¢æ´ä¸ª Agent Loopï¼åä¸ä¸ªå®ç° Agent æ¥å£çæ°æä»¶å°±è¡ï¼ä¸ç¨ forkã
- æ¢ä»¶ä¸æ¢è½¦ã Seam 让 Provider é便æ¢ï¼æ¢æ¨¡åæ¯ä¸è¡é ç½®ï¼ææä»¶ç³»ç»ãåè¿ç¨æåè¿ç¨æ²ç®±è¿æ ·ç大æ¹ï¼ä¹åªæ¯é ç½®ã
- ä¸åå¯éæ¾ã Session æ¥å¿è®©"模åçå°ç"å"è®°å½ä¸æ¥ç"æ°¸è¿ä¸è´ââæ¢å¤ã审计ãè°è¯ãè®¡è´¹å ¨é¨ä»æ¥å¿æ´¾çï¼ä¸éè¦é¢å¤è®¾æ½ã
代价ä¹è¦è¯´æ¸ æ¥ï¼æä»¶ä½ç³»æå¤æåº¦åç½®äºãç¬¬ä¸æ¬¡çè§£å®æ¯çè§£ä¸ä¸ª if å é¾ï¼ä½ä¹åæ¯ä¸æ¬¡æ¹å¨é½æ¯ if å ç®åãæ¯"䏿¬¡æ§ä»æ¸ å¤æåº¦"ï¼è¿æ¯"æ¯æ¬¡æ¹å¨é½ä»å©æ¯"ââDeepSeek Harness éäºåè ã
ç³»åæç« 导èª
å «ä¸ªæ ¸å¿æ¨¡åï¼å¯¹åºå «ç¯è¯¦ç»æºç è§£æï¼ç¬¬äºå±è½å模åçæç« æ æ³¨"è§åä¸"ï¼
| ç¼å· | æ ¸å¿æ¨¡å | è¯¦ç»æç« |
|---|---|---|
| 001 | Inbox + Agent Loop | æ§è¡å¼æï¼Turn/Step 循ç¯ä¸è¾å ¥éå |
| 002 | System Prompt | æç¤ºè¯æ¼è£ ï¼Section ä¸ä¼å 级 |
| 003 | LLM | 模åéé ï¼æ¢æ¨¡ååªæ¹é ç½® |
| 004 | Tools | å·¥å ·ç³»ç»è®¾è®¡ï¼ä¸æ®µ waterfall 管é |
| 005 | Session | äºä»¶æ¥å¿ï¼éæ¾å³çç¸ |
| 006 | Compaction | é¿å¯¹è¯åç¼©ï¼æè¦æ¢åå² |
| 007 | Capability Seam | è½åæ¥ç¼ï¼æ¢ Provider å°±æ¯æ¢æå¤´ |
| 008 | Cordis | æä»¶ä½ç³»ï¼æ³¨åå³æè½½ï¼å¸è½½å³æ¸ ç |
| 第äºå±ï¼è§åä¸ï¼ | ||
| 009 | Subagent | å Agentï¼å§æä¸é离ï¼è§åä¸ï¼ |
| 010 | Workflow | ç¼æï¼æ¨¡å驱å¨çå¤ Agent åä½ï¼è§åä¸ï¼ |
| 011 | Guard + Permission + Sandbox | 循ç¯å«çã人类åä½ä¸æ²ç®±ï¼è§åä¸ï¼ |
| 012 | Plan + Preset + Context + Todo | ä¼è¯ç¶æä¸ä¸ä¸ææ³¨å ¥ï¼è§åä¸ï¼ |
| 013 | Hooks | Claude Code / Codex hook æ¡¥ï¼è§åä¸ï¼ |
001 æ¯æ ¸å¿å¿ 读ï¼çè§£ Agent Loop ä¹åå ¶ä»æ¨¡åæè½ä¸²èµ·æ¥ï¼007 æ¯è·¨æ¨¡åç设计模å¼ï¼è¯»å® â -⥠å读æ´ééã001-008 æ¯ç¬¬ä¸å±ï¼æ¶æ¯ä¸»çº¿ï¼çæç« ï¼009-013 æ¯ç¬¬äºå±ï¼è½åä¸å使¨¡åï¼ââ第ä¸å±å³å®"䏿¡æ¶æ¯æä¹èµ°"ï¼ç¬¬äºå±å³å®"è¿ä¸ªäº§åè½å¹²ä»ä¹"ã
常è§é®é¢ FAQ
Q: "å «ä¸ªæ ¸å¿æ¨¡å"æ¯å®æ¹åååï¼
A: 䏿¯ï¼æ¯æè¯»æºç åå½çº³çã宿¹ææ¡£ï¼docs/architecture.mdï¼æ²¡æè¿ç§ååãè¿ä¸ªååæ¯ä¸ºäºå¸®å©çè§£ï¼ä¸æ¯æºç éçå½åã
Q: Turn å Step æä»ä¹åºå«ï¼
A: Turn æ¯ä¸æ¬¡å®æ´å¯¹è¯è½®æ¬¡ï¼ä»ç¨æ·è¾å ¥å° Agent è¿åæç»ç»æï¼ï¼Step æ¯ Turn å é¨ç䏿¬¡"è°ç¨æ¨¡å â æ§è¡å·¥å · â è¿åç»æ"è¿ä»£ãä¸ä¸ª Turn å¯è½å å«å¤ä¸ª Stepââ"帮æéæå¹¶æµè¯"å¯è½å 读æä»¶ã忹代ç ãåè·æµè¯ï¼æåæ å·¥å ·è°ç¨æç»æè½®æ¬¡ã
Q: DeepSeek Harness å Claude Code æ¯ä»ä¹å ³ç³»ï¼
A: 䏿¯æ¿ä»£åãDeepSeek Harness ç ctx.subagents æ subagent-claude-code å subagent-codex 两个 Providerââä½ å¯ä»¥è®© DeepSeek Harness ç Agent éè¿ subagent å·¥å
·è°ç¨ Claude Code æ Codex 宿åä»»å¡ãå®ä»¬å¨ DeepSeek Harness éåªæ¯ä¸åç Providerã
Q: Session åæä¹ 忝ä»ä¹å ³ç³»ï¼
A: Session å¨å
åéæ¯è¿½å å¼äºä»¶æ¥å¿ãæä¹
åï¼JSONL/SQLiteï¼æ¯å¯éæä»¶ï¼çå¬ session/event æäºä»¶åå°ç£çãå
åéç session ä¸ä¾èµæä¹
åå±ââä¸è£
æä¹
åæä»¶ï¼session ç
§å¸¸å·¥ä½ï¼åªæ¯éå¯å丢失ã
Q: å Agent å主 Agent å ±äº«ä¸ä¸æåï¼
A: ä¸å
±äº«ãæ¯ä¸ª Agent éè¿ createScope() å建ç¬ç«ä½ç¨åï¼æèªå·±ç ctxãå·¥å
·éãäºä»¶çå¬å¨ãå Agent çæ³¨åä¸ä¼æ³æ¼å°ç¶ Agentââè¿æ¯ææçé离设计ï¼é²æ¢å任塿±¡æä¸»ä¸ä¸æã
åè龿¥
- DeepSeek Harness ä»åºï¼github.com/deepseek-aiâ¦
Aitishiku.com