@LangChain:何时使用通用聊天与专用代理:如果下次你会以同样的方式解释上下文,它应该…

X AI KOLs Following 产品

摘要

LangChain 解释了 Fleet 的两种代理模式背后的设计理念:通用聊天用于临时任务,专用代理用于重复的结构化工作流程。

何时使用通用聊天与专用代理: 如果下次你会以同样的方式解释上下文,那么它就不应该存在于一个线程中。通用聊天适用于答案到达时即结束的工作。 专用代理适用于有固定模式的工作。相同的工具、相同的判断、相同的输出格式,一遍又一遍地运行。代理会记住线程会忘记的内容。
查看原文
查看缓存全文

缓存时间: 2026/06/26 08:08

为什么 Fleet 同时包含通用聊天和专用代理

来源:https://www.langchain.com/blog/why-fleet-has-both-general-purpose-chat-and-specialized-agents

代理工作通常分为两种模式。一些任务是临时的:你寻求帮助,代理从几个工具中收集上下文,推理变化,给出答案,工作就完成了。另一些任务遵循可识别的模式,依赖于相同的指令和上下文,使用相同的工具,并且每次运行时都需要一致的判断。

许多 AI 产品将这两种模式都视为一次性聊天。这对快速问答有效,但当工作重复时就会出问题。你最终会重写提示、重建上下文,并依赖聊天线程来充当操作流程。Fleet 的构建理念是代理应该匹配工作要求。它有一个通用聊天来处理临时任务,而专用代理则通过持久的指令、限定的工具、触发器、子代理和内存来处理重复性工作。

以下是具体机制。

通用聊天适用于低设置工作

想象你休了一周假回来,需要跟进 Slack 线程、GitHub PR、Linear 工单和日历邀请。这项工作涉及多个工具,需要判断,可能会产生一份长篇摘要或一组后续步骤。一旦完成,下周你可能不需要再次精确执行同样的任务。

通用聊天就是为此类请求而构建的。你可以让 Fleet 跨工作区处理广泛的任务,而无需提前决定代理应该使用哪些工具、提示或技能。它可以访问你的工作区集成、通过文件系统管理上下文,并且在任务需要真实环境来处理代码、文件或数据分析时使用虚拟电脑。

你提出需求,Fleet 执行任务,工作完成后线程即可结束。

专用代理适用于你重复执行的工作

重复性工作需要更持久的设置。每周计划更新、收件箱管理、客户研究简报和待办事项维护这些任务,不应该依赖有人每次都重新解释同样的期望。一个规划代理可以每周一检查 Linear,总结已发布的内容,标记阻塞的工作,并以团队期望的格式草拟更新。一个收件箱代理可以对新邮件进行分类、草拟回复、升级客户问题,并记住哪些消息你想自己处理。

专用代理为重复性工作提供了一个稳定的归属。你可以自行配置结构:定义代理的指令、选择模型、附加工具、添加技能、创建子代理以及连接触发器或计划。或者,你也可以用自然语言向 Fleet 描述任务,Fleet 会帮助你构建合适的代理结构。

一个有用的临时任务可以从通用聊天开始。当该任务成为团队工作方式的一部分时,Fleet 可以将其转换为一个专用代理,其中包含持久的指令、限定的工具、内存以及正确的运行方式。你仍然可以控制设置,但不必从一个空白的配置屏幕开始。

专用代理允许你定义的内容

专用代理之所以有用,是因为配置在每次运行中保持一致。

指令: 代理的提示定义了其角色、决策规则、输出格式、升级行为和边界,从而使重复工作保持一致。

工具: 专用代理获得工作所需的具体工具,使其专注于为其构建的工作。

模型: 你可以选择主代理和各个子代理的模型。一个主管代理(https://www.langchain.com/blog/choosing-the-right-multi-agent-architecture)可能会使用更强的模型进行规划或审查,然后使用较小的模型处理更狭窄的子任务。这允许你针对速度、成本和性能优化模型选择。

子代理: 子代理为专用代理提供了可调用的专家,每个子代理都有自己的指令、工具和模型选择。这有助于将上下文密集的任务卸载到拥有自己对话历史的子代理中,确保不会污染主代理的上下文。

技能: 专用代理可以使用公司共享的工作区技能,以及限定于该代理的私有技能。这为重复工作提供了可复用的知识库,而无需将每条指令暴露给工作区中的每个代理。

触发器和计划: 专用代理可以按计划运行,或响应来自 Slack、Gmail、Outlook 和 Teams 等工具的事件。一个 Gmail 触发器可以在每封新邮件发送到收件箱时启动一次运行。一个计划触发器可以在每天早晨或每周运行同一个代理。

计算机访问: 当代理需要真实环境来处理代码、文件或分析时,计算机访问可以作为代理设置的一部分。在通用聊天中,可以在每个线程的基础上启用计算机访问,以便每个聊天的上下文相互隔离。在专用代理中,它是代理环境的一部分,可以选择将单个计算机作用域扩展到多个线程。这在你想跨次运行维护上下文时非常有用。

最大的区别在于内存如何跨任务持久化

通用聊天具有线程级上下文,这适合临时工作。线程记录了发生的一切,线程结束时工作也结束了。

专用代理具有限定于任务的内存。它们可以记住事实,随时间更新,并在未来的运行中使用,无需重新提醒。

以一个产品经理代理为例,它管理 Linear 工单并监视 GitHub PR。随着时间的推移,它可以学习到一位工程师更喜欢后端问题,另一位希望工单被拆分成更小的部分,而产品经理希望立即升级发布阻塞的 bug。这些事实不应该存在于一个某人每周都要重写的提示中。它们应该成为代理工作记忆的一部分。

这就是专用代理与保存的聊天的不同之处。它的指令是稳定的,但它的内存可以随着工作的变化而演变,并且可以为每个特定代理量身定制。

何时使用每种代理类型

任务的形状比任务的难度更重要。一次性任务可能很复杂,重复性任务可能很简单。最好的思考方式是:你正在处理的工作是否是一个可复用的模式。

使用场景通用聊天专用代理
最适合一次性、探索性或临时工作重复性、计划性或事件驱动的工作
代理设置无需设置。从请求开始。配置指令、工具、技能、模型和触发器。Fleet 可以使用 AI 为你配置,你也可以手动配置。
工具可以使用可用的工作区集成限定于工作所需的工具
子代理可以使用通用子代理可以定义具有独立模型、工具和提示的自定义子代理
技能工作区技能工作区技能和私有代理技能
内存线程级上下文限定于代理工作的持久化内存以及线程级上下文
计算机访问按线程启用作为代理环境的一部分选择,并配置为每个线程或每个代理

简而言之:当工作广泛或临时时,使用通用聊天;当工作已成为你想反复委派的责任时,使用专用代理。

这带来了什么

Fleet 让团队从辅助开始,并逐步将重复工作升级为委派。

你可以从通用聊天开始,让 Fleet 帮你了解情况、研究账户、总结文档、分析 CSV 或草拟回复。许多此类任务将保持一次性,这没问题。它们应该保持轻量级。

当一个模式反复出现时,Fleet 允许你赋予它一个持久的形式。代理获得正确的指令、工具、技能、触发器、子代理和内存。团队不再依赖于那个记得如何提示任务的人。工作拥有了一个可以再次运行的负责人。

这就是 Fleet 拥有两种代理类型的原因。一些代理帮助处理即时的开放式任务。另一些则承担重复性责任,并在建立特定于任务的内存时不断改进。Fleet 同时支持这两种模式,因为团队需要这两种模式才能通过代理完成真正的工作。

要开始使用,你可以尝试 Fleet 免费版(https://smith.langchain.com/agents?skipOnboarding=true)。要深入了解技术细节,请阅读文档(https://docs.langchain.com/langsmith/fleet)。

相似文章