OpenAI Responses API 写作怎么用代码解释器分析数据
需要把表格结果写成运营报告或数据解读时,先让模型使用代码解释器完成计算,再要求它只根据计算输出写作,能减少把猜测当成结论的风险。
准备
这套流程适合已有一份小型表格或统计结果、需要产出分析文章的场景。核心原则是分两步:先计算并保留结果,再根据结果写正文。不要让正文阶段重新估算数字。
- 准备字段清楚的数据,例如日期、渠道、访问量、订单量和收入。
- 先确定要回答的问题,例如“哪个渠道收入最高”“本周与上周差多少”。
- 在请求中声明代码解释器,并通过 include 请求返回代码执行输出。
- 给正文设置边界:仅引用已计算出的数值;缺少数据时明确说明缺口。
分步操作
先把数据整理成可读文本。下面示例直接把 CSV 内容放进任务中,便于先跑通流程;真实项目应保留原始文件和本次请求内容,方便复核。
from openai import OpenAI client = OpenAI() csv_text = """channel,visits,orders,revenue search,1200,48,9600 social,800,20,3000 email,400,24,5400 """ response = client.responses.create( model="YOUR_MODEL_ID", tools=[{"type": "code_interpreter"}], include=["code_interpreter_call.outputs"], instructions="你是数据分析助手。先使用代码解释器计算总计、各渠道转化率和收入占比。不得猜测缺失数据。完成计算后,单独列出可供写作引用的结论及其数值。", input="请分析以下 CSV 数据:\n" + csv_text ) print(response.output_text)检查响应里的文字结论和代码执行输出。Responses API 的 include 参数可请求返回代码解释器调用的输出。把其中的计算结果保存为本次任务的分析记录,不要只保存最后一段自然语言。
确认关键计算。至少人工复算一项:例如收入总额是否等于各渠道收入之和,转化率的分母是否为 visits。发现疑问时,带着具体问题重新请求计算,不要直接改正文里的数字。
再发起写作请求。将已经确认的结论作为唯一数据依据,并要求每个数字都对应一条结论。需要让输出字段稳定时,可结合结构化检查方法在应用侧校验标题、摘要和正文。
facts = """已核对的分析结论: - 总访问量:2400 - 总订单量:92 - 总收入:18000 - search 收入:9600,收入占比约 53.3% - email 转化率:6.0% - social 转化率:2.5% """ article = client.responses.create( model="YOUR_MODEL_ID", instructions="你是运营报告编辑。只能使用输入中的已核对结论,不得补充原因、趋势或外部事实。数字保留原有精度;无法支持的判断写为待验证。输出包含标题、摘要和三个小节。", input="根据以下结论写一篇简短运营分析:\n" + facts ) print(article.output_text)把正文中的每个数字回指到分析记录。数字能对应就保留;对应不上就删除、改成待验证,或回到计算步骤重新分析。
可复制模板
数据任务:分析【数据范围】。
计算要求:
1. 计算【指标 1】、【指标 2】和【指标 3】。
2. 写清每个比率的分子与分母。
3. 遇到空值、重复值或无法计算的字段,单独列出,不得自行补值。
4. 输出“已核对结论”,每条包含指标名、数值、计算口径。
写作任务:
只根据“已核对结论”写【报告类型】。
每个数据句必须保留指标名和数值。
不得把相关性写成因果,不得添加数据中未出现的时间、对象或原因。
资料不足时使用“待验证”,不要给出确定判断。
例如,若 email 的转化率高于 social,可以写“在这份数据中,email 的转化率为 6.0%,social 为 2.5%”。不能仅凭这两个数值写成“email 内容导致转化更高”,因为原因并未由表格证明。
翻车怎么改
常见故障:正文里出现了计算输出没有的增长率或原因判断。原因:计算与写作混在同一条模糊指令中,模型可能把未提供的比较基期或业务背景补全。修正动作:把流程拆成“分析请求”和“写作请求”;写作请求只传入已核对结论,并明确禁止新增数字和因果解释。发布前再逐项比对正文数字与分析记录。
常见故障:代码执行完成了,但拿到的响应里看不到执行结果。原因:请求没有包含代码解释器调用输出。修正动作:在 include 中加入 code_interpreter_call.outputs,并在应用日志中保存响应的工具调用信息与最终正文。
完成前检查
- 发布前验收:正文中每个数值、百分比和排名都能在已保存的分析记录中找到对应项。
- 检查计算口径是否一致,例如转化率是否都使用同一个分母。
- 检查是否把“数据表现”误写成“原因结论”。
- 检查空值、异常值和缺失字段是否已明确标注,而不是被静默忽略。
- 保存本次输入数据范围、请求参数、响应记录和最终稿,便于后续复查。
下一步
把这篇的方法练一遍
提示词和步骤可以带到创作里直接试做一版。