从 Next Token Prediction
到 Agent Harness
模型越来越强。我们更需要想清楚:
该把什么交给 AI,又该把什么留给自己?
没有匹配条目。清空搜索可恢复全部内容。
能力在增长,工作环境也在进化
点击每个节点,沿着时间往下讲。具体日期对应发布或论文;阶段标签用于串联变化。
发展节点原点:预测下一个 Token
从序列建模出发,逐渐学到语言、知识与程序的统计规律。
今天我们要讲从 LLM 的原点到现在的发展,以及我们该如何认知这些变化,如何更好地在工作和学习中使用 LLM。首先,我们从 next token prediction 开始。
把它说得直白一点:给定前面的内容,模型预测接下来出现什么 Token。Token 可以是字、词的一部分,也可以是符号。大量训练之后,这个看起来简单的目标,支撑起了我们现在看到的很多能力。当然,今天的模型还会经历指令微调、偏好优化、推理训练等后训练,不能只用“自动补全”概括产品的全部能力。
这里先记住一个区别:模型负责根据上下文产生输出;让它读取文件、执行代码、保存状态、失败后重试的,是外面的运行系统。后面我们一直要讲的 Harness,就是围绕模型工作的这一整套系统。
发展节点Prompt Engineering:先把经验写进去
Few-shot、Chain of Thought、伪代码:把任务做法明确给模型。
当模型还很弱,但我们又想用它的能力,该怎么办?这时候,我们就需要用一些外置的东西来武装它。
一条路,是通过 Prompt,把人类做事的方式、经验和例子快速交给模型:你要做什么,按什么步骤做,一个好答案长什么样。于是我们会看到 few-shot、Chain of Thought、pseudo-code prompting 等技巧。这些写法很像是在带一个刚接触任务的人:先示范,再说明流程。
但这里说的“传授”,主要是让模型在这一次上下文中参考这些内容,不是几段提示词就更新了它的模型权重。随着模型能力变化,同一套提示技巧也要重新验证;并不是步骤写得越长,结果就一定越好。
GPT-3:Language Models are Few-Shot Learners,2020-05 ↗ · Chain-of-Thought Prompting,2022-01 ↗
发展节点ReAct:回答之外,开始行动
推理、行动、观察可以构成循环。
另一条思路是:模型想了以后,能不能去做一点事情,再根据结果继续想?例如先搜索,再读搜索结果;先写代码,再运行代码,看报错,然后修改。
ReAct 把推理与行动放进一个交替进行的流程中。我们后来在编程 Agent 里看到的“读文件—修改—运行—再修改”,就很容易用这个循环来理解。它不是某个 IDE 才突然发明出来的,也不要求你一定能看到模型全部的内部推理。
发展节点ChatGPT:门槛突然降下来了
聊天窗口,让更多人直接感受到生成式 AI 的用途。
在 2022 年末,ChatGPT 出现了。以今天的眼光看,早期模型在长代码、多文件协作、稳定使用工具这些方面,确实还有很大的局限。你让它写一段代码,它可能能写;让它接着改很多轮、完成整个项目,就很容易出问题。
但它做了一件非常重要的事情:把能力放进了普通人会用的聊天框。你不用先理解论文,不用先学 API,就能直接问它问题,看到一个结果。这种门槛的降低,本身就是一次产品上的巨大进步。
后面我们再看个人 Agent 的爆火,也会看到类似的逻辑:技术能力很重要,让人立刻知道“我拿它能做什么”,同样重要。
发展节点长上下文:一次能装进更多材料
Anthropic 发布 100K context;容量与可靠利用能力是两回事。
接下来,模型能一次读进去的内容越来越多了。以前你要切成很多段给它的材料,现在可能可以一次交给它。对于读论文、看代码库、做长任务来说,这是非常直观的变化。
长上下文意味着我们有机会在同一个 Session 里装下更多知识,让模型更完整地理解任务。但这里要注意:装得下,不等于每一个细节都能被稳定地用好。更长的上下文给了我们空间,如何分配这个空间,仍然要靠 Harness 和我们的工作方式。
发展节点Function Calling:把意图接到工具
模型产生结构化调用参数,程序负责真正执行。
Function Calling 可以理解为一座桥。我们把工具名称、用途和参数格式告诉模型,模型根据任务决定是否调用,并输出结构化参数;接下来由宿主程序真正去执行工具,再把结果送回模型。
OpenAI 在 2023 年 6 月推出的 API 支持,让这套方式更方便地进入开发者的产品。用户今天通常直接说“帮我查一下”“改一下这个文件”,背后由 Harness 把这件事情翻译成工具调用。
它和 Skill、MCP 不在同一层:Skill 教怎么做,Function Calling 表达一次工具请求,MCP 解决工具与上下文能力怎样接入。这几个东西可以配合使用。
发展节点LangGraph:把状态和循环写进程序
从固定链路,走向可循环、可持久化的 Agent 编排。
我们前面说过两条路。一条是把经验写进 Prompt;另一条,是通过工具和代码来规范模型的工作过程。LangChain、LangGraph 就很适合用来理解第二条路。
你可以编排一个工作流:这一步先检索,那一步再生成,最后进行验证。也可以让流程回到前面的节点,根据反馈继续做。每一步该给模型什么内容、该允许它做什么,都可以由代码明确控制。
从这两条路你能看到,它们都在影响模型下一步看到的上下文。但编排也不只是 Prompt:它还管理状态、错误、工具副作用、分支和终止条件。Prompt 是重要的一部分,运行系统负责把这些部分真正组织起来。
发展节点Gemini 1.5:率先推出 1M 长上下文预览
Google 先把百万 Token 窗口带到旗舰通用模型的开发者预览中。
在我们这里讨论的几家主流厂商中,Gemini 率先推出了 1M 长上下文模型预览。2024 年 2 月 15 日,Google 发布 Gemini 1.5,并向部分开发者和企业客户开放百万 Token 窗口。
这意味着,一次可以交给模型的材料从几段文本,走向整本书、大量代码,甚至长视频。但接下来大家争抢的重点,就不只是“窗口有多大”,而是“这么多内容,它能不能真正用起来”。
到了 Anthropic 后续模型与 Claude Code 的工作流里,我更明显地感受到长上下文真正可用了:它不只是能读进去,而是能围绕这些内容继续改代码、追踪任务、调用工具。在我的使用体验中,Gemini 先推开了百万上下文的大门,Anthropic 则让长上下文更扎实地进入了实际工作。
Gemini 1.5 发布原文 ↗发展节点AI 编程软件:从聊天框到工作现场
Cursor、Windsurf 等把模型放进编辑、执行、观察的环境。
随着模型对代码的理解和编写能力增强,使用 AI 编程的风潮出现了。Cursor、Windsurf 这样的产品,把模型接到文件、终端、项目索引和代码编辑器上。
这时候,AI 不再只是给你一段“你可以复制过去试试”的代码,而是可以自己读、自己改、自己运行,再根据结果继续工作。模型的能力通过一个持续的循环被释放出来,这让它从聊天窗口走向了真正的生产力产品。
这里就是 Harness 的关键价值:把一次模型调用,变成能持续推进任务的系统。它不只提供工具,还需要决定什么时候停、怎样验证、哪里需要人来判断。
Cursor Agent 文档 ↗ · Windsurf Cascade 文档(现跳转 Devin Desktop) ↗
发展节点MCP:给接入方式一个共同协议
Tools、Resources、Prompts,比“工具插头”更完整。
接下来是 MCP,Model Context Protocol,模型上下文协议。注意中间的 C,就是 Context。它不只是我们最熟悉的“通过 MCP 调用一个外部工具”。
协议还定义了资源与提示模板等能力。宿主可以把一个资源读出来放进上下文,也可以让用户选择一个提示模板,再发给模型。对开发者来说,共同协议减少了为每个产品重新接一遍工具的工作。
但也要把边界讲清楚:MCP Server 不是一装上就能读取你所有聊天、随意修改最高优先级 System Prompt。什么东西进上下文、什么时候进入、权限是否放行,仍然由客户端和宿主控制。
发展节点模型厂商下场:编程 Agent 成为产品
Claude Code → Codex CLI → Gemini CLI。
接下来就是一个百花争艳的时代。Anthropic 推出 Claude Code;OpenAI 推出 Codex CLI;Google 推出 Gemini CLI。模型厂商开始直接提供完整的编程工作环境,而不仅是卖模型接口。
这时候我们要想一点:当模型公司亲自下场做产品,你的产品护城河在哪里?如果只是给同一个模型包一层很薄的界面,优势可能很快缩小。这里说的是一种商业压力,不是断言某类公司已经集体消失。
AI Agent 的底层能力未必是你独占的。你积累的行业资源、合法可用的独有数据、稳定的工作流程、客户信任和交付能力,才更可能形成自己的优势。编排本身也会被复制,持续解决真实问题才更难复制。
发展节点Agent Skills:把经验变成可复用资产
目录元数据先出现;需要时再读正文、脚本与参考资料。
对于 Skill,我们现在已经很熟悉了。你可以先把它理解为一份方便重复使用的做事说明:要做什么,遵守什么规范,怎样算完成。再往前一步,它还可以带脚本、模板和参考资料,成为一个完整的工作包。
Skill 最有意思的地方,是渐进式披露。Agent 开始时不需要读完所有 Skill,只要知道有哪些、分别适合什么任务。等真正要做一件事,再把对应的详细内容读进来。
写 Skill 的过程,也在逐渐被 AI 辅助。但“能生成一份 Skill”与“这份 Skill 稳定有用”,中间还隔着真实任务验证和反复修改。抄下来的东西,只有根据自己的需求优化过,才真正顺手。
发展节点开放生态:谁来定义接入规则?
规范、参考实现、商业产品,需要分开理解。
你会看到很多技术以开放规范或开源实现的形式进入市场。生态一旦起来,就会出现聚合网站、教程、插件、Skill 推荐,其他厂商也会更愿意适配。
在我看来,这里面当然有争取开发者和市场位置的逻辑。谁先定义接口,谁就有机会影响生态的方向。但“开放”不是同一个意思:公开协议、开源客户端、开放模型权重和免费服务,是几件不同的事情。
所以不能进一步推成“制定标准的人永远能随意改规则”。公开治理、版本兼容、社区参与和分叉都会形成约束。对我们来说,重点是把自己的知识、流程和交接材料尽量保留在可迁移的格式里。
发展节点OpenClaw 与个人助手浪潮
聊天入口、持久运行、定时触发,让“能做什么”更具体。
OpenClaw 最吸引人的一点,是它让 Agent 进入你已经会用的聊天工具里。你可以给它发消息、传文件、安排事情;在配置好的条件下,它也能通过定时任务或后台机制继续推进工作。
它和 ChatGPT 当年的爆火,在我看来有一个相似点:用很低的交互门槛,让更多人突然感受到 AI 的乐趣和用途。用户不一定知道要研究哪个模型,但他知道“我需要一个能替我处理事情的助手”。
当然,我也会感觉自己的信息流里,它没有刚出现时那么热了。但这只是我看到的热度变化,不能直接推出“没有人用了”或“没有意义”。真正需要检验的是:它持续完成了哪些事情,节省了多少人的时间,又带来了多少维护成本。
我们也不能把 LLM、Agent 等同于全部 AI。视觉、推荐、机器人、搜索、游戏智能仍然存在。只是这一阶段,资金、产品和公众注意力更多集中在生成式模型上。
发展节点模型越来越强:我们到底还要做什么?
能力展示越来越惊人,验收标准更需要掌握在自己手里。
从简单的代码题,到六边形里掉落的小球、物理模拟,再到 3D 场景和一句话生成游戏,模型能力的增长越来越被可视化地展示出来。到了今天,GPT-6 Astra、Claude Fable 5.1 等旗舰模型的官方材料,也把科学推理和更复杂的工作任务放到了很突出的位置。
那么我们到底要做什么?我们能干什么?接下来,我们就从现在往过去推:一边讲 Agent 的构成和设计逻辑,一边讲我们与 AI 配合时,人的判断应该放在哪里。
我想先留下一个问题:你需要的模型能力,一定是最新的那个吗?如果一年前的模型就能完成你的工作,为什么还要追新?我的答案不是简单地省钱或花钱,而是看整个任务的成本:它替你少做了多少检查、少返工几次、少消耗多少精力。后面我们再展开。
我们怎样让 Agent 做好事,
也让自己少费一点力?
01 / Harness 到底在管理什么?
模型、上下文、工具、状态、验证:共同形成可持续的工作循环。
说完了前面的发展史,我们可以看到,模型能力很重要,但一个 Agent 能不能把任务做完,还取决于它外面有哪些东西。
我们可以用一个非常朴素的说法:模型像一个会思考和表达的核心,Harness 是让这个核心持续工作的环境。它把任务和信息送进去,把工具调用接出来,把执行结果送回去,再决定继续、重试、交接还是结束。
我倾向于把 OpenAI、Anthropic、Google 理解为在模型、工具组织、多模态等方向上各有强调。但不能把三家划成互斥的路线:它们都在做模型和产品,也都在做工具与多模态。“哪家语言最好”“哪家代码最强”,还要看具体版本和任务,不能用一个永久标签替代实际测试。
展开交互流程图 · Harness 的工作循环
| 层 | 要回答的问题 | 具体例子 |
|---|---|---|
| 模型 | 这一步需要什么能力? | 理解、规划、生成工具参数、判断结果 |
| 上下文 | 这一步应该看到什么? | 指令、当前目标、少量相关文件、Skill |
| 运行与状态 | 做过什么,下一步是什么? | 任务队列、工具执行、持久文件、权限 |
| 反馈与验证 | 它真的做对了吗? | 运行结果、测试、截图、人工验收 |
02 / 信息越来越便宜,精力越来越贵
先让 AI 过滤,再把值得思考的内容交给自己。
以前我们需要专门的 PPT 工具做演示,现在也可以让模型用 HTML 做一个能展开、能交互的讲稿。视频、语音、新闻稿、代码动效,也越来越容易生成。这当然带来了便利,同时也带来了大量质量参差不齐的信息。
所以我认为,真正稀缺的已经不只是信息,而是我们筛选信息的能力,以及还能留给自己多少精力。每天看了很多视频,不代表真正吸收了多少东西。你可能只是越来越累,越来越难形成自己的判断,跟着信息流里的意见往前走。
这里我提出第一个观点:AI 最值得帮我们做的事情之一,就是高效地获取、过滤和提炼信息。把一个十几分钟、二十几分钟的视频,整理成有来源、有重点、能判断值不值得继续看的内容。对确实可复用的部分,再沉淀成自己的 Skill。
我需要保留精力去做一些看起来“没有产出”的事情:发呆、思考、钻研一个问题。时间很公平,精力却非常容易在不知不觉中被花掉。AI 如果只是给我更多内容,就没有帮到点上;如果它帮我少看一点、看准一点,才有意义。
当然,信息先过 AI,也可能把模型的遗漏和偏见带进来。所以摘要要保留原文链接、时间戳和不确定项;影响判断的重要内容,仍然回到原始材料。过滤不等于把判断权也一起交出去。
展开交互流程图 · 信息 → 核验 → 决定 → 复用
03 / 上下文的开头,到底装了多少东西?
先分清产品、单位和机制,再讨论“截断”。
接下来我们讨论:Agent 的注意力是怎么被消耗的?模型一开始可能会看到系统指令、项目约定、Skill 目录、工具定义,再加上用户任务和历史消息。这里面有很多东西,对任务有帮助;但堆得过多,也会增加干扰。
不同产品、不同信息层有各自的预算:自定义指令、项目约定、Skill 目录和正文,并不共用一个统一上限。管理上下文时,先看清楚被限制的是哪一层。
下面把不同层的预算放在一起看。字符、字节和 Token 各有自己的口径,实际使用时按对应产品的配置来管理。
| 对象 | 数值 / 规则 | 这意味着什么 |
|---|---|---|
| ChatGPT 自定义指令 | Free / Go:1,500 字符 Plus / Pro / Enterprise / Business / Education:5,000 字符 | 用户可编辑字段的限制;完整内部 System Prompt 的统一上限未公开。官方帮助 ↗ |
| Codex · AGENTS.md | project_doc_max_bytes 默认 32 KiB | 发现并组合项目指令时的字节预算,可配置;不是全部系统指令上限。文档 ↗ |
| Claude Code · CLAUDE.md | 建议每份文件 少于 200 行 | 200 行是建议;CLAUDE.md 文件最多 4 MiB 完整加载,更大则跳过。MEMORY.md 启动读取前 200 行或 25 KB,先到者为准。文档 ↗ |
| Codex · Skill 初始目录 | 最多模型上下文的 2%;窗口未知时 8,000 字符 | 先缩描述;大量安装时可能省略部分条目并警告。被选中的正文再读。文档 ↗ |
| Claude Code · Skill 初始目录 | 默认模型上下文的 1%;单条描述与 when_to_use 合计默认 1,536 字符 | 超预算先移除低频 Skill 的描述,名称保留;正文按需加载。可配置。文档 ↗ |
| Skill 正文 | 没有查到两者统一的 1,800 Token 硬上限 | 正文、参考文件、工具返回各有读取和上下文约束;不要用目录预算替代正文限制。 |
The budget scales at 1% of the model’s context window.this list uses at most 2% of the model's context windowFree and Go users can save up to 1,500 charactersloads a CLAUDE.md file of up to 4 MiB in full and skips a larger file.04 / MCP 怎样把内容放进上下文?
协议提供能力,宿主决定采用方式;没有一个全平台通用的截断值。
MCP 的确不只有工具。Resources 可以提供数据,Prompts 可以提供可选择的提示模板,Tools 则让模型提出操作请求。协议的 Sampling 能力还允许服务器向客户端请求模型生成,但仍然受客户端控制。
MCP 可以参与上下文的组织,但它没有天然的权限去任意读取、改写整个模型上下文。尤其是服务器传来的说明,并不自动变成最高优先级 System Prompt。
真正影响上下文占用的,是宿主怎样发现工具、是否延迟加载描述、怎样把资源和结果送给模型,以及收到太长的工具输出后怎样处理。
| 层 / 产品 | 上下文注入方式 | 限制 |
|---|---|---|
| MCP 协议 | Tools / Resources / Prompts;Sampling 请求可包含系统提示建议或上下文选项,但由客户端决定是否采用。 | 没有协议统一的“注入 N Token”规则。架构 ↗ · Sampling ↗ |
| Codex | 通过配置连接服务器,发现可用工具与上下文能力;工具结果回到任务上下文。可用 enabled_tools / disabled_tools 控制工具范围。 | 没有全 MCP 统一值。源码中的工具结果优先用单工具 output_token_limit;未设置时沿用模型的 truncation_policy。官方文档 ↗ · 结果截断源码 ↗ |
| Claude Code | 当前文档:默认启用工具搜索,延迟加载 MCP 工具;需要时取回工具定义。资源与 Prompt 按宿主支持进入上下文。 | 描述与 server instructions 各 2 KB;输出超过 10,000 tokens 提示,默认最大 25,000 tokens,可通过 MAX_MCP_OUTPUT_TOKENS 调整。官方文档 ↗ |
Claude Code truncates tool descriptions and server instructions at 2KB each.05 / 渐进式披露:需要的时候,再拿出来
让目录帮助模型找到信息,让正文帮助模型完成任务。
假设你装了 100 个 Skill。它们不会全部以完整正文进入上下文;但目录本身也会占预算。描述被缩短或条目被省略之后,模型可能更难准确匹配任务。实际表现可能是不调用、选错,或者需要你明确点名。
所以我的建议仍然是:对 Skill 做严格管控。全局只放经常需要、触发条件清楚的能力;面向特定项目的流程,尽量放进项目。不是安装得越多,Agent 就越强。
同样,AGENTS.md 和 CLAUDE.md 也需要分层。全局写长期稳定的个人约定,项目级写架构入口、环境和验证方法,具体领域的细节再放到靠近相关目录的文件里。项目大,不代表每次都要把所有项目知识一次性喂进去。
比如,我也会把自建 API 的接入说明放在合适的项目约定里,让 Agent 开发相关软件时知道怎样接入。这里有价值的是我自己的环境和工作习惯,不是一份网上复制来的通用长文件。
你会发现,这些东西在做同一件事情:渐进式披露。先知道去哪里找,再在需要的时候读取;先有一份简短地图,再进入具体房间。Skill 再次被读取后,任务相关步骤会重新进入当前上下文,这比指望模型一直记住很早以前的长篇说明更稳妥。
| 层级 | 建议放什么 | 触发时机 |
|---|---|---|
| 全局 | 语言风格、通用工作习惯、必要的权限边界 | 会话初始化 |
| 项目 | 项目目标、目录入口、包管理器、关键验证命令 | 进入项目 |
| Skill 目录 | 名字、明确用途、少量触发线索 | 能力发现 |
| Skill 正文 / 参考文件 | 任务步骤、模板、脚本、领域细则 | 与当前任务匹配后 |
| 运行结果 | 本次报错、测试结果、截图、状态变化 | 每次行动之后 |
展开:一份精简项目约定示例
项目目标:把用户提供的研究材料整理成可追溯的讲稿。 入口:README.md 说明目录;docs/sources.md 记录资料来源。 环境:先阅读项目已有配置,沿用现有依赖与构建方式。 验证:对照验收清单检查链接、数值、版式与交互。 完成:报告已完成内容、验证结果和剩余不确定项。 敏感配置:从项目约定的环境变量读取凭据。 权限边界:公开发布与对外发送遵循用户已授权的范围。
按自己的项目填写真实路径和命令。CI、提交与测试策略由项目需要决定,不把每个项目都强行套进同一流程。
06 / 上下文满了以后:压缩、保留与交接
触发阈值、近期保留量、摘要上限,是三个不同数字。
那么问题来了:当我们执行了很长的任务,读了很多文件,聊了很多轮,上下文快满的时候会发生什么?如果没有处理,后续请求就可能无法容纳更多输入和输出。很多 Harness 会提前压缩历史,让任务继续。
你可以把它类比成写一份交接摘要,再接着工作。但实现不一定真的是“重新开一个窗口”:有的在当前会话里替换历史,有的调用远端压缩接口,有的保留结构化或不透明的状态。完整历史是否还存在,也要看产品如何持久化。
压缩的风险是有损:它可能漏掉约束、细节和早先的决策理由。这不是说每次压缩都会明显变差,而是我们不能把摘要当成完整原文。所以需要可回看的记录、外置状态,以及清楚的下一步。
| Harness | 触发与保留 | 压缩结果与提示词 |
|---|---|---|
| Codex · 公开源码 | resolved context window 的 90% 是自动压缩上限;设置了更低 auto_compact_token_limit 时取较小值。 | 本地路径使用 checkpoint handoff 提示;还存在远端压缩路径。未见一个适用于所有路径的固定摘要百分比。 |
| Claude Code · 公开文档 | 默认按模型与会话配置:通常到上下文边界;Sonnet 5 在 Anthropic API 上约 967K tokens。可用 /autocompact 或环境变量调整窗口。 | 保留关键请求与代码细节,可 /compact 指定重点,也可写 Compact Instructions。没有跨模型统一百分比;完整内部提示词与固定摘要占比未公开。 |
| OpenClaw · 内置 compaction 源码 | 默认 reserveTokens=16,384;contextTokens > contextWindow − reserveTokens 时触发。keepRecentTokens 默认 20,000。 | 摘要字符上限 16,000;保留近期记录与工具调用配对。实际自动路径、预算适配、safeguard 或其他后端可改变有效保留量。 |
展开:原文、源码位置与数值口径
You are performing a CONTEXT CHECKPOINT COMPACTION.Codex 本地摘要要求交接:进度与关键决策、约束与偏好、剩余步骤、继续所需的数据和引用。90% 与配置取小的代码 ↗ · 本地压缩 ↗ · 远端路径 ↗
Claude Code 当前默认:一般在模型边界压缩;云会话在接近边界时压缩,部分 200K 配置在 200K 边界,Sonnet 5 原生 1M 配置约为 967K。设置窗口可用 /autocompact 500k;环境变量 CLAUDE_CODE_AUTO_COMPACT_WINDOW 用纯 Token 数。默认阈值与配置 ↗ · 上下文管理说明 ↗ · CLAUDE_AUTOCOMPACT_PCT_OVERRIDE ↗。PCT_OVERRIDE 取 1–100,只能调低,且仅适用于提前压缩的会话。50 是设置示例,不是默认值;触发阈值不等于摘要比例。
You are a context summarization assistant.OpenClaw 的摘要结构包括目标、约束、进度、决策、下一步和关键上下文,要求保留重要路径与错误信息。完整提示词、常量与触发逻辑 ↗ · 当前产品说明 ↗。以 200,000 tokens 窗口和上述默认预留量为例,触发线为 183,616 tokens;这是代码示例计算,不是所有部署的固定比例。
源码快照:Codex ce254df05a31;OpenClaw 016553279a10。检索于 2026-09-08。旧版本的 reserveTokensFloor、第三方后端参数与当前内置默认值应分别说明。
07 / 长任务:把当前现场交给新任务
用紧凑的连续性提示接棒,让新任务从明确的第一步开始。
那我们要怎么做?第一种方法,是把任务拆到一个上下文内能比较稳定完成的规模。第二种方法,是把重要状态留在文件和任务记录里,让模型在压缩之后还能找到方向。
我这里用的是 codex-handoff。当一个任务的历史太长、响应开始变慢时,我会明确调用它,把当前目标、已经完成的工作、关键决策、验证结果和剩余步骤整理成一份紧凑的连续性提示。它一般控制在 2,000–4,000 个中文字左右,详细资料尽量用文件和链接指向原件。
接下来,它会找到当前保存的项目,创建一个新的、用户可见的 Codex 任务,让新任务从明确的第一步继续。旧任务保留为历史,停止继续编辑。同一个任务的目标还在,但新任务不必每轮都背着完整聊天记录。
这里,Plan 负责总体路线,Handoff 负责当前现场。这个 Skill 的具体实现是直接创建新任务,因此需要 list_projects 和 create_thread 等能力;普通的“继续做”不会触发它。它也不会把创建新任务替换成写一份 Markdown 文件。
08 / Subagent:分工,也是在管理上下文
独立任务、有限输入、明确交付物,才值得委派。
哎,这里终于涉及到 Subagent 了。它的一个优势,是把一个边界明确的任务交给另一个工作上下文:它只需要知道完成这件事所需的信息,不必背着主会话里的全部历史。
例如主 Agent 负责整合,子 Agent 分别检查资料、实现一个模块、审核一个结果。它们最后交回必要的结论和证据,主 Agent 就少读一些中间过程。这跟人类分工协作很像:每个人先把自己的事情做好。
但“新上下文”并不意味着模型能力天然更强。有的系统会继承历史,有的从少量任务说明开始;如果交接不完整,它反而可能不知道关键约束。真正的优势是减少无关干扰、隔离任务、并行推进,而不是凭空增加智力。
我自己的使用感受是,有些产品即使有子 Agent,也不一定在我期待的时候主动调用。遇到确实可拆分的复杂任务,我会明确说:请积极使用 Subagent,给每个子任务明确边界,并说明各自的验收结果。这个体验与产品版本、配置、任务有关,不能说所有 ChatGPT 都是同一种行为。
展开交互流程图 · 计划、委派、审查与交接
| 工作 | 可以怎样分配 | 需要注意 |
|---|---|---|
| 关键决策 / 高不确定任务 | 更强模型做规划与判断 | 先提供真实约束,不把长篇计划当成果 |
| 边界清楚的提取 / 常规改动 | 轻量模型或脚本 | 用结果验收,必要时升级 |
| 独立审查 | 新上下文;适合时换模型 | 必须拿到原始需求和证据 |
| 高度串行 / 很小的任务 | 主 Agent 直接完成 | 委派沟通可能比工作本身更贵 |
09 / 独立审查:把“我做完了”变成可验证的结果
Pass / Fail 要对应验收标准,不只对应另一个模型的感觉。
Multiagent 的另一个好处,是可以用新的上下文来审查结果。我自己刚做完一件事,很容易沿着已有的思路继续看;换一个审查者,可能更容易问出我没问过的问题。
但多叫几个模型来辩论,并不保证结果一定正确。它们也可能共同相信一个错误。更有价值的是:审查者能看到原始需求、产物、测试结果和来源,然后逐条判断到底有没有完成。
这里我推荐我自用的思路:Implementation Critic。完成一个交付物后,调用独立、只读的 implementation_critic。主 Agent 只传原始需求和已做事项,审查者自行检查产物和证据,返回 PASS、NEEDS FIXES 或 BLOCKED,并给出明确修订方向。修复时只处理失败项,已经通过的部分尽量保持稳定。
当然,我也发现这个 Skill 有时会过度触发:任务中途,甚至刚开始就来审核。它是不是也可能帮助提前发现问题?有可能,但我没有实验能证明。更稳妥的做法,是把“计划审查”和“成品验收”分开,写清触发条件,再观察它到底减少了多少返工。
10 / Plan、Grill 与 Handoff
先把目标问清楚,再让实现沿着可检查的步骤前进。
Plan 模式的作用,是在真正执行前,先把计划摆出来,让你有机会纠正目标、约束和实现方向。对于复杂任务,我愿意用更强的模型做规划,再让合适的模型负责实现。
但这里不需要用“把强模型的潜空间传给弱模型”来解释。真正传过去的是一份显式的中间产物:任务拆分、约束、接口、验收标准。它可能降低实现难度,也可能因为错误假设把问题带下去,所以仍然需要检查。
我很喜欢的一类 Skill,是用连续提问帮我梳理需求。这里可以用 grill-me。它强调把需求问透:你到底想解决什么问题,哪些边界情况必须考虑,哪几个选择会改变实现方式。这是一种苏格拉底式提问。
这种方法不只用于写代码。做 PPT、写文章、设计一个项目,也可以先被认真地问几轮。然后把达成共识的计划变成可执行阶段。阶段状态及时记录下来;当当前任务过长时,再明确调用 codex-handoff,把这些状态交给新任务。这样计划、执行、审查、交接就连接起来了。
11 / Prompt:把目标行为直接写出来
告诉它要交付什么,比反复描述不想看到什么更好执行。
当你和 Agent 对话时,有没有发现,它有时会反复告诉你“我没有做什么”?你只是要求改一个地方,结果它花了很多篇幅汇报自己避开了什么。
所以我现在会做一个改进:对于语言风格和一般输出要求,尽量直接写目标行为。比如“先给结论,再给必要证据”,比堆一长串不喜欢的句式更容易执行。你希望它关注什么,就把那个东西写清楚。
这个做法对我很有帮助,但我不把它解释成模型有一个独立的“不要空间”。模型处理否定的效果会受任务和表达影响,这里没有证据能用一个固定潜空间机制解释所有现象。
同时,明确的权限边界和禁止事项仍然有价值。像不得泄露凭据、发布前遵循授权范围,这些不能为了“全用正面表达”就删掉。我们要减少的是无用的反复,不是必要的约束。
| 原来的写法 | 可以改成 |
|---|---|
| 不要啰嗦,不要一大段背景,不要绕来绕去。 | 先给结论;接着最多列三项关键证据;细节放在可展开部分。 |
| 不要自己觉得完成就结束。 | 按验收标准逐项检查,并附验证结果;证据不足时明确写出。 |
| 不要看完所有文件才开始。 | 先读项目入口与当前任务相关文件,再按需要扩展。 |
12 / 为什么还要用新模型?
比较任务总成本:调用费、等待、返工、人工检查。
回到前面那个问题:一年前的模型已经能完成我的工作,为什么我还要用新的?如果旧模型已经稳定、便宜、够用,继续用当然有意义。
但模型价格不是全部成本。一个更强的模型,如果能少误解一次需求、少来回沟通几轮、少让我查十几个错误,可能反而更便宜。尤其当任务模糊、跨很多文件、需要高质量判断时,人的检查和返工成本常常比一次调用费更值得关注。
所以我更喜欢按任务选模型:难题和关键判断用强模型;规则清楚的任务用轻量模型;稳定重复的动作写成脚本。Subagent 也遵循这个原则,不必让最贵的模型处理每一项小事。
至于模型是不是越来越偏代码、写作是不是变差,这里面既有可测的产品变化,也有个人偏好。Strawberry 数字母、某种过度迎合的口吻,都不能单独证明整个领域在退步。保留自己的测试集,比跟着一次热帖判断所有模型更有用。
这是选择模型的思考框架,不是某个厂商的计费公式。
13 / 把方法变成自己的 Skill
公开项目可直达 GitHub;上传的 Skill 与配置可以直接复制。
前面讲了这么多 Skill,我更想强调的是:它们不是装得越多越好,而是要能解决你自己的问题。先用一个真实任务试,再看哪里误触发、哪里没完成,逐步修改。
我的视频工作流负责从收藏夹扫描新内容、提取转写,再把值得复用的方法交给 Skill Vault。Skill Vault 负责收藏、索引、推荐与项目级安装。这样一个视频就不只是看完即止,而是可能成为以后真正能调用的工作方法。
Codex Handoff
整理紧凑状态并创建新任务,保留旧任务作为历史。以你上传的版本作为本页展示文本。
GitHub ↗codex-handoff / SKILL.md
codex-handoff / manifest.json
Bilibili Auto Transcript
扫描收藏夹、转写新视频、维护处理记录,并将视频里的 Skill 或可复用方法送入 Skill Vault。
原文依赖 worker 的 adapter.md、references/ 和本地状态目录;下方保留上传内容。
bilibili-auto-transcript / SKILL.md
Skill Vault
先将有价值的 Skill 和来源放进本地库;按项目挑选最小合适集合,再安装到 .agents/skills/。库里存储不等于全局启用。
原文中的 index.json、脚本与个人路径属于你的本地库配置。
skill-vault / SKILL.md
Implementation Critic
用独立 Agent 检查实现、产物与验证证据,按结论修复后再次审核。包含 Skill 入口、Agent 定义和界面配置。
implementation-critic / SKILL.md
~/.codex/agents/implementation_critic.toml
implementation-critic / agents/openai.yaml
grill-me / grilling
连续追问目标、约束、取舍和边界情况。当前 grill-me 入口调用 grilling,使用时一起查看。
grill-me GitHub ↗ · grilling GitHub ↗I have ADHD
先给下一步,用短句突出重点,让细节在需要的时候再出现。
GitHub ↗14 / 最后,把注意力还给自己
让 Agent 在需要的时候,看到需要的内容;人也一样。
讲到这里,我想把整场内容收回来。AI Agent 很重要的一件事,是管理它的上下文,管理它每一步应该关注什么。Skill 的渐进式披露、明确任务边界的 Subagent、流程编排、状态交接,都是在帮助它把注意力放到当前任务上。
同样的思路,也可以作为一个类比放到我们自己身上。人的精力不是模型的 Token 窗口,但我们确实需要减少无关信息的挤占。让 AI 帮我浏览、过滤、提炼,再把真正值得看的内容交给我,是我更愿意长期使用它的方式。
如果你说“AI 自己也很啰嗦,我读它的文字就已经很累了”,那么可以试试 I have ADHD 这样的表达约定:先说下一步,句子短一点,重点少一点,把细节放到需要时再展开的地方。
我们要留下的,是判断什么值得做、定义什么叫做好,以及做出选择的能力。让 AI 帮我省下一些精力,我才能把这些精力,重新花在自己真正想做的事情上。
多一点可验证的行动。
留一点精力,给自己的思考。
建立自己的信息入口
研究者给框架,产品作者讲机制,媒体提供发现线索。每位保留四个部分:主页、代表内容 1、代表内容 2、总结。
包含最初指定的 kate人不错与 oil欧呦。这里沿用已核实的真实截图;代表内容并不等于每个账号最新发布的两条。
Andrej Karpathy
提出认知框架
1 / 主页与关注领域
深度学习研究者与 AI 教育者。擅长把技术变化压缩成直观概念,再用小实验暴露能力边界。
上下文工程 · 软件生成 · 人机协作
2 / 从 Prompt 到 Context
2025-06-25
他认同 context engineering 这个说法:让下一步获得恰当的信息。
Harness 的工作包括装入任务、工具、状态与历史,也包括压缩、验证与编排。不要把这个词的发明归给他。
3 / 生成很多代码之后,怎么验?
2026-08-02
让模型根据《指环王》开头生成三维场景,展示了长时间自主创作的可能。
作者同时指出视觉感知和试玩反馈的不足。讲解重点:输出规模不等于体验质量,必须给 Agent 看结果的通道。
4 / 怎样用这个信息源
适合开场:解释为什么写好一句提示词,已经不足以支撑长任务。
把它当作发现线索的入口。重要机制和数值回到官方文档、源码或原始实验核实;展示效果与稳定能力分开看。
Boris Cherny
一线产品实践
1 / 主页与关注领域
Claude Code 创作者。分享真实工作流、工具设计和团队使用方式,是观察编码 Agent 产品化的重要入口。
执行循环 · Hooks · 验证 · 并行工作
2 / 让 Agent 有办法验证自己
2026-01-02
这条个人配置长线程涵盖计划、共享 CLAUDE.md、格式化钩子和验证流程。
最有价值的不是复制配置清单,而是把犯过的错写进规则,并提供测试或浏览器反馈。截图为线程首帖。
3 / Hooks 继续走向可编程
2026-09-03
讨论 Function Hooks,指向更强的工作流扩展能力。
状态要讲准确:关联帖明确说尚未发布。这里是产品探索信号,不应当成已经可用的功能。
4 / 怎样用这个信息源
适合讲落地:把个人技巧固化为团队可重复运行的工作流。
把它当作发现线索的入口。重要机制和数值回到官方文档、源码或原始实验核实;展示效果与稳定能力分开看。
Harrison Chase
系统架构视角
1 / 主页与关注领域
LangChain 联合创始人。持续讨论 Agent 编排、长期记忆和运行基础设施。观点也带有开源框架建设者的立场。
状态持久化 · 工具 · 记忆 · 可观测性
2 / 你的 Harness,决定你的记忆
2026-04-11
文章把执行控制、行动、观察验证和持久化放在同一个系统中。
记忆不仅是存储:还包括什么时候写、如何读取、压缩后保留什么。开源与记忆所有权的关系,是作者主张。
3 / 压缩上下文,不等于删掉历史
2026-09-05
建议把完整工具输出和旧对话放到文件系统,再给模型摘要或预览。
心法:工作上下文保持轻量,原始证据仍可回查;摘要不是唯一事实来源。
4 / 怎样用这个信息源
适合讲系统边界:哪些能力由模型提供,哪些必须由外部运行层承担。
把它当作发现线索的入口。重要机制和数值回到官方文档、源码或原始实验核实;展示效果与稳定能力分开看。
Simon Willison
实验与反例
1 / 主页与关注领域
Datasette 创作者、Django 联合创始人。以可复现的小实验、代码和清楚的技术解释跟踪模型能力。
Agentic engineering · 工具实验 · 安全边界
2 / Agentic engineering 的责任边界
2026-03-15
代表性指南解释:Agent 在工具循环里追求目标;写代码并运行,才能持续修正。
人的职责仍包括选问题、说明约束、审查与验证。这里使用作者博客原页截图,并非伪装成 X 推文。
3 / 把 Blender 变成可迭代工具
2026-09-05
记录编码 Agent 调用 Blender 改进鹈鹕图像的实验。
关键不是一句话出图,而是可执行脚本、渲染结果和下一轮修改形成循环。作者也提到画面中的问题。
4 / 怎样用这个信息源
适合校准预期:既看成功案例,也看失败条件与无法证实的说法。
把它当作发现线索的入口。重要机制和数值回到官方文档、源码或原始实验核实;展示效果与稳定能力分开看。
宝玉 · dotey
中文高频解读
1 / 主页与关注领域
AI 工程师与中文技术传播者,持续翻译、评论 AI 编程、产品和软件工程内容。适合快速建立中文语境。
AI 编程 · 工程经验 · 英文观点转译
2 / Harness 工程与控制论
2026-03-10
通过转译与解读,把 Harness 联系到反馈、约束和可执行的规则。
讲解重点:把人的判断外化为测试和系统约束。此处是传播入口,不把被翻译观点归为他的原创。
3 / 缩短定义—构建—验收循环
2026-09-08
强调实践、快速反馈与沉淀,形成下一轮行动的依据。
心法:先完成一个可验收的小循环,再扩大范围;反馈要成为下次任务可读的材料。
4 / 怎样用这个信息源
阅读时追到原作者:把他的实践观点和所转译的外部观点分开。
把它当作发现线索的入口。重要机制和数值回到官方文档、源码或原始实验核实;展示效果与稳定能力分开看。
Latent.Space
AI 工程媒体
1 / 主页与关注领域
围绕 AI 工程的播客、通讯与社区账号。通过访谈、客座文章和实测连接研究、产品与开发实践。
一线访谈 · 长任务实验 · 工程组织变化
2 / “取消代码审查”之后靠什么?
2026-03-02
置顶客座文章提出分层验证方案,包括确定性约束、验收标准和对抗性验证。
标题是有争议的主张,不是行业共识。用于讨论:人工逐行阅读减少时,系统验证必须承担什么责任?
3 / 长任务实测比单次演示更有用
2026-09-03
帖子汇总大量使用中的训练、数据、日志、部署与子 Agent 实验。
作者的用量与成本是特定实验自述。比较时要补齐成功产出、运行条件、人工介入和总成本。
4 / 怎样用这个信息源
适合捕捉新议题;再回到访谈、仓库和完整实验记录验证。
把它当作发现线索的入口。重要机制和数值回到官方文档、源码或原始实验核实;展示效果与稳定能力分开看。
AI超元域
B站实操教程
1 / 主页与关注领域
以 AI 工具实测、编码 Agent 和开源项目教程为主的创作者。适合看完整操作过程与具体配置。
Claude Code · Codex · 多 Agent · 工作流
2 / 代表实践:DeepSeek Harness
2026-08-24
视频展示动态工作流、Agent Teams 与插件等进阶用法。
把它当作实现案例:重点观察任务拆分、共享状态与合并结果。并行 Agent 数量本身不证明质量更高。
3 / 近期:跨工具完成复杂产出
2026-09-05
视频跨 App、游戏、CAD 与电脑自动化展示模型使用过程。
标题和画面中的性能宣传属于作者表达。讲解时关注可验收产物与手动检查,不将视频演示等同独立基准。
4 / 怎样用这个信息源
样本中 8/24、8/26、9/2、9/5 连续更新。阅读时记录配置、任务难度和人工介入。
把它当作发现线索的入口。重要机制和数值回到官方文档、源码或原始实验核实;展示效果与稳定能力分开看。
机器之心官方
B站广谱资讯
2 / 代表解读:Claude Code 配置
2026-01-22
介绍一套长期积累的配置经验,涉及 Hooks、子 Agent、MCP 与工作区。
这是媒体对实践者经验的解读。可用于说明:配置最终要服务于架构边界和验证,而非不断堆插件。
3 / 近期样本:能力与行为新闻
2026-07-03
视频讨论模型出现特殊语言或行为的现象。
这是话题发现入口。拟人化标题不能证明意识或动机,讲解时应回到实验设置与原始材料。
4 / 怎样用这个信息源
不是 Harness 专栏。最新投稿流未完整核实,以下近期页为近 90 天内可核实样本。
把它当作发现线索的入口。重要机制和数值回到官方文档、源码或原始实验核实;展示效果与稳定能力分开看。
kate人不错
B站实测与部署
1 / 主页与关注领域
持续发布模型实测、AI 编程与工具部署教程。主页包含 Cursor、Augment、MCP 等系列,注重把新能力接进实际工作环境。
多 Agent 协作 · 本地部署 · 编程实测
2 / Herdr:管理多 Agent 的工作现场
2026-08-10
教程展示终端分屏、Agent 互发任务、交叉审查,以及后台和远程工作流。
协作需要清楚的任务状态、派发与结果回收。面板数量和并行数量本身不代表更高质量。
3 / 本地模型,也要放进 Agent 里实测
2026-08-25
在 Mac 上测试 Qwen3.8-27B,并介绍 oMLX、MTPLX、Pi Agent 等工具与量化选择。
比较的不只是生成速度,还包括工具调用、长任务完成度和失败恢复。视频中的性能数字属于作者特定配置。
4 / 怎样用这个信息源
近期可见 9/2—9/5 连续更新。适合观察模型、运行环境和工具配置如何共同影响任务表现。
把它当作发现线索的入口。重要机制和数值回到官方文档、源码或原始实验核实;展示效果与稳定能力分开看。
oil欧呦
B站产品与工作流
1 / 主页与关注领域
主页自述为 AI 产品经理、前端工程师。围绕自己的产品和创作任务,分享 Agent 工作流、开源 Skill 与使用心得。
产品设计 · Skill 产品化 · 长期工作流
2 / Codex 与 Claude:从工作流看产品
2026-06-27
基于长期使用体验,对比桌面端产品设计、模型体验和日常工作方式。
Agent 的可用性由模型与产品运行层共同决定。选工具时,应以自己的任务和交互需求为依据。
3 / 像做产品一样做 Agent Skill
2026-08-23
作者提出:把 Skill 看成运行在 Agent 上的软件,设计上手流程、稳定脚本与阶段性产物。
换环境、换模型、没有历史上下文时仍应能用;用独立运行与人工比较检验改进。截图为作者个人站原文。
4 / 怎样用这个信息源
B 站视频与个人站文章互补。本次选取一条 B 站视频和一篇作者原文;投稿列表未完整加载,不据此判断更新频率。
把它当作发现线索的入口。重要机制和数值回到官方文档、源码或原始实验核实;展示效果与稳定能力分开看。