实现一个简单的Agent
文章目录
龙云尧个人博客,转载请注明出处。 CSDN地址:http://blog.csdn.net/michael753951 个人blog地址:http://yaoyl.cn
在上一篇关于Continue插件的文章中,我们深入分析了Chat、Plan和Agent三种模式的实现原理,并通过Wireshark抓包分析了它们与大模型的交互过程。今天,我们将进一步探索如何使用Dify平台实现一个专门用于创作短篇小说的AI Agent。
什么是Dify?
Dify是一个开源的大语言模型应用开发平台,它提供了一个可视化的界面来构建和部署AI应用。
Dify支持多种大模型,包括OpenAI的GPT系列、Anthropic的Claude、国内阿里的Qwen系列、深度求索的DeepSeek系列以及各种开源模型。
在技术探索、快速开发、原型Agent搭建中,使用Dify我们可以通过简单编排的方式创建具备特定功能的Agent,而无需深入了解底层模型的技术细节,节省很多开发时间和成本。
Dify的核心特性包括:
- 可视化编排:通过图形界面拖拽组件,设计Agent的行为逻辑
- 多模型支持:支持主流的大语言模型提供商
- 知识库集成:可以上传文档作为Agent的知识来源
- 工具扩展:支持自定义工具,增强Agent的能力
- API接口:提供标准API,方便与其他系统集成
本期目标:创建一个小说创作Agent
我们将使用Dify平台创建一个专门用于创作短篇小说的Agent。
步骤1:准备好一个公网可用的LLM的api key
这里我以阿里的百炼大模型平台为例,我已经在其中申请好了相关的key。
相关申请文档可以参见:阿里云百炼-获取API Key
上述步骤完成之后,你只需要复制你的api key,去Dify的设置页面配置通义千问大模型的key即可。

步骤2:创建应用
登录后,点击"Create Application"按钮,选择"工作流"模式。 (这里我们先不做更复杂的Chatflow模式,后续可以改进)

新增如下三个节点:
- 用户输入:用于接收用户输入;
- LLM:用于生成回复,这里我们选择阿里百炼的通义千问大模型
- 输出:用于将LLM的输出返回给用户

步骤3:配置用户输入
我们首先要在“用户输入”节点,配置一个字符串,用于后续节点读取用户的输入内容。
这你我定义了novel_requiremen变量。
步骤3:配置LLM的Prompt
在创建Agent的过程中,最重要的是配置Prompt。
在上一章,通过分析Continue插件的行为,中我们已经知道Prompt分为两类:
- System Prompt:用于描述Agent的行为和限制,如:
- 角色设定:你是一个故事创作专家,负责根据用户需求创作故事
- 禁止使用任何外部资源,如:图片、音频、视频等
- User Prompt:多轮会话中,用户可以输入/调整的指令或问题,如:
- 创建一个关于“xxx”的短篇小说
- 修改故事中的某个部分
- 基于“xxxxx”扩展/续写一个完整故事
简单来说:System Prompt定义了Agent不变的特性;User Prompt则用于承载不同用户的各种需求。
我的配置如下:
1
2System:
3
4你是一个小说创作助手。请根据用户提供的小说风格,生成一篇原创的短篇小说。请严格遵循以下步骤:
5
61. 仔细阅读用户输入的小说风格,理解其核心特征:如叙事语气、主题倾向、节奏快慢、情感基调、常用元素等。
72. 创作一篇字数在800至3000字之间的短篇小说,需要确保整体风格与用户指定的风格高度一致。
83. 小说必须包含清晰的情节结构(起承转合)、至少一个鲜明的角色,以及能体现指定风格的细节描写或语言特色。
94. 不得在输出中包含任何XML标签、说明文字或额外注释,也不要输出完整的代码,仅输出小说正文即可。
105. 确保内容原创,避免抄袭或套用已有作品。
11
12User:
13
14用户的小说预期如下,请你输出一篇符合用户预期的小说。
15
16{{#1768330163904.novel_requiremen#}}
步骤4:设置模型参数
根据小说创作的特点,我们需要调整一些模型参数:
- Temperature: 设置为0.9,以追求创造性
- Top-P: 设置为0.9,保留高质量的词汇选择

实际应用案例
让我们看一个具体的例子,展示如何使用我们创建的小说创作Agent:
用户输入:给我写一篇睡前助眠童话。
Agent响应:


总结
通过Dify平台,我们能够快速创建一个功能完善的AI小说创作Agent,而无需深入了解底层技术细节。
这种平台化的方法大大降低了AI应用开发的门槛。
从技术角度来看,无论是Continue插件的Agent模式还是Dify平台的Agent,其核心思想都是赋予AI系统一定的自主决策能力,使其能够主动收集信息、调用工具、管理状态,从而完成更复杂的任务。