8.0
热点
AI SCORE
工具产品2026-08-19 21:02
AI飞行记录仪:像追飞机黑匣子一样调试AI会话
dev.to · AI#AI调试#开源#成本分析
Editor brief · 编辑速览
开发者为解决AI调用费用无法定位的问题,构建了飞行记录仪工具,可自动捕获prompt、token消耗、工具调用等完整会话数据,支持0.25x到8x速率回放和逐请求成本分析。
Token 费用不断出现在账单上,但我无法把它们和具体某个会话对应起来。当某件事出现异常行为时,我的选择基本就是"多加几个 console.log",然后盼着能复现问题。不太理想。
于是我做了一个 AI Flight Recorder。
飞机上的飞行记录器会捕获所有发生的事情,这样事后可以重建事件。这里也是同样的概念:只需包装一次你现有的 client,然后每个 prompt、token、tool call 和 completion 都会自动被捕获到 .flight 文件中。
import OpenAI from "openai";
import { FlightRecorder, wrapOpenAI } from "@ai-flight-recorder/sdk";
const fr = new FlightRecorder();
const openai = wrapOpenAI(new OpenAI(), fr);
// Your existing code doesn't change
会话保存为 .flight 文件,是普通的 JSON,可以提交到 git、附在 bug 报告里,或者交给队友。

DevTools 应用可以让你以可变速度(0.25x 到 8x)回放任意会话,有完整的时间线:prompt 进入、token 流出、tool call、completion。它还会按请求拆分成本,这样你可以清楚地看到 token 预算花在了哪里。
如果你不想离开编辑器,也有一个 VS Code 扩展。
我希望这些文件无需特殊工具就能阅读,所以它们是带版本信封的普通 JSON:
{
"version": "1",
"exportedAt": 1722960000000,
"session": {
"id": "abc-123",
"status": "ended",
"events": [
{ "type": "prompt", "model": "gpt-4o", "prompt": "..." },
{ "type": "token", "token": "Hello", "index": 0 },
{ "type": "completion", "totalTokens": 142, "estimatedCost": 0.000284 }
]
}
}
每个事件都有时间戳,这正是保证回放准确性的关键。
如果你对格式设计或回放时间机制有疑问,我在评论区随时解答。