Agent本身的定义也不是绝对的,从LLM到最高等级的Agent,中间是有大量灰度地带的,在Anthropic看来,Agent可以以多种方式定义,有些人将完全自主系统定义为Agent,而另一些团队则将预定义的工作流程定义为Agent。在Anthropic,所有这些变种都定义为Agent系统(Agentic System)。

Workflow和Agents的区别:

  • Workflow:LLMs和工具通过预定义的代码路径编排的系统,也就是用户输入后,它的执行路径,是能够提前预料的,是有人工构建的,像基于Coze、Dify、n8n等平台搭建的应用,绝大多数属于这一类
  • Agents:LLMs动态指导自己的流程和工具使用,典型的,比如Cursor、Windsur、Claude Code这种编程智能体,你发送指令后,后续它会先向你做一些澄清、帮你开始编写一份技术文档还是调用MCP工具来获取一些API使用说明等,没人能确切地知道其执行路径

为什么上一篇介绍完“正统”的Agent设计模式后,这一篇还要介绍一些Workflow呢?这是因为当前落地的绝大多数Agent仍以Workflow形式为主,它有三大显著的优势:

  • 上手很快,门槛比较低,即使没有学过编程,也能拖拽出一个可以用的应用
  • 不同场景有自己固定的成熟流程,使用Workflow是将这些流程融入AI非常低成本的方式
  • 试错成本低,熟悉基本概念后,对于一个不太复杂的场景,一两天就能用Coze、Dify之类的搭建出看起来像样的应用,而构建高度自主化的Agent,则周期长、成本高

Anthropic在原文的多个地方强调寻找尽可能简单的解决方案,这也确实是一个非常务实的建议,毕竟,在没有清晰实现路径的情况下,小步快跑才是更优选择。

1 何时该使用与不该使用Agents

使用LLMs构建应用程序时,建议尽可能找简单的解决方案,仅在需要时增加复杂性。这意味着可能根本不需要构建Agent。Agent系统通常以高延迟和高成本为代价来获得更好的任务性能。

当需要更高的复杂性时,Workflow为定义明确的任务提供可预测性和一致性,当需要大规模的灵活性和模型驱动的决策时,Agents是更好的选择。但是,对于大多数应用,使用检索和In-Context样例优化单个LLM就足够了。

2 代理系统的常见模式

这部分从基础构建块——增强LLM开始,逐步增加复杂性,从简单组合的工作流到自主代理。

2.1 增强LLM

通过检索、工具、记忆等模块来增强LLM

img
在这里插入图片描述

2.2 链式调用

这种模式由一系列Prompt + LLM串联成链式结构组成,链可以将任务分解为一系列步骤,每个LLM调用都会处理前一个调用的输出,可以对任何中间步骤添加检查(下图中的Gate)

img

适用模式的样例:

  • 生成营销副本,然后将其翻译为不同的语言
  • 编写文档的大纲,检查大纲是否满足特定条件,然后根据大纲编写文档

2.3 路由模式

将输入分类,然后将其定向到后续的任务。

对于有些输入,优化一种类型的输入可能会损害其他输入的性能(跷跷板),这种情况适合使用这种模式。

img

适用这种模式的样例:

  • 将不同类型的客户服务查询(一般问题、退款请求、技术支持)引导到不同的下游流程、提示和工具中
  • 将简单/常见问题路由到较小的模型,将困难/不寻常的问题路由到更强大的模型,以优化成本和速度

2.4 并行化

这种模式适合同时处理多个任务,并以编程方式聚合其输出。

img

当任务可以并行以提高速度时,或者需要多个视角或尝试以更高的置信度结果时,这种方式比较有效。

对于有多个考虑因素的复杂任务,将每个考虑因素都由单独的LLM处理时,通常效果会更好。

适用这种模式的样例:

  • 聚合

    • 实施查询护栏,其中一个模型实例处理用户查询,另一个检查用户输入是否存在不当内容
    • 自动化评估,每个LLM调用评估模型在给定Prompt下性能的区别
  • 投票

    • 使用不同的Prompt检查代码是否存在漏洞
    • 评估给定的内容是否不合适,不同的Prompt评估不同的方面或者要求不同的投票阈值来平衡误报和漏报

2.5 编排器-Worker

在这种模式下,中央LLM会动态分解任务,然后将其委派给worker LLMs,并合并结果。

这种Workflow适合无法预测所需子任务的复杂任务(例如,在编码过程中,需要修改的文件数量和每个文件要修改的内容很可能依赖于任务)。

img

它和并行模式虽然在拓扑结构上类似,但主要的区别是灵活性——子任务不是预定义的,而是编排模块根据特定输入确定的。

适用这种模式的样例:

  • 每次对多个文件进行复杂更改的编码产品
  • 涉及从多个来源收集和分析信息以查找可能的相关信息的搜索任务

2.6 评估-优化模式

在这种工作流中,一个LLM调用负责生成,而另一个LLM调用在循环中提供评估和反馈。

img

当有明确的评估标准,并且迭代优化提供可衡量的价值时,此工作流特别有效,这种模式已经有自主Agent的雏形了,把Evaluator部分加上环境反馈,这基本上就跟上篇文章介绍的ReAct很像了。

适用这种模式有两个判断标准:

  • 反馈可以由人类清晰表述时,LLM的输出根据反馈可以明显得到改善
  • LLM可以提供这样的反馈

这类似人类作家在制作精美的文档时可能经历的迭代协作过程。

适用这种模式的样例:

  • 文学翻译,其中有细微的差别,翻译LLM最初可能无法捕获到,但评估LLM可以提供有用的批评
  • 复杂的搜索任务,需要多轮搜索和分析以收集全面的信息,评估LLM可以决定是否需要进一步搜索

下面是使用Dify搭建的一个反思翻译的流程,也就是吴恩达之前开源的反思翻译项目的Dify实现:

img

下面是实际翻译效果,从翻译结果来看,反思翻译质量明显是高于初始翻译的。

img

2.7 Agents

随着 LLM 在关键能力(理解复杂输入、参与推理和规划、可靠地使用工具以及从错误中恢复)方面的成熟,人工智能正在生产中崭露头角。Agents通过人类用户的命令或与人类用户的互动讨论开始工作。一旦任务明确,Agents就会独立进行规划和操作,并有可能返回人类获取进一步的信息或判断。在执行过程中,Agents从环境中获取每一步的 “基本事实”(如工具调用结果或代码执行情况)以评估其进度至关重要。然后,代理可以在检查点或遇到阻碍时暂停,以获得人工反馈。任务通常会在完成后终止,但通常也会包含停止条件(如迭代的最大次数)以保持控制。

代理可以处理复杂的任务,但它们的实现通常很简单。它们通常只是基于环境反馈循环使用工具的 LLM。因此,清晰周到地设计工具集及其文档至关重要。

img

何时使用Agents:agents通常用于难以或不可能预测所需步骤以及无法固定路径进行硬编码的开放问题。LLM可能会运行多个回合,并且用户需要对其决策有一定程度的信任。Agents的自主性使得它成为可信环境中扩展任务的理想选择。

agents的自主性意味着更高的成本,并且可能会使错误复杂化。建议在沙盒环境中进行广泛测试,并使用适当的防护机制。

适用这种模式的样例:

(例来自Anthropic)

  • 解决SWE-bench任务,该任务涉及根据任务描述对许多文件进行编辑
  • computer use参考实现,其中Claude使用计算机完成任务

img

3 模式的组合

上面这7种模式可以看作是原子模块,可以根据实际情况修改和组合以适应不同场景。

和任何LLM功能一样,成功的关键是衡量在实际场景中的效果,并要切记:只有在能够明显改善结果时才应考虑增加复杂性。

最后

选择AI大模型就是选择未来!最近两年,大家都可以看到AI的发展有多快,我国超10亿参数的大模型,在短短一年之内,已经超过了100个,现在还在不断的发掘中,时代在瞬息万变,我们又为何不给自己多一个选择,多一个出路,多一个可能呢?

与其在传统行业里停滞不前,不如尝试一下新兴行业,而AI大模型恰恰是这两年的大风口,整体AI领域2025年预计缺口1000万人,人才需求急为紧迫!

由于文章篇幅有限,在这里我就不一一向大家展示了,学习AI大模型是一项系统工程,需要时间和持续的努力。但随着技术的发展和在线资源的丰富,零基础的小白也有很好的机会逐步学习和掌握。

【2025最新】AI大模型全套学习籽料(可白嫖):LLM面试题+AI大模型学习路线+大模型PDF书籍+640套AI大模型报告等等,从入门到进阶再到精通,超全面存下吧!

获取方式:有需要的小伙伴,可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
包括:AI大模型学习路线、LLM面试宝典、0基础教学视频、大模型PDF书籍/笔记、大模型实战案例合集、AI产品经理合集等等

在这里插入图片描述
大模型学习之路,道阻且长,但只要你坚持下去,一定会有收获。本学习路线图为你提供了学习大模型的全面指南,从入门到进阶,涵盖理论到应用。在这里插入图片描述
L1阶段:启航篇|大语言模型的基础认知与核心原理

L2阶段:攻坚篇|高频场景:RAG认知与项目实践

L3阶段:跃迀篇|Agent智能体架构设计

L4阶段:精进篇|模型微调与私有化部署

L5阶段:专题篇|特训集:A2A与MCP综合应用 追踪行业热点(全新升级板块)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
AI大模型全套学习资料【获取方式】

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/97858.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/97858.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/97858.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows 下 .venv 激活脚本深度定制:同时注入 PyTorch 调试日志与国内网络加速通道——从“能跑”到“好调”的完整工程化方案

Windows 下 .venv 激活脚本深度定制:同时注入 PyTorch 调试日志与国内网络加速通道 ——从“能跑”到“好调”的完整工程化方案 一、为什么非得改激活脚本? 重复劳动最耗时 每次打开终端都要敲四五行 set/export,人脑就是不可靠的剪贴板。 环…

[BX]和loop指令,debug和masm汇编编译器对指令的不同处理,循环,大小寄存器的包含关系,操作数据长度与寄存器的关系,段前缀

[bx]是什么[bx]这个表达方式和[0]很像,他们俩的功能也很像。之前就提到了,[0]表示一个内存单元,他的偏移地址是0。从这边我们可以引出内存单元的定义:要有内存单元的地址,要有内存单元的长度(类型&#xff…

域格YM310 X09移芯CAT1模组HTTPS连接服务器

HTTPS连接服务器 本文档介绍了HTTPS连接服务器的大致流程&#xff0c;测试服务器为httpbin.org。 HTTPS连接服务器流程 创建证书文件 创建一个文件 ATFSCREATE<filename>参数&#xff1a;<filename> 文件名 写入CA证书 ATFSWRITE<filename>,<mode&…

【ManiSkill】常见envs学习笔记

1. StackCube-v1 用于模拟机器人在桌面场景中将红色立方体&#xff08;cubeA&#xff09;堆叠到绿色立方体&#xff08;cubeB&#xff09;上的操作。该任务强调精确抓取、放置和稳定性控制。成功条件包括红色立方体稳定堆叠在绿色立方体上且不被机器人抓取。 参数 (Arguments…

Java 网络编程全解析

前言&#xff1a;网络编程的意义与价值 前言&#xff1a;网络编程的意义与价值 在当今互联网时代&#xff0c;网络编程是软件开发的核心技能之一。无论是桌面应用、移动应用还是企业级系统&#xff0c;几乎都需要与网络交互。Java 作为一门跨平台的编程语言&#xff0c;提供了完…

HarmonyOS应用拉起系列(三):如何直接拉起腾讯/百度/高德地图进行导航

在鸿蒙应用开发中&#xff0c;经常需要跳转第三方地图应用&#xff08;如 腾讯地图、百度地图、高德地图&#xff09;进行导航。无论是出行类 App、物流类 App&#xff0c;还是线下活动类应用&#xff0c;都存在“跳转地图导航”的实际需求。写完HarmonyOS应用拉起系列一和二后…

PCGrad解决多任务冲突

论文解读&#xff1a;"Gradient Surgery for Multi-Task Learning" 1. 论文标题直译 Gradient Surgery: 梯度手术for Multi-Task Learning: 应用于多任务学习 合在一起就是&#xff1a;为多任务学习量身定制的梯度手术。这个名字非常形象地概括了它的核心思想。 …

Nvidia显卡架构解析与cuda应用生态浅析

文章目录 0. Nvidia显卡简介 一、主要显卡系列 二、主要GPU架构与代表产品 1.main 1.1 CUDA 13.0 的重大变化 1.2 V100 的硬件短板已显现 1.3 这意味着什么? 1.4 写在后面 彩蛋:V100 0. Nvidia显卡简介 一、主要显卡系列 GeForce 系列(消费级) 用途:游戏、创作、日常图形…

开发指南:使用 MQTTNet 库构建 .Net 物联网 MQTT 应用程序

一、背景介绍 随着物联网的兴起&#xff0c;.Net 框架在构建物联网应用程序方面变得越来越流行。微软的 .Net Core 和 .Net 框架为开发人员提供了一组工具和库&#xff0c;以构建可以在 Raspberry Pi、HummingBoard、BeagleBoard、Pine A64 等平台上运行的物联网应用程序。 MQT…

突破性能瓶颈:基于腾讯云EdgeOne的AI图片生成器全球加速实践

1. 项目背景与挑战 1.1 开发背景 随着AIGC技术爆发&#xff0c;我们团队决定开发一款多模型支持的AI图片生成器&#xff0c;主要解决以下痛点&#xff1a; 不同AI模型的参数规范不统一生成结果难以系统化管理缺乏企业级的安全水印方案全球用户访问延迟高&#xff0c;中国用户…

一、Java 基础入门:从 0 到 1 认识 Java(详细笔记)

1.1 Java 语言简介与发展历程 Java 是一门面向对象的高级编程语言&#xff0c;以“跨平台、安全、稳定”为核心特性&#xff0c;自诞生以来长期占据编程语言排行榜前列&#xff0c;广泛应用于后端开发、移动端开发、大数据等领域。 1.1.1 起源与核心人物 起源背景&#xff1…

uniapp:根据目的地经纬度,名称,唤起高德/百度地图来导航,兼容App,H5,小程序

1、需要自行申请高德地图的key,配置manifest.json 2、MapSelector选择组件封装 <template><view><u-action-sheet :list="mapList" v-model="show" @click="changeMap"></u-action-sheet></view> </template&…

我对 WPF 动摇时的选择:.NET Framework 4.6.2+WPF+Islands+UWP+CompostionApi

目录 NET Framework 4.6.2的最大亮点 为什么固守462不升级 WPF-开发体验的巅峰 为什么对WPF动摇了 基于IslandsUWP的滤镜尝试 总结 NET Framework 4.6.2的最大亮点 安全性能大提升&#xff1a; 默认启用TLS1.2协议&#xff0c;更安全&#xff0c;它为后续的版本提供了重…

SpringBoot大文件下载失败解决方案

SpringBoot大文件下载失败解决方案 后端以文件流方式给前端接收下载文件,文件过大时出现下载失败的情况或者打开后提示文件损坏,实际是字节未完全读取写入。 针对大文件下载失败的情况,以下是详细的解决方案: 大文件下载失败的主要原因 内存溢出:一次性加载大文件到内存…

torch.gather

torch.gather 介绍 torch.gather(input, dim, index, *, sparse_gradFalse, outNone) → Tensor 沿由 dim 指定的轴收集值。 对于三维张量&#xff0c;输出按如下方式确定&#xff1a; out[i][j][k] input[index[i][j][k]][j][k] # 如果 dim 0 out[i][j][k] input[i][i…

Golang | http/server Gin框架简述

http/server http指的是Golang中的net/http包&#xff0c;这里用的是1.23.10。 概览 http包的作用文档里写的很简明&#xff1a;Package http provides HTTP client and server implementations. 主要是提供http的客户端和服务端&#xff0c;也就是能作为客户端发http请求&a…

Vision Transformer (ViT) :Transformer在computer vision领域的应用(三)

Experiment 上来的一段话就概括了整章的内容。 We evaluate the representation learning capabilities of ResNet, Vision Transformer (ViT), and the hybrid. 章节的一开头就说明了,对比的模型就是 ResNet,CNN领域中的代码模型。 ViT。 上一篇中提到的Hybrid模型,也就是…

5-12 WPS JS宏 Range数组规范性测试

Range()数组是JS宏中不缺少的组成部分,了解Range()数组的特性必不可少,下面我们一起测试一下各种Range()数组。 1.Range()数组特性 单元格区域:Range("a2:m2")与Range("a2","m2")的类型都是:Range/Object,功能都为单元格区域,功能…

uniapp微信小程序保存海报到手机相册canvas

在uniapp中实现微信小程序保存海报到手机相册&#xff0c;主要涉及Canvas绘制和图片保存。以下是关键步骤和代码示例&#xff1a; 一、关键代码展示&#xff1a; 1. 模板配置&#xff1a;页面展示该海报&#xff0c;可直接查看&#xff0c;也可下载保存到手机相册&#xff0c;h…

glib2-2.62.5-7.ky10.x86_64.rpm怎么安装?Kylin Linux RPM包安装详细步骤

一、准备工作 ​确认系统版本​ 这个包是 ky10的&#xff08;也就是 openEuler 20.03 LTS SP3 或类似版本&#xff09;&#xff0c;而且是 ​x86_64 架构&#xff08;就是常见的64位电脑&#xff09;​。 你要先确认你的系统是不是这个版本&#xff0c;不然可能装不上或者出问题…