Toolcoin
29.10M · 2026-03-04
昨天看到一篇文章 Context Mode:为你的AI开发工具节省98%的上下文token,里面有一些观点挺有意思。
在构建 Agent 的时候,“Context”几乎是绕不过去的一关。 随着对话增加,上下文不断变长,带来的问题也越来越明显:
过去大家的优化思路其实比较统一:
这些思路都没问题。
但我最近在想一个问题:
会不会一开始方向就有点偏?
很多人只看到 Token 成本。
但其实问题不只是“贵”。
从模型结构来看,Transformer 的 attention 计算复杂度是 O(n²)。 上下文越长,计算量越大,推理延迟自然上升。
更关键的是:
模型并不会因为上下文变长而更聪明。
很多时候:
这其实是一个“信噪比”的问题,而不是简单的压缩问题。
如果我们从工程实践来看,现在很多 AI CLI 工具,日常会用到三类能力:
@src/main.ts)这三种行为有个共同点:
问题来了:
我们真的需要把这些原始数据,原封不动丢给主 Agent 吗?
当我们“让 AI 读网页”时,本质上是:
但 HTML 里面包含:
而用户真正关心的,可能只是:
那我们真正需要的,其实是:
而不是整页页面。
所以我的想法是:
针对“搜索网页”这个行为,应该内置一个子 Agent,专门负责:
而不是直接把 HTML 当作知识。
CLI 场景里,经常会出现:
@logs/output.log
如果文件只有 2KB,直接传入上下文问题不大。
但如果是 5MB、10MB 呢?
日志通常有几个特点:
更合理的做法可能是:
主 Agent 只看到“处理后的结果”。
而不是把整个文件丢进去,再问一句:
比如:
npm run build
eslint .
输出往往非常长。
如果每一行都流入主上下文,很容易:
更合理的方式是:
主 Agent 只接收“有意义的结果”。
如果稍微抽象一点,其实是一个信息流设计问题。
可以简单理解为:
User Intent(用户意图)
↓
Task Router(任务路由)
↓
Sub-Agent / Tool(子代理 / 工具)
↓
Preprocess(预处理)
↓
Context Injection(上下文注入)
↓
Main Agent(主代理)
关键不在于“压缩多少”。
关键在于:
当我们开始这样思考时,“上下文优化”就不再只是摘要算法问题,而是系统设计问题。
我越来越觉得,大模型应用正在从 Prompt Engineering,走向 Context Engineering。
不是把 prompt 写得多花哨。
而是把信息流设计清楚。
Context 不是压缩出来的,是设计出来的。
以上只是自己的一点思考,抛砖引玉。如果你有更好的做法或者踩过坑,也欢迎交流。