<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>LLM on 星澜</title>
    <link>/tags/llm/</link>
    <description>Recent content in LLM on 星澜</description>
    <generator>Hugo</generator>
    <language>zh-CN</language>
    <lastBuildDate>Wed, 01 Apr 2026 09:00:00 +0800</lastBuildDate>
    <atom:link href="/tags/llm/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>06. AI Agent 与 Harness：Harness 是终局还是中间态？</title>
      <link>/post/2026/04/01/2026040106/</link>
      <pubDate>Wed, 01 Apr 2026 09:00:00 +0800</pubDate>
      <guid>/post/2026/04/01/2026040106/</guid>
      <description>&lt;h2 id=&#34;引言&#34;&gt;引言&lt;/h2&gt;&#xA;&lt;p&gt;Anthropic 和 Codex 的分歧，最近算是公开了。&lt;/p&gt;&#xA;&lt;p&gt;同样都在做 coding agent，但对 harness 的判断，两边已经走出了明显不同的方向。一边是 Anthropic 的工程博客，系统展示了他们怎么把 harness 做得更强、更厚。另一边是 Codex 开源负责人 Michael Bolin 在一场访谈里给出的信号——几乎是反着来的。一个在继续加厚，一个在说别做那么厚。&lt;/p&gt;&#xA;&lt;p&gt;这把一个本来没什么争议的问题顶到了台面上：harness 到底是终局，还是只是中间态？&lt;/p&gt;&#xA;&lt;h2 id=&#34;anthropic-在做什么&#34;&gt;Anthropic 在做什么&lt;/h2&gt;&#xA;&lt;p&gt;为了让 Claude Code 能稳定跑完长任务、构建完整应用，Anthropic 往 harness 里加了不少重的结构：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;planner&lt;/code&gt;：把一句话需求展开成完整规格&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;generator&lt;/code&gt;：负责真正去实现&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;evaluator&lt;/code&gt;：模拟真实用户去跑页面、接口、数据库状态&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;context reset&lt;/code&gt;：上下文快脏掉的时候直接清空，重新起一个新 agent，通过结构化交接文件把状态接过去&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;这套路线的核心判断是：模型本身还不够稳，所以得靠更强的外部编排来兜住长任务里的跑偏风险。复杂任务之所以能落地，靠的不是单次生成能力，而是整套控制结构够不够强。&lt;/p&gt;&#xA;&lt;p&gt;说白了就是：模型做事，harness 保证别失控。&lt;/p&gt;&#xA;&lt;h2 id=&#34;codex-在说什么&#34;&gt;Codex 在说什么&lt;/h2&gt;&#xA;&lt;p&gt;Michael Bolin 在访谈里给出的方向几乎是反过来的。他说他们理想中的 harness 应该尽可能小、尽可能轻。&lt;/p&gt;&#xA;&lt;p&gt;不是说 harness 不重要，而是：不要把太多决策硬编码进外部框架，不要疯狂堆专用工具，不要让模型每走一步都被人类写好的规则牵着走。&lt;/p&gt;&#xA;&lt;p&gt;Codex 的思路更像是给模型一个真实的运行环境——终端、沙盒、必要的上下文连接能力——但探索路径、调用方式、执行策略，尽量让模型自己决定。&lt;/p&gt;&#xA;&lt;p&gt;打个比方：脚手架可以有，但别把它做成一栋楼。因为模型早晚会涨到能自己处理更多东西。&lt;/p&gt;&#xA;&lt;h2 id=&#34;两边真正的分歧在哪&#34;&gt;两边真正的分歧在哪&lt;/h2&gt;&#xA;&lt;p&gt;表面看是 harness 该做厚还是做薄，但其实两边都没有否认 harness 的价值。他们真正分歧的，是对模型能力曲线的判断不一样。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Anthropic 在回答：模型还不够稳的时候，怎样让复杂任务真的跑起来&lt;/li&gt;&#xA;&lt;li&gt;Codex 在回答：模型越来越强之后，哪些外部结构还值得保留&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;这不是技术细节的分歧，而是两个不同时间假设下的工程选择。&lt;/p&gt;&#xA;&lt;p&gt;如果模型的大幅提升还很远，Anthropic 那条路就是现阶段最务实的选择。如果模型跃迁来得很快，Codex 那条路是在提醒你：别把过渡期的脚手架做成未来的长期负担。&lt;/p&gt;&#xA;&lt;h2 id=&#34;底线&#34;&gt;底线&lt;/h2&gt;&#xA;&lt;p&gt;Bolin 也没有说 harness 会彻底消失。他保留了一个底线：环境和安全不退场。&lt;/p&gt;</description>
    </item>
    <item>
      <title>01. AI Agent 与 Harness：概念梳理</title>
      <link>/post/2026/03/29/2026032901/</link>
      <pubDate>Sun, 29 Mar 2026 09:00:00 +0800</pubDate>
      <guid>/post/2026/03/29/2026032901/</guid>
      <description>&lt;h2 id=&#34;引言&#34;&gt;引言&lt;/h2&gt;&#xA;&lt;p&gt;最近一直在反复想几个词：&lt;code&gt;agent&lt;/code&gt;、&lt;code&gt;harness&lt;/code&gt;、&lt;code&gt;skill&lt;/code&gt;、&lt;code&gt;tool&lt;/code&gt;、&lt;code&gt;MCP&lt;/code&gt;、&lt;code&gt;context&lt;/code&gt;、&lt;code&gt;memory&lt;/code&gt;。&lt;br&gt;&#xA;它们在视频、推文、产品宣传、框架文档里经常被混着说，结果就是每个词都像懂了，又都不算真懂。&lt;/p&gt;&#xA;&lt;p&gt;这篇文章想做的事很简单：把这些词放回工程语境里，先理顺它们之间的关系，再把这组文章的阅读顺序摆清楚。&lt;/p&gt;&#xA;&lt;h2 id=&#34;总结&#34;&gt;总结&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Model / LLM&lt;/code&gt; 是底层推理与生成能力，不等于完整 agent&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Agent&lt;/code&gt; 是带有目标、状态、工具使用和多步行动能力的 LLM 系统&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Harness&lt;/code&gt; 不是某个单独组件，而是让 agent 稳定完成任务的整套工程化装置&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Skill&lt;/code&gt;、&lt;code&gt;Tool&lt;/code&gt;、&lt;code&gt;MCP&lt;/code&gt; 往往都是 harness 的组成部分，但它们单独都不等于 harness&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Prompt engineering&lt;/code&gt; 解决的是“怎么说”，&lt;code&gt;context engineering&lt;/code&gt; 解决的是“让模型看到什么”，&lt;code&gt;harness engineering&lt;/code&gt; 解决的是“怎么让整个系统稳地做完”&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;压成一句话就是：&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;model 负责想，agent 负责持续做，harness 负责让它做得稳、做得可控。&lt;/code&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;概念地图&#34;&gt;概念地图&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Model&lt;/code&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;提供理解、推理、生成能力&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Prompt&lt;/code&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;决定你怎么和模型说话&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Context&lt;/code&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;决定当前这一轮让模型看见什么&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Memory&lt;/code&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;决定哪些经验和状态可以跨轮次复用&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Tool&lt;/code&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;决定 agent 能调用哪些外部能力&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;MCP&lt;/code&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;决定外部系统如何以统一方式接进来&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Skill&lt;/code&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;决定一类任务该按什么方法做&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Agent&lt;/code&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;决定系统是否能围绕目标持续行动&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Harness&lt;/code&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;决定这个 agent 最终能不能稳定、可控、可交付&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;从工程视角，三者的包含关系更像：&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;harness 包含 agent，agent 使用 model&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;也就是：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;model&lt;/code&gt; 是能力底座，是 agent 的推理内核&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;agent&lt;/code&gt; 是基于 model 搭起来的行动闭环：&lt;code&gt;model + state + tool use + planning + action loop&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;harness&lt;/code&gt; 是把整个 agent 包裹起来的工程装置：上下文、工具、权限、验证、返工、观测——都在里面&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;modelpromptcontextmemory-到底是什么关系&#34;&gt;Model、Prompt、Context、Memory 到底是什么关系&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;Model&lt;/code&gt; 比较像大脑。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
