生孩子不盖被子免费
当天,红星资本局还致电祖名股份,接电话的工作人员告诉红星资本局,他们的生产企业在杭州市滨江区,和事发地离得比较远。,马卡:罗梅乌不在巴萨计划内可能提前解约,赫罗纳希望再租一年
司学军致辞
面向AI代理的上下文工程:构建 Manus 的经验教训 2025 年 7 月 18 日 季逸超 在Manus 项目伊始,我和团队面临一个关键抉择:是使用开源基础模型训练一个端到端的代理模型,还是基于前沿模型的上下文学习能力构建代理? 回想我在自然语言处理领域的最初十年,我们没有这样的选择余地。在BERT 的远古时代(是的,已经七年了),模型必须经过微调并评估后才能迁移到新任务。即使当时的模型远小于如今的 LLMs,这一过程每次迭代往往也需数周。对于快速发展的应用,尤其是产品市场匹配前期,这样缓慢的反馈周期是致命的。这是我上一家创业公司的惨痛教训,当时我从零开始训练模型用于开放信息抽取和语义搜索。随后 GPT-3 和 Flan-T5 的出现,让我自研的模型一夜之间变得无关紧要。讽刺的是,正是这些模型开启了上下文学习的新纪元——也为我们开辟了一条全新的前进道路。 这个来之不易的教训让选择变得清晰:Manus 将押注于上下文工程。这使我们能够在数小时内发布改进,而不是数周,同时保持我们的产品与底层模型正交:如果模型进步是涨潮,我们希望 Manus 是船,而不是固定在海床上的柱子。 然而,上下文工程远非简单。这是一门实验科学——我们已经重建了四次代理框架,每次都是在发现了更好的上下文塑造方法之后。我们亲切地称这种手动的架构搜索、提示调整和经验猜测过程为“随机梯度下降”。它不优雅,但有效。 这篇文章分享了我们通过自己的“SGD”达到的局部最优解。如果你正在构建自己的 AI 代理,希望这些原则能帮助你更快收敛。 围绕KV缓存设计 如果只能选择一个指标,我认为KV 缓存命中率是生产阶段 AI 代理最重要的指标。它直接影响延迟和成本。要理解原因,我们先看看典型代理的工作方式: 在接收到用户输入后,代理通过一系列工具调用来完成任务。在每次迭代中,模型根据当前上下文从预定义的动作空间中选择一个动作。然后在环境中执行该动作(例如Manus 的虚拟机沙箱),以产生观察结果。动作和观察结果被追加到上下文中,形成下一次迭代的输入。这个循环持续进行,直到任务完成。 正如你所想象的,上下文随着每一步增长,而输出——通常是结构化的函数调用——则相对较短。这使得预填充与解码之间的比例在代理中远远偏高,区别于聊天机器人。例如,在 Manus 中,平均输入与输出的Token比约为100:1。 幸运的是,具有相同前缀的上下文可以利用KV 缓存,这大大减少了首次生成标记时间(TTFT)和推理成本——无论你是使用自托管模型还是调用推理 API。这里的节省可不是小数目:以 Claude Sonnet 为例,缓存的输入标记费用为 0.30 美元/千标记,而未缓存的则为 3 美元/千标记——相差 10 倍。 从上下文工程的角度来看,提高KV 缓存命中率涉及几个关键做法: 保持提示前缀稳定。由于LLMs 的自回归特性,即使是单个标记的差异也会使该标记及其之后的缓存失效。一个常见错误是在系统提示开头包含时间戳——尤其是精确到秒的时间戳。虽然这样可以让模型告诉你当前时间,但也会大幅降低缓存命中率。 使你的上下文仅追加。避免修改之前的操作或观察。确保你的序列化是确定性的。许多编程语言和库在序列化JSON 对象时不保证键的顺序稳定,这可能会悄无声息地破坏缓存。 在需要时明确标记缓存断点。一些模型提供商或推理框架不支持自动增量前缀缓存,而是需要在上下文中手动插入缓存断点。设置这些断点时,应考虑缓存可能过期的情况,至少确保断点包含系统提示的结尾部分。 此外,如果你使用像vLLM 这样的框架自托管模型,确保启用了前缀/提示缓存,并且使用会话 ID 等技术在分布式工作节点间一致地路由请求。 遮蔽,而非移除 随着你的智能体功能不断增强,其动作空间自然变得更加复杂——简单来说,就是工具数量激增。最近 MCP 的流行更是火上浇油。如果允许用户自定义工具,相信我:总会有人将数百个神秘工具接入你精心策划的动作空间。结果,模型更可能选择错误的动作或走低效路径。简而言之,你的重装智能体反而变得更笨。 一种自然的反应是设计动态动作空间——或许使用类似 RAG 的方式按需加载工具。我们在 Manus 中也尝试过。但实验表明一个明确的规则:除非绝对必要,避免在迭代过程中动态添加或移除工具。主要有两个原因: 1. 在大多数LLMs 中,工具定义在序列化后通常位于上下文的前部,通常在系统提示之前或之后。因此,任何更改都会使所有后续操作和观察的 KV 缓存失效。 2. 当之前的操作和观察仍然引用当前上下文中不再定义的工具时,模型会感到困惑。如果没有受限解码,这通常会导致模式违规或幻觉操作。 为了解决这一问题,同时提升动作选择的效果,Manus 使用了一个上下文感知的状态机来管理工具的可用性。它不是移除工具,而是在解码过程中屏蔽Token的对数概率,以根据当前上下文防止(或强制)选择某些动作。 在实际操作中,大多数模型提供商和推理框架都支持某种形式的响应预填充,这使你可以在不修改工具定义的情况下限制动作空间。函数调用通常有三种模式(我们以NousResearch 的 Hermes 格式为例): 自动——模型可以选择是否调用函数。通过仅预填回复前缀实现:assistant 必需——模型必须调用一个函数,但选择不受限制。通过预填充到工具调用标记实现:assistant 指定——模型必须从特定子集中调用函数。通过预填充到函数名开头实现:assistant {"name": “browser_ 利用此方法,我们通过直接屏蔽标记的对数概率来限制动作选择。例如,当用户提供新输入时,Manus 必须立即回复,而不是执行动作。我们还特意设计了具有一致前缀的动作名称——例如,所有与浏览器相关的工具都以 browser_开头,命令行工具以 shell_开头。这使我们能够轻松确保代理在特定状态下仅从某一组工具中选择,而无需使用有状态的对数概率处理器。 这些设计有助于确保Manus 代理循环保持稳定——即使在模型驱动架构下也是如此。 将文件系统用作上下文 现代前沿的LLMs 现在提供 128K Token或更多的上下文窗口。但在现实世界的智能代理场景中,这通常不够,有时甚至成为负担。有三个常见的痛点: 1. 观察内容可能非常庞大,尤其是当代理与网页或PDF 等非结构化数据交互时。很容易超出上下文限制。 2. 即使窗口技术上支持,模型性能在超过某个上下文长度后往往会下降。 3. 长输入代价高昂,即使使用前缀缓存也是如此。你仍然需要为传输和预填充每个标记付费。 为了解决这个问题,许多智能体系统实施了上下文截断或压缩策略。但过度压缩不可避免地导致信息丢失。问题是根本性的:智能体本质上必须基于所有先前状态来预测下一步动作——而你无法可靠地预测哪条观察在十步之后可能变得关键。从逻辑角度看,任何不可逆的压缩都存在风险。 这就是为什么我们将文件系统视为Manus 中的终极上下文:大小无限,天生持久,并且可以由智能体自身直接操作。模型学会按需写入和读取文件——不仅将文件系统用作存储,更作为结构化的外部记忆。 我们的压缩策略始终设计为可恢复的。例如,只要保留网址,网页内容就可以从上下文中删除;只要沙盒中仍有文档路径,文档内容也可以省略。这使得 Manus 能够缩短上下文长度而不永久丢失信息。 在开发此功能时,我不禁想象,状态空间模型(SSM)要在具代理性的环境中有效工作需要什么条件。与 Transformer 不同,SSM 缺乏完全的注意力机制,难以处理长距离的向后依赖。但如果它们能掌握基于文件的记忆——将长期状态外部化而非保存在上下文中——那么它们的速度和效率可能会开启新一代代理。具代理性的 SSM 或许才是神经图灵机的真正继任者。 通过背诵操控注意力 如果你使用过Manus,可能会注意到一个有趣的现象:在处理复杂任务时,它倾向于创建一个 todo.md 文件,并随着任务的推进逐步更新,勾选已完成的事项。 这不仅仅是可爱的行为——这是一种有意操控注意力的机制。 Manus 中的一个典型任务平均需要大约 50 次工具调用。这是一个较长的循环——由于 Manus 依赖 LLMs 进行决策,因此在长上下文或复杂任务中,容易偏离主题或忘记之前的目标。 通过不断重写待办事项清单,Manus 将其目标反复写入上下文末尾。这将全局计划推入模型的近期注意力范围,避免了“中途丢失”问题,减少了目标不一致的情况。实际上,它利用自然语言来引导自身关注任务目标——无需特殊的架构改动。 保留错误信息 智能体会犯错。这不是漏洞——这是现实。语言模型会产生幻觉,环境会返回错误,外部工具会出现异常,意外的边缘情况时常发生。在多步骤任务中,失败不是例外;它是循环的一部分。 然而,一个常见的冲动是隐藏这些错误:清理痕迹,重试操作,或重置模型状态,寄希望于神奇的“温度”参数。这看起来更安全、更可控。但这付出了代价:抹去失败就抹去了证据。没有证据,模型就无法适应。 根据我们的经验,改善智能体行为的最有效方法之一看似简单:在上下文中保留错误的路径。当模型看到失败的操作及其产生的观察结果或堆栈跟踪时,它会隐式地更新内部信念。这会使其先验偏离类似的操作,从而减少重复同样错误的可能性。 事实上,我们认为错误恢复是衡量真正智能体行为的最明确指标之一。然而,在大多数学术研究和公开基准测试中,这一指标仍然被忽视,这些研究和测试通常侧重于理想条件下的任务成功率。 避免被少量示例限制 少量示例提示是提升LLM 输出的常用技巧。但在智能体系统中,它可能以微妙的方式适得其反。 语言模型擅长模仿;它们会复制上下文中的行为模式。如果你的上下文充满了类似的过去动作-观察对,模型往往会遵循这种模式,即使这已不再是最优选择。 在涉及重复决策或操作的任务中,这可能会带来危险。例如,在使用Manus 帮助审查一批 20 份简历时,代理经常陷入一种节奏——仅仅因为上下文中出现了类似内容,就重复执行相似的操作。这会导致偏离、过度泛化,甚至有时产生幻觉。 解决方法是增加多样性。Manus 在动作和观察中引入少量结构化的变化——不同的序列化模板、替代表达、顺序或格式上的细微噪声。这种受控的随机性有助于打破模式,调整模型的注意力。 换句话说,不要让少量示例把自己限制在固定模式中。上下文越统一,代理就越脆弱。 结论 上下文工程仍是一门新兴科学——但对于代理系统来说,它已经至关重要。模型可能变得更强大、更快速、更廉价,但再强的原始能力也无法替代记忆、环境和反馈的需求。你如何塑造上下文,最终决定了代理的行为:运行速度、恢复能力以及扩展范围。 在Manus,我们通过反复重写、走过死胡同以及在数百万用户中的实际测试,学到了这些经验。我们在这里分享的内容并非普遍真理,但这些是对我们有效的模式。如果它们能帮助你避免哪怕一次痛苦的迭代,那么这篇文章就达到了它的目的。 智能代理的未来将由一个个情境逐步构建。精心设计每一个情境。
高跃忠主持会议
阎颖报告
据《韩国先驱报》报道,中国公司供应全球逾90%的石墨,而石墨占电动汽车阳极材料的约95%,电池阳极约占整块电池成本的7%。新关税或导致美国本土生产的电池价格增加约1000美元,进而推高电动车售价。“这一政策变化带来的不确定性,给正在美国增产以争取《通胀削减法案》和先进制造生产税收抵免等激励措施的韩国电池制造商带来更大压力。”报道写道。
刘传峰作报告
与此同时,美国也在千方百计重振制造业,不仅加大了对本国半导体和电池行业的投资,而且通过《芯片与科学法案》等立法推动高科技产业"回流"。美国确保核心竞争力无可厚非,但必须认识到不可能独自重塑制造业的未来。
董应博报告
太阳以顶薪签下比尔(尤其是考虑到他的交易否决权带来的复杂性),最终结果是负面的。但如今情况不同了,快船队以极低的价格得到了他,而合同中的球员选项让比尔有机会弥补买断时放弃的薪水,要是本赛季表现出色,甚至可能赚得更多。
樊金辉作报告
对此,《华尔街日报》报道称,根据录音,当时是副驾驶克莱夫·昆德尔询问机长苏米特·萨巴瓦尔。机长否认后,副驾驶“表现出惊讶并陷入恐慌”,而机长则“显得异常冷静”。
杨淑云作报告
《日经亚洲》的报道发出后,来自延世大学、中国科学技术大学的 Zhicheng Lin 很快在 arXiv 发布了题为 Hidden Prompts in Manuscripts Exploit AI-Assisted Peer Review 的 研究报告,公开 18 篇(比上述日媒报道多 1 篇)曾被作者注入“求好评”提示词的论文。刺猬公社本文的测试与研究均建立在此 18 篇论文的基础之上, Zhicheng Lin 的研究原文详见文末参考文献。
傅纪平作报告
这些经验不仅揭示了当前AI Agent开发的技术挑战和解决思路,也为未来 Agent技术的发展提供了重要参考。无论您是AI研究者、开发者还是产品经理,相信都能从中获得启发。
刘国东报告
有曼联球迷戏称,可以截胡哈钦森,不买姆贝莫,但这只是空想。哈钦森今夏代表英格兰国青赢得U21欧青赛冠军,但他的能力和表现远逊于姆贝莫,上赛季31场比赛只打入3球,签下他无法起到提升阿莫林343阵容的效果。
孙贺明报告
AI将成为每个行业、企业、产品和服务的核心。AI引发了一场新的工业革命,并为中国卓越的供应链生态系统带来了新的增长机遇。NVIDIA将继续与我们长期的合作伙伴以及众多新朋友携手,在AI时代共创繁荣未来。
对于此次争议,山姆回应有意思报告称“关注到近日社交网络上关于山姆选品问题的讨论”,并表示“我们一直以来坚持以‘会员第一’为宗旨,从全国和全球各地甄选以及与供应商共创开发优质商品,并根据会员的反馈持续迭代商品与服务。这次会员们的意见我们已纳入后续选品策略的考量中”。
对于挑剔的消费者来说,labubu作为一种情绪消费,只要在用料、精细度、手感、颜色等工艺水平上出现一丁点瑕疵,都会极大概率影响购物心情和购物体验。 更多推荐:生孩子不盖被子免费
标签:马卡:罗梅乌不在巴萨计划内可能提前解约,赫罗纳希望再租一年
国家发展和改革委员会 国务院国有资产监督管理委员会 国家能源局 国家环保总局 中国电力企业联合会 中国电机工程学会 新华网 人民网 中国网 中国新闻网 央视网 中青网 中国经济网 光明网 国家电网公司 中国南方电网 国家电力信息网