Coding Agent 的竞争经常被理解成模型能力的竞争:Claude、GPT、DeepSeek 谁写代码更强,谁的推理更稳定,谁能一次完成更大的仓库级任务。但如果真正去研究 Claude
<div class="detail-content-box has-mask large">
<section style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 2px;padding-left: 5px;padding-right: 5px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;font-family: Optima, 'Microsoft YaHei', PingFangSC-regular, serif;font-size: 16px;color: rgb(0, 0, 0);line-height: 1.5em;word-spacing: 0em;letter-spacing: 0em;word-break: break-word;overflow-wrap: break-word;text-align: left;"><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>Coding Agent 的竞争经常被理解成模型能力的竞争:Claude、GPT、DeepSeek 谁写代码更强,谁的推理更稳定,谁能一次完成更大的仓库级任务。</span></p><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>但如果真正去研究 Claude Code、OpenAI Codex 和 DeepSeek Harness 的架构,会发现决定 Coding Agent 能力上限的因素已经不只是 Model,而是 Model 外面的 Harness。模型负责理解问题、推理和生成动作,</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 6px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 6px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span>Harness 则负责告诉模型当前拥有什么上下文、能够调用哪些工具、工具应该怎样执行、哪些操作需要审批、命令能够访问哪些文件和网络、会话状态如何持久化,以及复杂任务应该怎样拆给其他 Agent。</span></strong></p><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>一个裸模型的执行过程通常只是 </span><code style="color: rgb(155, 110, 35);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 245, 227);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span>Input → Model → Output</span></code><span>,而真正的 Coding Agent 则需要持续完成 </span><code style="color: rgb(155, 110, 35);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 245, 227);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span>Context Construction → Model Inference → Tool Call → Tool Execution → Tool Result → Context Update → Model Again</span></code><span> 的循环,同时还要处理 Session、Memory、Permission、Sandbox、Skills、MCP、Subagent、Context Compression、Background Job 和 Observability 等大量工程问题。DeepSeek Harness 甚至直接把 Agent 概括为 </span><code style="color: rgb(155, 110, 35);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 245, 227);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span>Model + Harness</span></code><span>,这其实很好地解释了为什么今天即使使用同一个模型,不同 Coding Agent 的实际体验和任务完成率仍然可能存在明显差异。</span></p><blockquote style="margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 10px;padding-bottom: 10px;padding-left: 20px;padding-right: 10px;border-top-style: none;border-bottom-style: none;border-left-style: solid;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgb(255, 177, 27);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 245, 227);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;display: block;overflow-x: auto;overflow-y: auto;"><p style="text-indent: 0em;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;color: rgb(58, 58, 58);font-size: 16px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;"><span>从这个角度看,三者实际上代表了三条不同的技术路线:Claude Code 更接近高度产品化的 Coding Agent,Codex 更接近一个逐渐独立出来的 Agent Runtime,而 DeepSeek Harness 则更进一步,把 Harness 本身设计成一个可以重新组合的 Framework。</span></p></blockquote><h3 style="margin-top: 20px;margin-bottom: 5px;margin-left: 0px;margin-right: 0px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-color: unset;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgb(0, 0, 0);border-left-color: rgb(0, 0, 0);border-right-color: rgb(0, 0, 0);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;box-shadow: none;display: block;flex-direction: unset;float: unset;height: auto;justify-content: unset;line-height: 1.5em;overflow-x: unset;overflow-y: unset;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;text-align: left;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset;"><span style="font-size: 18px;color: #222222;line-height: 1.8em;letter-spacing: 0em;padding-top: 0px;padding-bottom: 0px;padding-left: 20px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: solid;border-right-style: none;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 3px;border-right-width: 1px;border-top-color: #000000;border-bottom-color: #000000;border-left-color: #FFB11B;border-right-color: #000000;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-color: unset;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;box-shadow: none;display: block;font-weight: bold;flex-direction: unset;float: unset;height: auto;justify-content: unset;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;overflow-x: unset;overflow-y: unset;text-align: left;text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset;"><span>框架都有 Agent Loop</span></span></h3><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>无论 Claude Code、Codex 还是 DeepSeek Harness,底层都绕不开一个基本的 Agent Loop。用户提出任务以后,Harness 首先构造模型上下文,然后调用模型;模型如果直接给出最终答案,当前 Turn 就可以结束,如果模型产生 Tool Call,Harness 就执行对应工具,将执行结果重新加入上下文,再次调用模型,直到模型认为任务已经完成。</span></p><section style="text-align: center;"><img class="rich_pages wxw-img" src="https://pic.imgdb.cn/i/034BIItrnq8U7Gby2jxrHy.jpg"/></section><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>如果用伪代码表示,这个过程并不复杂:</span></p><pre style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;"><span style="color: #c678dd;line-height: 26px;"><span>while</span></span><span> </span><span style="color: #56b6c2;line-height: 26px;"><span>True</span></span><span>:</span><span><br/></span><span> context = build_context()</span><span><br/></span><span><br/></span><span> response = model(</span><span><br/></span><span> context=context,</span><span><br/></span><span> tools=tools,</span><span><br/></span><span> )</span><span><br/></span><span><br/></span><span> </span><span style="color: #c678dd;line-height: 26px;"><span>if</span></span><span> response.is_final:</span><span><br/></span><span> </span><span style="color: #c678dd;line-height: 26px;"><span>break</span></span><span><br/></span><span><br/></span><span> tool_result = execute(response.tool_call)</span><span><br/></span><span><br/></span><span> append_to_context(</span><span><br/></span><span> response,</span><span><br/></span><span> tool_result,</span><span><br/></span><span> )</span><span><br/></span></code></pre><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>OpenAI 在介绍 Codex Agent Loop 时公开描述的基本流程也是如此:Harness 负责向模型发起 inference,模型可能返回最终回答,也可能产生工具调用;如果产生工具调用,Harness 执行工具,再把结果加入下一轮模型上下文。因此,一个用户 Turn 往往并不对应一次模型请求,一个复杂的 Coding Task 内部可能包含几十次甚至更多 Model、Tool 和 Context 更新。</span></p><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>真正拉开三者差异的,并不是有没有这个循环,而是谁控制 </span><code style="color: rgb(155, 110, 35);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 245, 227);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span>build_context()</span></code><span>、</span><code style="color: rgb(155, 110, 35);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 245, 227);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span>execute_tool()</span></code><span>、</span><code style="color: rgb(155, 110, 35);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 245, 227);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span>persist_session()</span></code><span>、</span><code style="color: rgb(155, 110, 35);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 245, 227);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span>check_permission()</span></code><span>、</span><code style="color: rgb(155, 110, 35);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 245, 227);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span>run_sandbox()</span></code><span>、</span><code style="color: rgb(155, 110, 35);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 245, 227);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span>spawn_agent()</span></code><span> 和 </span><code style="color: rgb(155, 110, 35);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 245, 227);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span>compact_context()</span></code><span>,以及最重要的 </span><code style="color: rgb(155, 110, 35);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 245, 227);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span>agent_loop()</span></code><span> 本身能不能重新定义。Claude Code、Codex 和 DeepSeek Harness 的核心架构差异,基本都可以从这个问题展开。</span></p><h3 style="margin-top: 20px;margin-bottom: 5px;margin-left: 0px;margin-right: 0px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-color: unset;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgb(0, 0, 0);border-left-color: rgb(0, 0, 0);border-right-color: rgb(0, 0, 0);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;box-shadow: none;display: block;flex-direction: unset;float: unset;height: auto;justify-content: unset;line-height: 1.5em;overflow-x: unset;overflow-y: unset;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;text-align: left;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset;"><span style="font-size: 18px;color: #222222;line-height: 1.8em;letter-spacing: 0em;padding-top: 0px;padding-bottom: 0px;padding-left: 20px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: solid;border-right-style: none;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 3px;border-right-width: 1px;border-top-color: #000000;border-bottom-color: #000000;border-left-color: #FFB11B;border-right-color: #000000;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-color: unset;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;box-shadow: none;display: block;font-weight: bold;flex-direction: unset;float: unset;height: auto;justify-content: unset;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;overflow-x: unset;overflow-y: unset;text-align: left;text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset;"><span>Claude Code:把 Harness 做成完整的开发者工作台</span></span></h3><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>Claude Code 最初给人的印象很像一个运行在 Terminal 中的 Coding Agent,但它现在已经明显超过了“Claude + Shell”这个简单组合。Anthropic 在同一套 Claude Code Engine 周围逐渐建立了 CLAUDE.md、Memory、Skills、MCP、Hooks、Permission、Sandbox、Subagents、Background Agents 和 Agent SDK 等能力,并把同一套 Engine 延伸到 Terminal、IDE、Desktop 和 Web 等不同使用环境。</span></p><section style="text-align: center;"><img class="rich_pages wxw-img" src="https://pic.imgdb.cn/i/034BIIvXE2mly6zB7iBINu.png"/></section><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>从架构上看,Claude Code 的核心思路并不是让开发者重新定义 Harness 内核,而是在一个相对稳定、成熟的 Agent Engine 周围提供越来越多的扩展层。开发者通常不需要关注 Agent Loop 本身是如何实现的,而是通过项目指令、Skill、Tool、Hook、Subagent 和 SDK 去影响这个 Loop 的行为。</span></p><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>可以把它简化为:</span></p><pre style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;"><span>Claude Code Engine</span><span><br/></span><span> │</span><span><br/></span><span> ├── Context</span><span><br/></span><span> │ ├── CLAUDE.md</span><span><br/></span><span> │ ├── Memory</span><span><br/></span><span> │ ├── Skills</span><span><br/></span><span> │ └── Conversation</span><span><br/></span><span> │</span><span><br/></span><span> ├── Tools</span><span><br/></span><span> │ ├── Bash</span><span><br/></span><span> │ ├── Files</span><span><br/></span><span> │ └── MCP</span><span><br/></span><span> │</span><span><br/></span><span> ├── Hooks</span><span><br/></span><span> ├── Permission</span><span><br/></span><span> ├── Sandbox</span><span><br/></span><span> └── Subagents</span><span><br/></span></code></pre><h4 style="margin-top: 10px;margin-bottom: 5px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 18px;color: #000000;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span>CLAUDE.md</span></span></h4><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>Claude Code 通过 </span><code style="color: rgb(155, 110, 35);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 245, 227);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span>CLAUDE.md</span></code><span> 和 Memory 把这类信息放到 Harness 的 Context Construction 阶段。换句话说,Repository 不再只有面向人的 README 和 Source Code,还开始出现专门面向 Agent 的工程说明。模型每次进入项目时,可以重新获得项目结构、代码规范、测试方式和操作边界,而不是完全依赖当前聊天记录。</span></p><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>Claude Code 中的 Context 并不只是 Conversation History,而是由 System Instructions、Project Instructions、Memory、Skills、Tool Description、当前文件内容、Tool Result 和 Subagent Result 等多种来源共同构成。这个变化非常重要,因为复杂 Agent 的能力越来越取决于 Harness 能否持续构造一个高质量 Context,而不是单纯依赖模型一次性理解全部仓库。</span></p><h4 style="margin-top: 10px;margin-bottom: 5px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 18px;color: #000000;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span>Skill</span></span></h4><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>Skill 的价值并不只是保存 Prompt。更重要的是,它把 Instructions、References、Scripts 和 Assets 组织成一个可复用能力,而且这些内容不需要全部从会话开始就常驻 Context。Harness 可以先让模型知道有哪些 Skill,在真正需要某个 Skill 时再读取对应的 </span><code style="color: rgb(155, 110, 35);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 245, 227);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span>SKILL.md</span></code><span> 和辅助文件。</span></p><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>随着 Coding Agent 中 Tool、Skill 和知识库越来越多,这种按需加载会越来越重要,因为如果所有说明文档、工具 Schema 和开发规范从一开始全部放进上下文,Context Window 很快就会被低价值信息占满。</span></p><h4 style="margin-top: 10px;margin-bottom: 5px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 18px;color: #000000;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span>Hook</span></span></h4><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>Hook 的价值就在于把这些行为从 LLM Decision 移到 Deterministic Program 中。模型依然负责理解任务和决定大部分行动,但 Formatter、Validation、Audit 和 Policy Enforcement 可以由 Harness 在固定生命周期节点中强制执行。</span></p><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>Claude Code 实际上形成了一种分层执行模型:需要智能判断的事情交给 LLM,需要固定执行的事情交给 Hook,需要操作系统级安全边界的事情则交给 Sandbox。不同可靠性要求的任务被放到不同层,而不是全部依赖 Prompt。</span></p><h4 style="margin-top: 10px;margin-bottom: 5px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 18px;color: #000000;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span>Permission</span></span></h4><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>Claude Code 的另一个重要设计是把 Permission 和 Sandbox 分开。Permission 主要回答“模型提出的这个动作是否允许执行”,而 Sandbox 回答的是“即使允许执行,这个动作最多能够访问什么资源”。</span></p><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>Coding Agent 的安全已经逐渐从简单的“允许 Shell / 禁止 Shell”演变成 Permission、Approval、Filesystem Isolation 和 Network Isolation 等多层机制。</span></p><h4 style="margin-top: 10px;margin-bottom: 5px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 18px;color: #000000;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span>Subagent</span></span></h4><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>Claude Code 的 Subagent 允许不同 Agent 拥有自己的 Context、System Prompt、Tool Access 和 Permission。Explorer Agent 可以负责大量阅读代码,Tester Agent 可以运行测试,Reviewer Agent 可以专门检查 Diff,而主 Agent 最终只需要接收这些 Agent 的结果摘要。</span></p><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>Subagent 并不只是“多开几个模型进行并行计算”,它更重要的意义是通过任务边界建立 Context Boundary。主 Agent 不需要保存 Explorer 阅读过的所有文件,只需要知道 Explorer 最终得出了什么结论。这也是为什么 Multi-Agent 与 Context Engineering 实际上高度相关。</span></p><h3 style="margin-top: 20px;margin-bottom: 5px;margin-left: 0px;margin-right: 0px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-color: unset;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgb(0, 0, 0);border-left-color: rgb(0, 0, 0);border-right-color: rgb(0, 0, 0);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;box-shadow: none;display: block;flex-direction: unset;float: unset;height: auto;justify-content: unset;line-height: 1.5em;overflow-x: unset;overflow-y: unset;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;text-align: left;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset;"><span style="font-size: 18px;color: #222222;line-height: 1.8em;letter-spacing: 0em;padding-top: 0px;padding-bottom: 0px;padding-left: 20px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: solid;border-right-style: none;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 3px;border-right-width: 1px;border-top-color: #000000;border-bottom-color: #000000;border-left-color: #FFB11B;border-right-color: #000000;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-color: unset;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;box-shadow: none;display: block;font-weight: bold;flex-direction: unset;float: unset;height: auto;justify-content: unset;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;overflow-x: unset;overflow-y: unset;text-align: left;text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset;"><span>Codex:把 Coding Agent 做成可复用的 Runtime</span></span></h3><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>相比 Claude Code 强烈的开发者产品属性,OpenAI Codex 的架构给人的感觉更像一个正在逐渐独立出来的 Agent Runtime。Codex 开源仓库主体使用 Rust 实现,核心能力并不只服务于一个 Terminal UI,而是逐渐形成了 Codex Core、Thread、App Server、Tool Runtime、Sandbox 和 Approval Policy 等相对清晰的边界。</span></p><section style="text-align: center;"><img class="rich_pages wxw-img" src="https://pic.imgdb.cn/i/034BIIxNZUsIFHy3yfCcgf.jpg" style="width:348px;height:196px;"/></section><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>可以粗略理解成:</span></p><pre style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;"><span>CLI / IDE / App / Other Client</span><span><br/></span><span> │</span><span><br/></span><span> ▼</span><span><br/></span><span> App Server</span><span><br/></span><span> │</span><span><br/></span><span> ▼</span><span><br/></span><span> Codex Core</span><span><br/></span><span> │</span><span><br/></span><span> Agent Loop</span><span><br/></span><span> │</span><span><br/></span><span> Tool Runtime</span><span><br/></span><span> │</span><span><br/></span><span> Approval / Sandbox</span><span><br/></span><span> │</span><span><br/></span><span> Local System</span><span><br/></span></code></pre><h4 style="margin-top: 10px;margin-bottom: 5px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 18px;color: #000000;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span>Codex Core</span></span></h4><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>Codex Core 负责的并不只是模型 API 调用,而是完整的 Agent Logic,包括上下文构造、Model Inference、Tool Execution、Thread Persistence 和多轮 Agent Loop。于是 Codex Model 和 Codex Agent 实际上是两个完全不同的概念:Model 提供推理能力,而 Agent 则是 Model 加上 Core、Tool Runtime、Context、Sandbox、Policy 和 Session 形成的完整系统。</span></p><h4 style="margin-top: 10px;margin-bottom: 5px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 18px;color: #000000;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span>AGENTS.md 与 CLAUDE.md</span></span></h4><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>Codex 中的 </span><code style="color: rgb(155, 110, 35);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 245, 227);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span>AGENTS.md</span></code><span> 与 Claude Code 中的 </span><code style="color: rgb(155, 110, 35);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 245, 227);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span>CLAUDE.md</span></code><span> 在作用上非常接近,它们都解决代码仓库如何向 Agent 描述长期工程规则的问题。项目可以在 </span><code style="color: rgb(155, 110, 35);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 245, 227);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span>AGENTS.md</span></code><span> 中记录架构约束、开发规范、测试命令、目录职责以及代码修改规则,Codex 在构造 Context 时读取这些内容,再结合当前 Session 和其他输入形成模型 Prompt。</span></p><h4 style="margin-top: 10px;margin-bottom: 5px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 18px;color: #000000;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span>Codex Skill</span></span></h4><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>Codex 当前同样支持 Skill,并且它对 Context Cost 的考虑非常明显。系统不会简单把所有 Skill 的完整内容全部塞进模型上下文,而是先提供名称、描述和路径等少量信息,在模型真正选择某个 Skill 后,再进一步读取完整 </span><code style="color: rgb(155, 110, 35);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 245, 227);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span>SKILL.md</span></code><span> 和Supporting Resources。</span></p><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>Claude Code 和 Codex 在这一点上已经出现明显趋同,因为两者面对的是同一个问题:当 Agent 拥有几十个甚至几百个可复用能力以后,Context 不可能长期保存每个能力的完整 Instructions。能力必须首先可以被发现,然后在需要时再被展开。</span></p><h4 style="margin-top: 10px;margin-bottom: 5px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 18px;color: #000000;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span>App Server</span></span></h4><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>Codex 架构中非常值得关注的是 App Server。它提供一个独立的协议层,让不同 Client 通过接口驱动 Agent Runtime,而不是要求所有 UI 直接嵌入 Codex Core。</span></p><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>例如 Thread 的启动、恢复和分叉,可以通过类似 </span><code style="color: rgb(155, 110, 35);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 245, 227);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span>thread/start</span></code><span>、</span><code style="color: rgb(155, 110, 35);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 245, 227);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span>thread/resume</span></code><span> 和 </span><code style="color: rgb(155, 110, 35);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 245, 227);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span>thread/fork</span></code><span> 的接口完成。这样 UI 层只需要负责用户交互和状态呈现,而真正的 Agent Execution、Thread Management 和 Tool Runtime 则由后面的 Core 负责。</span></p><h4 style="margin-top: 10px;margin-bottom: 5px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 18px;color: #000000;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span>Thread</span></span></h4><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>Codex 另一个明显特点是把 Thread 当作一等对象来管理。Thread 不只是聊天消息列表,而是一个完整的 Agent Execution Context,内部包含多个 Turn、工具执行、状态和历史信息。系统围绕 Thread 提供 Start、Resume、Fork、Read、List、Persistence 和 Compaction 等能力。</span></p><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>如果把代码仓库中的 Git Branch 理解成 Code State 的分叉,那么 Thread Fork 某种程度上就是 Agent State 的分叉。这个能力对于复杂调试、方案探索和多 Agent 并行都非常有价值。</span></p><h3 style="margin-top: 20px;margin-bottom: 5px;margin-left: 0px;margin-right: 0px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-color: unset;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgb(0, 0, 0);border-left-color: rgb(0, 0, 0);border-right-color: rgb(0, 0, 0);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;box-shadow: none;display: block;flex-direction: unset;float: unset;height: auto;justify-content: unset;line-height: 1.5em;overflow-x: unset;overflow-y: unset;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;text-align: left;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset;"><span style="font-size: 18px;color: #222222;line-height: 1.8em;letter-spacing: 0em;padding-top: 0px;padding-bottom: 0px;padding-left: 20px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: solid;border-right-style: none;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 3px;border-right-width: 1px;border-top-color: #000000;border-bottom-color: #000000;border-left-color: #FFB11B;border-right-color: #000000;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-color: unset;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;box-shadow: none;display: block;font-weight: bold;flex-direction: unset;float: unset;height: auto;justify-content: unset;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;overflow-x: unset;overflow-y: unset;text-align: left;text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset;"><span>DeepSeek Harness:把 Harness 自己变成 Framework</span></span></h3><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>DeepSeek Harness 是三者中架构思路最激进的一个。它并不只是希望实现一个“DeepSeek 版本的 Claude Code”,而是直接把 Agent Harness 本身作为主要研究对象。官方给出的核心思想是 </span><code style="color: rgb(155, 110, 35);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 245, 227);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span>Everything is a plugin</span></code><span>,也就是说 Model、Tool、Skill、Session、Sandbox、Storage、Agent Loop、Scheduling 和 UI 等能力尽可能都通过插件参与 Runtime,而不是全部写死在一个不可替换的 Agent Core 中。</span></p><section style="text-align: center;"><img class="rich_pages wxw-img" src="https://pic.imgdb.cn/i/034BIIyZSiNHABh5tIkdMz.jpg" style="width:365px;height:203px;"/></section><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>DeepSeek Harness 当前仍处于 Developer Preview,因此如果单纯从产品成熟度、日常 Coding 体验和生态完整度进行比较,它还不能简单和 Claude Code 或 Codex 放在同一个评价尺度上。但如果关注的是 Agent Runtime 架构本身,它反而非常值得研究,因为它把很多通常隐藏在 Coding Agent 内部的机制直接变成了显式抽象。</span></p><h4 style="margin-top: 10px;margin-bottom: 5px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 18px;color: #000000;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span>Cordis</span></span></h4><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>DeepSeek Harness 底层使用的 Cordis 并不是一个普通 Plugin Manager,而更接近一套用于 Runtime Composition 的基础框架。插件可以向共享 Context 中贡献 Service、Typed Event 和 Reversible Effect,Model Adapter、Tool Registry、Session Log,甚至 Agent Loop 本身都可以通过插件参与组合。</span></p><section style="text-align: center;"><img class="rich_pages wxw-img" src="https://pic.imgdb.cn/i/034BIJ0cNRuZDyoJjyzcIM.jpg" style="width:359px;height:359px;"/></section><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>Claude Code 和 Codex 同样允许通过 Skill、MCP、Hook 或其他机制扩展能力,但它们背后仍然存在一个相对明确的 Stable Agent Engine 或 Codex Core。DeepSeek Harness 则进一步尝试把这个 Core 拆成一组可组合 Capability。</span></p><h4 style="margin-top: 10px;margin-bottom: 5px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 18px;color: #000000;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span>Agent Loop</span></span></h4><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>如果 Agent Loop 被写死在 Core 中,实验新结构通常意味着 Fork Runtime,然后维护一套自己的核心代码。DeepSeek Harness 的思路则是把 Loop 自己也放到可组合层,通过替换 Agent Loop Plugin 改变整个 Agent 的运行模式。</span></p><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>这也是 DeepSeek Harness 与 Claude Code、Codex 最本质的架构差异之一。Claude Code 主要让用户扩展一个已经设计好的 Agent,Codex 主要让开发者围绕一个相对稳定的 Runtime 构建 Client 和 Workflow,而 DeepSeek Harness 则更接近允许开发者重新定义“这个 Agent 到底应该怎样运行”。</span></p><h4 style="margin-top: 10px;margin-bottom: 5px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 18px;color: #000000;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span>Profile、Bundle 和 Plugin</span></span></h4><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>DeepSeek Harness 并不是简单启动一个固定 Agent,而是先通过 Profile、Bundle、Plugin 和 Patch 组合一个 Runtime。Profile 可以决定使用哪个模型 Provider、加载哪些 Tool、选择哪种 Sandbox、使用什么 Session Store、运行哪种 Agent Loop,以及是否启用 Subagent 和 UI。</span></p><h4 style="margin-top: 10px;margin-bottom: 5px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 18px;color: #000000;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span>Tool Execution</span></span></h4><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>DeepSeek Harness 对 Tool 的处理也体现了同样的设计思路。Tool Execution 不只是简单调用 </span><code style="color: rgb(155, 110, 35);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 245, 227);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 2px;margin-right: 2px;padding-top: 2px;padding-bottom: 2px;padding-left: 4px;padding-right: 4px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;overflow-wrap: break-word;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span>tool(args)</span></code><span>,而是存在 Pre、Execute 和 Post 等生命周期事件。</span></p><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>于是一次工具调用可以经历:</span></p><pre style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;"><span>Tool Call</span><span><br/></span><span> ↓</span><span><br/></span><span>Pre Event</span><span><br/></span><span> ↓</span><span><br/></span><span>Permission / Policy</span><span><br/></span><span> ↓</span><span><br/></span><span>Execute</span><span><br/></span><span> ↓</span><span><br/></span><span>Post Event</span><span><br/></span><span> ↓</span><span><br/></span><span>Tool Result</span><span><br/></span></code></pre><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>这样 Logging、Tracing、Permission、Caching、Retry、Metrics、Evaluation 和 Security 等横切能力就可以统一插入 Tool Runtime,而不需要每个工具分别重复实现。</span></p><h4 style="margin-top: 10px;margin-bottom: 5px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;"><span style="font-size: 18px;color: #000000;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span>Runtime Mode</span></span></h4><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>DeepSeek Harness 还设计了 Standard、Minimal、PTC、Creation 等不同运行模式。Standard 更接近完整 Coding Agent,包含 Files、Shell、Search、Skills、Plan、Goals 和 Subagents;Minimal 则保留更基础的执行能力,方便测试最小 Agent Runtime;Creation 更强调 Runtime Inspection、Plugin Experiment 和 Preset Creation。</span></p><h3 style="margin-top: 20px;margin-bottom: 5px;margin-left: 0px;margin-right: 0px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-color: unset;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgb(0, 0, 0);border-left-color: rgb(0, 0, 0);border-right-color: rgb(0, 0, 0);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;box-shadow: none;display: block;flex-direction: unset;float: unset;height: auto;justify-content: unset;line-height: 1.5em;overflow-x: unset;overflow-y: unset;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;text-align: left;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset;"><span style="font-size: 18px;color: #222222;line-height: 1.8em;letter-spacing: 0em;padding-top: 0px;padding-bottom: 0px;padding-left: 20px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: solid;border-right-style: none;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 3px;border-right-width: 1px;border-top-color: #000000;border-bottom-color: #000000;border-left-color: #FFB11B;border-right-color: #000000;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-color: unset;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;box-shadow: none;display: block;font-weight: bold;flex-direction: unset;float: unset;height: auto;justify-content: unset;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;overflow-x: unset;overflow-y: unset;text-align: left;text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset;"><span>三种框架综合对比</span></span></h3><section style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;overflow-x: auto;"><table style="display: table;text-align: left;"><thead><tr class="firstRow"><th style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;background: none left top / auto no-repeat scroll padding-box border-box rgb(240, 240, 240);height: auto;border-style: solid;border-width: 1px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;padding: 5px 10px;min-width: 85px;"><section><span>维度</span></section></th><th style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;background: none left top / auto no-repeat scroll padding-box border-box rgb(240, 240, 240);height: auto;border-style: solid;border-width: 1px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;padding: 5px 10px;min-width: 85px;"><section><span>Claude Code</span></section></th><th style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;background: none left top / auto no-repeat scroll padding-box border-box rgb(240, 240, 240);height: auto;border-style: solid;border-width: 1px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;padding: 5px 10px;min-width: 85px;"><section><span>OpenAI Codex</span></section></th><th style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;background: none left top / auto no-repeat scroll padding-box border-box rgb(240, 240, 240);height: auto;border-style: solid;border-width: 1px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;padding: 5px 10px;min-width: 85px;"><section><span>DeepSeek Harness</span></section></th></tr></thead><tbody><tr style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 255, 255);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>核心定位</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>产品化 Coding Agent</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Coding Agent Runtime</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>可组合 Agent Harness Framework</span></section></td></tr><tr style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-color: rgb(248, 248, 248);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>主要抽象</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Claude Code Engine</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Codex Core + Thread + App Server</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Cordis + Plugin Tree</span></section></td></tr><tr style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 255, 255);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Agent Loop</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Engine 内核心机制</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Codex Core 管理</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Loop 本身也可插件化</span></section></td></tr><tr style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-color: rgb(248, 248, 248);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>项目上下文</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><code><span>CLAUDE.md</span></code></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><code><span>AGENTS.md</span></code></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Prompt / Context Plugin</span></section></td></tr><tr style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 255, 255);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Skill</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>按需加载</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>渐进式加载</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Skill 作为 Capability</span></section></td></tr><tr style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-color: rgb(248, 248, 248);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Tool</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Built-in + MCP</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Built-in + MCP</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Tool Registry Plugin</span></section></td></tr><tr style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 255, 255);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>生命周期扩展</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Hooks</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Runtime Hooks / Events</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Typed Events</span></section></td></tr><tr style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-color: rgb(248, 248, 248);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Session</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Session / Resume</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Thread 一等对象</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Append-only Event Log</span></section></td></tr><tr style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 255, 255);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Sandbox</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>文件和网络隔离</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Sandbox Policy</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Sandbox Backend 可替换</span></section></td></tr><tr style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-color: rgb(248, 248, 248);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Permission</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>与 Sandbox 分离</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Approval + Sandbox</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Approval / Policy Capability</span></section></td></tr><tr style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 255, 255);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Subagent</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>独立 Context 与 Tool</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Subagent + Worktree</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Subagent Provider</span></section></td></tr><tr style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-color: rgb(248, 248, 248);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>UI</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>多端共享 Engine</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Client → App Server → Core</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>UI 也参与 Plugin Composition</span></section></td></tr><tr style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 255, 255);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>扩展重点</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>扩展 Agent 能力</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>围绕 Runtime 构建应用</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>重组 Runtime 本身</span></section></td></tr><tr style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-color: rgb(248, 248, 248);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>成熟度</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>高</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>高</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Developer Preview</span></section></td></tr><tr style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 255, 255);background-image: none;background-origin: padding-box;background-position-x: left;background-position-y: top;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>更适合</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>日常开发</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Agent Platform / Coding Workflow</span></section></td><td style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><section><span>Agent Harness 研究与定制</span></section></td></tr></tbody></table></section><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>Claude Code 的路线可以概括成“先把 Agent 做好,再让开发者扩展它”。它首先提供一个完整、成熟、面向软件开发的 Agent Engine,然后通过 CLAUDE.md、Skill、MCP、Hook、Subagent 和 Agent SDK 让开发者逐渐增加能力。这种路线最大的优势是产品体验好,开发者不需要理解 Harness 内核,也能直接完成真实代码修改、Debug、测试和重构。</span></p><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>Codex 的路线更接近“先建立稳定 Runtime,再让不同客户端和工作流围绕 Runtime 构建”。Codex Core、Thread、App Server、Sandbox 和 Approval Policy 形成了比较明确的系统边界,使 CLI、IDE、Desktop、Automation 和其他 Agent Client 可以建立在同一套底层 Runtime 上。这种架构很适合未来构建 Coding Agent Platform,而不仅仅是一个命令行工具。</span></p><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>DeepSeek Harness 的路线则更接近“不要过早定义唯一的 Agent Core,而应该提供组合 Agent Runtime 的机制”。它尝试把 Model、Tool、Session、Sandbox、Prompt、Agent 和 Agent Loop 等组件全部放入可组合体系,让研究者能够重新定义 Agent 的执行逻辑,而不是只扩展一个已经固定的 Agent。</span></p><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>Claude Code 使用 CLAUDE.md、Memory、Skills 和 Subagent Context 管理它;Codex 使用 AGENTS.md、Skills、Thread 和 Compaction 管理它;DeepSeek Harness 更进一步,通过 Session Event Stream 派生 Model Messages,把 Context Construction 本身纳入 Runtime。</span></p><p style="color: rgb(58, 58, 58);font-size: 16px;line-height: 1.7;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 10px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 2px;padding-bottom: 2px;padding-left: 0px;padding-right: 0px;"><span>Claude Code 通过 MCP、Permission、Sandbox 和 Hooks 管理这些能力,Codex 把 Tool Execution 与 Approval 和 Sandbox 纳入 Runtime,DeepSeek Harness 则进一步把 Tool Registry 和 Tool Lifecycle Event 本身设计成可组合能力。虽然三者具体实现方式不同,但最终都在说明同一个趋势:Agent Tool 已经不再只是一个函数,而是一套受 Runtime 管理的执行能力。</span></p></section> <div class="content-mask">
<a href="javascript:void (0);" class="mask-text login-trigger">
<i class="iconfont icon-suo"></i>
登录查看剩余 70% 内容
<i class="iconfont icon-arrow-right-o"></i>
</a>
</div>
</div>
</div>
免费获取企业 AI 成熟度诊断报告,发现转型机会
关注公众号

扫码关注,获取最新 AI 资讯
3 步完成企业诊断,获取专属转型建议
已有 200+ 企业完成诊断