先看一个问题:三角洲行动的玩家查攻略,通常是打开视频网站搜“武器改装方案”,或者翻几十页图文帖找地图点位。这个体验很割裂,因为攻略分散、内容长、版本更新又快。这次要聊的这套组合,是 Dify + RAG + Agent。它做的事情很直接:把武器图鉴、地图点位、模式讲解这些零散文档喂进去,落地成一个能一问一答、能调工具、还能上线给身边朋友用的专属游戏助手。整个过程基本不用写代码,核心操作是新建知识库、上传文档、配置检索、编排提示词、点发布。
这套路线的价值在于“零代码 + 可落地”。Dify 负责应用编排和界面,RAG 负责把攻略文档变成可搜索的知识库,Agent 负责让助手在回答问题时具备工具调用和链路决策能力。本文会按“部署 Dify -> 构建 RAG 知识库 -> 创建 Agent 问答助手 -> 测试对话 -> 调用 API -> 排查问题”的顺序走一遍,重点讲清楚每个环节怎么验证、容易卡在哪里、怎么避免上线后质量失控。
如果你是不想碰代码但想自己做 AI 应用的玩法编辑、攻略作者、游戏社区管理员,或者本身就是开发者、想快速验证 Dify/RAG/Agent 的落地组合,这篇文章可以直接收藏。涉及模型接入、知识库调优、接口发布和合规边界,下面都会展开。
1. Dify+RAG+Agent 核心能力速览
| 能力项 | 说明 |
|---|---|
| 项目类型 | 开源低代码 / 可视化 AI 应用开发平台 |
| 核心组件 | Dify 应用编排、RAG 知识库、Agent 工具调用 |
| 主要功能 | 知识库问答、聊天助手、Agent 工作流、API 发布 |
| 落地场景 | 三角洲专属游戏助手,也可以扩展到其他攻略问答场景 |
| 部署方式 | Docker Compose 本地部署 / 官方云服务 |
| 硬件要求 | 取决于模型接入方式;接云端大模型时普通电脑可跑,接本地模型则需关注显存 |
| 是否支持 API | 支持,可发布为服务接口供外部调用 |
| 是否支持批量任务 | 知识库批量导入文档、批量分段索引,应用侧可做批量 API 请求 |
| 是否支持多模型 | 支持接入多种模型服务,包括云端 API 和本地推理服务 |
| 适合人群 | 零代码玩家、攻略作者、产品经理、后端开发者 |
| 上手难度 | 低,核心操作是配置而不是写代码 |
从表格可以看出来,Dify 平台本身不解决“模型从哪来”的问题,它解决的是“模型、知识库、工具链怎么组织成可用的应用”。所以这套方案的真正门槛在两端:一端是知识库的数据质量,另一端是模型接口的通畅程度。这两件事做好,游戏助手的基础体验就有了。
2. 适用场景与使用边界
2.1 这类游戏助手能做什么
三角洲行动这类 FPS 游戏天然适合做知识库问答,因为玩家需要的信息结构非常固定:
- 武器改装:不同枪械的配件搭配、后坐力控制、性价比推荐。
- 装备与道具:护甲、背包、弹药类型、医疗道具的数值和用途。
- 地图点位:出生点、交战热点、物资刷新区、撤离点。
- 模式讲解:干员技能、战术道具、任务目标、常用战术。
- 版本更新:新武器、平衡性调整、活动规则。
这些内容以前是分散在文档、表格、视频简介里的。整理成知识库之后,玩家可以直接用自然语言提问:“冲锋枪近战怎么配性价比高”“这张图撤离点在哪个方向”“这个赛季新出的枪用什么弹药”。RAG 会先从知识库里召回相关片段,Agent 再根据用户问题决定是用知识库回答还是调用联网搜索之类的工具。这种体验比翻一条 20 分钟的视频要快得多。
2.2 不适合什么场景
零代码不等于“零准备”。如果攻略文档本身质量差、内容缺失、版本过期,知识库的召回结果也不会好。这个方案不适合做实时对战数据查询,比如“当前对局里这个玩家的装备是什么”,因为那是另一套实时数据链路。也不适合代替官方客服回答账户、支付、封禁类问题,这类问题需要对接官方业务系统,风险很高。
2.3 合规边界与版权提醒
把游戏攻略整理进知识库,要注意版权边界。如果攻略是你自己写的,没问题;如果引用社区作者、视频博主或媒体平台的图文内容,需要获得授权,或者至少标注来源。游戏截图、地图素材、武器数值表格也可能涉及游戏开发商的版权条款,商用前务必核对。
还要强调一点:这个助手只能用于正常的资料查询和玩法学习,不能做成外挂、自动瞄准、规避检测或者任何影响游戏公平性的工具。Dify 本身是通用应用平台,做出来的 Agent 能做什么完全看使用边界。发布到社区或商用之前,必须做人工复核,确保内容合法合规。
3. Dify 本地部署环境准备
3.1 部署方式选型
Dify 官方提供两条主流路径,按自己的条件选:
| 路径 | 适用人群 | 特点 |
|---|---|---|
| 本地部署 Docker Compose | 想掌控数据和环境的玩家/开发者 | 数据在自己机器上,适合接本地模型 |
| 官方云服务 | 零基础、想快速验证 | 注册即可用,省去部署环节,但数据在云端 |
本文以本地部署为主,因为“零代码玩游戏助手”这个场景,多数人还是希望完全掌控知识库数据。如果你完全不想折腾环境,可以跳过第 3、4 节,直接去云服务新建应用,逻辑是一样的。
3.2 硬件与系统要求
Dify 平台本身的资源占用并不高,真正的资源压力来自模型推理。可以先按这个思路判断:
- 接云端大模型 API:平台只负责调用接口和编排逻辑,对硬件要求较低,普通办公电脑或者一台云服务器即可。
- 接本地模型(Ollama、Xinference、vLLM 等):需要关注 CPU、内存和显卡显存,模型越大,显存要求越高。具体占用以模型实际运行时报错和监控为准,不要只看参数表。
通用检查清单:
- 操作系统:Linux / macOS / Windows(Windows 推荐用 WSL2 或 Docker Desktop)。
- Docker Engine:建议使用 Docker 20.10 以上版本,并安装 docker compose 插件。
- 内存:官方常见建议 8G 起步,如果同时跑本地模型,建议根据模型规模增加。
- 磁盘:预留 20G 以上空间,镜像和知识库文件会随时间增长。
- 端口:默认使用 80 和 443,如果被占用需要调整映射关系。
这些数值是通用基线,不是绝对标准。实际运行时是否够用,要以部署后的资源监控为准。
3.3 模型接入准备
Dify 本身不含大模型,需要先确定你要用哪个模型来源。两种常见选择:
- OpenAI、Anthropic、DeepSeek 等云端模型 API:需要准备 API Key,并在 Dify 控制台里配置模型供应商。
- 本地 Ollama 服务:在局域网内启动 Ollama,Dify 通过 Ollama 供应商接入本地模型。这种方式适合对数据隐私要求较高,或者想省 API 费用的场景。
建议第一次搭建时先用云端模型 API 跑通全流程,因为稳定性和效果更容易控制。等核心流程跑通后,再切换本地模型做对比。
4. Dify 安装部署与启动方式
4.1 Docker Compose 快速部署(通用模板)
Dify 官方仓库提供了 docker 目录和 compose 文件,标准流程是通过 Git 拉取代码,进入 docker 目录,复制环境变量文件,再启动。下面是一个通用模板,实际命令以官方仓库 README 为准:
git clone https://github.com/langgenius/dify.git cd dify/docker cp .env.example .env docker compose up -d启动完成后,通过浏览器访问:
http://localhost也可以根据部署机器的 IP 访问。第一次访问要求设置管理员邮箱和密码,设置完之后进入 Dify 控制台。
需要说明:如果你的机器端口 80 被占,或者你想换端口,需要修改.env或docker-compose.yaml里的端口映射,然后再执行启动命令。镜像拉取可能比较慢,国内环境建议先配置合适的容器镜像加速源,不然容易超时。
4.2 启动后的校验流程
部署完成不代表万事大吉,必须做三步校验:
- 检查容器状态:使用
docker compose ps看所有容器是否 healthy。 - 登录控制台:能进入管理界面说明 Web 服务正常。
- 配置模型供应商:在“设置 -> 模型供应商”中添加你的 API Key,配置完成后做一次连通性测试。
# 查看容器状态 docker compose ps如果容器没起来,先看日志:
docker compose logs -f api docker compose logs -f web日志里通常会有明确的报错原因,比如端口占用、环境变量缺失、数据库连接失败。Dify 的日志排查是后续所有问题处理的基础,先把这个习惯养起来。
4.3 更新与卸载
后期要升级到新版本,常见做法是拉取最新代码,重新构建镜像,再启动:
git pull docker compose up -d --build升级前注意备份.env和数据库数据。卸载则直接:
docker compose down如果你用 Docker Desktop,还需要手动清理镜像和卷,避免磁盘占用越来越大。
5. 零代码构建 RAG 知识库
5.1 知识库在 RAG 里的作用
知识库是 RAG 系统的数据源。原理上,就是把文档切分成片段,用 Embedding 模型把片段转成向量,用户提问时再计算问题与片段的相似度,把最相关的片段取出来交给大模型综合回答。
在 Dify 中,你不需要手动写向量检索代码,只需要在界面里上传文档、选择分段方式、配置索引方式,平台会自动完成向量化和检索。
5.2 准备游戏攻略文档
先把三角洲相关的攻略整理成 Markdown、TXT、PDF 或网页链接。比如:
weapons.md:武器图鉴与改装推荐。maps.md:地图点位与战术路线。modes.md:模式规则与干员技能。updates.md:版本更新日志。
预处理建议:
- 一个文档聚焦一个主题,不要混写。
- 每个文件内部用清晰的小标题分隔。
- 表格数据尽量保留,武器数值表格对 RAG 召回很重要。
- 删除重复内容。如果文档互相矛盾,会影响回答准确率。
5.3 创建知识库并设置索引
在 Dify 控制台里操作:
- 点击“知识库 -> 创建知识库”。
- 输入名称,比如“三角洲攻略库”。
- 上传准备好的文档。
- 选择分段设置:自动分段适合资料类内容,自定义分段适合结构化明显的文档。
- 选择索引方式:高质量模式效果好,但需要配置 Embedding 模型;经济模式更省资源,但召回精度可能下降。
- 保存并等待文档完成索引。
索引完成后,可以立刻做召回测试。在知识库的“召回测试”里输入“近战冲锋枪怎么配”,看返回的片段是不是真的和武器改装相关。如果返回的内容不相关,优先调整分段长度和检索方式,而不是急着改对话提示词。
5.4 切块策略对检索效果的直接影响
切块是 RAG 最容易影响效果的环节,也是最容易被忽略的。切得太大,片段里混入大量无关内容,召回精度下降;切得太小,语义不完整,模型拿不到足够上下文。Dify 支持调整分段标识符、最大分段长度、分段重叠长度这几个参数。
针对攻略类文档,比较稳妥的做法是:按照 Markdown 标题结构进行分段,让每一段尽量对应一个完整知识点。比如一把武器就是一个完整信息块,包含基础数据、改装思路和适用场景。这样用户提问时,召回结果往往能直接覆盖问题的答案范围,而不是只召回一个局部段落。
Dify 还内置了“父级分段召回”之类的能力,可以把命中片段所在的更大上下文提供给模型,从而提升回答完整性。最终效果要以自己文档的实际测试为准,不同文档的合适参数可能差很多。
6. 创建 Agent 问答助手
6.1 应用类型怎么选
Dify 控制台里创建应用时可以选聊天助手、Agent、工作流、文本生成等类型。游戏助手这种以对话为主、还要动态决定是否查知识库或调工具的场景,优先选择 Agent 类型。
Agent 的优势是:它会根据用户问题决定执行步骤,而不是每次都走同一个固定流程。比如问到“武器怎么配”时,Agent 检索知识库;问到“今天服务器有没有维护”时,Agent 可以调用外部查询工具;如果两者混合,Agent 也能拆解任务。
如果对流程可控性要求更高,也可以选择工作流类型,在画布里手动编排节点:开始节点 -> 知识检索节点 -> LLM 节点 -> 结束节点。工作流适合固定套路,Agent 更适合开放式问答。游戏助手初期建议先做 Agent,等效果稳定后再把高频路径固化成工作流。
6.2 在 Dify 中创建“三角洲专属游戏助手”
创建步骤可以这样走:
- 点击“创建应用”,选择 Agent 类型,命名为“三角洲专属游戏助手”。
- 在“编排”页面对话模型选择已经配置好的模型服务。
- 在上下文区域添加刚才创建的“三角洲攻略库”。
- 编写系统提示词,明确助手身份、任务边界和回答风格。
- 开启“知识库”工具,确认助手在回答相关问题时可以检索知识库。
- 调试页面试聊,确认回复引用正确知识库片段。
- 发布为 WebApp,得到一个可以直接分享的网页。
系统提示词建议这样写:
你是“三角洲专属游戏助手”,专门回答三角洲行动的玩法、武器配置、地图点位、模式规则和版本更新问题。 回答规则: 1. 优先参考知识库内容,引用片段时要说明依据。 2. 知识库没有的内容,明确说“当前资料库未收录”,不要编造。 3. 涉及版本更新时注明“版本信息可能滞后,以游戏内为准”。 4. 回答语言简洁、结构清晰,重要数值用列表或表格呈现。 5. 不回答与游戏无关的问题,不做外挂、作弊相关建议。这个提示词的目的是限制模型不要随口编攻略。游戏数值和点位信息是明确的客观知识,编错了会直接影响玩家信任,所以“知识库没有就承认没有”这条规则很重要。
6.3 知识库与 Agent 工具的协同
Agent 类型应用可以挂多个工具和多个知识库。三角洲助手后期可以扩展:
- 知识检索:查询当前知识库中的攻略。
- 联网搜索:查官网公告、活动页面,但要注意结果可信度。
- 计算工具:帮助计算改装搭配的性价比,或者弹药成本。
- 自定义工具:如果需要查询自己的玩家数据,需要先接游戏官方 API,并且获得授权。
工具越多,Agent 的灵活性越高,但误用风险也越大。建议先只保留“知识检索”一个工具,跑通后逐步增加。
7. 功能测试与效果验证
部署完成后,不要急着发布,先按维度做一遍系统测试。重点验证三类问题:检索有没有命中、回答有没有引用、边界有没有守住。
7.1 基础问答测试
测试目的:确认助手能正确回答知识库覆盖的问题。
输入示例:
- “三角洲行动里近战冲锋枪怎么改装性价比最高?”
- “这张地图的撤离点一般刷在哪几个方向?”
- “新赛季的护甲数值有什么变化?”
操作步骤:
- 在 Dify 调试面板逐条输入问题。
- 观察回答是否引用了知识库片段。
- 打开调试信息,查看召回片段是否来自正确文档。
判断标准:
- 召回 top 片段与原问题主题一致。
- 回答内容能在片段里找到依据。
- 回答没有明显冲突或编造。
失败时排查顺序:知识库分段是否合理 -> Embedding 模型是否正常 -> 提示词是否允许引用 -> 检索设置是否太严格。
7.2 多轮对话与上下文测试
测试目的:确认 Agent 在多轮交互中不会丢失前面的问题条件。
输入示例:
- 第一轮:“帮我推荐一把适合新手的步枪。”
- 第二轮:“它用什么弹药?”
- 第三轮:“预算更低有没有替代方案?”
判断标准:第二轮能理解“它”指第一轮提到的步枪;第三轮能基于第一轮的场景继续回答。
常见问题:Agent 把多轮内容当作新问题处理,导致答非所问。Dify 调试面板可以看到会话上下文,如果发现上下文丢失,通常需要检查提示词里关于对话历史的说明,或者看是不是每次请求都没有携带对话 ID。
7.3 边界与拒答测试
测试目的:确认助手不会输出知识库之外的编造内容。
输入示例:
- “三角洲行动最新版本什么时候上线?”(知识库里没有或过时)
- “帮我写一个自动瞄准脚本。”
- “你觉得今天天气怎么样?”
判断标准:涉及版本更新时给出“以官方为准”提示;涉及作弊工具时明确拒绝;无关闲聊问题可以简短告知能力边界,不强行生成。
这个测试非常重要。游戏问答场景最怕的就是模型一本正经编数据,建议在提示词里强制加入“知识库无依据时明确说明”规则。
7.4 长文本与大量知识库混合问题测试
测试目的:确认助手在知识库较大时检索性能稳定。
操作建议:上传 50 份以上文档后,混合提问不同类型的攻略。观察检索响应时间和回答质量。
如果问答开始变慢,优先检查数据库容器负载和 Embedding 模型推理速度。Dify 的知识库检索链路涉及向量索引和数据库查询,文档多了之后响应变慢是正常现象,需要从分段数量、索引类型、检索策略几个方向优化。
8. Dify 接口 API 调用与批量任务
8.1 发布与获取 API 凭据
Dify 应用发布后可以生成 API 密钥,这样外部工具、网站、机器人程序都可以调用这个助手。操作入口一般在应用详情页的“访问 API”区域,点击生成密钥后复制保存。
注意:API 密钥等同于应用的访问权限,不要提交到公开仓库。建议在服务器端环境变量或密钥管理工具里保存。
8.2 对话 API 调用示例
Dify 提供聊天消息接口,路径通常是/v1/chat-messages。一份通用 Python 调用示例:
import requests url = "http://你的部署地址/v1/chat-messages" headers = { "Authorization": "Bearer app-你的API密钥", "Content-Type": "application/json" } payload = { "inputs": {}, "query": "三角洲行动新手冲锋枪怎么配?", "response_mode": "blocking", "conversation_id": "" } response = requests.post(url, json=payload, headers=headers, timeout=60) if response.status_code == 200: data = response.json() print("Assistant:", data.get("answer")) print("Conversation ID:", data.get("conversation_id")) else: print("Request failed:", response.status_code, response.text)如果要用流式返回,把response_mode改为streaming,并且按 SSE 格式处理返回内容。这个示例是针对 Dify 通用 API 的模板,具体参数以你部署版本的实际接口文档为准。
8.3 上下文连续对话
对话 API 返回结果里通常包含conversation_id。下一次请求时携带这个 ID,平台就能维持上下文。
payload = { "inputs": {}, "query": "那有没有更便宜的替代方案?", "response_mode": "blocking", "conversation_id": "上一步返回的conversation_id" }如果不带 conversation_id,每个请求都是独立会话,上下文就无法延续。批量测试脚本里尤其要注意这个参数,否则你看到的“多轮效果”其实是单轮效果。
8.4 批量任务设计
Dify 知识库本身支持批量导入文档,而应用侧如果要批量测试问答,不需要特别复杂的队列框架,直接写一个循环请求脚本即可。关键是要控制并发、增加失败重试、记录日志。
import requests import time import json url = "http://你的部署地址/v1/chat-messages" headers = { "Authorization": "Bearer app-你的API密钥", "Content-Type": "application/json" } questions = [ "第一次玩选哪个干员?", "M4 怎么改装?", "撤离点刷新规律是什么?" ] results = [] for q in questions: payload = { "inputs": {}, "query": q, "response_mode": "blocking", "conversation_id": "" } try: response = requests.post(url, json=payload, headers=headers, timeout=60) data = response.json() results.append({"question": q, "answer": data.get("answer"), "status": response.status_code}) except Exception as e: results.append({"question": q, "error": str(e), "status": -1}) time.sleep(0.5) print(json.dumps(results, ensure_ascii=False, indent=2))批量任务建议控制并发在较低水位。Dify 本身可以承载并发请求,但你的数据库、模型 API 和网络带宽不一定跟得上。先跑小批量,观察响应时间和错误率,再逐步加大。
8.5 接入手游助手、QQ 机器人、Web 端
有了 API,就可以把助手接到更多入口:
- 网页聊天组件:Dify 自带 WebApp,可以嵌入 iframe。
- 微信群 / 企业微信机器人:通过 Webhook 把消息转发到 Dify API。
- 个人网站 / 文档站点:在页面里接入对话接口。
- 游戏社区机器人:在合规前提下,把助手作为自动回复机器人。
这些入口的逻辑都一样:把用户消息拼成 query 参数,调用 Dify 接口,把返回的 answer 发回给用户。区别只在于消息来源侧的技术适配。
9. 资源占用与性能观察
9.1 观察方式
本地部署 Dify 时,建议用 Docker 自带的监控命令观察资源占用:
docker stats --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.NetIO}}\t{{.BlockIO}}"也可以打开docker stats持续观察。重点看 api、worker、db、sandbox 这些容器的 CPU 与内存使用情况。
9.2 不同链路对资源的影响
- 接云端模型 API:Dify 平台的 CPU、内存消耗主要在处理文本、调用外部接口、维护会话状态。这类场景下,普通服务器或开发机即可运行。
- 接本地模型:大模型推理会占大量显存和内存,显存占用跟模型参数量、量化精度、上下文长度都有关系。要做加减法之前,先看任务管理器和 GPU 监控,确定瓶颈是能力不足还是配置不当。
- 知识库文档处理:批量导入大量文档时,Embedding 和索引计算会让 CPU 和内存短时飙升。可以在文档量较大的时候错峰处理。
9.3 性能优化方向
如果知识库问答变慢,从这几个方向排查:
- 分段数量是否过多,减少冗余片段。
- 检索 topK 是否过大,适当降低返回值数量。
- 是否所有问题都走了本地模型,考虑用云端模型分担。
- 数据库是否积累了大量历史会话,定期清理。
- 并发请求是否过高,增加请求队列或限流。
游戏助手这类应用,单用户交互时压力不大,瓶颈基本都在知识库检索和模型推理。用监控数据作为判断依据,比凭感觉调参可靠得多。
10. 常见问题与排查方法
以下表格覆盖了 Dify 部署、知识库构建、Agent 对话、API 调用中比较常见的问题。
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
| docker compose 启动失败 | 端口被占用 / 镜像拉取超时 / 环境变量错误 | 查看 docker compose logs | 修改端口映射,配置镜像加速,检查 .env |
| 容器启动了但网页打不开 | Web 容器未完全就绪 | 浏览器访问前先docker compose ps看状态 | 等待容器 healthy,或者重启 web 容器 |
| 知识库上传文档后检索不到内容 | Embedding 模型未生效 / 分段不合理 | 在知识库中执行召回测试 | 检查模型供应商配置,调整分段参数 |
| 对话回答不引用知识库 | 提示词没要求引用 / 检索失败 | 查看调试面板的上下文与召回记录 | 修改提示词,强制引用知识库片段 |
| 对话生成编造内容 | 知识库无相关片段,模型自由发挥 | 提示词加入“未收录则说明” | 增加拒答限制,降低模型自由度 |
| 多轮对话上下文丢失 | 请求未携带 conversation_id | 检查 API 请求参数 | 携带 conversation_id |
| API 调用返回 404 | 请求路径或鉴权不对 | 比对接口文档和请求头 | 修正 URL、Authorization 头 |
| 批量任务大量失败 | 并发过高或模型 API 限流 | 看返回码和容器日志 | 降低并发,增加随机重试和退避 |
| 本地模型回答很慢 | 显存不足或模型过大 | 用 GPU 监控工具查看占用 | 换小模型、量化模型,或改用云端 API |
| 升级版本后知识库索引失效 | 数据库结构变更 | 查看升级日志 | 重新索引知识库,必要时备份恢复数据 |
这套排查逻辑的核心是先看日志和数据,再改配置,不建议一上来就重装整个平台。日志里往往已经写明了原因,只是很多人习惯跳过日志直接瞎猜。
11. 最佳实践与使用建议
11.1 文档质量决定 RAG 天花板
RAG 的效果上限由知识库文档质量决定。上传文档前先做一轮清洗:删掉过时内容、统一术语、用 Markdown 标题组织结构化数据、表格尽量完整。攻略类内容还会随版本更新,建议每次版本发布后更新对应文档,并标记文档的适用版本。
11.2 提示词与知识库分开优化
有时候对话效果差,不一定代表知识库有问题,而是提示词没写好。调试时要区分两件事:检索召回准不准,回答组织得好不好。先单独测试召回,确认知识库没问题,再去调提示词。两个一起改,出了问题很难定位。
11.3 建立评测集
不要靠感觉判断助手好不好用。准备一份包含 20 到 50 个问题的评测集,覆盖武器、地图、模式、版本、边界问题,每次修改知识库或提示词后,批量跑一遍,对比生成结果。这个动作只需要写一个简单的 Python 脚本就能完成,但对后续迭代帮助非常大。游戏助手面向真实玩家,玩家的提问方式是多种多样的,评测集越贴近真实提问,上线效果越可控。
11.4 安全与权限控制
给助手发布 API 之后,要控制访问权限。API 密钥不要暴露在前端代码里。WebApp 如果放在公网,建议加访问密码或限制访问范围。知识库里如果有尚未公开的攻略内容,不要发布到公开环境。涉及玩家隐私或账号数据的问题,不要接入助手,避免数据泄露风险。
11.5 版权与授权合规
整理三角洲相关攻略时,遵守游戏开发商的内容政策。引用其他作者的图文内容前,先确认授权。知识库内的游戏截图、数值、地图素材,如果来源不明,不要商用。商用场景下建议只用自己原创或已获得授权的素材。
11.6 效果监控与版本管理
上线后要持续监听对话日志。重点看三类现象:用户重复追问同一个问题、用户表示回答错误、长时间没有新对话。高重复问题说明知识库没覆盖到;回答错误说明知识库内容有过时或矛盾;没有新对话说明入口曝光不够,或者效果不足以让用户留下来。定期更新知识库、重跑评测集、检查日志,是长期维护的固定步骤。
12. 总结与下一步
Dify + RAG + Agent 这套组合最适合做的事情,就是快速把一堆碎片化信息变成可对话的 AI 服务。不需要写向量检索代码,不需要从零训练模型,核心工作量在文档整理、提示词调优和效果评测上。三角洲专属游戏助手只是其中一种落地场景,同样的方法完全可以用于其他游戏、内部知识库、培训问答、操作手册答疑等方向。
建议第一次动手时,先做最小闭环:部署 Dify,接入一个模型,上传 5 到 10 份攻略文档,创建 Agent 应用,跑通对话和 API 调用。这条链路一旦跑通,后续扩展就只是“加文档、加工具、调提示词”的重复迭代了。最容易踩的坑集中在三点:文档没清洗、切块不合理、提示词没限制自由发挥。先解决这三个问题,再考虑加更多复杂工具。
下一步可以继续做几件事:把评测集脚本落地,每周跑一次质量对比;接入一个本地模型,对比效果和成本;把 API 接到社区机器人或个人网站,让真实用户来提问并收集反馈。整个流程都不会改变“零代码优先”的基调,但每一步都能让助手更像一个真正可用的产品,而不是一个演示 Demo。