一次完整的 Prompt Engineering 实战:让 AI 自动生成销售分析报告

一次完整的 Prompt Engineering 实战:让 AI 自动生成销售分析报告

在这篇笔记里,我分享一个用 OpenAI API 实现的实战案例 ------ 让 AI 自动分析销售数据并生成报告。

这个过程不仅能帮你理解如何编写和调用大模型接口,还能深入体会 Prompt Engineering(提示工程) 的重要性。


一、项目背景

我们希望用一段简单的 JavaScript 代码,让 AI 根据销售数据生成一份销售分析报告。

例如:

  • 计算每种产品的总销售额;
  • 判断哪种销售策略更有效。

二、代码实现

首先,导入依赖并配置环境变量:

php 复制代码
import OpenAI from 'openai';
import { config } from 'dotenv';

config({ path: '.env' });

const client = new OpenAI({
  apiKey: process.env.OPENAI_API_KEY,
  baseURL: 'https://api.agicto.cn/v1'
});

这里使用了:

  • dotenv :管理 .env 文件中的 OPENAI_API_KEY
  • OpenAI SDK:与模型进行通信

三、准备数据与 Prompt

销售数据如下:

yaml 复制代码
const saleData = `销售数据:
日期,产品,销量,单价,总收入
2023-01-01,iPhone 13,100,6000,600000
2023-01-01,iPhone 14,50,8000,400000
2023-01-02,iPhone 13,80,6000,480000
2023-01-02,iPhone 14,60,8000,480000
2023-01-03,iPhone 13,120,5800,696000
2023-01-03,iPhone 14,80,7800,624000
`;

然后我们在函数中构建 Prompt:

ini 复制代码
const main = async (reference_data, query) => {
  const prompt = `
  You are an AI data analysis assistant that generates sales 
  reports based on the given sales data.
  Here is the sales data:\n ${reference_data} \n\n
  Please generate a report to answer the following question:\n
  ${query}
  `;

  let response = await client.chat.completions.create({
    model: "gpt-4o-mini",
    messages: [{ role: 'user', content: prompt }],
    max_tokens: 1024,
    temperature: 0.1,
  });

  console.log(response.choices[0].message.content);
};

四、运行测试

测试示例一:计算总销售额

less 复制代码
main(
  saleData,
  '根据上述销售数据,计算iPhone 13和iPhone 14的总销售额各是多少?'
);

测试示例二:分析销售策略效果

less 复制代码
main(
  saleData,
  '根据上面的销售数据,采取的哪个销售策略非常有效?'
);

运行后,模型会根据你的问题生成自然语言报告。


五、Prompt Engineering 的关键要点

在这个小项目中,Prompt 的编写决定了结果的质量。

一些经验总结:

  1. 身份设定
    明确告诉模型它是谁(例如:"你是一名数据分析助手"),有助于输出更专业的内容。
  2. 上下文清晰
    使用 \n\n 明确区分"任务说明""数据内容""问题"。
  3. 语言简洁
    避免含糊的指令。比如不要说"请帮我分析一下",而是直接问:"哪种销售策略更有效?"
  4. 可重复性
    使用模板字符串 ${reference_data} + ${query},方便不同数据与问题复用。
  5. 低温度输出
    设置 temperature: 0.1,让模型更偏向逻辑性和稳定性,而非创意。

六、总结

通过这个例子可以看到:

  • Prompt 工程 是让大模型"听懂你话"的核心;
  • 清晰的数据边界 + 明确的任务指令 能显著提升输出质量;
  • 一个好的 Prompt,往往比模型本身更重要。

小结一句:

"Prompt 写得好,AI 就是你的超强助手;

Prompt 写不好,它就成了诗人。"

相关推荐
深藏blue477 小时前
OpenAI Codex & Codex CLI 国内使用教程:手把手教你安装与上手
openai·ai编程
机器之心1 天前
单张4090跑到30fps,范浩强团队让VLA实时跑起来了
人工智能·openai
机器之心1 天前
刚刚,Kimi开源新架构,开始押注线性注意力
人工智能·openai
新智元1 天前
老黄亲自站台,英伟达编程神器!Cursor 2.0 自研模型狂飙 4 倍
人工智能·openai
新智元1 天前
AI是「天才」还是「话术大师」?Anthropic颠覆性实验,终揭答案!
人工智能·openai
FightingITPanda1 天前
springAI +openAI 接入阿里云百炼大模型-通义千问
openai·通义千问·springai·阿里云百炼
yaocheng的ai分身1 天前
OpenAI推出Aardvark:OpenAI的代理安全研究员
openai
拖拉斯旋风1 天前
0基础学习Openai之:通过Prompt生成你心中的那幅画🎨
javascript·openai
深色風信子1 天前
SpringBoot 集成 LangChain4j OpenAI
java·spring boot·spring·openai·langchain4j