<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Context | Francis Du</title>
    <link>https://francisdu.com/tags/context/</link>
      <atom:link href="https://francisdu.com/tags/context/index.xml" rel="self" type="application/rss+xml" />
    <description>💻Data Engineer | 🦀 Rustacean | 📷 Photographer | 🤖Vibe Coder</description>
    <generator>Hugo 0.166.0</generator><language>zh-CN</language><copyright>© Francis Du</copyright><lastBuildDate>Tue, 22 Sep 2026 02:35:00 +0800</lastBuildDate>
    <item>
      <title>wcode：用 Jev 的理念重构 Coding Agent Runtime</title>
      <link>https://francisdu.com/blog/coding-agent-without-kv-cache/</link>
      <pubDate>Tue, 22 Sep 2026 02:35:00 +0800</pubDate>
      <guid>https://francisdu.com/blog/coding-agent-without-kv-cache/</guid>
      <description>&lt;p&gt;最近我一直在想一件事：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;wcode 下一步到底应该继续“补 Agent 能力”，还是应该重做 Agent 下面那一层？&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;前几天读了一份叫 &lt;a href=&#34;https://docs.google.com/document/d/1G61uUB0FifUnmmrPzFQojZ3KpczYKmXGpgEXDJ2l_Zg/mobilebasic&#34;&gt;Why yet another agent&lt;/a&gt; 的笔记，里面有一个问题我很喜欢：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;如果 LLM 没有 KV cache，你会怎么设计一个 Coding Agent？&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;这个问题让我一下把很多已经习惯的东西重新看了一遍：compaction、restart、subagent、tool schema、skills、model routing、长 session、memory。&lt;/p&gt;
&lt;p&gt;最后我的结论不是“再做一个更聪明的 Agent”。&lt;/p&gt;
&lt;p&gt;恰恰相反。&lt;/p&gt;
&lt;p&gt;我更确定 &lt;strong&gt;wcode 不应该去复制 Claude Code、Codex 或 Cursor，而应该把 Agent 下面缺的那层 Runtime 做出来。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;而 Jev / TypeSafe 给我的启发，正好不是“换一个模型”，而是：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;把原本藏在 Prompt 和上下文里的模糊语义判断，变成有类型、有边界、有状态的程序决策。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;这篇主要记我现在准备怎么用这个理念继续重构 wcode。&lt;/p&gt;
&lt;h2 id=&#34;我不想让-jev-接管-agent&#34;&gt;我不想让 Jev 接管 Agent&lt;a class=&#34;heading-anchor&#34; href=&#34;#%e6%88%91%e4%b8%8d%e6%83%b3%e8%ae%a9-jev-%e6%8e%a5%e7%ae%a1-agent&#34; aria-label=&#34;章节链接：我不想让 Jev 接管 Agent&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;先说一个容易误解的地方。&lt;/p&gt;
&lt;p&gt;我不是想做：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wcode
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  ↓
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Jev
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  ↓
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;让 Jev 决定所有事情
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这和我的方向完全相反。&lt;/p&gt;
&lt;p&gt;wcode 里现在很多东西就是故意保持 deterministic：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;当前文件 SHA 对不对？
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;路径是不是在 Workspace？
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;命令有没有授权？
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Verification 有没有真的跑？
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Evidence 属不属于当前 revision？
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Design State 有没有 drift？
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Worklist 还有没有没做完的东西？
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这些东西代码能算，就应该让代码算。&lt;/p&gt;
&lt;p&gt;Jev 真正适合的是另外一类问题：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;当前 context 够不够？
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;还缺不缺重要 evidence？
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;是不是必须看 callers / references / implementations？
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;几个合法 action 里哪一个更适合当前语义状态？
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;当前失败更像缺证据、缺语义，还是应该直接 repair？
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;也就是一些以前很容易写进 Prompt 里的“语义 if”。&lt;/p&gt;
&lt;p&gt;这也是为什么我现在更喜欢把 Jev 看成 &lt;strong&gt;Decision Plane 的一部分&lt;/strong&gt;，而不是另一个 Agent。&lt;/p&gt;
&lt;h2 id=&#34;wcode-已经有一版-decision-plane&#34;&gt;wcode 已经有一版 Decision Plane&lt;a class=&#34;heading-anchor&#34; href=&#34;#wcode-%e5%b7%b2%e7%bb%8f%e6%9c%89%e4%b8%80%e7%89%88-decision-plane&#34; aria-label=&#34;章节链接：wcode 已经有一版 Decision Plane&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;现在 wcode 里的 Jev 不是直接拿用户 Prompt 去问。&lt;/p&gt;
&lt;p&gt;流程大概是：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;repository state
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     ▼
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;deterministic baseline
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     ├── target
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     ├── worktree
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     ├── graph
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     ├── verification
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     ├── semantic readiness
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     └── current risk
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     ▼
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;DecisionRequest
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     ├── local deterministic decision
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     └── Jev decision
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;             │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;             ▼
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       shadow comparison
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;             │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;             ▼
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       increase-only guidance
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Jev 现在可以回答 Noul / Choice / Score 这几类问题。&lt;/p&gt;
&lt;p&gt;比如：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;context_sufficient           -&amp;gt; Noul
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;continue_retrieval           -&amp;gt; Noul
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;semantic_navigation_required -&amp;gt; Noul
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;verification_escalation      -&amp;gt; Noul
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;next_action                  -&amp;gt; Choice
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;risk_surface                 -&amp;gt; Choice
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;evidence_density             -&amp;gt; Score
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;但它不能说：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“我觉得没事，所以跳过 verification。”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;现在的规则是：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Jev 可以增加工作，不能减少确定性安全边界。&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;比如它可以建议：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;先再查一个 symbol
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;先 review worktree
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;补 semantic navigation
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;把 verification 升到 full
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;但它不能取消：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;SHA precondition
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;authorization
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;workspace containment
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;verification floor
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;current-revision evidence
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这条边界我准备继续保持。&lt;/p&gt;
&lt;h2 id=&#34;jev-真正改变我的地方是state-应该先于-prompt&#34;&gt;Jev 真正改变我的地方，是“State 应该先于 Prompt”&lt;a class=&#34;heading-anchor&#34; href=&#34;#jev-%e7%9c%9f%e6%ad%a3%e6%94%b9%e5%8f%98%e6%88%91%e7%9a%84%e5%9c%b0%e6%96%b9%e6%98%afstate-%e5%ba%94%e8%af%a5%e5%85%88%e4%ba%8e-prompt&#34; aria-label=&#34;章节链接：Jev 真正改变我的地方，是“State 应该先于 Prompt”&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;传统 Coding Agent 很容易把状态理解成：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;system prompt
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+ conversation
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+ 之前读过的文件
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+ tool calls
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+ tool outputs
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+ compaction summary
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;也就是说：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;模型知道什么，主要取决于这次 session 以前发生过什么。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;这很适合 KV cache。&lt;/p&gt;
&lt;p&gt;但它不一定是最适合工程系统的状态模型。&lt;/p&gt;
&lt;p&gt;wcode 现在已经有很多东西其实根本不属于聊天：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Execution
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Worklist
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Workspace
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Design State
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Software Graph
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Semantic Provider State
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Impact
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Risk
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Verification Plan
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Evidence
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Reconciliation
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Runtime Task
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这些才是项目真正的状态。&lt;/p&gt;
&lt;p&gt;模型换了，状态不能跟着没。&lt;/p&gt;
&lt;p&gt;会话断了，状态不能跟着没。&lt;/p&gt;
&lt;p&gt;Compaction 了，状态也不能跟着被总结错。&lt;/p&gt;
&lt;p&gt;所以我下一步想继续把 wcode 往一个更明确的结构推：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Runtime owns state，Agent 只拿当前任务需要的一份 view。&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;第一件事把-agent-context-重构成-context-compiler&#34;&gt;第一件事：把 Agent Context 重构成 Context Compiler&lt;a class=&#34;heading-anchor&#34; href=&#34;#%e7%ac%ac%e4%b8%80%e4%bb%b6%e4%ba%8b%e6%8a%8a-agent-context-%e9%87%8d%e6%9e%84%e6%88%90-context-compiler&#34; aria-label=&#34;章节链接：第一件事：把 Agent Context 重构成 Context Compiler&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;wcode 现在已经有 agent_context，它做的事情比“搜几个文件”多很多：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;找 target；&lt;/li&gt;
&lt;li&gt;带当前 SHA；&lt;/li&gt;
&lt;li&gt;带 Design State；&lt;/li&gt;
&lt;li&gt;带验证入口；&lt;/li&gt;
&lt;li&gt;带 graph / semantic readiness；&lt;/li&gt;
&lt;li&gt;带 Worklist；&lt;/li&gt;
&lt;li&gt;给出 next actions。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;但从这个新视角看，它还可以继续往前走。&lt;/p&gt;
&lt;p&gt;我想把它从：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“生成一包 edit-ready context”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;进一步重构成：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Context Compiler。&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;也就是所有可进入模型的东西，先变成一种统一的 context candidate：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ContextChunk {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  source
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  revision
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  scope
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  freshness
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  sensitivity
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  cost
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  relevance
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  precision
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  render_level
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;然后每次任务重新编译：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;current goal
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ▼
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;candidate chunks
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ├── source
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ├── tests
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ├── graph
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ├── semantic
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ├── design
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ├── evidence
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ├── worklist
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ├── past decisions
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    └── runtime state
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ▼
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;deterministic filters
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ▼
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Jev semantic scoring
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ▼
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;render policy
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ├── omit
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ├── one-line summary
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ├── detailed summary
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    └── full content
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ▼
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;compiled context
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这和 compaction 最大的区别是：&lt;/p&gt;
&lt;p&gt;Compaction 问：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;过去这些东西怎么压短？&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Context Compiler 问的是：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;这一轮到底为什么需要看这些东西？&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;我觉得这才是更根本的优化。&lt;/p&gt;
&lt;h2 id=&#34;第二件事把-retrieval-从继续不继续升级成-reranking&#34;&gt;第二件事：把 Retrieval 从“继续不继续”升级成 reranking&lt;a class=&#34;heading-anchor&#34; href=&#34;#%e7%ac%ac%e4%ba%8c%e4%bb%b6%e4%ba%8b%e6%8a%8a-retrieval-%e4%bb%8e%e7%bb%a7%e7%bb%ad%e4%b8%8d%e7%bb%a7%e7%bb%ad%e5%8d%87%e7%ba%a7%e6%88%90-reranking&#34; aria-label=&#34;章节链接：第二件事：把 Retrieval 从“继续不继续”升级成 reranking&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;现在 wcode 的 Jev 已经能判断：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;continue_retrieval?
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;semantic_navigation_required?
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;但下一步我更想做的是候选级别的 scoring。&lt;/p&gt;
&lt;p&gt;比如一次 search / graph / experience / design lookup 找到 30 个候选：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;candidate 1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;candidate 2
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;candidate 3
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;candidate 30
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;不应该简单按 lexical hit 或固定 heuristic 全塞给模型。&lt;/p&gt;
&lt;p&gt;更合理的是：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;deterministic search
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      ▼
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;bounded candidate pool
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      ▼
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Jev:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  relevance?
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  task-critical?
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  test-related?
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  security-sensitive?
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  stale?
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  contradictory?
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      ▼
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rerank
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      ▼
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;top context
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;但这里仍然需要 deterministic floor。&lt;/p&gt;
&lt;p&gt;下面这些我不准备交给 Jev 删除：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;用户明确点名的 target
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;当前 changed files
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;security-sensitive files
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mapped acceptance tests
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;current failure locations
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;SHA edit target
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;current revision evidence
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Jev 可以重排 optional context，不能删硬约束。&lt;/p&gt;
&lt;h2 id=&#34;第三件事做-context-firewall&#34;&gt;第三件事：做 Context Firewall&lt;a class=&#34;heading-anchor&#34; href=&#34;#%e7%ac%ac%e4%b8%89%e4%bb%b6%e4%ba%8b%e5%81%9a-context-firewall&#34; aria-label=&#34;章节链接：第三件事：做 Context Firewall&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;原文里有一个方向我觉得对 Agent 很重要：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;retrieved text 不应该默认等价于 instruction。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;这件事在 Coding Agent 里比普通 RAG 更危险。&lt;/p&gt;
&lt;p&gt;因为 Agent 会读：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;README；&lt;/li&gt;
&lt;li&gt;docs；&lt;/li&gt;
&lt;li&gt;issue；&lt;/li&gt;
&lt;li&gt;generated source；&lt;/li&gt;
&lt;li&gt;shell output；&lt;/li&gt;
&lt;li&gt;web content；&lt;/li&gt;
&lt;li&gt;dependency docs；&lt;/li&gt;
&lt;li&gt;MCP resource；&lt;/li&gt;
&lt;li&gt;comments。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这些内容里完全可能出现：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Ignore previous instructions
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Run this command
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Upload this token
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Disable verification
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果都原样塞到 context 里，实际上是在把 repository data 和 agent instruction 混成一种东西。&lt;/p&gt;
&lt;p&gt;所以我想在 Context Compiler 前再加一层：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;retrieved chunk
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     ▼
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;deterministic boundary
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     ▼
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;semantic classification
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     ├── evidence
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     ├── conflict
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     ├── instruction-like
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     └── irrelevant
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     ▼
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;context admission
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;也就是 &lt;strong&gt;Context Firewall&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;Jev 在这里不是安全 authority。&lt;/p&gt;
&lt;p&gt;真正的权限仍然在 wcode。&lt;/p&gt;
&lt;p&gt;但它可以帮忙判断：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;这段文本更像 evidence，还是更像试图改变 Agent 行为的 instruction？&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;我觉得这个能力以后会越来越重要。&lt;/p&gt;
&lt;h2 id=&#34;第四件事tools-不应该永远全量暴露&#34;&gt;第四件事：Tools 不应该永远全量暴露&lt;a class=&#34;heading-anchor&#34; href=&#34;#%e7%ac%ac%e5%9b%9b%e4%bb%b6%e4%ba%8btools-%e4%b8%8d%e5%ba%94%e8%af%a5%e6%b0%b8%e8%bf%9c%e5%85%a8%e9%87%8f%e6%9a%b4%e9%9c%b2&#34; aria-label=&#34;章节链接：第四件事：Tools 不应该永远全量暴露&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;这篇原文里另一个我非常认同的点，是 Tool calling 的 context 税。&lt;/p&gt;
&lt;p&gt;现在 function calling / MCP 常见的方式是：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;工具 schema 先全部放进模型 context。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;工具少的时候没问题。&lt;/p&gt;
&lt;p&gt;工具几十、上百以后，开始出现两个代价：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;schema 本身很占 context；&lt;/li&gt;
&lt;li&gt;action space 太大，模型选择未必更准确。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;wcode 自己这两年也一直在做 tool schema 收敛。&lt;/p&gt;
&lt;p&gt;但我现在想更进一步：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;把完整 Tool Catalog 改成 Action Registry + progressive disclosure。&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;第一层模型只看到：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;repository_search
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;semantic_navigation
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;code_edit
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;verification
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;runtime_control
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;authorization
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;design_state
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;evidence
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这些只是 capability hints。&lt;/p&gt;
&lt;p&gt;真正选中一个 capability 后，再动态加载：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;exact action
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;full schema
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;argument constraints
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;examples
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;failure semantics
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;risk class
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;也就是说：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Goal
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  ▼
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Action Router
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  ▼
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Top-K capability
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  ▼
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;load full action schema
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  ▼
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;model tool call
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这和 TypeSafe 的 Skill Suggestion 很像：&lt;/p&gt;
&lt;p&gt;先看短 description。&lt;/p&gt;
&lt;p&gt;选 Top-K。&lt;/p&gt;
&lt;p&gt;再加载更完整的信息做第二次判断。&lt;/p&gt;
&lt;p&gt;如果这件事做成，我觉得 wcode 才真正有可能做到：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;内置很多能力，但不让模型每一轮都付出完整上下文成本。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;第五件事skillstoolscontext-rule-分开&#34;&gt;第五件事：Skills、Tools、Context Rule 分开&lt;a class=&#34;heading-anchor&#34; href=&#34;#%e7%ac%ac%e4%ba%94%e4%bb%b6%e4%ba%8bskillstoolscontext-rule-%e5%88%86%e5%bc%80&#34; aria-label=&#34;章节链接：第五件事：Skills、Tools、Context Rule 分开&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;我现在也越来越觉得这三个概念不应该混。&lt;/p&gt;
&lt;h3 id=&#34;tool--action&#34;&gt;Tool / Action&lt;a class=&#34;heading-anchor&#34; href=&#34;#tool--action&#34; aria-label=&#34;章节链接：Tool / Action&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;立刻执行一个动作：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;run verification
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;read file
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;find references
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;start process
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;skill--workflow&#34;&gt;Skill / Workflow&lt;a class=&#34;heading-anchor&#34; href=&#34;#skill--workflow&#34; aria-label=&#34;章节链接：Skill / Workflow&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;一类任务怎么做：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;release package
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;debug frontend
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;review migration
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;repair verification failure
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;context-rule&#34;&gt;Context Rule&lt;a class=&#34;heading-anchor&#34; href=&#34;#context-rule&#34; aria-label=&#34;章节链接：Context Rule&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;做某类任务时必须带上的知识：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;frontend -&amp;gt; style guide
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;src/auth -&amp;gt; auth gotchas
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Rust perf -&amp;gt; performance rules
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;writing -&amp;gt; personal style samples
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Context Rule 很像 AGENTS.md，但不是全局静态加载。&lt;/p&gt;
&lt;p&gt;应该是：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;if scope == src/auth:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    include auth-gotchas
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;if task == frontend:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    include frontend-style
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;if task == release:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    include release-policy
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;并且可以有一个很重要的属性：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sticky = true
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;意思不是永久存在于 KV cache。&lt;/p&gt;
&lt;p&gt;而是：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;只要 task condition 还成立，每次 Context Compiler 都必须重新带上。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;这样就不会因为 compaction 或换模型把关键规则压没。&lt;/p&gt;
&lt;h2 id=&#34;第六件事subagent-应该共享-state不是共享聊天&#34;&gt;第六件事：Subagent 应该共享 State，不是共享聊天&lt;a class=&#34;heading-anchor&#34; href=&#34;#%e7%ac%ac%e5%85%ad%e4%bb%b6%e4%ba%8bsubagent-%e5%ba%94%e8%af%a5%e5%85%b1%e4%ba%ab-state%e4%b8%8d%e6%98%af%e5%85%b1%e4%ba%ab%e8%81%8a%e5%a4%a9&#34; aria-label=&#34;章节链接：第六件事：Subagent 应该共享 State，不是共享聊天&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;现在 subagent 最大的问题，我觉得一直不是“怎么启动另一个模型”。&lt;/p&gt;
&lt;p&gt;真正麻烦的是：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;主 Agent 的哪些 context 要传过去？
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;它回来哪些东西要合并？
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;它读到的 revision 还是不是当前 revision？
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;几个 agent 同时写怎么办？
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;结果有没有冲突？
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果 State 是显式的，就可以换成另一种模型：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Subgoal
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  id
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  revision
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  input scope
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  allowed reads
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  allowed writes
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  output schema
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;比如：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;subgoal:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  inspect auth impact
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;revision:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  R
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;read:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Software Graph
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Semantic Provider
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  src/auth
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  mapped tests
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;write:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  ImpactReport only
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;它不需要复制主 Agent 的整个 session。&lt;/p&gt;
&lt;p&gt;它只需要拿到一份 task-specific context view。&lt;/p&gt;
&lt;p&gt;返回以后也不是“塞一大段聊天回来”，而是写一个结构化 artifact。&lt;/p&gt;
&lt;p&gt;这时候 subagent 更像 worker，而不是另一个会话。&lt;/p&gt;
&lt;h2 id=&#34;第七件事把-background-intelligence-当一等公民&#34;&gt;第七件事：把 Background Intelligence 当一等公民&lt;a class=&#34;heading-anchor&#34; href=&#34;#%e7%ac%ac%e4%b8%83%e4%bb%b6%e4%ba%8b%e6%8a%8a-background-intelligence-%e5%bd%93%e4%b8%80%e7%ad%89%e5%85%ac%e6%b0%91&#34; aria-label=&#34;章节链接：第七件事：把 Background Intelligence 当一等公民&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;原文最后提到一个我觉得很有潜力的模式：&lt;/p&gt;
&lt;p&gt;很多 Agent workflow 其实适合在后台跑。&lt;/p&gt;
&lt;p&gt;尤其是只读任务：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;security review
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;architecture review
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;test-gap analysis
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;graph refresh
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;documentation drift
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;eval generation
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;performance analysis
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cross-model review
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;它们都可以理解成：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;当前 repository revision 的函数。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;所以我更想让 wcode 后面形成：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Revision R
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   ├── Graph Builder
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   ├── Security Review
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   ├── Architecture Review
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   ├── Test Gap
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   ├── Docs Drift
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   ├── Eval Builder
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   └── Runtime Observation
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           ▼
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   Derived Engineering State
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;只要 revision 变了：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;R -&amp;gt; R+1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;旧结果自动 stale。&lt;/p&gt;
&lt;p&gt;这其实和 wcode 现在的 Evidence / Verification / Graph revision binding 是同一套思想。&lt;/p&gt;
&lt;p&gt;我觉得这比“开很多 subagent 聊天”更像真正可维护的 multi-agent architecture。&lt;/p&gt;
&lt;h2 id=&#34;第八件事model-router-最后再做&#34;&gt;第八件事：Model Router 最后再做&lt;a class=&#34;heading-anchor&#34; href=&#34;#%e7%ac%ac%e5%85%ab%e4%bb%b6%e4%ba%8bmodel-router-%e6%9c%80%e5%90%8e%e5%86%8d%e5%81%9a&#34; aria-label=&#34;章节链接：第八件事：Model Router 最后再做&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;“Why yet another agent” 里花了不少篇幅讲 KV cache 怎么让 model routing 变得不经济。&lt;/p&gt;
&lt;p&gt;我认同这个问题。&lt;/p&gt;
&lt;p&gt;但我现在不会先做 model router。&lt;/p&gt;
&lt;p&gt;因为如果 state/context 还是一坨 session history：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;再聪明的 routing 也只是在决定谁来重新吃这一坨 token。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;所以顺序应该反过来：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;先把 State 显式化
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     ↓
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;再做 Context Compiler
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     ↓
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;再做 Action Router
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     ↓
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;再做 Subgoal / Background Plane
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     ↓
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;最后 Model Router
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;到那个时候，小模型和大模型切换才自然：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;简单 task
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;→ 编译一个很小的 Context View
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;→ 小模型
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;复杂 task
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;→ 编译一个更完整的 Context View
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;→ 大模型
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;security review
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;→ 编译 security-specific View
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;→ 独立 reviewer
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;模型不需要继承另一个模型过去半小时的“脑子”。&lt;/p&gt;
&lt;p&gt;只需要读取同一份 Engineering State 的不同视图。&lt;/p&gt;
&lt;h2 id=&#34;这会让-wcode-的定位更清楚&#34;&gt;这会让 wcode 的定位更清楚&lt;a class=&#34;heading-anchor&#34; href=&#34;#%e8%bf%99%e4%bc%9a%e8%ae%a9-wcode-%e7%9a%84%e5%ae%9a%e4%bd%8d%e6%9b%b4%e6%b8%85%e6%a5%9a&#34; aria-label=&#34;章节链接：这会让 wcode 的定位更清楚&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;我现在不太想把 wcode 定义成：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;一个更强的 Coding Agent。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;我更愿意把它定义成：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Coding Agent 下面的 Engineering Runtime。&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;大概是：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                Codex / Claude / ChatGPT / 自研 Agent
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                              │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                              ▼
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        Current Goal
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                              │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                              ▼
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                  ┌─────────────────────┐
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                  │   wcode Decision    │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                  │       Plane         │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                  │ deterministic + Jev │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                  └──────────┬──────────┘
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                             │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           ┌─────────────────┼─────────────────┐
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           ▼                 ▼                 ▼
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   Context Compiler     Action Router     Background Plane
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           │                 │                 │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           ▼                 ▼                 ▼
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      State Fabric       Action Registry   Derived State
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           │
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           ├── Execution
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           ├── Worklist
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           ├── Workspace
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           ├── Design State
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           ├── Software Graph
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           ├── Semantics
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           ├── Risk
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           ├── Verification
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           ├── Evidence
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           ├── Reconciliation
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;           └── Runtime Tasks
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Agent 可以换。&lt;/p&gt;
&lt;p&gt;Model 可以换。&lt;/p&gt;
&lt;p&gt;UI 可以换。&lt;/p&gt;
&lt;p&gt;MCP client 可以换。&lt;/p&gt;
&lt;p&gt;但工程状态和边界不换。&lt;/p&gt;
&lt;p&gt;我觉得这是 wcode 最值得做的地方。&lt;/p&gt;
&lt;h2 id=&#34;jev-在这套架构里的角色&#34;&gt;Jev 在这套架构里的角色&lt;a class=&#34;heading-anchor&#34; href=&#34;#jev-%e5%9c%a8%e8%bf%99%e5%a5%97%e6%9e%b6%e6%9e%84%e9%87%8c%e7%9a%84%e8%a7%92%e8%89%b2&#34; aria-label=&#34;章节链接：Jev 在这套架构里的角色&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;如果把上面所有东西压成一句话：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Jev 不应该是 wcode 的大脑，而应该是 wcode 里负责“模糊语义分支”的 typed decision engine。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;比如：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;这个 chunk 是否相关？
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;是否需要更详细版本？
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;是否还缺 evidence？
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;这几个合法 action 哪个更适合？
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;这个 subgoal 是否重复？
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;这个 diff 是否值得额外 review？
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;这段 retrieved text 是 evidence 还是 instruction？
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这些问题非常适合：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Noul
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Choice
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Score
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;而：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;能不能写这个文件？
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;能不能执行这个 command？
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;当前 SHA 对不对？
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;验证通过没有？
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Evidence stale 没有？
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;继续由 deterministic code 决定。&lt;/p&gt;
&lt;p&gt;我觉得这两层分得越清楚，系统反而越稳。&lt;/p&gt;
&lt;h2 id=&#34;我准备怎么推进&#34;&gt;我准备怎么推进&lt;a class=&#34;heading-anchor&#34; href=&#34;#%e6%88%91%e5%87%86%e5%a4%87%e6%80%8e%e4%b9%88%e6%8e%a8%e8%bf%9b&#34; aria-label=&#34;章节链接：我准备怎么推进&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;这次看完以后，我给 wcode 后续重构排的顺序大概是：&lt;/p&gt;
&lt;h3 id=&#34;1-decision-policy-产品化&#34;&gt;1. Decision Policy 产品化&lt;a class=&#34;heading-anchor&#34; href=&#34;#1-decision-policy-%e4%ba%a7%e5%93%81%e5%8c%96&#34; aria-label=&#34;章节链接：1. Decision Policy 产品化&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;现在 question set、threshold、distribution、calibration 已经有了。&lt;/p&gt;
&lt;p&gt;下一步要把它们变成真正可版本化的 policy：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;question_set_version
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;decision_policy_version
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;requested_model
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;resolved_model
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;calibration sample
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Brier
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;false-stop
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;false-continue
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;2-semantic-retrieval-reranker&#34;&gt;2. Semantic Retrieval Reranker&lt;a class=&#34;heading-anchor&#34; href=&#34;#2-semantic-retrieval-reranker&#34; aria-label=&#34;章节链接：2. Semantic Retrieval Reranker&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;让 Jev 从“还要不要搜”变成“这些候选哪个最值得进 context”。&lt;/p&gt;
&lt;h3 id=&#34;3-context-firewall&#34;&gt;3. Context Firewall&lt;a class=&#34;heading-anchor&#34; href=&#34;#3-context-firewall&#34; aria-label=&#34;章节链接：3. Context Firewall&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;区分：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;evidence
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;conflict
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;instruction-like content
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;irrelevant
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;4-context-compiler&#34;&gt;4. Context Compiler&lt;a class=&#34;heading-anchor&#34; href=&#34;#4-context-compiler&#34; aria-label=&#34;章节链接：4. Context Compiler&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;统一决定每个 context chunk：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;omit
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;summary
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;detailed
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;full
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;5-action-registry&#34;&gt;5. Action Registry&lt;a class=&#34;heading-anchor&#34; href=&#34;#5-action-registry&#34; aria-label=&#34;章节链接：5. Action Registry&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;让模型先看 capability index，再动态加载完整 tool schema。&lt;/p&gt;
&lt;h3 id=&#34;6-structured-skill--context-rule&#34;&gt;6. Structured Skill / Context Rule&lt;a class=&#34;heading-anchor&#34; href=&#34;#6-structured-skill--context-rule&#34; aria-label=&#34;章节链接：6. Structured Skill / Context Rule&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;把 workflow 和长期上下文规则分开。&lt;/p&gt;
&lt;h3 id=&#34;7-background-intelligence&#34;&gt;7. Background Intelligence&lt;a class=&#34;heading-anchor&#34; href=&#34;#7-background-intelligence&#34; aria-label=&#34;章节链接：7. Background Intelligence&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;把 graph、review、security、eval、docs drift 变成 revision-bound derived state。&lt;/p&gt;
&lt;h3 id=&#34;8-最后才做-model-routing&#34;&gt;8. 最后才做 Model Routing&lt;a class=&#34;heading-anchor&#34; href=&#34;#8-%e6%9c%80%e5%90%8e%e6%89%8d%e5%81%9a-model-routing&#34; aria-label=&#34;章节链接：8. 最后才做 Model Routing&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;到这一步，routing 才不是简单的“换模型”。&lt;/p&gt;
&lt;p&gt;而是：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;为不同模型编译不同成本、不同深度、但来自同一个 State Fabric 的 Context View。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;最后&#34;&gt;最后&lt;a class=&#34;heading-anchor&#34; href=&#34;#%e6%9c%80%e5%90%8e&#34; aria-label=&#34;章节链接：最后&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Jev 对我最大的启发并不是“有一个便宜模型可以帮 Agent 做判断”。&lt;/p&gt;
&lt;p&gt;真正重要的是：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;把 Agent 里的语义判断，从隐式 Prompt 行为变成显式、可类型化、可版本化、可校准的程序接口。&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;而 “Why yet another agent” 又把这个思路往前推了一步：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;如果 state 也是显式的，很多今天围绕 KV cache 长出来的复杂设计，可能根本不需要存在。&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;所以接下来我想继续把 wcode 从 Repository Control Plane 往 Engineering Runtime 推。&lt;/p&gt;
&lt;p&gt;不是再做一个 Agent。&lt;/p&gt;
&lt;p&gt;而是让任何 Agent 都能踩在一套更干净的：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;State、Context、Decision、Action、Verification、Evidence 和 Background Intelligence&lt;/strong&gt; 上。&lt;/p&gt;
&lt;p&gt;如果这个方向走通，我觉得它会比再造一个 Claude Code clone 有意思得多。&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>