这是一个虚构但很典型的案例:刘哥是一位负责记账、报销审核、对账和报表的财务人员,最近手头在忙“完成 9 月月结和凭证整理”,同时还要准备“准备季度税务申报资料”。这次刘哥需要整理一份给财务经理的费用分析报告,决定试试 AI 自然语言转 SQL。

背景

对刘哥来说,月底对账、报表整理、费用分析和解释财务制度很费时间,表格操作多且容易出错。偏偏这次还遇到一个变数:一笔大额应收账款逾期,需要销售部门协助催收。费用分析报告需要尽快交给财务经理,时间并不宽裕。

第一次尝试:问题出在哪

刘哥一开始只写了一句话:

帮我写一份关于“部门费用预算执行情况”的费用分析报告。

结果 AI 给出的内容四平八稳却用不上。复盘下来,主要有两个问题:

  • 不提供表结构。
  • 提供真实的用户数据。

改进后的提示词

刘哥按照自然语言写 SQL 的思路重写了提示词,核心是说明数据库类型:

数据库类型:[例如 MySQL]
表结构:
- 费用报销表:费用类别、报销日期(日期)、报销金额(数值)、所属部门
需求:统计最近 30 天,每个“费用类别”的记录数和“报销金额”的总和,按总和从高到低排序,只显示前 10 名。
请:
1. 写出 SQL,并逐段解释;
2. 说明“最近 30 天”你是如何定义的;
3. 指出如果某些字段有空值,结果会受到什么影响。

结果(示意)

下面的效果为虚构演示,用来说明这类改进通常带来的变化:

示例(虚构):一位运营想知道“每个渠道新用户的首单平均金额”。AI 写出一段先找每位用户首单、再按渠道求平均的 SQL,并提醒“如果同一用户同一天有多笔订单,需要确定以哪一笔为首单”。

拿到结果后,刘哥没有直接转发,而是先检查关键事实和数字,再补上 AI 不知道的背景。

复盘:这次用到的方法

  • 用业务语言描述需求,写清指标口径和筛选条件。
  • 让 AI 写出 SQL 并逐段解释。
  • 在测试环境或用小范围条件执行,核对结果。
  • 提供字段名和含义,否则 AI 只能猜测。

之后刘哥发现,同样的方法也适用于另一类场景:看不懂别人写的 SQL,需要解释。

复盘时刘哥还想到一个问题:能写存储过程吗?答案是:可以,但复杂逻辑需要更仔细的测试和评审。

给财务的提醒

让 AI 写公式和处理步骤,而不是把含真实金额的表格整份上传。税务和会计处理以现行法规和公司制度为准,AI 的解读可能过时或不准确。另外,对话里不要出现银行账户、工资明细、发票信息和公司财务数据。

一个额外的小技巧:让 AI 解释查询计划,学习性能优化。

可以复用的经验

这个案例里最值得复用的,不是某一句提示词,而是“先说清背景和标准,再看结果、再修正”的习惯。下次遇到“配合年度预算编制”这类任务,同样适用。

相关阅读