[{"data":1,"prerenderedAt":365},["ShallowReactive",2],{"article:column:/column/llm-to-agent-learning/01":3},{"id":4,"title":5,"body":6,"description":357,"extension":358,"meta":359,"navigation":360,"path":361,"seo":362,"stem":363,"__hash__":364},"column/column/llm-to-agent-learning/01.md","01｜AI地图：模型、训练方法、产品与系统各在哪一层",{"type":7,"value":8,"toc":338},"minimark",[9,13,16,19,24,27,30,33,36,39,42,45,49,52,55,58,68,71,75,78,81,89,92,100,104,107,110,118,121,124,127,134,137,141,144,147,155,158,161,165,168,176,179,182,185,193,196,202,205,209,212,215,218,221,225,228,231,234,240,243,246,249,253,259,262,267,270,275,278,281,286,289,294,297,302,305,308,313,316,321,324,329,332,335],[10,11,12],"p",{},"你请一个AI客服修改收货地址。它回答：“已经为你修改好了。”可订单页面上，旧地址纹丝不动。",[10,14,15],{},"问题可能出在哪里？它误解了你的要求，根本没接订单系统，没有修改权限，或者工具调用失败后仍然说了成功。四种故障，表面上都是“AI不行”，修法却完全不同。换一个更强的语言模型，也未必能补上缺失的订单接口。",[10,17,18],{},"理解AI，第一步是学会给这些部件定位。哪些能力来自模型，哪些来自训练，哪些依赖本次输入，哪些必须由外部程序完成？有了这张地图，发布会里的新名词才不会挤成一团。",[20,21,23],"h2",{"id":22},"_1先把模型缩小到可以手算","1．先把“模型”缩小到可以手算",[10,25,26],{},"假设客服要把消息分成“退货咨询”和“其他”。我们先只记录两条线索：消息有没有“退货”，记作x；有没有订单号，记作y。有就填1，没有就填0。",[10,28,29],{},"设一个教学评分办法：分数s＝2×x＋1×y。分数达到2，就分到退货咨询。",[10,31,32],{},"“订单123，我想退货”对应x＝1、y＝1，得分3；“订单123什么时候送到”对应x＝0、y＝1，得分1。读者只需要乘法和加法，就能跟着这套模型做判断。",[10,34,35],{},"这里，x和y是输入的特征，2和1是决定各项分量的参数，加权求和是计算结构，达到2则归类是决策规则。**要让这套模型工作，计算结构与具体参数缺一不可。**只给你“加权求和”四个字，还不能确定它会怎样判断。",[10,37,38],{},"目前这两个参数是我们手填的，所以尚未展示机器学习。若拿许多已经分类的消息，让程序根据预测与正确标签之间的差距调整参数，才进入从数据学习的过程。调整参数的阶段叫训练；把新消息送进去，用已有参数算出结果，叫推理。这里的“推理”包括简单分类，并不专指复杂逻辑思考。",[10,40,41],{},"再试一句：“订单123不用退货，我只是想改地址。”它仍然得到3分。更关键的是，前后两句话都被我们表示成了［1，1］，模型根本看不见“想退货”和“不用退货”的区别。仅仅反复调整这两个权重，无法把完全相同的输入稳定分到不同类别。问题已经出在信息怎样被表示。",[10,43,44],{},"这个小实验说明：一个系统的上限，不只受参数多少影响，还受输入保留了什么、计算结构能表达什么影响。",[20,46,48],{"id":47},"_2ai机器学习和深度学习是什么关系","2．AI、机器学习和深度学习是什么关系",[10,50,51],{},"人工智能，也就是AI，是较大的研究领域，涉及识别、语言、推理、规划等问题。把专家知识写成规则、组织搜索与推理，是其中一些路线；让计算机从数据中获得可用于新输入的规律，是机器学习的重要思路。",[10,53,54],{},"机器学习包含许多模型。上面的简单加权分类器就能成为其中一种，不必先变成一个庞大的神经网络。深度学习则使用多层神经网络，让信息经历多次可学习的变换。",[10,56,57],{},"“可学习的表示”是它的重要特点。传统方案可能由人决定只记录“退货是否出现”；深度网络可以根据任务和训练数据，学习怎样组合输入信息，使上下文、词序等线索参与后续判断。这并不保证它必然理解否定句，只是给了模型利用更丰富线索的计算途径。",[10,59,60,61],{},"因此，常见的技术归属可以写成：AI包含机器学习，机器学习包含深度学习。今天主流的大语言模型建立在深度学习上。这个包含关系有用，但它只回答“属于哪条技术路线”，没有列完AI的全部分支。",[62,63,67],"a",{"href":64,"rel":65},"https://www.deeplearningbook.org/contents/intro.html",[66],"nofollow","《Deep Learning》第一章",[10,69,70],{},"“深”也不等于“思考得深”。它描述多层计算结构。某层具体表示了什么，需要通过研究来判断，不能直接规定第一层懂字词、第二层懂语法、第三层懂常识。",[20,72,74],{"id":73},"_3llmtransformer和生成式ai各回答什么","3．LLM、Transformer和生成式AI各回答什么",[10,76,77],{},"大语言模型，简称LLM，重点是用规模较大的模型学习、处理语言。这里的“大”没有一条适用于所有时代和任务的统一数字分界线，参数规模也不能独自说明质量。",[10,79,80],{},"以常见的自回归生成式语言模型为例，它读取前面的文本单位，计算后面各个候选单位的可能性，再逐步生成内容。文本单位叫token，下一章会专门解释。分类、摘要、翻译等不同要求，可以被组织进输入，让同一个模型生成不同形式的回答。",[10,82,83,84],{},"Transformer回答的是“怎样组织内部计算”。它是一类神经网络架构，注意力等组件按一定方式连接起来。原始论文研究的是机器翻译；知道一个模型采用Transformer，并不能直接知道它的参数值、训练资料或最终能力。",[62,85,88],{"href":86,"rel":87},"https://arxiv.org/abs/1706.03762",[66],"Transformer原论文",[10,90,91],{},"生成式AI换了一个角度，强调生成文字、图像、声音等内容这一类任务。语言模型可以做生成，也可以被用于分类；图像生成可以采用另外的模型路线。因此，“生成式”不宜被接在“AI、机器学习、深度学习、LLM”后面，画成一个更小的统一圈。",[10,93,94,95],{},"现实模型经常同时获得多个标签。OpenAI在2023年公开的GPT-4技术报告说明，它采用Transformer式结构，以预测下一token进行预训练，能够接收图像和文字、输出文字。这里分别出现了架构、训练目标、输入模态和输出形式，彼此并不冲突。这个历史案例用于定位概念，不代表当前产品配置。",[62,96,99],{"href":97,"rel":98},"https://cdn.openai.com/papers/gpt-4.pdf",[66],"GPT-4技术报告",[20,101,103],{"id":102},"_4训练方法决定怎样改输入决定这次看什么","4．训练方法决定怎样改，输入决定这次看什么",[10,105,106],{},"“这个模型用什么训练方法”与“这个模型是什么架构”是两个问题。同一类架构，可以接受不同的数据与训练目标；同一个初始模型，也可以经过不同的后续训练。",[10,108,109],{},"监督学习常用人为标注的目标，例如每条客服消息的正确类别。自监督学习从数据自身构造目标：给定一句话的前半段，后面的实际文本就提供了预测目标，不必逐条请人写标签。“自监督”仍然需要数据、目标和误差计算，只是目标的来源不同。",[10,111,112,113],{},"监督微调，常简称SFT，可以用“用户请求、示范回答”继续训练，让模型更适应指定任务与回答方式。偏好或奖励相关训练则利用回答比较、奖励等信号进一步调整行为。它们具体怎样更新参数，后续章节会展开；现在先记住它们都在回答“根据什么信号改模型”。",[62,114,117],{"href":115,"rel":116},"https://openai.com/index/instruction-following/",[66],"示范与人类反馈训练的公开案例",[10,119,120],{},"日常聊天还有另一条信息路径。你把公司的退货规定贴在问题后，模型就可能按这份规定作答。规定作为当前上下文参与计算，并不需要先写进参数。系统检索出相关文档再交给模型，也通常走这条路径，这就是检索增强生成的基本思路。",[10,122,123],{},"两条路可以组合。模型可以先训练得更善于依据材料回答，再在每次请求里接收最新资料。看到它答对了今天的新规定，单凭结果无法判断到底改了参数，还是换了输入。要看信息实际经过哪条路径。",[10,125,126],{},"看图1时，先分清上方的“属于什么领域”，再沿下方两种箭头判断信息改变了哪里。训练资料经更新步骤改变参数；本次资料直接进入输入，二者不是同一条通道。",[10,128,129],{},[130,131],"img",{"alt":132,"src":133},"01｜AI地图：模型、训练方法、产品与系统各在哪一层：图1","/collections-assets/llm-to-agent-learning/3ecc01aa786604f4cc7050d176f113ef1ed3b5dbc074abf332d29dd949f252bf.png",[10,135,136],{},"图1｜上方是研究路线的包含关系；下方是训练资料与本次资料影响模型的不同路径。架构描述计算结构，训练改变参数，运行时资料改变本次输入。生成式AI描述任务，Agent描述系统组织方式，都不能接成这条包含链的下一层。",[20,138,140],{"id":139},"_5产品给模型接上了什么","5．产品给模型接上了什么",[10,142,143],{},"模型的主要职责是执行自身的计算。用户使用的产品，还需要组织输入、展示结果、处理文件、记录对话、调用工具，并控制哪些动作可以执行。",[10,145,146],{},"ChatGPT属于产品名称。GPT-4技术报告讨论的是一个具体模型。把这两个层次分开，就能理解：产品新增一个搜索入口、换一种资料呈现方式、采用不同底层模型，都可能改变体验，但发生改变的部件不同。",[10,148,149,150],{},"一个可核查的例子是2024年10月公开介绍的ChatGPT search。那份官方说明同时提到了经过微调的搜索模型、第三方搜索服务及合作伙伴内容，以及答案中的来源链接。模型训练、运行时取资料、界面展示在同一功能中共同起作用。不能把搜索到新网页，全部解释成模型重新训练；也不能据此认为搜索能力完全不需要模型训练。",[62,151,154],{"href":152,"rel":153},"https://openai.com/index/introducing-chatgpt-search/",[66],"ChatGPT search的历史发布说明",[10,156,157],{},"产品层还有一些不显眼但重要的决定：搜索失败怎样提示，引用能否打开，旧对话保留多少，工具返回的信息怎样被交给模型。即使两款产品调用同一个模型，也可能因为这些差异表现不同。",[10,159,160],{},"所以，“它用了某个强模型”只能提供部分证据。要判断能否办成一件事，还得追踪输入、工具、权限和结果验证。",[20,162,164],{"id":163},"_6agent怎样把一次回答延伸成连续行动","6．Agent怎样把一次回答延伸成连续行动",[10,166,167],{},"一个固定流程，可以规定先查询订单，再读取状态，最后让模型生成客服话术。每步由程序预先安排。另一类系统会让模型结合目标和刚得到的结果，选择下一步调用什么工具、是否继续、何时停止。今天讨论的LLM Agent，通常关注后一种组织方式，具体定义在不同文献和产品中并不完全一致。",[10,169,170,171],{},"它的关键机制是反馈回路：观察现有信息，提出下一步，执行允许的动作，把结果送回来，再决定后续。ReAct原论文就是一个公开研究案例，把语言模型的任务处理与外部行动交替组织起来，并在问答和交互环境中测试。",[62,172,175],{"href":173,"rel":174},"https://arxiv.org/abs/2210.03629",[66],"ReAct原论文",[10,177,178],{},"这个回路不会自动赋予模型权限。回到改地址的客服：程序先查询订单，取得“尚未发货”的状态；模型依据用户要求和状态提出修改；程序检查身份、授权和订单规则；通过后调用修改工具；最后核对订单系统返回的回执。",[10,180,181],{},"如果没有修改接口，模型再会写也不能完成修改。如果权限检查不通过，应停下来说明原因。如果接口报错，就要报告失败或按规则重试。把“我准备修改”写成“已经修改”，是执行状态被混淆了。",[10,183,184],{},"这也是一个具体的接口边界：模型可以交出“操作名、订单号、新地址”等请求字段，应用负责判断这些字段是否有效、动作是否允许，以及是否真的调用订单系统。输出格式正确，只完成了接口检查的一部分；仍要看执行结果。",[10,186,187,188],{},"OpenAI的函数调用文档明确区分了模型返回工具调用与应用实际执行函数、再把结果交回模型这几个步骤。模型输出一个工具请求，不等于对应动作已经发生。",[62,189,192],{"href":190,"rel":191},"https://developers.openai.com/api/docs/guides/function-calling",[66],"函数调用的处理流程",[10,194,195],{},"看图2时，把“提出修改”与“写入订单系统”放在不同泳道。只有状态回执回来，才有依据报告执行结果。",[10,197,198],{},[130,199],{"alt":200,"src":201},"01｜AI地图：模型、训练方法、产品与系统各在哪一层：图2","/collections-assets/llm-to-agent-learning/380057fbe22a384adbbf4236adf70034af517ecd35fa3c68fce69a10b4b4f39d.png",[10,203,204],{},"图2｜一个教学客服系统的执行链。模型提出下一步，程序检查权限并调用工具；成功回执来自订单系统。查询结果、模型提议和真实执行结果是三种不同证据，不能用一句流畅答复替代。",[20,206,208],{"id":207},"_7拿一条发布说明亲手拆开它","7．拿一条发布说明，亲手拆开它",[10,210,211],{},"现在做个纸笔练习。下面是一条虚构发布说明：“新版客服更换了语言模型，用历史客服示范做了微调，接入现行退货规定和订单查询，并允许经授权的用户修改未发货订单地址。”",[10,213,214],{},"先圈出改变模型的部分：更换语言模型、用示范微调。再圈出数据路径：现行规定来自运行时资料，订单状态来自实时查询。然后找工具：查询与修改是不同操作。最后找权限条件：经过授权，而且订单尚未发货。",[10,216,217],{},"如果它仍然引用过期政策，优先检查资料版本和检索结果。如果它误解“别改地址”，需要检查模型及输入组织。如果它正确理解、也能查订单，却始终无法修改，应检查修改接口和权限。不同故障应找到各自的证据，不能一概归咎于参数不够大。",[10,219,220],{},"再给这条发布说明补一句真正有用的问题：用什么未见过的请求测过，完成率和误操作率分别是多少？功能列表说明系统有什么部件，评测才能帮助我们了解这些部件组合得怎样。",[20,222,224],{"id":223},"_8组件变多可靠性怎样算","8．组件变多，可靠性怎样算",[10,226,227],{},"工具能补足模型缺少的外部信息，也会引入连接失败、过期数据、格式错误和误调用。流程越长，越需要明确状态与检查，而不是只看最终一句话是否顺畅。",[10,229,230],{},"用一个教学算例体会这件事。假设理解请求的成功率为90%；在已经理解正确的任务中，取到正确资料的比例为90%；在前两步都正确的任务中，正确执行的比例为90%。三步都对的比例就是0.9×0.9×0.9＝72.9%。这些是逐步条件成功率，算式不要求把现实中的三步假定为互相独立。",[10,232,233],{},"把比例换成1000次请求更容易看清分母。先有900次理解正确；只在这900次里计算第二步的90%，得到810次；再只在这810次里计算第三步的90%，留下729次。第二、三步的分母都不是最初的1000。",[10,235,236],{},[130,237],{"alt":238,"src":239},"01｜AI地图：模型、训练方法、产品与系统各在哪一层：图3","/collections-assets/llm-to-agent-learning/5273ff71f9dd14b6e8d1c9623d9926bc0de97d58fef402636833db3b059f993a.png",[10,241,242],{},"图3｜1000次人工教学请求逐步留下900、810、729次全程正确的请求；各步骤右侧分别退出100、90、81次。成功率90%在每一步都以此前仍成功的请求为分母，因此全程成功率是729÷1000＝72.9%。",[10,244,245],{},"这不是任何真实系统的成绩，只说明“每一步看起来都挺好”仍可能留下明显的整体失败率。提高模型能力、改善资料质量、减少不必要的行动、增加执行校验，可能分别改善不同环节。更复杂的流程需要用收益证明新增成本值得。",[20,247,248],{"id":248},"本章练习",[250,251,252],"h3",{"id":252},"题目",[10,254,255],{},[256,257,258],"strong",{},"问题1｜给故障定位",[10,260,261],{},"客服已经查到订单尚未发货，也正确生成了修改地址的请求，但应用提示“没有修改权限”。应该先检查哪个部件？还需要什么证据，才能报告修改成功？",[10,263,264],{},[256,265,266],{},"问题2｜追踪信息走向",[10,268,269],{},"系统甲把新政策加入训练资料并实际更新参数；系统乙把同一政策放进本次输入。分别写出政策影响答案的路径，并说明乙为什么可能立即答对新规定。",[10,271,272],{},[256,273,274],{},"问题3｜重新计算整条链",[10,276,277],{},"仍有1000次请求。理解正确900次，其中取材正确810次；若把最后一步在这810次中的成功率提高到100%，整体成功率是多少？最初的两步仍各为90%。",[250,279,280],{"id":280},"思考提示",[10,282,283],{},[256,284,285],{},"提示1｜对应问题1",[10,287,288],{},"区分理解、提议、权限检查和外部执行，并寻找能够证明状态改变的记录。",[10,290,291],{},[256,292,293],{},"提示2｜对应问题2",[10,295,296],{},"看政策是先进入参数更新，还是直接成为当前计算的输入。",[10,298,299],{},[256,300,301],{},"提示3｜对应问题3",[10,303,304],{},"最后一步只能处理前两步已经正确的请求，先算留下多少次，再除以总请求数。",[250,306,307],{"id":307},"参考答案与解析",[10,309,310],{},[256,311,312],{},"答案1｜对应问题1",[10,314,315],{},"应先检查应用的授权与订单规则，不应把权限失败直接解释成模型能力不足。权限通过、修改接口实际执行，并核对成功回执或最新订单状态以后，才能报告修改成功。",[10,317,318],{},[256,319,320],{},"答案2｜对应问题2",[10,322,323],{},"甲走“政策资料→训练目标与参数更新→新的模型参数→回答”；乙走“政策资料→当前上下文→固定参数下的计算→回答”。乙能够读取本次提供的内容，因此可以立即答对；答案变化本身不证明参数已更新。",[10,325,326],{},[256,327,328],{},"答案3｜对应问题3",[10,330,331],{},"留下810次，全程成功率为810÷1000＝81%。也可算0.9×0.9×1＝0.81。只修好执行环节，仍不能挽回前两步已经失败的190次请求。",[20,333,334],{"id":334},"下一章",[10,336,337],{},"现在再读AI介绍，可以依次追问：它是什么模型，怎样训练，本次能看到什么，系统允许它做什么，以及怎样证明做成了。下一章沿输入向内走一步：我们发出的一句话，究竟怎样变成模型处理的token？",{"title":339,"searchDepth":340,"depth":340,"links":341},"",3,[342,344,345,346,347,348,349,350,351,356],{"id":22,"depth":343,"text":23},2,{"id":47,"depth":343,"text":48},{"id":73,"depth":343,"text":74},{"id":102,"depth":343,"text":103},{"id":139,"depth":343,"text":140},{"id":163,"depth":343,"text":164},{"id":207,"depth":343,"text":208},{"id":223,"depth":343,"text":224},{"id":248,"depth":343,"text":248,"children":352},[353,354,355],{"id":252,"depth":340,"text":252},{"id":280,"depth":340,"text":280},{"id":307,"depth":340,"text":307},{"id":334,"depth":343,"text":334},"从信息表示和学习出发，用可核算的例子与白板图逐步理解大模型、后训练、推理和Agent系统。","md",{},true,"/column/llm-to-agent-learning/01",{"title":5,"description":357},"column/llm-to-agent-learning/01","BTCXFd0cfIx5_cYDQkw4IudFxfA1yTBWpJ0N-2H-azU",1791935828761]