excel-nl-python-query
SKILL.md
Excel NL Python — LLM-in-the-loop Excel 分析技能
目标:让用户用中文描述分析诉求,技能在本地完成数据质量检查和采样后,调用 LLM 进行“分析计划规划 + 逐步产码”,每步落地可复现脚本并执行,汇总结论并按需出HTML报告。
端到端流程
- 读取数据
- 支持 .xlsx/.xls/.csv,读取每个 Sheet 的数据
- 概要统计(直接在对话展示)
- 通过 python 脚本计算以下统计数据:
- 有哪些 sheet
- 每个sheet一共有多少行数据,有哪些列,每列的类型
- 每个sheet每个维度的数据统计(成员个数、空值数、top3的值等)
- 每个sheet每个度量的统计数据(范围,空值数等)
- 每个sheet取前10行样本数据
- 输出 profile.json 用于记录与复用
- 使用 LLM 总结统计结果并在对话以用户友好形式呈现
- 通过 python 脚本计算以下统计数据:
- LLM 拆解计划(plan)
- 提示词:references/prompts/plan_prompt.md
- 输入:统计数据+用户原始诉求
- 输出:结构化步骤计划(steps),含每步 intent/inputs/code_contract
- 结构化执行步骤友好在对话框呈现输出
- 逐步代码生成与执行
- 提示词:references/prompts/step_code_prompt.md
- 对每步调用 LLM 生成独立 Python 脚本(保存为 stepNN_*.py)并立即执行,产出数据文件(CSV/JSON)
- 每步记录执行日志(数据行列/校验/错误)
- 在对话中呈现每步骤的进度信息
- 汇总展示与二次确认
- 基于执行计划生成的结果数据结合用户的原始诉求,使用 LLM 进行分析总结并以友好的结果呈现,数据部分尽量使用表格
- 追问是否生成 HTML 报告;仅在用户确认后生成
运行方式(面向代理)
- 脚本:scripts/run_nl_job.py
- 参数:
- --path <文件或目录>
- --task <中文自然语言诉求(可多句)>
- --out <输出目录>
- --format html|csv|json|text(对话默认 text/json 以便内联展示)
- --emit-script(落地每步 .py)
- (内部)会注入 plan_prompt 和 step_code_prompt 给 LLM
安全与复现
- 仅读取用户指定路径;写入仅限 --out
- 每步脚本固定读取 IN.csv/IN.parquet,严格输出指定文件名
- 保存 plan.json、logs、step 脚本与产出数据;可随时复跑
可扩展
- 引入自定义别名表 references/field_alias.json
- 更多意图:同比/环比/异常检测/相关性/聚类/购物篮等
- 输出 PDF:HTML→PDF
使用时:先输出“画像+计划+表格预览+是否生成HTML”的交互;用户确认后再落地报告。