Skip to main content
安全提示:Agent 环境变量外传风险本提示适用于 Dify Enterprise 3.12.x,在为 Agent 配置了环境变量且允许网络访问时适用。Dify Enterprise 3.12.x 的 Agent 运行环境采用基于模式匹配的脱敏机制,以降低敏感环境变量值以明文形式出现在用户可见回复或工具执行输出中的可能性。但是,仅凭该机制可能无法可靠阻止能够访问相关变量值及网络的 Agent 在传输前对变量值进行编码,例如采用 Base64、十六进制、字符拆分或其他混淆方式,并将其传输至运行环境能够访问的网络端点。部署方有责任根据其系统、数据及凭证的敏感程度,对 Agent 的权限和访问范围进行适当配置。我们强烈建议:
  • 避免向 Agent 环境注入长期有效的凭证。
  • 尽可能使用短期、最小权限令牌。
  • 将网络出口限制在完成任务所必需的最小范围。
这是单独使用基于模式匹配的脱敏机制时所固有的局限。
新 Agent 目前处于 Beta 阶段。使用前需在集群中启用 agent-backend 与沙箱环境,部署方法见 Agent Sandbox 部署生产环境使用前,在 Helm values 中将 agentBackend.serverSecretKey 替换为你自己的随机值。
Agent 是一名 AI 员工:设置一次,之后随时给它派活。它与 经典 Agent 应用 是不同类型的 Agent:
  • 它在 自己的沙箱 中工作:可运行命令、安装程序、读写文件,因此能承担开放式的工作,而不只是调用你配置好的工具。
  • 你只需 构建 一次,就能以 两种方式 使用:单独作为聊天应用,或作为工作流中的 一步
Agent 的创建、配置和管理都在 Agents 页面进行。可随时打开任一 Agent 继续打磨,或回看早期版本。
Agents 页面仅对拥有 管理 Agents 权限的成员可见,所有者、管理者、编辑者角色默认拥有该权限。详见 权限参考

能力与任务

Agent 把「它是什么」和「你要它做什么」分开:
  • 能力(可视为 Agent 的灵魂)决定了 Agent 是谁。 包括你编写的角色和提示词、它运行的模型,以及你提供的知识、Skill、Dify 工具和文件。塑造一次后,可随着你逐渐摸清 Agent 需要什么而不断打磨。
  • 任务是你在一次运行中要它做的事。 Agent 独立工作时,任务是你发给它的消息;在工作流中时,任务是你给节点的指令。
这和招聘是一回事:先按能力选人,再交给对方具体任务。好结果两者缺一不可:人要选对,任务也要交代清楚。

Agent 的两种用法

独立使用

Agent 作为独立的聊天应用运行。你通过聊天给它派任务,还可将它发布为 Web 应用,或通过服务 API 调用。
会话隔离程度取决于集群运行沙箱的方式。在启用 sandbox gateway 的标准部署中,每个 Agent 会话都有独立的沙箱 Pod,文件系统按会话隔离。若部署采用共享沙箱的替代模式,所有会话共享同一个沙箱容器,终端用户之间的隔离较弱,请谨慎将 Agent 暴露给需要相互隔离的终端用户。
每场对话都有自己的记忆:Agent 能记住多少取决于模型的上下文窗口,新开对话则从零开始。 当一名能干的员工足以独立达成目标时,选这种方式:比如查资料后作答的客服助手,或收集来源并总结要点的调研 Agent。

在工作流中使用

将 Agent 请进 Agent 节点,负责整个流程中的一步。在节点上只需设置要完成的任务。这就像请同事帮忙办一件事:你说明任务,对方带着自己的本事来完成。 当工作需要流程结构时,选这种方式:多个步骤按固定顺序执行、按条件分支、用到其他类型的节点,或几个专精不同方向的 Agent 相互接力。