Dify搭建AI图片生成应用
《Dify搭建AI图片生成应用》共 0.3 万字,通篇围绕 Agent、提示词、Dify、prompt 展开,归在「框架与工具链」这一层。
适合要选技术栈、不想把别人踩过的坑重踩一遍的人
目录骨架(7 节)
- 课程内容
- Agent 的基本概念
- 获取和填入 Stablility API 密钥
- 配置模型供应商
- 构建 Agent
- 思考题 1:如何指定生成图片的画风?
- 思考题 2: 如何拒绝部分用户的某些请求?
课程内容
- Agent 的基本概念
- 使用 Dify 构建 Agent 的方法
- 提示词工程的基础知识
- 工具的使用
- 大模型的幻觉的概念
随着图像生成技术的兴起,涌现了许多优秀的图像生成产品,比如 Dall-e、Flux、Stable Diffusion 等。
本文将使用图像生成模型,指导你使用 Dify 快速开发一个 AI 图片生成应用。

Agent 的基本概念
什么是 Agent
Agent 是一种模拟人类行为和能力的 AI 系统,它通过自然语言处理与环境交互,能够理解输入信息并生成相应的输出。Agent 还具有 “感知” 能力,可以处理和分析各种形式的数据。此外,Agent 能够调用和使用各种外部工具和 API 来完成任务,扩展其功能范围。这种设计使 Agent 能够更灵活地应对复杂情况,在一定程度上模拟人类的思考和行为模式。 因此,很多人都会将 Agent 称为“智能体”。

AI Agent(人工智能代理)是一种能够感知环境、进行决策和执行动作的智能实体。 不同于传统的人工智能, AI Agent 具备通过独立思考、调用工具去逐步完成给定目标的能力。比如,告诉 AI Agent 帮忙下单一份外卖,它就可以直接调用 APP 选择外卖,再调用支付程序下单支付,无需人类去指定每一步的操作。 Agent 的概念由 Minsky 在其 1986 年出版的《思维的社会》一书中提出,Minsky 认为社会中的某些个体经过协商之后可求得问题的解,这些个体就是 Agent。他还认为 Agent 应具有社会交互性和智能性。 Agent 的概念由此被引入人工智能和计算机领域,并迅速成为研究热点。但苦于数据和算力限制, 想要实现真正智能的 AI Agents 缺乏必要的现实条件。
大语言模型和 AI Agent 的区别在于 AI Agent 可以独立思考并做出行动,和 RPA 的区别在于它能够处理未知环境信息。 ChatGPT 诞生后, AI 从真正意义上具备了和人类进行多轮对话的能力,并且能针对相应问题给出具体回答与建议。 随后各个领域的 “Copilot” 推出,如 Microsoft 365 Copilot、 Microsoft Security Copilot、GitHub Copilot、 Adobe Firefly 等,让 AI 成为了办公、代码、设计等场景的 “智能副驾驶”。 AI Agent 和大模型的区别在于:
- 大模型与人类之间的交互是基于 prompt 实现的,用户 prompt 是否清晰明确会影响大模型回答的效果,例如 ChatGPT 和这些 Copilot 都需要明确任务才能得到有用的回答。
- AI Agent 的工作仅需给定一个目标,它就能够针对目标独立思考并做出行动,它会根据给定任务详细拆解出每一步的计划步骤,依靠来自外界的反馈和自主思考,自己给自己创建 prompt,来实现目标。如果说 Copilot 是 “副驾驶”,那么 Agent 则可以算得上一个初级的 “主驾驶”。
和传统的 RPA 相比, RPA 只能在给定的情况条件下,根据程序内预设好的流程来进行工作的处理,在出现大量未知信息、难以预测的环境中时, RPA 是无法进行工作的, AI Agent 则可以通过和环境进行交互,感知信息并做出对应的思考和行动。

我们看见的 AI Agent 往往以问答机器人作为交互入口,通过自然语言触发全自动的工作流,中间没有人工介入。由于人只负责发送指令,并不参与对 AI 结果的反馈。
为什么需要 AI Agent
LLM 的一些缺点:
- 会产生幻觉
- 结果并不总是真实的
- 对时事的了解有限或一无所知
- 很难应对复杂的计算
- 没有行动能力
- 没有长期记忆能力
比如让 ChatGPT 买一杯咖啡,ChatGPT 给出的反馈一般类似 “无法购买咖啡,它只是一个文字 AI 助手” 之类的回答。但你要告知基于 ChatGPT 的 AI Agent 工具让它买一杯咖啡,它会首先拆解如何才能为你购买一杯咖啡并拟定代用某 APP 下单以及支付等若干步骤,然后按照这些步骤调用 APP 选择外卖,再调用支付程序下单支付,过程无需人类去指定每一步操作。这就是 AI Agent 的用武之地,它可以利用外部工具来克服这些限制。这里的工具是什么呢?工具就是代理用它来完成特定任务的一个插件、一个集成 API、一个代码库等等,例如:
