吴恩达Agent教程学习记录(一)

吴恩达Agent教程学习记录(一) 通识概念Introduction to Agentic Workflows一、什么是智能体LLM大语言模型主要执行单任务运行比如写一篇文章他直接给你生成好但如果要写出一篇高质量文章往往会经历调研写作回头检查所以我们可以将这些环节拆分成不同任务分别由专门的模块或智能体负责。这样虽然会消耗更多 Token 和时间但通常能够获得更完整、更可靠的结果。吴恩达老师的课里面没有提到的一点就是如果LLM本身够强它可以自主执行调研到写作再到审查的这一个流程的那为什么还要智能体的。关键在于Agent 解决的不是“LLM 会不会完成这些步骤”而是如何把这些能力组织成一个稳定、可重复、可持续执行的系统。LLM 决定思考、判断和内容生成的能力Agent 则负责流程控制、工具调用、状态记录以及根据中间结果进行调整。因此一次性的调研写作任务强 LLM 配合搜索等工具通常已经足够而对于流程固定、任务复杂、需要多轮反馈、长期运行或错误恢复的工作Agent 才能体现出更明显的价值。这是举例的一个定制化多智能体工作流可以看到它是安排多个agent执行不同分工共同完成最终任务二、自主性程度吴老师的Agentic Workflows并不执着于区分什么才是“真正的智能体”而是把智能体性看作一个从低自主到高自主的连续谱。这张图是智能体的自主性低自主系统的步骤、工具和执行顺序基本都由开发者预先设定LLM 主要负责生成搜索词、摘要或文章内容因此它也可以被称为“引入 LLM 的工作流”。半自主智能体则可以根据中间结果做出部分决策例如在预定义工具中选择搜索网页、新闻或论文并判断应当读取网页还是解析 PDF。高度自主智能体拥有更大的决策空间能够自主规划任务决定执行步骤甚至临时编写函数或创建新工具。在写黑洞文章的例子中上半部分属于低自主工作流系统先让 LLM 生成搜索关键词再按照固定步骤调用网页搜索和网页读取工具最后由 LLM 撰写文章。下半部分具有更高的自主性因为 LLM 会参与信息源选择、资料筛选和文章反思修改。但它所使用的工具仍然是预先提供的所以我认为更准确地说说法是它属于半自主或较高自主性的 Agentic Workflow而不是完全高度自主的智能体。这是GPT给出的他认为的排序主要是从工作流到Agent的进化过程三、智能体的优势1.多种应用场景下表现更优图片是自主性工作流一个显著的效果提升左边两个点是GPT3.5和GPT4在代码正确率上是48%和67%但是当接入自主性工作流的时候最差的框架也使能力高于GPT4而GPT4接入后也获得了更高的分数所以可以看到agent其实能放大LLM的能力。2.并行处理一些人类原本需要顺序完成的任务就比如这个还是写论文的三个LLM写关键词抓取三个网页然后读取内容相当于能够同时并行处理9个网页内容但人类做研究的是可能需要挨个顺序读下来这9个。3.智能体工作流的模块化设计方便更新工具还是上边那个例子比如你可以替换工具把网页换成新闻更换搜索引擎来实现从不同类型整理信息这就是它模块化设计带来的便利四、智能体应用也是跟之前一条线这个就是说智能体应用难度在企业中有固定流程的事情往往会更容易去构建智能体比如智能客服去告诉顾客当前库存它是有标准流程的比如调用关键词进数据库搜索生成回复文本人工审核这类工作会更容易去搭建智能体。更难的一种所有步骤实现不是有标准化步骤智能体可能需要边执行边规划并且解决问题包括多模态也比纯文本要不可靠一点。五、任务分解在构建智能体时最重要的不是先决定使用几个 Agent而是先理解任务在现实中是如何完成的并将整个过程拆解为若干可执行、可检查的环节。对于每个环节需要判断它能否由 LLM 直接完成是否需要调用搜索、数据库或其他 API如果现有方法无法解决就可以参考人在处理这类问题时会采取什么步骤再决定是继续拆解任务还是引入新的工具、数据或人工审核。当某个环节效果不理想时应重点拆解这个瓶颈。例如一个文章写作智能体在完成网页搜索后直接让 LLM 生成全文结果通常不够稳定。此时可以进一步将写作拆分为资料整理、生成大纲、分段写作、内容评审和修改完善等步骤。这样虽然会增加调用次数和 Token 消耗但中间结果更加明确、可检查最终内容通常也更完整但是任务拆解不是越细越好而是要拆到每一步都能稳定执行、结果可以验证为止。在搭建智能体时可以将整个系统看成由多个构建模块组成。首先是模型模块除了负责理解、推理和文本生成的 LLM还可以接入语音识别、图像分析、PDF 解析等专用模型。其次是工具模块包括调用 API 获取实时数据或执行外部操作通过数据库和 RAG 检索信息以及通过代码执行完成计算、数据分析和文件处理。设计智能体时需要根据每个子任务选择合适的模块适合语言理解和决策的交给 LLM适合专业感知或转换的交给专用模型需要访问外部世界的调用 API 或检索工具需要精确计算和批量处理的则使用代码执行。六、智能体AI评估智能体构建者的评估能力会直接影响系统的开发效率和最终效果。本节主要介绍智能体评估的基本思路。在开发开始前应先确定最核心的成功标准但很多具体问题只有在观察实际输出后才能发现因此评估通常是一个边开发、边测试、边补充指标的迭代过程。例如智能体生成营销文本时可能频繁贬低竞争对手这时可以编写代码统计特定竞品名称或负面表达出现的次数形成可量化的客观指标。对于内容质量、表达自然度等难以直接用代码衡量的问题可以使用人工评审或 LLM-as-judge。评测 LLM 需要配合明确的评分标准和示例。单纯让模型进行 1—5 分的绝对打分可能不够稳定因此后续还可以采用合格与否判断、成对比较等方式。智能体评估可以从两个层面进行一是端到端评估判断系统最终是否完成任务二是组件级评估分别检查检索、筛选、写作等单个环节的输出质量。此外还需要查看智能体的执行轨迹和中间结果从而定位错误究竟发生在哪个步骤。评估与错误分析不是最后才进行的验收环节而是贯穿智能体开发全过程的核心能力。七、智能体设计模式智能体工作流四个关键设计模式是反思工具使用规划和多智能体写作。1.反思反思是一种常见的 AI 工作流设计方法。例如一个模型生成代码或文本后可以再设置一个评审环节让模型检查其中的问题、潜在风险和改进空间然后将评审意见返回给生成模型进行修改。我平时撰写项目申请材料时也会先让一个模型完成初稿再让另一个模型以评审专家的身份进行严格审查。但是视频没有讲到的事情是反思并不是次数越多越好。我本人在实际使用过程中经常会有写项目申请表的需求我会让GPT写好之后交由Deepseek进行找问题我把Deepseek的人设确定为一名评审专家。但是会发现反思轮次过多可能导致内容越来越冗余、保守和防御性过强。例如在电气相关项目申请中模型经过多轮风险审查后可能不断增加防触电、安全防护等内容使这些内容在全文中占比过高反而削弱项目的核心创新。这是因为当我们不断要求模型寻找缺点时它往往会继续提出问题即使当前版本已经基本满足要求也可能为了完成“找缺点”的指令而勉强挖掘新的风险。经过多轮修改后文本可能逐渐偏离原始目标创新性表达也可能被不断削弱。因此反思工作流需要设置明确的评价标准和停止条件。评审的目的不是无限寻找问题而是判断内容是否满足真实性、完整性、相关性和表达质量等要求。当关键问题已经解决继续反思带来的收益低于修改成本时就应停止迭代。2.工具使用这个就很好理解了就是之前我们一直举例的网页读取就是其中一个工具通过调用不同的工具来使LLM完成更多任务比如发邮件OCR文本识别或者写代码等等。3.规划规划就是让LLM自己决定要执行的流程比如调用什么工具执行什么操作等等这类智能体通常更难控制但也更有可扩展性。这是课里面举的例子生成一张同样姿势的女孩读书照片再用语音描述。一个会自主规划的Agent会先读取动作然后生成再读取图像生成语音描述。4.多智能体协同就是说让每个智能体专精一件事情共同完成一个任务比如现在很多的一人公司就可以安排不同智能体来干不同的活比如专门审计专门开发专门测试的等等。