微信扫码
添加专属顾问
我要投稿
探索AI上下文工程的极致实践与未来视角,从Manus系统设计到环境工程的跨越。 核心内容: 1. Manus系统围绕KV缓存设计的6个关键点,降低成本和延迟 2. 遮蔽工具而非动态删除的工程实践,保持系统稳定性 3. 从上下文工程到环境工程的进阶思考与未来方向
在前两篇里,我们从概念与基础实践(上),聊到了 LangChain、Claude Code 等工程化案例(中)。
这篇我们会把故事收尾:
一端是 Manus 和 Kiro 代表的工程极致;
另一端,是比「上下文工程」更远一步的「环境工程」视角。
很多人第一次看到 Manus 的结构图时,第一反应都是:
这已经不是「调 prompt」,而是「围绕 KV 缓存和上下文做系统软件工程」了。
我们从 6 个关键点来拆解 Manus 的做法,这其实就是一套可借鉴的「高级上下文工程 checklist」。
对于复杂 Agent,一个典型 loop 是这样的:
上下文越来越长 → 输出其实很短 → 输入 token : 输出 token ≈ 100 : 1
这时候,有没有命中 KV 缓存,直接决定了成本和延迟:
Manus 的做法:
把「让前缀保持稳定」当作工程目标来设计整个系统:
可以直接抄的实践:
如果你现在有一个多轮 Agent:
把「每轮重新构造 prompt」改为「固定前缀 + 逐条 append 日志」; 对所有 JSON/结构化上下文,写一个“稳定序列化函数”,保证每次顺序一致。
你会立刻看到成本和延迟下降。
随着 Agent 越做越复杂,工具数量会爆炸。
直觉上,你可能会想:
「当前状态用不到的工具,就从 tool list 里删了吧?」
Manus 给出的结论是:不要删,用「遮蔽」代替「移除」。
为什么不能删?
Manus 的做法:
这背后的理念是:
「行为空间」控制放在「解码时」,而不是「上下文结构变更」上。
长上下文实际遇到的 3 个老问题:
Manus 的选择是:
把文件系统当成「上下文的一部分」,而不是单纯的“外部存储”。
示例设计思路:
[Observation]
已爬取页面:https://example.com/a
内容已保存至:/data/pages/a.md
内容摘要:这是一篇关于上下文工程的博客,包含 A/B/C 三部分……
要点:
上下文里只留「引用」和「摘要」,大体量内容放文件系统。 文件系统本身就变成了「长期记忆 + scratchpad」,而且天然无限扩容。
Manus 的一个任务,动辄要 50 次工具调用。
这么长的交互链,很容易出现:
Manus 的手法非常简单:
不断在上下文末尾「复述任务目标 / todo 列表」。
可借鉴的 prompt 片段:
[System 或 Tool 输出的一部分]
当前任务全局目标(请始终对齐):
1. 为用户完成 X 功能
2. 确保代码具备单元测试与基本文档
3. 最终以 README + 源码压缩包形式交付
当前未完成子任务列表:
- [ ] 完成模块 A 的接口定义
- [ ] 实现模块 A 核心逻辑
- [ ] 为模块 A 添加 3 条单测
……
这其实是在「手动操控注意力分配」:
通过把关键目标信息「挪到最近的 token 段」,对冲长上下文的「中间信息遗忘」问题。
在多步骤任务中,失败是常态而不是例外。
很多团队做 Agent 的第一反应是:
「这条调用失败了,那我就别让模型看到失败日志,重新组织一下,给它一个“干净”的上下文。」
Manus 的选择是反过来:
这实际上为模型提供了负样本 + 反事实反馈:
Action2A 这类行为的后验成功率变得更低;换句话说:
「上下文」本身就成了在线 RLHF / 经验回放的一部分。
Few-shot 是大家非常熟悉的技巧,但在 Agent 场景里,会带一个隐藏坑:
Manus 的经验是:
适度地在「行动 / 观察」序列中加入结构化的微小变化,
例如:
不完全相同的序列化模板; 稍微不同的字段顺序; 不同但等价的自然语言措辞; 在安全范围内加入一点「格式噪音」。
目的不是制造混乱,而是:
另一端的典型,是 Kiro —— 它解决的是「AI 参与软件开发」里一个更长期的问题:
不是「怎么把功能做出来」,
而是「怎么在半年、一年后,这个系统还可维护、可协作」。
所谓 Vibe Coding,本质是:
Prompt → Code
「你把需求模糊地说一遍,模型帮你写大段代码。」
短期很爽,长期有几个致命问题:
1) 指望用户写出高质量 Prompt 不现实
Spec-Driven Development 的基本路径是:
Spec → Design → Tasks → Code
而不是:
Prompt → Code
具体来说,至少包含三层规范:
1)需求规范(requirements.md)
WHEN [condition/event] THE SYSTEM SHALL [expected behavior]这三层本身,就是极佳的「上下文素材」:
如果你想在团队里引入这种模式,可以按下面这条路线做:
Step 1:把自然语言需求结构化
示例:
WHEN 用户在移动端点击「一键下单」
THE SYSTEM SHALL 创建一条订单记录,并在 3 秒内返回下单结果。
Step 2:让模型基于需求生成 design draft
Step 3:自动从 design 拆出 tasks
例子:
Task: 为订单模块新增 create_order API
- 修改文件:/backend/order/api.py
- 要求:
- 接收参数:user_id, item_id, quantity
- 检查库存 & 用户有效性
- 写入数据库并返回订单号
- 添加至少 3 条单元测试用例
Step 4:Agent 执行 task 时的上下文构成
这样做的结果是:
当我们把 Manus、Kiro 这些实践放在一起看,会发现一条共同的趋势:
以前我们在「给模型塞信息」;
现在我们在「给模型建设一个可操作的环境」。
用一个简单的对比表来概括:
可以理解为:
在「上下文」之上,再加一层「可感知、可操控、可演化的环境」。
环境包含的要素不只有:
还包括:
1) 可持续演化的「世界状态」
在环境工程视角下:
你可以这样理解演进路径:
1) 上下文工程解决的是:
具体差异体现在:
状态持久化方式不同
控制粒度不同
目标函数不同
哪怕你暂时不搭一个完整的「环境系统」,也可以先做几件很实在的事情:
1) 把「文件系统 / 数据库」正式纳入 Agent 设计
回到开头那句话:
上下文工程解决的是——
「怎么在一页纸之内,把信息塞好、让模型别太蠢。」
而 Manus、Kiro、Claude Code 这些产品已经在告诉我们:
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-11-24
聊聊Palantir是如何将AI应用到实际的
2025-11-24
在全世界都教你写Prompt的时候,我做了个不用Prompt的AI画图产品
2025-11-24
谈LLM应用层目前推荐的新功能研发范式
2025-11-24
一文说清 Agentic AI:基于 LLM 的智能体进化史
2025-11-24
Nano Banana Pro 完全指南!
2025-11-24
Cursor看了都要菊花一紧!Google AntiGravity 官方教程生猛来袭!
2025-11-24
不服 Gemini 3!Claude 祭出 Skills“反杀” 器!
2025-11-24
麦肯锡最新重量级报告:《The State of AI》全球企业AI应用现状——AI飞速普及,但能转化成利润的企业,只有 6%
2025-09-19
2025-10-02
2025-09-16
2025-10-26
2025-09-08
2025-09-17
2025-09-29
2025-09-14
2025-10-07
2025-09-30
2025-11-23
2025-11-19
2025-11-19
2025-11-19
2025-11-18
2025-11-18
2025-11-17
2025-11-15