开启左侧

4 次推倒重来的教训:季逸超亲述 Manus 的 AI Agent 上下文工程,帮我们减少迭代弯路

[复制链接]
在线会员 8bnCTDN 发表于 2025-7-24 01:22:09 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题 |快速收录
AI Agent的高低文工程:建立Manus的经历经验

2025年7月18日——季劳超

正在Manus名目的最初阶段,尔战尔的团队面对一个枢纽决议计划:咱们是该当使用启源根底模子锻炼一个端到真个智能体模子,仍是鉴于前沿模子的高低文进修才气建立一个智能体?

正在尔的NLP生活生计的第一个十年里,咱们不这类挑选的朴实。正在遥远BERT(BERT 2018 年公布,代表“预锻炼+微调”范式)的时期(是的,已经已往七年了),模子必需先截至微调——战评介——才气迁徙到新任务。那个历程凡是屡屡迭代需要数周时间,固然取来日诰日的LLM比拟,那些模子十分小。关于快速开展的使用,出格是正在产物商场匹配(PMF)以前,这类迟缓的反应轮回是一个致命缺点。那是尔上一个守业公司的凄惨经验,其时尔重新开端锻炼模子用于盛开疑息提炼(从非构造化文原中主动提炼构造化疑息的手艺)战语义搜刮。而后GPT-3战Flan-T5(Google的指令微调T5模子)呈现了,尔的内部模子一晚上之间变患上相关紧急。具备挖苦表示的是,那些差异的模子标记着高低文进修的开端——和一条崭新的前进门路。

那个去之不容易的经验使挑选变患上大白:Manus将押注于高低文工程。那使咱们能够正在多少小时而非多少周内乱托付改良,并使咱们的产物取下层模子连结邪接:假设模子进步是上涨的潮流,咱们期望Manus成为这条船,而没有是牢固正在海床上的柱子。

固然云云,高低文工程证实尽非易事。那是一门尝试科学——咱们已经重修了咱们的Agent框架四次,屡屡皆是正在发明了更佳的塑制高低文的方法以后。咱们密切天将这类脚动架构搜刮、提醒调解战经历推测的历程称为"随机钻研死降落"。那其实不文雅,但是它有用。

那篇文章分享了咱们颠末自己的"SGD"所到达的部门最劣解。假设您在建立自己的AI Agent,尔期望那些绳尺能辅佐您更快天支敛。

环绕KV慢存截至设想

假设尔必需挑选一个目标,尔觉得 KV-cache掷中率 (键值慢存是Transformer模子中保存留神力计较成果的体制,掷中率下表示着能够沉用以前的计较成果)是消耗阶段AI Agent最主要的简单目标。它间接作用提早战本钱。为明晰解启事,让咱们典范Agent瞅瞅是怎样运做的:

正在领受用户输出后,Agent颠末一系列东西使用链去完毕任务。正在屡屡迭代中,模子按照目前高低文从预约义的行动空间当选择一个行动。而后正在情况中施行该行动(比方,Manus的假造机沙盒)以发生察看成果。行动战察看成果被附带到高低文中,组成下一次迭代的输出。那个轮回连续截至,曲到任务完毕。

邪如您所设想的,跟着每步的促进,高低文不竭增加,而输出——一般为构造化的函数挪用——连结绝对冗长。那使患上Agents比拟谈天机械人的预添补息争码比率下度歪斜。比方正在Manus中,均匀输出取输出的token比率约为100:1。

幸运的是,具备差异前缀的高低文能够使用KV慢存,那年夜年夜削减了尾个token的天生时间(TTFT)战拉理本钱——不管您是使用自托管模子仍是挪用拉理API。咱们道的没有是小幅度的节流:比方使用Claude Sonnet时,慢存的输出token本钱为0.30美圆/百万token,而已慢存的本钱为3美圆/百万token——出入10倍。

<img   />
从高低文工程的角度,进步KV慢存掷中率涉及多少个枢纽实践:

    连结提醒前缀颠簸。因为LLMs的自返回(模子按挨次天生token,每一个token的天生皆依靠于以前的统统token)特征,即使是单个token的差别也可以使该token以后的慢存生效。一个罕见毛病是正在体系提醒的收尾包罗时间戳——出格是精确到秒的时间戳。固然,那让模子能报告您目前时间,但是也会杀逝世您的慢存掷中率。

    使您的高低文仅逃减。制止改正以前的行动或者察看成果。保证您的序列化是肯定性的。很多编程语言战库正在序列化JSON工具时没有包管颠簸的键排序,那可以会悄无声气天破坏慢存。

    正在需要时大白标识表记标帜慢存断面。一点儿模子供给商或者拉理框架没有撑持主动删质前缀慢存,而是需要正在高低文中脚动拔出 慢存断面。分派那些断面时,要思考潜伏的慢存过时,最少保证断面包罗体系提醒的末端。

别的,假设您使用vLLM(一个下功用的LLM拉理框架)等框架自托管模子,请保证启动前缀/提醒慢存,并使用会话ID等手艺正在散布式事情节面间不合天路由恳求。

掩码,而非移除(Mask, Don't Remove)

跟着Agent负担更多才气,其行动空间天然变患上越发庞大——简朴来讲,东西数目爆炸式增加。MCP(模子高低文和谈,用于尺度化AI模子取内部东西的接互)近来的流行不过推波助澜。假设您许可用户可设置的东西,相信尔:总会有人将数百个奥妙东西拔出 您经心筹谋的行动空间。成果,模子更可以挑选毛病的行动或者采纳高效路子。简而行之,您下度武拆的Agent变患上更聪明了。

天然的反响是设想静态行动空间——或许使用类似RAG(检索增强天生,颠末检索相干疑息去增强模子天生才气的手艺)的方法按需减载东西。咱们正在Manus中也测验考试过这类办法。但是咱们的尝试表白一个大白的划定规矩:除非绝对须要,制止正在迭代中静态增加或者移除东西。

主要有二个启事:

    正在年夜大都LLMs中,东西界说正在序列化后位于高低文的前部,凡是正在体系提醒以前或者以后。因而所有变动城市使统统后绝行动战察看的KV慢存生效。

    当以前的行动战察看仍然引用目前高低文中再也不界说的东西时,模子会感应猜疑。不束缚解码(限定模子输出必需契合一定格局或者划定规矩的手艺),那凡是招致情势背规或者幻觉行动。

为了处置那个成就共时仍然改良行动挑选,Manus使用高低文感知形状机(按照目前形状战输出肯定下一个形状的计较模子)去办理东西可用性。它没有是移除东西,而是正在解码过程当中躲藏token的logits(模子输出的本初几率散布)以阻遏(或者自愿)鉴于目前高低文挑选某些行动。

4 次推翻沉去的经验:季劳超亲述 Manus 的 AI Agent 高低文工程,助咱们削减迭代直路w2.jpg

<img   />

<img   />

正在实践中,年夜大都模子供给商战拉理框架皆撑持某种方法的照应预添补,那许可您正在没有改正东西界说的情况下束缚行动空间。函数挪用凡是有三种情势(咱们将使用NousResearch的Hermes格局动作示例):

主动 – 模子能够挑选挪用函数或者没有挪用。颠末仅预添补复兴前缀完毕:<|im_start|>assistant

必须 – 模子必需挪用函数,但是挑选没有受束缚。颠末预添补到东西挪用token完毕:<|im_start|>assistant<tool_call>

指定 – 模子必需从一定子散挪用函数。颠末预添补到函数名收尾完毕:<|im_start|>assistant<tool_call>{"name": "browser_

颠末这类方法,咱们颠末间接掩码token的logits去束缚行动挑选。比方,  当用户供给新输出时,Manus必需立即复兴而没有是执举措做。咱们另有意设想了具备不合前缀的行动称呼——比方,统统浏览器相干东西皆以browser_收尾,号令止东西以shell_收尾。那使咱们能够轻快强保证Agent正在给定形状下只从一定东西组中截至挑选而无需使用无形态的logits处置器。

那些设想有帮于保证Manus Agent轮回连结颠簸——即使正在模子启动的架构下。

将文献体系用做高低文

现代的前沿狂言语模子(LLM)现在供给 128K 以至更多的 token 高低文窗心。但是正在真正的 Agent场景中,那凡是不敷,偶然以至是一种承担。有三个罕见的痛面:

    察看成果可以十分宏大,特别是当Agent取网页或者PDF等非构造化数据接互时。很简单超越高低文限定。

    模子功用常常会降落,超越必然的高低文少度后,即使手艺上撑持该窗心巨细。

    少输出本钱昂扬,即使使用前缀慢存(颠末慢存已经处置过的前缀 token 去加快后绝恳求的处置)。您仍然需要为传输战预添补每一个token付费。


为了处置那个成就,很多 Agent体系接纳了高低文截断或者收缩战略。但是过分保守的收缩会不成制止天招致疑息丧失。那个成就是底子性的: Agent的天赋决定它必需鉴于统统先前的形状去猜测下一步行动——而您没法可靠天猜测哪一个观察成果可以正在十步以后会变患上相当主要。从逻辑上道,所有不成顺的收缩皆戴有危急。

4 次推翻沉去的经验:季劳超亲述 Manus 的 AI Agent 高低文工程,助咱们削减迭代直路w3.jpg

<img   />

<img   />
那即是为何咱们正在Manus中将文献体系望为最终高低文:巨细没有受限定,天然耐久化,而且Agent能够间接操纵。模子教会按需写进战读与文献——不但将文献体系用做保存,借用做构造化的内部影象。
咱们的收缩战略不断被设想为可规复的。比方,只要保存了 URL,网页的实质就能够从高低文中移除;只要其路子正在沙箱(一个断绝的计较情况)中仍然可用,文档实质就能够被简略。那使患上Manus能够耽误高低文少度,而没有会永久丧失疑息。

正在开辟那个功用时,尔发明自己开端设想,要让一个形状空间模子(State Space Model,一种取 Transformer 差别的序列模子架构,以其下效处置少序列而着名)正在 Agent情况中有用事情需要甚么前提。

取 Transformer 差别,SSM 缺少完整的留神力体制,而且正在处置少距离的反背依靠干系时表示欠安。但是假设它们能把握鉴于文献的影象——将持久形状内部化,而没有是保留正在高低文中——那末它们的速率战服从可以会启开一类新式 Agent。 鉴于SSM的Agent可以成为神经图灵机(一种晚期的测验考试,旨正在颠末内部影象去增强神经收集才气的模子)的真实承袭者。

颠末“复述”去操控留神力

假设您使用过 Manus,您可以留神到一个幽默的征象:正在处置庞大任务时,它偏向于创立一个todo.md文献——并正在任务截至过程当中逐步革新它,勾选已经完毕的名目。

那不但仅是一种亲爱的举动——那是一种故意操控留神力的体制。

4 次推翻沉去的经验:季劳超亲述 Manus 的 AI Agent 高低文工程,助咱们削减迭代直路w4.jpg
Manus中的一个典范任务均匀需要约莫50次东西挪用。那是一个很少的轮回——因为Manus依靠LLM截至决议计划,它很简单偏偏离中心或者忘记晚期目标,特别是正在少高低文或者庞大任务中。
颠末不竭沉写待处事项列表,Manus将其目标复述到高低文的开端。那将全部方案拉进模子的短期留神力范畴内乱,制止了"丧失正在中心"(指年夜模子正在处置少高低文时,简单疏忽中心部门疑息的征象)的成就,并削减了目标没有不合。理论上,它使用天然语言去使自己的留神力偏向任务目标——而没有需要特别的架构变动。

保存毛病的实质

Agent会出错。那没有是一个 bug——那是幻想。语言模子会发生幻觉,情况会前去毛病,内部东西会举动非常,意外的边沿情况随时城市呈现。正在多步调任务中,失利没有是破例;它是轮回的一部门。

可是,一种罕见的激动是躲藏那些毛病:清理陈迹(trace),沉试操纵,大概沉置模子的形状,并把它留给奇异的“温度参数”(一个掌握模子输出随机性的参数)。那觉得更宁静、更可控。但是那是有价格的:抹除失利会移除凭证。不凭证,模子便没法适应。

4 次推翻沉去的经验:季劳超亲述 Manus 的 AI Agent 高低文工程,助咱们削减迭代直路w5.jpg
按照咱们的经历,改良Agent举动最有用的办法之一出偶天简朴:将毛病的测验考试保存正在高低文中。当模子瞅到一个失利的举措——和由此发生的察看成果或者仓库追踪——它会隐式天革新其内部决意。那会改动其先验,低落重复差异毛病的可以性。
幻想上,咱们觉得毛病规复是真实Agent举动的最清楚目标之一。可是,正在年夜大都教术事情战大众基准尝试中,那一面仍然代表性不敷,它们凡是存眷幻想前提下的任务胜利。没有要被“少样原”所困(Don't Get Few-Shotted)少样原提醒(Few-shot prompting)是进步狂言语模子输出的经常使用手艺。但是正在 Agent体系中,它可以会以奇妙的方法拔苗助长。语言模子是优良的模仿者;它们会模仿高低文中的举动情势。假设您的高低文中布满了类似的过从“举措-观察”对于,模子将偏向于依照这类情势,即使那再也不是最劣的。那正在涉及重复决议计划或者举措的任务中可以很危急。比方,当使用Manus辅佐检查20份简用时,Agent经常会陷入一种节奏——只是因为它正在高低文中瞅到了那些举动,便重复类似的操纵。那会招致偏偏离(drift)、过分泛化(overgeneralization),或者偶然发生幻觉。

<img   />

<img   />

处置办法是增加百般性。Manus 正在举措战观察中引进了多量构造化的变体——差别的序列化模板、替换性的说话、挨次或者格局上的弘大乐音。这类受控的随机性有帮于突破情势,并调解模子的留神力。

换句话道,没有要让自己陷入少样原进修的窠臼。您的高低文越分歧,您的 Agent便变患上越懦弱。

论断

高低文工程仍然是一门新兴的科学——但是关于 Agent体系来讲,它已经是必不成少的。模子可以在变患上更强、更快、更自制,但是再多的本初才气也没法替代对于影象、情况战反应的需要。您怎样塑制高低文终极决定了您的 Agent的举动方法:它运行的速率、规复的结果和扩大的范畴。

正在 Manus,咱们颠末重复的沉写、走过的逝世胡共和里背数百万用户的理论尝试,教到了那些经验。咱们正在此分享的统统并不是普适的真谛——但是那些是对于咱们有用的情势。假设它们能辅佐您哪怕制止一次疾苦的迭代,那末那篇文章便完毕了它的任务。

Agent的未来将由一个个高低文建立而成。请经心设想它们吧。

1

引用诠释

正在本文中,作家引用了一点儿主要的观点战手艺,如下是对于那些引用的扼要介绍:

    Manus:Manus是一个鉴于AI的自立 Agent仄台,旨正在施行庞大的多步调任务。它能够模仿人类操纵计较机,颠末一系列东西使用去完毕从疑息汇集到数据阐发,再到实质创做等多种任务。Manus的中心思念是"托付功效",而非只是供给设法,旨正在成为人机合作的下一代范式。

    in-context learning:高低文进修(In-context learning)是指庞大语言模子(LLMs)正在拉理时,颠末正在输出中供给年夜唆使例(few-shot examples)去进修新任务的才气,而无需截至模子参数的革新或者从头锻炼。这类才气极地面进步了LLMs的活络性温顺应性,使其能够快速适应新的任务战范围。

    BERT:BERT(Bidirectional Encoder Representations from Transformers)是Google正在2018年公布的一种预锻炼语言模子。它颠末单背锻炼Transformer编码器去进修语言的高低文暗示,极地面促进了天然语言处置范围的开展,并正在多项NLP任务中得到了突破性平息。BERT的呈现标记着预锻炼模子时期的到去,但是其使用仍需截至微调。

    open information extraction:盛开疑息抽与(Open Information Extraction, Open IE)是一种从非构造化文原中主动提炼构造化疑息(如实体、干系战工作)的手艺。取保守的需要预约义情势的疑息抽与差别,Open IE旨正在发明文原中统统可以的、自包罗的幻想,而无需野生干预或者事先建立的本质。

    GPT-3:GPT-3(Generative Pre-trained Transformer 3)是OpenAI正在2020年公布的一款庞大语言模子。它具有1750亿个参数,是其时最年夜的语言模子之一。GPT-3正在天生下品质文原、完毕各类语言任务圆里表示超卓,其强大的高低文进修才气更是激发了普遍存眷,被觉得是AI开展史上的一个里程碑。

    Flan-T5:Flan-T5是Google正在T5模子根底上截至指令微调(instruction tuning)的系列模子。颠末正在大批差别任务的指令格局数据上截至锻炼,Flan-T5展示出更强的整样原(zero-shot)战少样原(few-shot)泛化才气,能够更佳天理解战依照用户指令,进而正在多种NLP任务中得到优良表示。

    KV-cache:KV慢存(Key-Value Cache)是Transformer模子顶用于劣化拉理速率的一种体制。正在自返回天生过程当中,模子会重复计较留神力体制中的键(Key)战值(Value)矩阵。KV慢存颠末保存那些计较成果,制止了正在天生每一个新token时重复计较,进而清楚削减了拉理时间战计较本钱,特别是正在处置少序列时。

    autoregressive:自返回(Autoregressive)是手印型正在天生序列时,目前时间步的输出依靠于以前统统时间步的输出。正在庞大语言模子中,那表示着模子会逐毕生成token,每一个更生成的token皆鉴于厥后里已经天生的统统token。这类特征使患上模子能够天生毗连且有逻辑的文原,但是也表示着对于序列前部的所有改正皆可以作用后绝的天生弛缓存服从。

    vLLM:vLLM是一个用于庞大语言模子拉理的下吞咽质战效劳框架。它颠末PagedAttention等立异手艺,清楚进步了LLM的效劳吞咽质战服从,并低落了提早。vLLM撑持多种模子战拉理劣化,是自托管LLM拉理的流行挑选。

    prefix/prompt caching:前缀/提醒慢存(Prefix/Prompt Caching)是vLLM等拉理框架中的一项劣化手艺,它许可模子慢存输出提醒(prompt)的KV值。当后绝恳求具备差异的前缀时,能够间接从慢存中减载那些KV值,进而制止重复计较,清楚进步拉理速率战服从,特别合用于 Agent等场景中重复使用差异体系提醒的情况。

    MCP:MCP(Model Context Protocol,模子高低文和谈)是Anthropic提出的一种尺度化AI模子取内部东西接互的和谈。它旨正在为AI模子供给一种分歧的方法去理解战使用东西,进而简化 Agent体系的开辟战散成。MCP的流行反应了AI Agent对于内部东西挪用才气日趋增加的需要。

    RAG:检索增强天生(Retrieval-Augmented Generation, RAG)是一种分离了疑息检索战文原天生的手艺。它许可庞大语言模子正在天生答复以前,从内部常识库中检索相干疑息,而后使用那些疑息去天生更精确、更丰硕、更少幻觉的答复。RAG正在处置需要最新疑息或者一定范围常识的任务时特别有用。

    constrained decoding:束缚解码(Constrained Decoding)是一种正在庞大语言模子天生文原时,自愿其输出契合一定格局、语法例则或者预约义情势的手艺。颠末正在解码过程当中限定模子能够挑选的token,能够保证天生的文原满意一定的构造化请求,比方天生有用的JSON、代码或者函数挪用。

    state machine:形状机(State Machine),或者无限形状机(Finite-State Machine, FSM),是一种数教模子,用于描绘体系正在差别形状之间变换的举动。它按照目前形状战领受到的输出,决定下一个形状和可以施行的行动。正在AI Agent中,形状机能够用于办理东西的可用性,按照 Agent确当前任务战高低文去静态调解其举动。

    Hermes format:Hermes格局凡是指的是NousResearch开辟的Hermes系列模子所使用的指令依照战函数挪用格局。那些模子颠末特别锻炼,能够理解并施行庞大的指令,包罗构造化的函数挪用。正在原文中,它被用做示范差别函数挪用情势的示例。

    Neural Turing Machines:神经图灵机(Neural Turing Machines, NTMs)是DeepMind正在2014年提出的一种神经收集架构,它分离了神经收集的进修才气战图灵机的内部影象才气。NTMs旨正在处置保守神经收集正在处置少序列战需要内部影象的任务时的范围性,为建立更通用、更强大的AI体系供给了新的思路。

    temperature:正在庞大语言模子中,temperature是一个用于掌握天生文原随机性战缔造性的参数。较下的temperature值会使模子输出更具百般性战随机性,可以发生更具缔造性但是偶然没有那末毗连的文原;较高的值则会使模子输出更具肯定性战守旧性,更偏向于挑选几率最下的token。正在 Agent毛病规复中,偶然会颠末调解temperature去作用模子的举动。

    Few-shot prompting:少样原提醒(Few-shot prompting)是一种提醒工程手艺,颠末正在给模子的成就中供给多量完毕任务的示例,去指导模子天生契合期望的输出。这类办法使用了庞大语言模子的高低文进修才气,使其能够正在不分外锻炼的情况下,快速适应新的任务。
您需要登录后才可以回帖 登录 | 立即注册 qq_login

本版积分规则

发布主题
阅读排行更多+
用专业创造成效
400-778-7781
周一至周五 9:00-18:00
意见反馈:server@mailiao.group
紧急联系:181-67184787
ftqrcode

扫一扫关注我们

Powered by 职贝云数A新零售门户 X3.5© 2004-2025 职贝云数 Inc.( 蜀ICP备2024104722号 )