- 自主推理:理解复杂任务并制定执行计划(需接入具备深度思考的 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 次迭代。
调试与预览
编排完智能助手之后,你可以在发布成应用之前进行调试与预览,查看助手的任务完成效果。