Agent(智能助手)是 Dify 中的一种应用类型,它能够利用大语言模型的推理能力,接收用户需求后自主进行目标规划并调用各种工具来完成复杂任务。与传统的对话应用不同,Agent 应用具备以下能力:

  • 自主推理:理解复杂任务并制定执行计划(需接入具备深度思考的 LLM 例如 DeepSeek-R1)
  • 工具调用:自动调用外部工具获取必要信息并执行操作
  • 动态决策:根据执行过程中的结果调整后续行动

创建 Agent 应用

1. 基础配置

在创建新应用时选择 “Agent” 类型,进行基础配置。

模型选择

在应用类型右上角选择合适的模型。

提示词设置

在指令框中输入 Agent 的角色定义和行为准则。一个好的指令应该清晰地定义 Agent 的角色、职责和行为准则。例如,您可以描述 Agent 是一个专业的客户服务助手,基于用户需求主动调用知识库或相关工具完成任务。

2. 变量设置(可选)

使用变量让用户在对话开始时提供必要信息,帮助 LLM 更好的回答客户问题。

例如为教育机构内创建个性化学习 Agent,变量可以进行以下配置:

  • student_grade(选择类型):小学、初中、高中、大学
  • subject(选择类型):数学、英语、物理、化学、编程
  • learning_goal(文本类型):具体学习目标(如”准备期末考试”)
  • current_level(选择类型):初学者、中等、高级
  • preferred_style(选择类型):视觉化解释、实例演示、逐步指导

3. 集成知识库(可选)

大语言模型虽然拥有广泛的通用知识,但对于特定领域的专业信息、企业内部资料、最新政策文件等内容往往缺乏了解或信息滞后。通过集成知识库,Agent 应用可以突破这些限制,获得准确、及时、专业的领域知识支持。关于知识库的详细创建说明,请参考此文档

点击知识库右侧的添加按钮,选择已在 Dify 平台创建的知识库。如果希望使用 Agent 调用自研知识库,请参考外部知识库

如果希望添加限制条件,让 Agent 仅检索知识库内的特定信息,请参考元数据

4. 集成工具

工具是 Agent 应用的核心能力所在。Dify 提供了丰富的内置工具库,你可以在 Dify 插件市场内进行安装。插件涵盖搜索、计算、图像处理、文档处理等各个方面。同时你也可以导入 MCP 服务器并作为工具进行调用。

如需了解不同的工具类别与差异,详细说明请参考工具

工具能够帮助 Agent 应用与外部环境交互,例如代码执行、对专属信息源的访问等。你只需要在对话框中谈及需要调用的某个工具的名字,即可自动调用该工具。

选择工具时需要考虑实际需求,只添加当前任务真正必需的工具。过多的工具选择可能会让 Agent 在决策时产生困惑,影响执行效率。同时要注意工具间的功能重叠问题,避免功能相似的工具同时存在。

优化对话体验

Dify 提供了多种功能来优化 Agent 应用的用户体验。在应用编排页聊天框底部的 “Features” 面板中,根据实际需求启用相应的功能模块。

对话开场设置

Conversation Opener(对话开场) 是提升用户首次使用体验的重要功能。启用后,Agent 会在每次新对话开始时主动向用户介绍自己的能力,这就像一个友好的接待员主动说明能够提供哪些服务。

开场白应该简洁明了地告诉用户 Agent 能够完成什么任务,避免让用户在不了解功能的情况下盲目尝试。比如”我是您的智能助手,可以帮助您查询产品信息、处理订单问题,以及提供技术支持。请告诉我您需要什么帮助。“

后续问题引导

Follow-up(后续问题建议) 功能能够在 Agent 回应用户后,智能推荐相关的后续问题,帮助用户更深入地探索话题或解决相关问题。这个功能特别适合复杂的咨询场景,用户往往在得到初步回答后还有进一步的疑问。

启用这个功能后,Agent 会根据当前对话的上下文,主动提出可能的后续问题。比如当用户询问产品价格后,系统可能会建议”您想了解这个产品的技术规格吗?“或”需要我帮您比较一下类似产品吗?“

语音交互能力

Text to Speech(文本转语音) 和 Speech to Text(语音转文本) 功能为 Agent 增加了语音交互能力,让用户可以通过语音与 Agent 进行对话。

文本转语音功能会将 Agent 的回复转换为语音播放,这在用户需要解放双手的场景中特别有用,比如用户正在操作设备时仍然可以听取 Agent 的指导。语音转文本功能则允许用户通过语音输入问题,提高了输入效率,较为适合移动设备上的使用场景。

内容可信度保障

Citations and Attributions(引用和归属) 功能是建立用户信任的重要工具。启用后,当 Agent 基于知识库内容回答问题时,会在回复中显示信息来源,包括引用的文档名称和具体段落。这个功能特别重要,因为用户可以验证 Agent 提供信息的准确性和权威性。在专业咨询、法律建议、医疗信息等对准确性要求较高的场景中,显示信息来源能够显著提升用户对 Agent 回答的信任度。

内容审核

Content Moderation(内容审核) 功能通过集成审核 API 或维护敏感词列表来确保 Agent 输出内容的安全性。这个功能可以过滤不当内容,确保 Agent 的回复符合企业的合规要求和社会规范。

智能记忆功能

Annotation Reply(注释回复) 功能允许您手动添加高质量的问答对到系统缓存中。当用户提出类似问题时,Agent 会优先使用这些经过人工验证的高质量回答,而不是重新生成回复。

这个功能特别适合处理企业的常见问题。你可以将客服团队总结的标准回答添加到注释回复中,确保 Agent 对于常见问题能够提供一致、准确的回答。随着使用时间的增长,这些高质量回答的积累会显著提升 Agent 的回复质量和响应速度。

调整 Agent 设置

迭代次数限制是 Agent 应用中的一个安全和性能控制机制,你可以在 Agent 配置中手动修改助手的迭代次数限制。该限制主要是为了防止无限循环。

Agent 在执行复杂任务时,会进行”思考-行动-观察”的循环过程。比如用户要求”帮我分析这个月的销售数据并生成报告”,Agent 可能会:

第一次迭代:调用数据查询工具获取销售数据

第二次迭代:发现数据不完整,再次调用工具补充数据

第三次迭代:调用分析工具处理数据

第四次迭代:调用报告生成工具创建报告

但有时候 Agent 可能会陷入困境,比如工具调用失败但 Agent 不断重试,或者对任务理解有偏差导致重复执行无效操作。没有迭代限制的话,这种情况可能会持续下去,消耗大量计算资源。

对于简单任务(如查询、翻译),通常设置 3-5 次迭代就足够了。中等复杂度任务(如数据分析、多步骤操作)可以设置 8-12 次。高复杂度任务(如复杂的研究分析、多系统协调)可能需要 15-20 次迭代。

调试与预览

编排完智能助手之后,你可以在发布成应用之前进行调试与预览,查看助手的任务完成效果。