大数跨境

Dify 1.17.1 新版 Agent 装上技能、文件、工具后,它自己揪出了 384.8 万的窟窿!

Dify 1.17.1 新版 Agent 装上技能、文件、工具后,它自己揪出了 384.8 万的窟窿! AI4SE
2026-10-12
2
导读:一份 6 个月、1.8 万行的销售明细丢进去,AI 数据分析师自己下载附件、跑脚本、出图、写报告——华南扫地机

一份 6 个月、1.8 万行的销售明细丢进去,AI 数据分析师自己下载附件、跑脚本、出图、写报告——华南扫地机器人 8 月暴跌 84.8%,一个数字都没编。

折腾了一晚上,把 Dify 1.17.1 新版 Agent 的 Skills / Files / Tools / Env四个槽位全部用上,做了一个「AI 数据分析师」。

先说结果:上传一份 2026 年 4–9 月的销售 CSV,问一句"帮我全面体检",它 10 步工具调用跑完,给出的核心数字和我本地脚本跑出来的一位小数都不差:

  • 总销售额 26339.8 万元,毛利率 28.1%
  • 华南 × 扫地机器人 8 月环比 −84.8%,影响金额 384.8 万元
  • 抖音 × 蓝牙耳机毛利率只有 21.4%,卖得多赚得少
  • 智能手表退货率 6.0%,是整体的 1.7 倍

这几个"坑"是我造数据时故意埋进去的,它一个没漏。

为什么旧 Agent 做不好数据分析

以前的 Agent 本质是"一段 Prompt + 一堆函数调用"。让它分析数据,常见翻车三连:

  1. 口径乱:这次用元、下次用万元,毛利率有时算成毛利额
  2. 每次重写:同样的 pandas 代码,每轮对话从零写一遍,错法还不一样
  3. 漏看:问趋势就只看趋势,大促尖峰、退货风险根本不查

Dify 这次重做 Agent,核心思路是把 Agent 拆成一个 Agent Soul:它是谁(Prompt)、会什么(Skills)、带什么(Files)、能用什么(Tools)、在什么环境里跑(Env + 沙箱)。

数据分析恰好是最吃这套的场景。

架构:Soul 负责"懂行",沙箱负责"动手"


AI 数据分析师架构

配置页长这样,Prompt 里那些蓝色小标签就是对技能和文件的引用:


Agent 配置页

1. Skills:把分析 SOP 打包成技能

技能就是一个 zip,根目录放 SKILL.md,旁边带脚本:

sales-data-analysis/
├── SKILL.md              # 何时用、工作流程、必查清单、写作规则
├── scripts/analyze_sales.py   # 指标 + 下钻异常 + 大促尖峰 + 4 张图
└── references/chart_style.md

关键是 SKILL.md里的必查清单:月度趋势、大促尖峰、下钻异常、毛利侵蚀、退货风险,五项逐条核对。

Prompt 里写一句 [§skill:sales-data-analysis§],运行时 Dify 会自动把技能拉进沙箱。从执行轨迹看,它直接跑了 .dify_conf/skills/sales-data-analysis/scripts/analyze_sales.py,没有自己瞎写 pandas。

2. Files:口径和模板不靠"记性"

两份配置文件:

  • metrics_dictionary.md:毛利率怎么算、异常下滑阈值是多少、金额统一万元
  • report_template.md:一句话结论 → 核心指标 → 关键发现 → 异常预警 → 行动建议

同样用 [§file:report_template.md§]引用。改报告格式不用动 Prompt,换个文件就行,这对给不同老板出不同版式特别好用。

3. Tools:内置工具 + CLI 工具

  • current_time:报告写分析时间,用户说"上个月"时先取当前日期
  • webscraper:用户给链接或要求行业对标时才抓
  • CLI 工具 python-data-stack:沙箱启动时预装 pandas / matplotlib

内置工具选 credential_type: unauthorized,不用配任何密钥。

4. Env:阈值交给业务方调

ANOMALY_DROP_THRESHOLD = -0.3   # 环比跌超 30% 算异常
ANOMALY_MIN_BASE_WAN   = 5      # 上月不足 5 万元的小盘子不报

脚本直接读环境变量。运营觉得 30% 太松想改成 20%?改 Env 就行,Prompt 和代码都不用碰。

5. 模型:交给 Smart Router

模型选的是「AI码力智能大模型推荐服务」插件里的 smart-router,按任务复杂度自动路由。Agent 这边只管选一个名字。

实测:10 步跑完,数字全对


执行轨迹与报告

左边是真实的工具调用轨迹:下载附件 → 定位文件 → 跑技能脚本 → 缺依赖自己装 → 重跑 → 上传两张图。右边是它按模板写出的报告。

技能脚本产出的异常排行,华南扫地机器人一骑绝尘:


异常排行

渠道 × 品类毛利热力图,抖音蓝牙耳机那一格颜色最深:


毛利热力图

踩过的 5 个坑

坑 1:CLI 工具安装超时,整个对话直接 400

CLI 工具的 install_commands跑在沙箱启动脚本里,硬超时 30 秒。pip 装 pandas + matplotlib 肯定超。

解法:安装命令改成后台执行,装完写一个 ~/.data-stack.ok标记文件;Prompt 里让 Agent 跑 Python 前先等这个标记。

坑 2:沙箱里别用 uv

uv 会报 cross-device link(EXDEV)错误,老老实实 pip install --user。

坑 3:Build Mode 一键应用会覆盖你的 Prompt

在控制台用 Build Mode 让 AI 帮改配置,点"应用"后我手调的 Prompt 被回滚了。用 API 维护配置的话,别和 Build Mode 混着改。

坑 4:工具配了,不代表模型会调

这次实测里 current_time 一次没被调用,报告开头缺了分析时间。只在"工具箱"里介绍还不够,要在"工作方式"第一步就写死"先调用 current_time"。

坑 5:本地装第三方插件要关签名校验

本地自部署装非 Marketplace 插件,需要在 docker/.env里设 FORCE_VERIFYING_SIGNATURE=false。只建议在本地开发环境这么做。

这套模式能复制到哪

把"销售数据"换掉,结构完全不用变:

  • 财务月结:技能 = 对账脚本,文件 = 科目口径,Env = 差异容忍度
  • 运维巡检:技能 = 日志分析脚本,工具 = webscraper 查状态页
  • 用户研究:技能 = 问卷统计脚本,文件 = 报告模板

Prompt 管人设和流程,Skills 管手艺,Files 管规矩,Env 管阈值。四样拆开,Agent 才真正可维护。


AI 不缺会聊的,缺的是会动手、守口径、不编数的。新版 Dify Agent 第一次让这件事变得像搭积木。

觉得有用点个在看,下次更新不迷路。你最想让 AI 数据分析师帮你分析哪类数据?评论区聊聊。


#Dify# #AI Agent# #数据分析# #Agent Skills# #智能体开发# #沙箱# #大模型应用# #Dify1.17# #自动化报告# #AI码力#

【声明】内容源于网络
0
0
AI4SE
聚焦Dify、Coze等工作流和 AI 智能体研发,融合LLM、AI Agent、RAG、MCP 等技术,驱动高效赋能。
内容 229
粉丝 0
AI4SE 聚焦Dify、Coze等工作流和 AI 智能体研发,融合LLM、AI Agent、RAG、MCP 等技术,驱动高效赋能。
总阅读11.1k
粉丝0
内容229