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 · 小茄墩

DAPO:大规模开源 LLM 强化学习系统

《DAPO: an Open-Source LLM Reinforcement Learning System at Scale》 摘要 推理规模化使大语言模型具备了前所未有的推理能力,其中强化学习是引发复杂推理的核心技术。然而,最先进的推理大语言模型的关键技术细节往往被隐藏(如 OpenAI 的博客和 DeepSeek R1 技术报告),因此社区仍然难以复现他们的强化学习训练结果。我们提出了解耦裁剪和动态采样策略优化(Decoupled Clip and Dynamic sAmpling Policy Optimization,DAPO)算法,并完全开源了一个最先进的大规模强化学习系统,该系统使用 Qwen2.5-32B 基础模型在 AIME 2024 上达到了 50 分。与之前隐藏训练细节的工作不同,我们介绍了算法的四个关键技术,使大规模 LLM 强化学习取得成功。此外,我们开源了基于 verl 框架构建的训练代码,以及精心策划和处理的数据集。我们开源系统的这些组件增强了可复现性,并支持未来大规模 LLM 强化学习的研究。 1 引言 测试时扩展(如 OpenAI 的 O1 和 DeepSeek 的 R1 )为大语言模型(LLM)[3-7] 带来了深刻的范式转变。测试时扩展支持更长的思维链推理,并诱导复杂的推理行为,使模型在 AIME 和 Codeforces 等竞争性数学和编程任务中表现卓越。 推动这一革命的核心技术是大规模强化学习(RL),它引发了诸如自我验证和迭代强化等复杂推理行为。然而,可扩展 RL 训练的实际算法和方法仍然是个谜,在现有推理模型的技术报告中被隐藏。在本文中,我们揭示了大规模 RL 训练中的重大障碍,并开源了一个可扩展的 RL 系统,包括完全开源的算法、训练代码和数据集,提供了具有行业级 RL 结果的民主化解决方案。 我们以 Qwen2.5-32B [12] 作为 RL 的预训练模型进行实验。在我们初始的 GRPO 运行中,在 AIME 上仅实现了 30 分——远低于 DeepSeek 的 RL(47 分)。深入分析表明,朴素的 GRPO 基线存在几个关键问题,如熵崩塌、奖励噪声和训练不稳定性。更广泛的社区在复现 DeepSeek 的结果时遇到了类似的挑战 ,这表明 R1 论文中可能省略了开发行业级、大规模且可复现的 RL 系统所需的关键训练细节。 ...

March 18, 2025 · 小茄墩

没有层归一化的Transformers

Normalization layers 在现代神经网络中无处不在,并且长期以来被认为是必不可少的。这项工作表明,不使用归一化的 Transformer 可以通过一种非常简单的技术实现相同或更好的性能。我们引入了Dynamic Tanh (DyT),一种逐元素操作 $DyT(x) = tanh(αx)$,作为 Transformer 中归一化层的直接替代品。DyT 的灵感来自于 Transformer 中的层归一化通常会产生类似 tanh 的 $S$ 形输入-输出映射的观察结果。通过结合 DyT,不使用归一化的 Transformer 可以匹配或超过其归一化对应物的性能,而且大多数情况下无需超参数调整。我们验证了带有 DyT 的 Transformer 在各种设置中的有效性,范围从识别到生成,从监督学习到自监督学习,以及从计算机视觉到语言模型。这些发现挑战了归一化层在现代神经网络中不可或缺的传统理解,并为它们在深度网络中的作用提供了新的见解。 1 介绍 我们的探索始于观察到LN层将其输入映射到具有类tanh、S形曲线的输出,从而缩放input activations,同时压缩极端值。受此启发,我们提出了一种称为 Dynamic Tanh(DyT)的逐元素操作,定义为:$DyT(x) = tanh(\alpha x)$,其中$\alpha$是一个可学习的参数。该操作旨在通过学习一个合适的缩放因子$\alpha$,并通过有界的tanh函数压缩极端值,从而模拟LN的行为。值得注意的是,与归一化层不同,它无需计算激活统计量即可实现这两种效果。如图1所示,采用DyT非常简单:我们直接在视觉和语言Transformer等架构中用DyT替换现有的归一化层。我们通过实验证明,具有DyT的模型可以稳定地进行训练,并在各种设置中实现较高的最终性能。它通常不需要需要在原始架构上调整训练超参数。我们的工作挑战了归一化层对于训练现代神经网络是不可或缺的这一概念,并提供了对归一化层属性的经验性见解。此外,初步测量表明,DyT 提高了训练和推理速度,使其成为面向效率的网络设计的候选方案。 2 背景:归一化层 $$ \text{normalization}(x) = \gamma \frac{x - \mu}{\sqrt{\sigma^2 + \epsilon}} + \beta $$ 其中 \( $\epsilon$ \) 是一个很小的常数,\( $\gamma$ \) 和 \( $\beta$ \) 是形状为 \( $C$, \) 的可学习向量参数。 它们是“缩放”和“平移”仿射参数,允许输出在任何范围内。 术语 \( $\mu$ \) 和 \( $\sigma^2$ \) 表示输入的均值和方差。 不同的方法主要区别在于如何计算这两个统计量。 这导致 \( $\mu$ \) 和 \( $\sigma^2$ \) 具有不同的维度,每个维度在计算期间应用广播。 ...

March 14, 2025 · 小茄墩

Gemma 3 技术报告

架构选择 QK-Norm 同时使用Pre和Post Norm 比Qwen2.5更宽的MLP,深度相同 SWA 使用5:1比例和1024窗口大小(论文中非常小且有趣的消融实验!) 没有使用MLA来节省KV缓存,SWA已能完成这项工作! 视觉编码器采用 Pan & Scan 算法。视觉编码器以固定分辨率 896 × 896 运行。在推理阶段使用窗口处理技术以支持不同图像尺寸。 长上下文 仅在全局层增加RoPE至1M 小模型处理长上下文更困难,1B版本没有128k上下文能力 预训练使用32k上下文,然后扩展到 128K 上下文长度。使用了 RoPE 缩放因子 8。 没有使用yarn或llama3类似的RoPE扩展方法 蒸馏 仅保留教师模型的前256个logits 其他 使用QAT(量化感知训练) 强化学习使用 BOND、WARM和 WARP的改进版本 现在强制使用序列开始标记(BOS token),使用 <start_of_turn>user 和 <start_of_turn>model 标记对话轮次。词汇量扩展至 262K。 2. 模型架构 使用分组查询注意力 (GQA),采用后归一化和预归一化,并使用 RMSNorm。用 QK-norm 替换了 Gemma 2 的soft-capping。 5:1 局部/全局层交错 我们交替使用局部滑动窗口自注意力机制和全局自注意力机制,模式为每 1 个全局层对应 5 个局部层,并且模型的第一个层从局部层开始。 Gemma 3 模型支持 128K Token 的上下文长度,但 1B 模型例外,其上下文长度为 32K。 我们将全局自注意力层的 RoPE 基频从 10k 提升至 1M,并保持局部层的频率为 10k。 我们遵循类似于 Chen et al. (2023) 的位置插值方法来扩展全局自注意力层的范围。 ...

March 12, 2025 · 小茄墩

Open R1 更新3 在代码领域使用R1的教训

在过去的几周里,我们主要致力于复现 DeepSeek-R1 配方中 competitive programming(代码推理)的部分。 从 R1 轨迹训练代码模型中获得的经验教训 在创建 OlympicCoder 模型时,我们进行了大量的 SFT 实验,以了解应用于 CodeForces 数据集的各种过滤器的作用。我们发现 open-r1/codeforces-cots 的以下子集给出了最佳的整体性能: solutions:R1 根据问题陈述生成的解决方案。 solutions_w_editorials:R1 根据问题陈述和解释(解释了正确的解决方案)生成的解决方案。 请注意,我们只关注了 C++ 解决方案,但如果混合使用 Python 解决方案,可能会进一步提高性能。我们使用 LiveCodeBench 作为我们模型的试验平台,然后通过更难的 IOI 基准测试运行性能最佳的检查点。我们测试了各种超参数配置来训练我们的模型,并确定了以下配置: 模型:Qwen2.5 Coder Instruct 7B 和 32B Epochs: 10 Effective batch size: 128 Learning rate: 4e-5 Scheduler: Cosine with a decay to 10% of the peak learning rate Context size: 32,768 tokens for 7B 和 22,528 tokens for 32B 下面我们分享一些从在 R1 推理轨迹上调整 Qwen2.5 Coder 模型中获得的经验教训。 ...

March 12, 2025 · 小茄墩

OpenAI发布一批Agent工具

OpenAI发布了第一批Agent构建模块,旨在帮助开发者和企业构建实用且可靠的 AI 智能体。过去一年,OpenAI推出了一系列新的模型功能,例如高级推理、多模态交互以及最新的安全技术,这些都为OpenAI的模型奠定了基础,使其能够处理构建 AI 智能体 所需的复杂、多步骤任务。 然而,客户反馈表明,将这些功能转化为可用于生产环境的 AI 智能体 极具挑战性,通常需要大量的提示词迭代和自定义编排逻辑,且缺乏足够的可见性或内置支持。 为了解决这些难题,OpenAI推出了一套全新的 API 和工具,专门用于简化 AI 智能体 应用的开发: 全新的 Responses API ,它结合了 Chat Completions API 的简洁性和 Assistants API 的工具使用能力,旨在帮助开发者构建 AI 智能体 内置工具,包括网页搜索 、文件搜索 和计算机使用 全新的 Agents SDK ,用于编排单 AI 智能体 和多 AI 智能体 工作流程 集成的可观测性工具 ,用于追踪和检查 AI 智能体 工作流程的执行情况 这些新工具简化了核心 AI 智能体逻辑、编排和交互,从而显著降低了开发者构建 AI 智能体的入门门槛。 在接下来的几周和几个月里,OpenAI计划发布更多工具和功能,以进一步简化和加速在OpenAI平台上构建 AI 智能体应用。 隆重推出 Responses API Responses API 是OpenAI用于构建 AI 智能体的全新 API 原语,它利用 OpenAI 的内置工具,兼具 Chat Completions 的简洁性和 Assistants API 的工具使用能力。 随着模型能力的不断发展,OpenAI相信 Responses API 将为开发者构建 AI 智能体应用提供更灵活的基础。 通过单个 Responses API 调用,开发者将能够使用多种工具和模型交互来解决日益复杂的任务。 ...

March 12, 2025 · 小茄墩

R1-Omni:基于强化学习的可解释全方位多模态情感识别

摘要 在这项工作中,我们首次将具有Verifiable Reward 的强化学习 (RLVR) 应用于 Omni-多模态大语言模型,用于情感识别。情感识别是一项视觉和音频模态都起着关键作用的任务。我们利用 RLVR 来优化 Omni 模型,从而显著提高其在三个关键方面的性能:推理能力、情感识别准确性和泛化能力。RLVR 的引入不仅提高了模型在分布内数据上的整体性能,而且在分布外数据集上进行评估时也表现出卓越的鲁棒性。更重要的是,改进的推理能力能够清晰地分析不同模态(特别是视觉和音频信息)在情感识别过程中的贡献。这为多模态大语言模型的优化提供了宝贵的见解。 介绍 随着 DeepSeek R1 的问世,强化学习 (RL) 的潜力越来越受到从事大语言模型研究人员的关注。DeepSeek R1 引入的一项关键创新是具有可验证奖励的强化学习 (RLVR),它利用基于规则的奖励机制,以高效且可靠的方式优化模型。 即使在训练数据有限的情况下,这种方法在增强大语言模型 (LLM) 的能力方面也表现出了显著的成功。最近的研究已将这种方法扩展到多模态大语言模型 (MLLM),进一步展示了其多功能性。 例如,R1-V 已应用于几何推理和视觉计数等任务,在这些任务中,使用 RLVR 训练的 MLLM 不仅表现出强大的推理能力,而且在领域内测试中实现了与监督微调 (SFT) 相当的性能,同时在分布外 (OOD) 评估中显著优于 SFT 模型。 在另一项值得注意的工作中,Visual-RFT 的作者验证了 RLVR 在图像分类和目标检测等经典计算机视觉任务中的有效性。 他们的结果表明,RLVR 在几乎所有类别中都始终优于 SFT,突显了其广泛的适用性和稳健性。 尽管取得了这些进展,但迄今为止,RLVR 与大语言模型(LLM)的集成主要局限于图像-文本模态。据我们所知,之前的研究尚未探索将 RLVR 应用于基于视频的多模态模型,这些模型整合了更丰富的信息来源,例如音频和动态视觉内容。为了弥合这一差距,我们首次探索了 RLVR 与视频全模态模型的结合,重点关注情感识别任务——在这个领域,视觉和音频模态都为准确的预测提供了关键线索。在这项研究中,我们以 HumanOmni 为基础,这是一个首个为以人为中心的场景理解而设计的开源全模态模型。通过将 RLVR 应用于 HumanOmni,我们旨在研究其在提高情感识别性能方面的潜力。我们的研究结果揭示了几个关键见解: 增强的推理能力:R1-Omni 展示了卓越的推理能力,能够更清楚地理解视觉和音频信息如何促进情感识别。 改进的理解能力:与 SFT 相比,RLVR 显著提高了情感识别任务的性能。 更强的泛化能力:RLVR 模型表现出明显更好的泛化能力,尤其是在分布外场景中表现出色。 基于可验证奖励的强化学习 $$ R(q, o) = \begin{cases} 1, & \text{如果 } o = \text{基本真值}, \\ 0, & \text{否则}. \end{cases} $$$$ \max_{\pi_\theta} \mathbb{E}_{o \sim \pi_\theta(q)} \left[ R_{\text{RLVR}}(q, o) \right] $$$$ R_{\text{RLVR}}(q, o) = R(q, o) - \beta \cdot \text{KL}[\pi_\theta(o|q) \| \pi_{\text{ref}}(o|q)]. $$ 这里,$\pi_{\text{ref}}$ 表示优化之前的参考模型,$R(q, o)$ 是可验证的奖励函数,$\beta$ 是一个超参数,用于控制最大化奖励和通过 KL 散度正则化保持与参考模型接近程度之间的权衡。 ...

March 11, 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 · 小茄墩

Sutton: 苦涩的教训

纵观70年人工智能研究史,我们获得的最重要启示是:那些充分利用计算的通用方法,终将以显著优势成为最有效的解决方案。其根本原因在于摩尔定律,或者说更广义的"单位计算成本持续指数级下降"规律。多数人工智能研究默认可用计算资源恒定(这种情况下利用人类知识成为提升性能的主要途径),但只要将时间跨度拉长到略超典型研究周期,计算能力的数量级增长就变得不可避免。研究者为获得短期可见的改进,往往诉诸领域专业知识,但从长远来看,真正起决定性作用的唯有对计算的极致利用。这两种方法本可并行不悖,但现实往往顾此失彼——任何一方的投入都会挤占另一方的资源,研究者也会形成心理层面的路径依赖。更关键的是,依赖人类知识的方法常使系统复杂化,反而不利于通用计算方法发挥最大效能。人工智能发展史上充满了对这种苦涩教训的迟来认知,审视几个典型案例颇具启发价值。 在计算机象棋领域,1997年击败世界冠军卡斯帕罗夫的方法基于海量深度搜索技术。当时,这令大多数致力于利用人类对象棋特殊结构理解的计算机象棋研究者深感挫败。当基于专用软硬件的简单搜索方法展现出碾压性优势时,这些依赖人类知识的象棋研究者难以心服口服。他们辩称"暴力"搜索或许侥幸取胜,但绝非普适性策略,况且完全不同于人类的下棋方式。这些研究者原本期待基于人类经验的方法能获胜,最终却不得不面对现实落差。 相似的技术演进在计算机围棋领域重现,只是时间上延后了约二十年。早期研究投入大量精力试图通过人类棋理或围棋特性规避搜索,但当大规模搜索被有效运用后,这些努力不仅徒劳无功,甚至成为技术桎梏。通过自对弈学习训练价值函数的方法同样至关重要(该技术也应用于其他棋类乃至象棋领域,尽管在1997年首次击败人类冠军的程序中学习机制尚未起主要作用)。自对弈学习与广义的机器学习,如同搜索技术一样,能够充分释放海量计算的潜力。搜索与学习构成了人工智能研究中驾驭大规模计算的两大支柱。在计算机围棋领域,如同象棋领域,研究者最初执着于运用人类智慧(以减少搜索需求),直到后期转向拥抱搜索与学习才实现质的飞跃。 在语音识别领域,20世纪70年代DARPA曾主办过一场早期竞赛。参赛方案中既有大量利用人类知识的特殊方法——包括词汇知识、音素知识、人类声道结构知识等,也有基于隐马尔可夫模型(HMM)的新型统计方法,后者需要更多计算资源。最终统计方法再次战胜了基于人类知识的方法。这引发了整个自然语言处理领域长达数十年的范式转变,统计与计算逐渐成为主导力量。近年来深度学习在语音识别领域的崛起,正是这一持续趋势的最新注脚。深度学习方法对人类知识的依赖更少,通过海量训练集的学习与更强大的算力,构建出性能飞跃的语音识别系统。与棋类博弈领域相似,研究者总是试图按照自己理解的思维模式构建系统——将既有认知植入系统——但当摩尔定律带来充足算力并找到有效利用方式时,这种努力往往适得其反,造成研究者时间资源的巨大浪费。 计算机视觉领域也呈现类似规律。早期方法将视觉视为边缘检测、广义柱体识别或SIFT特征提取的过程。但如今这些方法已被全面摒弃。现代深度学习神经网络仅使用卷积概念与特定不变性原则,却实现了更优越的性能。 这个教训足够深刻——作为研究领域,我们仍未完全吸取教训,仍在重复同类错误。要认清并有效抵制这种倾向,必须理解这类错误的内在吸引力。我们必须接受这个苦涩的启示:将人类自认为的思维模式植入系统终将失败。这一教训基于四项历史观察:1)AI研究者常试图将知识植入智能体;2)短期看这确实有效并能满足研究者成就感;3)长期将导致发展停滞甚至阻碍进步;4)突破性进展最终来自通过搜索与学习实现计算规模化的对立方法。这种成功常带有苦涩意味且难以被完全接纳,因为它战胜了备受青睐的人类中心主义方法。 苦涩教训的启示之一是通用方法的强大力量——那些能随着计算规模持续扩展的方法,即使可用算力已非常庞大。目前具备无限扩展潜力的两大方法是搜索与学习。 第二点启示是心智内容的极端复杂性:我们应停止寻求描述心智内容的简单范式(如空间、物体、多智能体或对称性的简单理解)。这些都属于外部世界任意且本质复杂的组成部分,不应被硬编码到系统中,因其复杂性永无止境;我们应构建能发现并捕捉这种任意复杂性的元方法。这些方法的核心在于寻找优质近似解,但搜索过程应由方法本身而非人类完成。我们需要能像人类一样自主发现的AI智能体,而非固化既有发现的系统。植入已有发现只会阻碍对发现过程的本质理解。

March 7, 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 · 小茄墩