功能建议:在WPS AI函数中引入Python数据分析能力
Lv.2潜力创作者
背景与现状
WPS 表格目前存在三条并行的智能化路径:
AI 函数体系:以 WPSAI()、WPSAI.CLASSIFY()、WPSAI.EXTRACT()、WPSAI.SUMMARIZE()、WPSAI.TRANSLATE()、WPSAI.SENTIANALYSIS()、WPSAI.ASSOCTRANS() 为代表,通过自然语言调用大语言模型,在单元格内完成文本分类、信息提取、摘要生成、翻译、情感分析等任务。其本质是将单元格数据作为 prompt 的一部分发送至云端 LLM,返回文本结果。
AI 数据分析功能:通过顶部菜单栏「WPS AI」→「AI 数据分析」入口触发,用户以自然语言描述分析需求,系统自动完成需求拆解、生成 Python 分析代码、执行计算并输出分析报告。该功能的底层实现即为 Python 数据处理。社区用户浩平在实践帖中描述了其执行流程:提交需求后,系统自动进行需求拆解(梳理分析维度、关联字段建立逻辑),随后生成数据分析代码并自动完成数据合并、计算、格式优化,全程无需用户编写代码(《用 WPS AI 做数据分析,真香!!!》)。社区用户闵鑫亦指出,该功能生成的数据可视化图表是通过 Python 代码生成的,且生成后的图表支持在表格中直接进行二次编辑(《教师高效办公利器:WPS AI一键搞定数据分析与图表生成》)。
PY 脚本编辑器:嵌入 WPS 表格桌面端(v12.1.0+)的 Python 执行环境,支持 Python 3.8,预装 Pandas、NumPy、Matplotlib、pyecharts、akshare、tushare、baostock、pymysql、pytorch 等库,通过内置的 xl() 和 write_xl() 函数实现与表格数据的双向读写。
这三条路径目前彼此独立,形成了功能上的"孤岛"。
问题分析
1. AI 函数缺乏计算分析能力
现有 AI 函数(如 WPSAI.CLASSIFY、WPSAI.EXTRACT)本质上执行的是文本理解与生成任务,输出为纯文本。当用户需要执行数值计算、统计分析、数据聚合等操作时(例如"对各区域销售额进行分组统计并计算同比增长率"),AI 函数无法胜任——它既不具备直接访问 Pandas 等计算库的能力,也无法输出结构化的数值结果供下游公式引用。
2. PY 脚本编辑器缺乏 AI 感知能力
PY 脚本编辑器虽然具备完整的 Python 执行环境,但其使用方式为独立代码面板——用户必须手动编写或粘贴 Python 代码,点击运行按钮执行。该路径缺乏与 AI 的集成:用户无法通过自然语言在单元格层面触发 Python 脚本,也无法让 AI 根据上下文自动生成分析脚本。
3. AI 数据分析能力未接入函数体系
「AI 数据分析」功能已经具备"自然语言 → Python 代码生成 → 执行 → 输出结果"的完整技术链路,但其能力被限制在独立面板中,未开放给 AI 函数体系调用。这导致以下结构性问题:
结果不可引用:分析报告以独立面板或工作表呈现,其产出无法作为单元格值被其他公式引用,也无法嵌入到现有的公式体系中参与链式计算。
流程不可自动化:每次使用都需要用户手动触发入口、输入指令、等待执行,无法像函数那样随数据更新自动重新计算。
能力不对等:AI 函数和 AI 数据分析功能分别调用同一套 AI 后端,但前者仅暴露文本处理能力,后者可调用 Python 执行环境——两者的能力差异并未在函数层面得到统一。
功能建议:将 AI 数据分析的 Python 能力引入 AI 函数
核心设计
建议在 WPS AI 函数家族中新增 WPSAI.ANALYZE() 函数,让用户无需编写代码,在单元格中即可通过自然语言完成数据分析。
函数签名:
=WPSAI.ANALYZE(data_range, analysis_instruction, [output_type])参数 | 类型 | 必填 | 说明 |
data_range | 引用范围 | 是 | 待分析的数据区域,如 A1:D100 |
analysis_instruction | 文本 | 是 | 自然语言描述的分析需求 |
output_type | 文本 | 否 | 输出格式控制:"value"(默认,返回单个数值)、"table"(返回结构化表格)、"text"(返回文本描述) |
工作流程
该函数的内部执行链路如下:
数据采集:从 data_range 提取当前工作表中的数据,构造为结构化输入。
代码生成:将 data_range 的结构信息(列名、数据类型、样本数据)与 analysis_instruction 一并发送至 AI 后端,由大语言模型生成对应的 Python 分析代码(基于 Pandas/NumPy 等库)。
安全执行:在沙箱化的 Python 运行时中执行生成的代码,传入数据。
结果返回:根据 output_type 参数,将执行结果转换为单元格可展示的值并写入公式所在单元格。
典型使用场景
场景一:条件聚合统计
=WPSAI.ANALYZE(A1:D100, "按部门分组计算平均薪资、最高薪资、最低薪资和人数", "table")该函数将自动生成基于 Pandas groupby 的聚合代码,执行后将结构化结果以表格形式返回到单元格区域。
场景二:趋势分析与预测
=WPSAI.ANALYZE(A1:B50, "对销售额时间序列进行线性趋势拟合并预测未来3期", "value")该函数将自动生成基于 NumPy/SciPy 的趋势拟合代码,返回预测值。
场景三:数据清洗与标准化
=WPSAI.ANALYZE(A1:A500, "识别并标记异常值(超出3倍标准差),返回异常值数量", "value")该函数将自动生成异常检测代码,返回异常值计数。
场景四:跨表数据关联
=WPSAI.ANALYZE(Sheet1!A1:D100, "将本表数据按产品编号与Sheet2的E1:H50做左连接合并", "table")技术可行性分析
该功能所需的核心组件在 WPS 现有技术栈中均已具备:
所需能力 | 现有基础 |
大语言模型推理 | WPS AI 函数体系已接入 LLM 后端(支持 DeepSeek 等模型) |
Python 运行时 | PY 脚本编辑器已内置 Python 3.8 + Pandas/NumPy 等库 |
表格数据读写接口 | xl() 和 write_xl() 函数已实现表格与 Python 的双向数据传递 |
AI 代码生成能力 | 「AI 数据分析」功能已实现自然语言到 Python 代码的自动生成 |
单元格函数框架 | WPS AI 函数(WPSAI.* 系列)已有成熟的注册、计算、缓存机制 |
换言之,WPSAI.ANALYZE() 并非从零开始的新功能,而是对现有三条路径的架构级整合——将 AI 数据分析的代码生成能力、PY 脚本编辑器的执行环境、AI 函数的单元格集成框架统一到一个函数入口中。
补充建议
除 WPSAI.ANALYZE() 函数外,以下几点亦值得考虑:
代码可见性:提供一种方式让用户查看 AI 生成的 Python 代码,以便理解分析逻辑、调试异常结果或在 PY 脚本编辑器中二次使用。
结构化输出:当分析结果为表格数据(如分组聚合、数据透视)时,支持将结果展开写入相邻单元格区域,使其可被其他公式引用。
函数可组合性:WPSAI.ANALYZE() 的输出应能被现有表格函数(SUM、AVERAGE、VLOOKUP 等)嵌套引用,真正融入公式计算链。
安全与性能考量
代码安全:AI 生成的 Python 代码须在沙箱环境中执行,禁止网络访问和文件系统操作,仅允许数据处理库(Pandas、NumPy、SciPy 等)的导入和执行。
执行超时:设定单次执行的超时阈值(建议 30 秒),防止复杂计算阻塞表格响应。
资源限制:对数据输入量设定上限(建议 10,000 行 × 50 列),超出时提示用户缩小数据范围或使用 PY 脚本编辑器进行完整分析。
模型依赖:代码生成质量直接取决于 LLM 的推理能力,建议内置代码模板库和校验机制,对生成的代码进行语法检查和基本的安全审计后再执行。
总结
WPS 表格已在 AI 函数、Python 脚本编辑器和 AI 数据分析三个方向上分别积累了成熟的技术能力。将「AI 数据分析」已具备的 Python 代码生成与执行能力引入 AI 函数体系,封装为 WPSAI.ANALYZE() 函数,是技术架构上的合理整合——它无需引入新的技术组件,而是打通现有三条路径之间的壁垒。该功能将使 WPS AI 函数从"文本理解工具"升级为"数据分析引擎",让用户在单元格层面即可完成从数据读取、分析计算到结果引用的全流程,真正实现"自然语言驱动的可编程数据分析"。