标签 Dify 下的文章

大型语言模型(LLM)在理解和生成上下文连贯的对话方面取得了巨大成功。然而,它们固有的“记忆缺陷”——即有限的上下文窗口——严重制约了其在跨会话、跨应用的长时间交互中保持一致性的能力。一旦对话超出上下文长度,LLM 就会像一个“失忆”的伙伴,忘记用户的偏好、重复提问,甚至与之前确立的事实相矛盾。想象一下这个场景:你告诉一个AI助手你是素食主义者且不吃乳制品。几天后,当你向它寻求晚餐建议时,它却推荐了烤鸡。这种体验无疑会削弱用户对AI的信任和依赖。
为此,PolarDB PostgreSQL版(以下简称PolarDB-PG)全新推出一站式记忆管理AI应用,使智能体能够跨会话、跨应用持续保留用户偏好、事实背景与历史交互信息,解决大模型有限上下文窗口和跨会话记忆丢失的核心痛点。

1.构建智能体记忆面临的挑战

开发、运维效率低:记忆系统构建需要选型或开发记忆引擎,对接各类数据库系统以及模型服务,开发、运维成本高;当前主流记忆框架均为检索式记忆系统,后端需要对接关系库、向量库甚至图库等多种记忆库资源,数据一致性难以保障;对于AI快速驱动业务演进而言,企业客户很难对数据库、记忆引擎、模型服务等底层设施做到完全兜底。
记忆生成、检索效果不佳:不少企业客户希望自建记忆系统,但遇到记忆事实、偏好等提取不全导致关键信息遗漏;因记忆系统整体链路长导致记忆检索延迟高,导致交互问答不流畅;对需要用户画像和记忆推理需求场景,因只能提供向量化记忆导致检索结果相关性欠强;因模型算法效果在记忆整体应用中起到十分关键的作用,模型算法与提示词配置的灵活度,也直接决定了方案迭代的速度。
系统成本压力大:随用户规模增长,系统在并发度、存储规模等方面缺乏弹性扩缩容能力;硬件、多种数据库系统、记忆引擎等多license系统,系统费用成本叠加;对于持续爆发增长的记忆库,缺乏支撑记忆生命周期管理的有效机制等。

2.PolarDB一站式记忆管理系统

针对上述挑战,PolarDB-PG推出全新AI应用——一站式长记忆管理系统正式发布上线。PolarDB-PG记忆管理真正融合了图+向量一站式记忆库 + 开放记忆引擎 + 模型算子能力,提供了全面白屏化的参数配置,提示词策略管理以及模型算法混池加速能力,支撑“记忆读写 → 上下文注入 → 模型推理 → 结果反馈”的完整闭环。一期已接入Mem0(发音为 "mem-zero")记忆引擎,兼容开源 Mem0社区生态,使智能体能够跨会话、跨应用持续保留用户偏好、事实背景与历史交互信息,从而实现真正的个性化和持续学习体验。
图片
PolarDB-PG一站式记忆管理系统架构

1、记忆引擎

目前,PolarDB-PG已支持Mem0框架,全面兼容开源项目Mem0社区生态;支持Mem0(向量基础版)和Mem0g(图增强版);对开源Mem0系统实现了系列增强,包括:中英文模型接入能力;支持根据userid多图管理功能;支持根据userid向量分区管理功能;同步、异步记忆写出能力;增加sslmode连接参数,支持ssl连接;支持提示词模版的定制优化以及Mem0企业版的部分功能对齐等。后续PolarDB-PG还将和MemOS合作,为AI构建专属的“记忆操作系统”,实现记忆全生命周期的精细化管理与动态调度。

2、一站式记忆库

PolarDB-PG向量数据库引擎 + 图数据库引擎一站式组合。其中,向量数据库引擎采用经优化的PGVector插件,PGVector在PG社区已经被广泛应用,具备十分良好的AI生态支持。图数据库引擎兼容开源AGE(A Graph Extension,为Apache软件基金会的顶级项目),且经过PolarDB-PG与云原生能力的增强融合以及在大量图客户上的多年应用改进和性能优化,不仅表现成熟稳定,且具备在百亿级规模图场景下仍然保持万级以上QPS和百毫秒以下的查询延迟的极佳表现。记忆库支持云原生集中式版本或分布式版本,无需担心扩展性风险。

3、PolarDB模型算子

统一采用PolarDB模型算子提供模型部署、推理、调度体系化能力。模型在记忆管理中扮演了核心的角色,其中:大语言模型LLM负责从用户与智能体的对话中自动提取出具有长期价值的关键事实与偏好,同时用于新记忆与已有记忆的融合(增删改)以及基于图的实体三元组信息抽取;嵌入模型EMB负责将关键信息转化为高维向量,实现高效的语义检索;Rerank模型则用于记忆召回后的精排序。模型调用和推理的效率占据了用户体验的关键一环,本方案支持多种形式的模型对接途径,包括:a. 数据库自有模型算子形式;b. 百炼模型服务形式;通过高度优化的链路,大幅提升记忆相关推理效率。

4、图形化控制台

PolarDB-PG记忆管理在PolarDB系统中属于AI应用的一种形式,提供了全面图形化的管理界面:
图片
图片
模型算法与数据库配置
图片
记忆提取策略配置
图片
记忆图谱可视化

5、AI应用构建平台

支持沿用Mem0已对接周边生态,包括:Langchain、LangGraph、AgentOps、LlamaIndex等框架/平台;支持将PolarDB记忆引擎作为插件加入到Dify框架实现任务流定制;支持与阿里云AgentRun企业级 AI Agent 一站式基础设施平台‌和AgentScope开源智能体开发框架的一体化整合应用。
图片
PolarDB记忆管理支持Dify的插件化应用

3.系统核心优势

1、端到端一站式记忆管理

开箱即用,融合记忆引擎、记忆库、模型算子服务以及KVCache加速能力,免去多系统联调、维护成本。

2、图形化配置,简单易用

控制台可视化管理多项目记忆,支持记忆引擎、模型算法、提示词策略等灵活配置;支持多项目的记忆管理能力,记忆项目配置支持完全采用图形化的界面形式;支持对记忆引擎、记忆模型算子、记忆提取策略(提示词)等选项的配置;提供极简REST API或客户端SDK,自动完成记忆事实提取、记忆增删改融合以及记忆搜索。

3、图式记忆和向量式记忆融合,记忆更准,成本更低

支持基于向量的简单记忆库模式,同时支持图(Graph)+ 向量融合的高级记忆库模式;支持图结构的关系推理(时序推理、因果推理等),记忆召回率提升40%;一站式解决图库、向量库和关系库,大幅降低TCO成本。

4、内置集成大模型推理服务,保障稳定服务

支持配置LLM、Embedding、Rerank等模型算子用于记忆生成与管理;特别采用模型算子混池架构,常规请求路由至百炼,请求规模超过百炼限定时,自动切换自有资源兜底;自有模型算子VPC内网部署,模型推理延迟相比百炼可进一步提升30%+。

5、多租户、多图粒度管理,资源可扩展

支持按项目、业务线等维度划分独立的记忆空间,保障资源隔离、数据安全与规模可扩展;支持按UserID自动切子图管理,记忆规模不受限,同等记忆规模下召回效率提升50%+。

6、百亿级记忆规模,毫秒级响应

经历百亿级规模向量、图谱数据客户最佳实践,满足万级高QPS、<50ms低延迟在线服务高标准;跨会话长记忆+会话内基于KVCache Token加速,请求延迟下降88.3%(上下文长度200k,30并发)。

4.记忆库应用场景适配

PolarDB记忆管理支持两类长记忆方案,基于纯向量记忆库方案,和向量记忆库+图记忆库的组合方案,分别适用于以下场景:

1、纯向量记忆库方案‌

  • 应用场景‌:

    • 需要快速语义检索的对话场景,例如在线客服、实时聊天机器人等。
    • 成本敏感型应用,假设需要分别采购向量数据库和图数据库两种产品或服务,采用纯向量方案能减少至少一半的产品费用支出。技术特点‌:通过LLM提取对话关键事实并向量化存储。采用动态阈值控制检索范围,平衡召回率与精准度。

2、向量记忆库+图记忆库组合方案‌

  • 应用场景‌:

    • 复杂关系推理场景:如医疗诊断(跟踪患者病史和药物相互作用)、旅行规划(整合航班、酒店、景点等关系)等。
    • 长期知识管理‌:通过三元组(实体1-关系-实体2)结构化存储知识,适合构建企业级知识库或跨会话连贯性要求高的智能助手,如需跟踪用户偏好演变关系的智能座仓AI助手、AI伴侣等,做到长期个性化服务。
    • 动态演进型系统‌:知识图谱支持增量更新和子图检索,适合业务规则频繁变化的场景(如金融风控中的动态规则库)。
  • 技术特点‌:

    • 向量库处理语义搜索,图库存储实体间关联关系。
    • 支持时间感知或因果推理的动态知识图谱更新。
    • 基于Mem0g方案,通过两阶段流水线实现结构化记忆。

两种方案的互补性体现在:向量+图虽能处理复杂关系,但检索效率上带来更大挑战;而纯向量方案在简单场景中更高效,但缺乏对深层关系的建模能力。实际部署时,可结合业务复杂度与实时性需求进行混合架构设计。

5.应用展望

目前,PolarDB记忆管理已落地新能源车企开发助手、教育伴学等场景,在文本记忆、多模态记忆等多种场景进行了全面适配,大幅提升个性化交互沉浸感。除以上场景外,PolarDB记忆管理还在企业知识库、旅游规划、电商导购、医疗陪护等多个关键领域展现出客户价值,成为推动AI应用从“对话机器人”迈向“智能伙伴”的关键基础设施。PolarDB 与 Mem0/MemOS 的深度整合,让每一位开发者都能轻松构建真正“记得住、懂你心、扛得住、响应快”的记忆系统。

6.了解更多

欢迎搜索钉钉群号:169605009089入群与技术专家交流!

记录一下在香港云服务器上配置 Dify 访问 Gemini API 的过程

当时买的时候想着香港位置更近当代理使的,最近新创了个 google 账户正好有赠金,就打算部署个 Dify 玩玩,但香港 IP 直接访问 gemini API 会返回 400 user location not support 错误,于是在站内搜了下给 Dify 容器配置代理的教程: 【最新适配】Dify 海外模型代理配置(一次通关). 过程太复杂了懒得折腾,于是考虑直接修改 baseURL, 用手头另一个日本的服务器转发.

但直接在 nginx 中配置转发后发现还是 400 错误,我还以为没配成功,最后在日本服务器试了下发现可能因为是机房 IP, 直接访问也是 400, 只能考虑用 cloudflare WARP 出站.

我用的是 3x-ui, 出站规则里可以直接配置 WARP, 然后创建一个本地 http 入站,在路由规则里设置这个入站用 WARP 出站

最后让 AI 生成了个小脚本,得先把 nginx 的流程转到 flask 服务的端口,再用 flask 转给 3x-ui 上的代理,感觉也挺复杂,有没有佬知道更简便的方法

from flask import Flask, request, Response
import requests

app = Flask(__name__)

# 31699是3x-ui上配置的本地代理端口
PROXIES = {
    'http': 'http://127.0.0.1:31699',
    'https': 'http://127.0.0.1:31699'
}

# Gemini 官方 API 域名
TARGET_URL = 'https://generativelanguage.googleapis.com' @app.route('/<path:path>', methods=['GET', 'POST', 'PUT', 'DELETE']) def proxy(path):
    # 构造请求 URL
    url = f"{TARGET_URL}/{path}" # 获取原始请求的查询参数
    params = request.args
    
    # 获取原始请求的 Header,并移除 Host 避免冲突
    headers = {k: v for k, v in request.headers if k.lower() != 'host'}
    
    try:
        # 转发请求到 Google,并使用本地代理
        resp = requests.request(
            method=request.method,
            url=url,
            headers=headers,
            data=request.get_data(),
            params=params,
            proxies=PROXIES,
            stream=True,  # 支持流式输出
            timeout=300
        )

        # 构造响应给 Nginx
        excluded_headers = ['content-encoding', 'content-length', 'transfer-encoding', 'connection']
        headers = [(name, value) for (name, value) in resp.raw.headers.items()
                   if name.lower() not in excluded_headers]

        return Response(resp.iter_content(chunk_size=1024), resp.status_code, headers)

    except Exception as e:
        return str(e), 500 if __name__ == '__main__':
    app.run(host='127.0.0.1', port=5346)

📌 转载信息
原作者:
IIIIIII7
转载时间:
2026/1/23 10:22:07

摘要

本文专为智能体入门者设计​从 0 到 1 的实操指南​,摒弃复杂理论,以 “选场景 → 挑平台 → 做搭建 → 调优化 → 落地用” 为核心流程,聚焦零代码平台实操(兼顾代码入门轻指引),搭配工具选择、避坑要点、高频 QA 与落地计划,让新手能在 1-7 天内快速做出可实际使用的第一个智能体。核心逻辑为​以具体需求为导向,轻量化落地,先跑通再优化​,无需深厚编程或 AI 基础,零基础也能快速上手。

搭建自己的第一个智能体,核心不是啃透技术原理,而是​先锁定一个具体需求,选择适配的零代码工具,通过简单的可视化操作完成搭建与调试​。新手优先从解决个人 / 工作的小痛点入手(如日程提醒、文档问答、邮件总结),避开复杂功能,让智能体先 “能用”,再逐步优化 “好用”。以下是分步骤的详细实操指南,全程聚焦零代码落地,同时补充代码入门的轻量路径。

一、前期准备(30 分钟):定需求、选平台,找对切入点

1. 锁定一个具体落地需求(核心关键)

新手切忌贪多求全,优先选择单一、标准化、高频重复的小需求,这类需求搭建简单、易出成果,推荐入门需求清单:

  • 个人效率类:日程管理助手(同步日历 + 提醒待办)、文档问答助手(上传笔记 / PDF,快速检索答案)、每日信息汇总(整合新闻 / 公众号 / 邮件核心内容)
  • 办公职场类:会议纪要助手(提取录音 / 文字核心信息 + 拆分待办)、报表辅助助手(整理表格数据 + 生成简单分析)、客服快捷回复助手(根据问题匹配标准答案)
  • 学习科研类:错题整理助手(上传错题,自动分类 + 标注考点)、文献摘要助手(提取论文核心观点 / 研究方法)

选需求原则​:自己每天都会用到、手动做耗时 5 分钟以上、需求描述能一句话说清(如 “帮我总结微信公众号的干货文章,提取 3 个核心观点”)。

2. 零代码平台选择(新手首选,无需编程)

新手友好度、国内适配性、功能贴合度排序,附平台核心特点与适配场景,直接选其一即可,不用纠结多平台对比:

平台核心特点适配入门需求操作难度推荐指数
扣子(Coze)国内主流,全中文界面,可视化拖拽,办公 / 生活插件丰富(日历、微信、文档),自带角色模板,调试简单全品类入门需求,尤其办公 / 个人效率类★☆☆☆☆★★★★★
Dify(云版)低代码零代码结合,知识库功能强大,支持 PDF/Word/Excel 多格式上传,文档问答体验佳文档问答、知识检索类需求★★☆☆☆★★★★☆
CrewAI(零代码版)侧重任务流程,角色设定清晰,适合单智能体的任务执行分步式任务类(如 “选题 → 写作”“提取 → 总结”)★★☆☆☆★★★☆☆

3. 基础准备工作

  • 注册平台账号:用手机号 / 微信即可完成,部分平台需实名认证(仅合规要求,无其他影响);
  • 准备需求相关素材:如做文档问答助手,提前整理好要上传的 PDF/Word 文件;做日程助手,提前绑定自己的日历 / 微信账号;
  • 理清核心指令:用一句话写清智能体的​核心功能​(如 “上传考研数学笔记,我提问后快速给出答案并标注页码”),后续搭建全程围绕这句话展开。

二、核心搭建(1-3 小时):以扣子为例,手把手零代码实操

新手首选的扣子(Coze) 为例,搭建一个 **「个人文档问答助手」**(最易上手、实用性最高的入门需求),其他平台操作逻辑类似,均为 “新建 → 设角色 → 配功能 → 调规则” 四步,可直接参考。

步骤 1:新建智能体,基础信息设置(5 分钟)

  1. 打开扣子官网,进入「我的智能体」,点击「创建智能体」;
  2. 填写基础信息:

    • 智能体名称:清晰易懂(如 “考研数学笔记问答助手”);
    • 角色设定:简单描述身份(如 “你是考研数学答疑助手,能根据我上传的考研数学笔记,精准回答我的问题,标注答案所在页码”);
    • 头像 / 简介:可选填,新手直接跳过,不影响功能。

步骤 2:配置核心能力,上传知识库(10-20 分钟)

  1. 左侧菜单栏选择「知识库」,点击「新建知识库」,命名后选择「上传文件」,将准备好的笔记 / PDF 上传(支持多文件批量上传,单文件大小无入门限制);
  2. 等待文件解析(1-3 分钟,视文件大小而定),解析完成后,将该知识库绑定到当前智能体(勾选 “知识库问答” 功能);
  3. 简单设置检索规则:新手直接用平台默认设置(如 “精准匹配”“返回答案 + 原文片段”),无需修改。

步骤 3:配置交互规则,优化回复效果(10 分钟)

  1. 左侧菜单栏选择「对话设置」,设置​回复规则​:

    • 回复风格:选择 “简洁明了”(新手首选,避免冗余);
    • 上下文记忆:开启 “短期记忆”(让智能体记住对话中的问题,无需重复提问);
    • 拒绝无关问题:开启 “仅回答知识库相关问题”(避免智能体答非所问);
  2. 可选配置​快捷提问​:添加 3-5 个高频问题(如 “高数极限的解题方法有哪些?”),方便快速测试。

步骤 4:集成工具(可选,针对复杂需求,5 分钟)

若搭建的是日程助手、邮件助手等需要对接外部工具的智能体,在左侧「工具中心」选择对应插件(如日历、邮箱、微信),点击「授权绑定」,按提示完成账号关联即可;文档问答助手无需集成工具,直接跳过。

步骤 5:保存并测试,跑通核心功能(10-30 分钟)

  1. 点击「保存并发布」,进入智能体对话界面;
  2. 进行多轮测试,输入不同类型的问题(简单问题 + 复杂问题),如 “洛必达法则的使用条件是什么?”“高数上册第三章的核心考点有哪些?”;
  3. 若出现答非所问、找不到答案的情况,回到「知识库」检查文件是否解析成功,或优化角色设定中的指令(如补充 “若找不到答案,直接告知‘暂无相关内容’,不要编造”)。

其他需求搭建通用逻辑

无论搭建哪种智能体,均围绕 **「角色设定 + 核心能力 + 交互规则」** 展开:

  • 日程助手:角色设定为 “日程管理师”+ 绑定日历工具 + 设置 “定时提醒 + 待办同步” 规则;
  • 会议纪要助手:角色设定为 “会议纪要专员”+ 绑定语音 / 文字上传功能 + 设置 “提取核心信息 + 拆分待办 + 标注责任人” 规则。

三、调试优化(1-2 天):从 “能用” 到 “好用”,解决常见问题

搭建完成后,智能体可能出现答非所问、回复冗余、功能失效等问题,新手无需复杂操作,通过 3 个简单方法即可快速优化,让智能体更贴合需求。

1. 高频问题解决方法

常见问题核心原因优化方法
答非所问,偏离知识库角色指令不清晰,或未限制回答范围1. 角色设定中明确 “仅根据知识库内容回答”;2. 对话设置中开启 “拒绝无关问题”
找不到答案,提示 “无相关内容”文件解析失败,或问题表述太模糊1. 重新上传文件,确保解析状态为 “成功”;2. 优化问题表述,更具体(如将 “极限怎么学” 改为 “高数极限的解题步骤有哪些”)
回复冗余,有大量无关内容回复风格未设置,或模型生成冗余信息1. 对话设置中选择 “简洁明了”,添加 “回复控制在 3 句话内,不要冗余”;2. 角色设定中补充 “答案直击要点,无需铺垫”
工具调用失效(如日历不提醒)工具授权过期,或规则未设置触发条件1. 重新绑定工具,检查授权状态;2. 设置明确触发条件(如 “我说‘添加待办’,自动同步至日历”)

2. 简单优化技巧

  • 精简指令:角色设定中的描述​控制在 2 句话内​,越简洁,智能体执行越精准,避免堆砌形容词;
  • 补充禁忌规则:在角色设定中添加 “不要编造答案”“不要回答无关问题”“回复简洁” 等禁忌,减少无效输出;
  • 多轮测试迭代:每天用 5 分钟测试 3-5 个问题,发现问题及时调整,不用追求一步到位。

3. 功能轻量化升级(可选)

若想让智能体功能更丰富,可在基础版上做简单升级,无需新增复杂配置:

  • 文档问答助手:添加 “答案标红重点 + 页码跳转” 功能(扣子 / Dify 均为一键开启);
  • 日程助手:添加 “微信提醒” 功能(绑定微信插件,替代平台内提醒);
  • 办公助手:添加 “文档导出” 功能,将智能体的回复导出为 Word/Excel,方便后续使用。

四、落地使用(长期):融入日常,发挥智能体价值

搭建智能体的核心是解决实际问题,新手无需追求 “功能完美”,而是将其融入​个人生活 / 工作流程​,让智能体成为自己的 “专属助手”,同时在使用中持续微调。

1. 日常使用小技巧

  • 固定使用场景:如每天早上用信息汇总助手整理 10 分钟资讯,每周用文档问答助手复习笔记,形成使用习惯;
  • 快速调用:将智能体添加到桌面 / 微信小程序(扣子等平台均支持),无需打开官网,一键调用,提升使用效率;
  • 记录问题:准备一个小本子,记录使用中遇到的问题(如 “某个问题答不上来”),每周花 10 分钟集中优化。

2. 轻量迭代原则

  • 小步快跑:每次只优化一个问题(如 “解决答非所问”),不要一次修改多个设置,避免出现新问题;
  • 按需升级:若当前功能能满足需求,无需新增功能(如文档问答助手能精准回答问题,就不用添加 “知识点拓展” 功能);
  • 贴合自己的使用习惯:如自己喜欢用短句提问,就不用刻意优化长句提问的效果,以自己的使用方式为核心。

五、代码入门轻指引(可选,适合想进阶的新手)

若零代码搭建后,想尝试代码开发(如自定义智能体逻辑、本地部署),无需从头学编程,遵循 **「轻量入门,先调用再自定义」** 原则,用 1-2 周即可做出简单的代码版智能体。

1. 必备基础(3-5 天)

  • 编程语言:Python 基础(仅需掌握​变量、函数、简单的 API 调用​,推荐 B 站《Python 零基础快速入门》,只看前 5 集即可);
  • 核心工具:安装 Python 环境(3.9 及以上)、PyCharm 社区版(免费,代码编辑器)、Postman(可选,测试 API)。

2. 入门技术栈(直接套用,无需理解底层)

  • 基础模型 API:OpenAI API / 文心一言 API / 通义千问 API(提供智能体的对话能力,新手选其一即可);
  • 框架:LangChain(轻量框架,封装了智能体核心功能,无需自己写复杂代码);
  • 前端(可选):Streamlit(一键搭建简单界面,无需前端知识)。

3. 极简代码实战(1-2 天)

Python+LangChain + 文心一言 API 搭建一个简单的文档问答智能体,核心步骤为:​安装依赖 → 调用 API→ 加载知识库 → 实现问答​,网上有大量现成的代码模板(GitHub/LangChain 官方文档),直接复制修改参数即可(如替换自己的 API 密钥、上传自己的知识库文件)。

4. 避坑指南

  • 先调通官方示例代码,再修改自己的需求,避免从头写代码;
  • 不用追求本地部署,先在云端运行(如 Colab,免费,无需配置环境);
  • 核心学习 API 调用和​知识库加载​,其他功能(如记忆、工具调用)后续逐步学习。

六、常见误区与避坑建议

新手搭建第一个智能体,最容易陷入 “追求完美、过度学习、贪多求全” 的误区,以下 3 个避坑建议,能让你少走 80% 的弯路:

  1. 误区​:先啃透 AI 理论 / 编程知识,再动手搭建。
    建议​:理论知识按需补充,零代码搭建完全不需要懂 AI 原理,动手做才是核心,哪怕搭建的智能体功能简单,也比光看不学强。

    1. 误区​:一次搭建多个功能,想让智能体 “无所不能”。

      建议​:一个智能体只解决​一个核心需求​,如文档问答助手就只做问答,不要添加日程、提醒、汇总等功能,功能越多,调试越复杂,越容易放弃。

      1. 误区​:过度纠结平台选择,反复对比各个平台的优劣。

        建议​:新手直接选​扣子(Coze)​,国内适配性最好、操作最简单,先在一个平台做出成果,再尝试其他平台,不用在选择上浪费时间。

        1. 误区​:测试一次就觉得 “不好用”,直接放弃。

          建议​:智能体的优化是一个持续的过程,哪怕是大厂的智能体,也会出现答非所问的情况,新手搭建的第一个智能体,只要能解决 60% 的需求,就是成功的,后续逐步优化即可。

        七、QA 问答:解决搭建中的高频疑问

        Q1:零基础、完全不懂编程,真的能搭建出可用的智能体吗?

        A:完全可以。零代码平台(如扣子)的操作逻辑和搭积木一样,全程可视化拖拽、全中文界面,仅需根据提示完成 “角色设定 + 知识库上传 + 规则设置”,1-3 小时就能做出可用的智能体,核心是​锁定需求、按步骤操作​,不用懂任何编程或 AI 知识。

        Q2:搭建智能体需要付费吗?新手需要开通会员吗?

        A:主流零代码平台的​基础功能均为免费​,如扣子的个人版、Dify 的云版免费层,完全能满足新手搭建第一个智能体的需求(如上传 10 个以内的文件、每月一定的对话次数);​新手无需开通会员​,只有当后续需要高级功能(如大文件上传、无限对话、企业级部署)时,再考虑付费,免费版足够入门使用。

        Q3:选择哪个需求搭建第一个智能体最好?

        A:优先选 **「文档问答助手」,原因有三:1. 搭建步骤最简单,无需集成外部工具;2. 实用性最高,学生、职场人都能用到;3. 调试难度低,问题反馈直观(答没答对点一眼就能看出来)。若你有明确的办公需求(如会议纪要、日程管理),也可以直接选对应的需求,核心是自己熟悉、能快速测试 **。

        Q4:搭建完成后,智能体的数据安全吗?会不会泄露自己的文件 / 信息?

        A:主流平台(如扣子、Dify)均遵循国家个人信息保护法,采用加密存储,​个人搭建的智能体,若未设置公开,仅自己能访问​,不会泄露你的文件和信息;若担心数据安全,可选择​本地部署​(如 Dify 开源版),但新手无需考虑,零代码平台的云版完全能保证个人使用的安全性。

        Q5:为什么我搭建的智能体答非所问?该怎么快速解决?

        A:答非所问是新手最常见的问题,核心原因只有 3 个:​指令不清晰、未限制回答范围、文件解析失败​,按以下步骤排查,90% 的问题能快速解决:1. 检查角色设定,是否明确 “仅根据知识库回答”;2. 检查对话设置,是否开启 “拒绝无关问题”;3. 检查知识库,文件是否解析成功(重新上传一次即可)。

        Q6:可以将自己搭建的智能体分享给别人使用吗?

        A:可以。主流零代码平台均支持​分享功能​,如扣子可生成分享链接 / 二维码,别人无需注册平台,点击链接即可使用;也可以设置 “仅好友可见”“公开可见”“密码访问” 等权限,新手可将自己的智能体分享给同学 / 同事,收集反馈,进一步优化。

        八、7 天落地计划(直接套用,零基础也能完成)

        为新手定制的​7 天极简落地计划​,每天仅需投入 30 分钟 - 1 小时,无需加班加点,按计划执行,7 天就能做出一个可实际使用的智能体,并融入日常流程。

        天数核心任务操作内容输出成果
        1定需求 + 选平台锁定一个需求(如文档问答助手),注册扣子账号,准备好相关素材(如 PDF 笔记)明确需求,完成平台注册,准备好素材
        2-3零代码搭建按步骤搭建智能体(新建 → 设角色 → 传知识库 → 配规则),完成核心功能测试第一个智能体原型,能回答基础问题
        4-5调试优化解决答非所问、找不到答案等常见问题,优化回复风格和交互规则可用的智能体,能精准解决核心需求
        6轻量化升级(可选)开启 1-2 个实用小功能(如答案标红、文档导出),添加快捷提问优化版智能体,使用体验更好
        7落地使用 + 记录问题将智能体融入日常流程(如用其复习笔记 / 整理文档),记录使用中遇到的问题能实际使用的智能体,形成问题清单

        核心目标​:7 天内让智能体成为你的 “专属小助手”,哪怕每天只使用一次,也是成功的落地。


Dify 沙箱逃逸漏洞 RCE 分析

前言



社区上还没有人分析过Dify的沙箱逃逸,n8n的分析了很多,今天来分析分析dify的,而且阿里云漏洞库给到了9.8的评分



image.png



漏洞描述

Dify是一款开源的LLM应用开发平台。在Dify的 代码节点 功能中,允许用户执行自定义的 JavaScript 代码。该漏洞是由于 Dify 沙箱(dify-sandbox)在执行用户提供的 JavaScript 代码时,未能在安全限制生效之前对用户代码进行充分的隔离。攻击者可以通过在 JavaScript 代码中重写全局函数(例如 parseInt),在沙箱安全限制(如 seccomp)生效之前执行任意系统命令,从而实现沙箱逃逸并获得宿主机 root 权限,进而获取敏感信息(如 API 密钥、内部服务器地址、K8s token)。

环境搭建

沙盒版本低于 0.2.11 就好了

在 docker 文件里面修改一下,这个不需要修改整个 dify

复现起来比较方便

只重启 sandbox

漏洞复现

POC

写一个代码执行的工作流



节点加入逃逸代码







成功

漏洞分析

根据 Huntr 披露的细节

漏洞的根源在于 Go 语言编写的 Runner (nodejs.go) 如何处理用户代码。它没有使用安全的沙箱上下文(如 vm.runInContext),而是采用了简单的字符串拼接

prescript.js



这样的顺序有什么问题呢?梳理清楚执行顺序

问题 1:parseInt 是 JavaScript 全局函数,可以被用户代码覆盖
问题 2:parseInt 在 difySeccomp 之前被调用
问题 3:用户代码拼接在 prescript.js 之后,会在 parseInt 调用前执行

nodejs.go

可以看到完全没有隔离,我记得当时有一个 jsp 的 webshell 就是利用这个原理免杀的

最终生成的 JS 脚本

当 Go 程序完成拼接后,Node.js 进程实际接收到的 final_script 长这样



在 JavaScript 中,函数声明具有最高的提升优先级,也就是在代码执行任何一行之前,JS 引擎会先扫描整个作用域,将所有 function xxx() {} 提升到内存顶部

所以在编译阶段,Node.js 解析整个拼接后的脚本,发现了用户代码中自定义的函数,将全局作用域中的 parseInt 引用指向用户的恶意函数,覆盖了原生的 parseInt

导致了漏洞

Payload 解析

JavaScript 函数声明提升机制

在 JavaScript 中,**函数声明(Function Declaration)**具有最高的提升优先级:

JavaScript 引擎在执行代码前,会先扫描整个作用域,将所有 function xxx() {} 声明提升到内存顶部

执行流程



总结

其实总的下来,就是一个这样的顺序,而这个漏洞最重要的就是执行顺序



漏洞修复

https://github.com/langgenius/dify-sandbox/commit/a0c74d335e380d0a51595cdc0ad975a064a6127b



漏洞的本质就是执行的顺序,安全边界 Seccomp 限制优先执行就好了

调整代码执行顺序:确保 difySeccomp(安全限制)在用户代码执行前调用,彻底避免沙箱生效前的 “窗口期”。例如,修改 prescript.js 与用户代码的拼接逻辑,让 difySeccomp 优先执行:



参考

https://athink.cn/securitynews/detail/?id=687dd9dd10b54e7878ef6d1b

https://huntr.com/bounties/f8dc17a3-5536-4944-a680-24070903cd2d