虽然大型语言模型(LLM)擅长根据单个提示生成文本、回答问题或总结信息,但当它们在智能体工作流中运作时,其处理复杂问题的能力会大幅提升。但这个术语究竟意味着什么?它与简单地向大型语言模型发送一系列请求有何不同?核心而言,工作流是一系列旨在实现特定结果的步骤或操作。工作流随处可见,从制造装配线到发布博客文章的流程。在人工智能的语境中,智能体工作流通过融入自主性和智能将其提升,这主要由大型语言模型驱动。智能体工作流是一种系统,其中人工智能智能体(通常由大型语言模型驱动)自主规划、执行和调整一系列行动以实现预设目标。与执行固定指令集的简单脚本不同,此类工作流中的智能体通常可以:目标分解: 将高层目标(例如,“计划旧金山周末旅行”)分解为更小、更易管理的子任务(例如,查找航班、预订住宿、列出景点)。做出决策: 根据当前状态、可用工具和整体目标选择下一个最佳行动。这可能涉及决定使用哪个工具、传递哪些参数给它,或如何解释其输出。使用工具: 与外部系统、API或数据源交互,以收集信息或执行其固有能力之外的操作(例如,搜索网络、访问数据库、运行代码)。保持上下文: 记住先前的步骤、观察和决策,为未来行动提供依据,通常会管理一种记忆形式。迭代与调整: 如果行动失败或有新信息可用,可能会调整计划或重试步骤。思考其不同之处。标准的大型语言模型交互可能涉及您问:“巴黎天气如何?” 大型语言模型直接回应。在智能体工作流中,您可能会问一个人工智能旅行代理:“帮我找到下周二上午从伦敦到巴黎开会的最佳方式,需要在上午9点前抵达,并预订机票。” 智能体随后将启动一个工作流:步骤 1 (规划与推理): 确定出行参数(日期、时间、出发地、目的地、限制)。决定同时检查航班和火车。步骤 2 (工具使用 - 查询): 检查指定日期伦敦到巴黎的航班API。步骤 3 (工具使用 - 查询): 检查相同的火车API(例如,欧洲之星)。步骤 4 (推理与决策): 根据抵达时间、时长以及可能存储的用户对成本或舒适度的偏好,比较航班和火车选项。步骤 5 (交互/澄清 - 可选): 如果存在多个合适选项,它可能会请求澄清:“我找到一个上午 8:30 抵达的航班,票价 150 美元;以及一个上午 8:45 抵达的火车,票价 120 美元。您更喜欢哪一个?”步骤 6 (工具使用 - 行动): 使用相关API预订所选选项。步骤 7 (确认): 报告预订详情。这种多步骤、决策驱动的流程,通常涉及外部交互,是智能体工作流的特点。这是对单次大型语言模型查询的显著进步。传统的自动化或脚本也可以执行多步骤任务,但它们通常依赖于为每个决策点和每个步骤明确编程的逻辑。如果出现意料之外的情况,传统脚本通常会失败或需要手动干预。相比之下,智能体工作流运用大型语言模型的推理能力来处理这些复杂性。“程序”较少关于明确的逐步指令,更多是关于定义目标、可用工具以及智能体应采用的通用策略。您的提示成为塑造这种战略行为的主要界面,我们将在本课程中全面讨论这一主题。构建这些工作流的能力使人工智能能够处理仅靠简单的大型语言模型提示无法应对的过于多面或动态的任务,为更复杂的自动化和问题解决提供了可能。digraph G { rankdir=TB; graph [fontname="Arial"]; node [shape=box, style="rounded,filled", fontname="Arial", margin=0.2]; edge [fontname="Arial", fontsize=10]; subgraph cluster_0 { label = "标准大型语言模型交互"; style="rounded"; bgcolor="#f8f9fa"; // 集群的浅灰色背景 u1 [label="用户提示", fillcolor="#b2f2bb"]; // 输入的绿色 llm1 [label="大型语言模型", fillcolor="#ffec99"]; // 大型语言模型的黄色 r1 [label="回应", fillcolor="#a5d8ff"]; // 输出的蓝色 u1 -> llm1; llm1 -> r1; } subgraph cluster_1 { label = "智能体工作流"; style="rounded"; bgcolor="#f8f9fa"; // 浅灰色背景 // 节点样式一致 node [style="rounded,filled", fontname="Arial", margin=0.2]; u2 [label="用户目标", fillcolor="#b2f2bb"]; // 用户输入的绿色 agent [label="AI 智能体\n(大型语言模型、计划、记忆、工具)", shape=ellipse, fillcolor="#ffec99"]; // 智能体的黄色 action1 [label="行动 1:\n规划/查询", fillcolor="#a5d8ff"]; // 行动的蓝色 observe1 [label="观察 1", fillcolor="#e9ecef"]; // 观察的灰色 action2 [label="行动 2:\n处理/决策", fillcolor="#a5d8ff"]; observe2 [label="观察 2", fillcolor="#e9ecef"]; actionN [label="行动 N...", fillcolor="#a5d8ff"]; final_result [label="最终结果", fillcolor="#69db7c"]; // 成功的深绿色 u2 -> agent [label="接收"]; agent -> action1 [label="执行"]; action1 -> observe1 [label="产生"]; observe1 -> agent [label="更新"]; // 箭头指向智能体,表示信息流向 agent -> action2 [label="执行"]; action2 -> observe2 [label="产生"]; observe2 -> agent [label="更新"]; agent -> actionN [label="... 迭代 ...", style=dashed]; agent -> final_result [label="生成 (目标达成)"]; } // 确保集群在渲染时不会重叠 // r1 -> u2 [style=invis, weight=10]; // 如果需要,添加一个隐形边进行间隔 }比较:直接请求-响应模型与多步骤、决策驱动的智能体工作流。主要观点是,智能体工作流使人工智能能够从一个精密的文本生成器或问题回答器转变为一个更自主的问题解决者。这种转变需要我们与这些系统交互和引导它们的不同方法,特别是通过精心的提示工程。随着学习的深入,您将学习如何编写定义这些工作流、引导智能体决策并最终构建出更强大的人工智能应用的提示。