OpenAI 构建智能体指南

https://cdn.openai.com/business-guides-and-resources/a-practical-guide-to-building-agents.pdf 目录 什么是智能体? 4 何时应该构建智能体? 5 智能体设计基础 7 防护机制 24 结论 32 引言 大语言模型(Large Language Models)正变得越来越有能力处理复杂的多步骤任务。在推理、多模态(multi-modality)和工具使用方面的进步,催生了一类新的由大语言模型驱动的系统,称为 AI 智能体(AI Agent)。 本指南专为探索如何构建其首个 AI 智能体的产品和工程团队设计,将来自众多客户部署的见解提炼为实用且可操作的最佳实践。它包括用于识别有前景用例的框架、设计 AI 智能体逻辑和编排的清晰模式,以及确保您的 AI 智能体安全、可预测且有效运行的最佳实践。 阅读本指南后,您将拥有自信地开始构建您的第一个 AI 智能体所需的基础知识。 什么是 AI 智能体? 虽然传统软件能让用户简化和自动化workflows,但 AI 智能体能够代表用户以高度的独立性执行相同的workflows。 AI 智能体是能够代表你独立完成任务的系统。 workflows是为了实现用户目标而必须执行的一系列步骤,无论是解决客户服务问题、预订餐厅、提交代码更改,还是生成报告。 那些集成了大语言模型(LLM)但不使用它们来控制workflows执行的应用程序——例如简单的聊天机器人、单轮大语言模型或情感分类器——不是 AI 智能体。 更具体地说,一个 AI 智能体拥有核心特征,使其能够代表用户可靠且一致地行动: 它利用大语言模型(LLM)来管理workflows执行和做出决策。它能识别workflows何时完成,并能在需要时主动纠正其行为。在失败的情况下,它可以停止执行并将控制权交还给用户。 它能访问各种工具以与外部系统交互——既为了收集上下文信息,也为了采取行动——并根据workflows的当前状态动态选择合适的工具,始终在明确定义的防护措施内操作。 何时应该构建 AI 智能体? 构建 AI 智能体需要重新思考您的系统如何制定决策和处理复杂性。与传统自动化不同,AI 智能体特别适用于传统确定性和基于规则的方法力不从心的workflows。 以支付欺诈分析为例。传统的规则引擎像核对清单一样工作,根据预设标准标记交易。相比之下,大语言模型 AI 智能体更像一位资深调查员,评估上下文,考虑细微模式,并在没有明确违反规则的情况下识别可疑活动。这种细致入微的推理能力正是使 AI 智能体能够有效管理复杂、模糊情况的关键所在。 在评估 AI 智能体可以在哪些方面增加价值时,应优先考虑那些以前难以自动化、特别是传统方法遭遇瓶颈的workflows: 01 复杂的决策制定: 涉及细致判断、例外情况或需结合上下文决策的workflows,例如客户服务workflows中的退款审批。 02 难以维护的规则: 因规则集过于庞大和复杂而变得难以管理,导致更新成本高昂或容易出错的系统,例如执行供应商安全审查。 03 严重依赖非结构化数据: 涉及解释自然语言、从文档中提取含义或与用户进行对话式交互的场景,例如处理房屋保险索赔。 ...

April 18, 2025 · 小茄墩

LangManus:代码库解析|多智能体|工具调用|browser use

LangManus 是一个基于 LangGraph 构建的多 Agent 协作系统,通过专业化的角色分工和工作流编排,实现复杂任务的智能处理。 系统架构 LangManus 采用了以图为中心的 Agent 协作架构,主要包含以下组件: Agent 层: 多个专业化 Agent(研究员、程序员、浏览器操作员等) 工具层: 为各 Agent 提供能力的工具集 LLM 层: 差异化配置的大语言模型 协调层: 工作流编排和任务调度 API 层: 面向用户的接口服务 核心组件详解 1. Agent 体系 (src/agents/) Agent 层是 LangManus 系统的核心执行单元,由一系列专业化角色组成,每个 Agent 都有明确的职责、工具集和工作模式。 系统包含多个专业 Agent,每个 Agent 有特定职责: Coordinator (协调员): 用户交互入口,处理简单问答和任务分发 Planner (规划师): 根据用户需求创建详细执行计划 Supervisor (监督员): 决策下一步由哪个 Agent 执行 Researcher (研究员): 负责搜索和网页抓取信息收集 Coder (程序员): 执行 Python/Bash 代码进行数据处理 Browser (浏览器操作员): 自动化浏览器操作和交互 Reporter (报告员): 生成最终报告 1. Coordinator Agent (协调员) 职责: ...

March 20, 2025 · 小茄墩

云端渲染浏览器:Browser-use 详细介绍

项目概述 browser-use 是一个基于 Python 的开源库,旨在简化 AI 代理与浏览器之间的交互。它融合了先进的 AI 技术和浏览器自动化功能,通过集成 Playwright 等浏览器自动化工具,允许开发者使用大型语言模型(LLM)来自动化浏览网页、提取信息和模拟用户操作1, 3。 browser-use 的目标是为开发者提供一个灵活、可扩展的框架,用于构建复杂的网页自动化任务,从而提高网页数据抓取和处理的效率1。它提供了一个强大而简单的接口,使 AI 代理能够访问网站并执行各种任务,例如网页导航、元素定位、表单填写和数据抓取3。 WebVoyager数据集上的表现👆。WebVoyager数据集难度虽高,但存在局限性:主要测试代理规划能力,未覆盖网站核心挑战(如含iframe/Shadow元素的复杂页面)。部分任务存在歧义性(人类也可能有不同解读),但目前仍是最佳可用基准。 核心功能详解 browser-use 的核心功能主要围绕浏览器自动化和 AI 集成展开,包括以下几个方面1, 3: AI 融合: 将 AI 技术融入到浏览器自动化操作中,允许开发者使用支持 LangChain 的大型语言模型(LLM),如 GPT-4、Claude 等来自动化浏览网页、提取信息、模拟用户操作等1, 3。 Playwright 集成:browser-use 集成了 Playwright,这是一个由微软开发的端到端(E2E)测试工具,用于自动化 Web 浏览器操作。Playwright 支持 Chromium(Chrome、Edge)、Firefox 和 WebKit(Safari)三大浏览器引擎,并适用于跨平台(Windows、macOS、Linux)。通过 Playwright,browser-use 可以实现对浏览器的精确控制,包括页面导航、元素点击、表单填写等1, 3。 实际用例:自动化登录网站、模拟用户在网页上的操作流程等。 LangChain 集成:browser-use 还集成了 LangChain,这是一个用于构建大语言模型(LLM)应用的开发框架。LangChain 通过模块化设计简化了 LLM 应用开发流程,支持开发者快速搭建基于语言模型的复杂应用,如聊天机器人、知识库问答和自动化工作流等。通过 LangChain,browser-use 可以实现对网页内容的智能分析和理解,从而更好地指导浏览器自动化任务1, 3。 实际用例:使用 LLM 分析网页结构,自动提取关键信息,例如新闻标题、文章内容、产品价格等。 多种大语言模型(LLM)支持:browser-use 的 Web UI 扩展支持多种 LLM,包括 Gemini、OpenAI、Azure OpenAI、Anthropic、DeepSeek、Ollama 等1, 3。这使得开发者可以根据自己的需求选择合适的 LLM,从而获得最佳的性能和效果。 ...

March 9, 2025 · 小茄墩

Anthropic:构建有效的Agents

在过去一年中,我们与数十个团队合作,构建了跨行业的大语言模型 (LLM) AI 智能体。我们发现,最成功的案例并非依赖复杂的框架或专门的库,而是采用简单且可组合的模式。 在这篇文章中,我们将分享我们与客户合作以及自身构建 AI 智能体的经验,并为开发者提供构建高效 AI 智能体的实用建议。 “Agent”(AI 智能体)可以用几种方式来定义。一些客户将智能体定义为完全自主的系统,这些系统在较长时间内独立运行,并使用各种工具来完成复杂的任务。另一些人则使用该术语来描述更具规范性的实现,这些实现遵循预定义的workflow(工作流程)。在Anthropic,我们将所有这些变体归类为agentic systems(智能体系统),但在架构上对workflows(工作流程)和agents(智能体)进行了重要的区分: Workflows(工作流程)是指大语言模型(LLM)和工具通过预定义的代码路径进行编排的系统。 Agents(智能体)是指大语言模型(LLM)动态地指导其自身流程和工具使用的系统,保持对其如何完成任务的控制。 下面,我们将详细探讨这两种类型的智能体系统。在附录1(“实践中的智能体”)中,我们描述了客户发现使用这些系统具有特殊价值的两个领域。 在使用大语言模型构建应用程序时,我们建议尽可能采用最简单的解决方案,仅在必要时才增加复杂性。 这可能意味着完全不构建 AI 智能体系统。AI 智能体系统通常会牺牲延迟和成本来换取更好的任务性能,因此您应该仔细衡量这种权衡是否值得。 当需要更高的复杂性时,对于定义明确的任务,工作流程能够提供可预测性和一致性;而当需要在更大规模上实现灵活性和模型驱动的决策时,AI 智能体则是更优的选择。 然而,对于许多应用而言,通过检索和上下文示例来优化单个大语言模型的调用通常就已足够。 何时以及如何使用框架? 有许多框架可以更轻松地实现 AI 智能体系统,包括: LangChain 的 LangGraph; Amazon Bedrock 的 AI 智能体框架; Rivet,一个拖放式 GUI LLM 工作流程构建器 Vellum,另一个用于构建和测试复杂工作流程的 GUI 工具。 这些框架通过简化标准底层任务(如调用 LLM、定义和解析工具以及将调用链接在一起)来简化入门。但是,它们通常会创建额外的抽象层,从而模糊底层提示词和响应,从而使其更难调试。当更简单的设置就足够时,它们也可能使添加复杂性变得很诱人。 我们建议开发人员首先直接使用 LLM API:许多模式可以用几行代码实现。如果您确实使用框架,请确保您了解底层代码。关于底层代码的不正确假设是客户错误的常见来源。 构建模块、工作流程和 AI 智能体 在本节中,我们将探讨我们在生产环境中观察到的 AI 智能体系统的常见模式。我们将从我们的基础构建模块——增强型大语言模型——开始,并逐步增加复杂性,从简单的组合工作流程到自主 AI 智能体。 构建模块:增强型大语言模型 Agentic 系统 的基本构建模块是一个大语言模型,它通过检索、工具和记忆等增强功能得到加强。我们目前的模型可以主动使用这些能力——生成自己的搜索查询,选择合适的工具,并确定要保留哪些信息。 我们建议重点关注实现的两个关键方面:根据您的特定用例定制这些功能,并确保它们为您的 大语言模型 提供一个简单、有据可查的接口。虽然有很多方法可以实现这些增强功能,但一种方法是通过我们最近发布的Model Context Protocol,该协议允许开发人员通过一个简单的客户端实现与不断增长的第三方工具生态系统集成。 在本帖的剩余部分,我们将假设每个 大语言模型 调用都可以访问这些增强功能。 工作流:提示链 提示链将一个任务分解成一系列步骤,其中每个大语言模型(LLM)调用处理前一个调用的输出。 您可以在任何中间步骤中添加程序化检查(参见下图中的“门控”),以确保该过程仍在正轨上。 ...

March 6, 2025 · 小茄墩