Prompt Debugging

Prompt Debugging 是调试 Prompt 效果的工程实践,包括查看完整 Prompt、对比不同版本、分析 token 分布和测试边界情况。

#type / concept #status / evergreen #tech / ai

[!info] related notes

Prompt Debugging

一句话定义

Prompt Debugging 是调试 Prompt 效果的工程实践。Agent 回答不好时,需要看”Prompt 里到底塞了什么”——完整 Prompt、token 分布、上下文组成。

核心原理

调试信息

class PromptDebugger:
    def debug(self, messages: list[dict]) -> dict:
        return {
            "total_tokens": self.count_tokens(messages),
            "message_count": len(messages),
            "token_distribution": {
                "system_prompt": self.count_tokens(messages[0]["content"]),
                "user_profile": self.count_tokens(messages[1]["content"]),
                "history": sum(self.count_tokens(m["content"]) for m in messages[2:-1]),
                "current_input": self.count_tokens(messages[-1]["content"]),
            },
            "full_prompt": messages,
        }

调试界面

function PromptDebugger({ trace }: { trace: Trace }) {
  return (
    <div className="prompt-debugger">
      <h3>Prompt 分析</h3>
      <div>总 Token: {trace.totalTokens}</div>
      <div>消息数: {trace.messageCount}</div>

      <h4>Token 分布</h4>
      <BarChart data={trace.tokenDistribution} />

      <h4>完整 Prompt</h4>
      <pre>{JSON.stringify(trace.fullPrompt, null, 2)}</pre>
    </div>
  );
}

常见坑

  1. 不记录完整 Prompt: 出问题不知道 Prompt 是什么
  2. 不做 token 分析: 不知道哪些部分占了太多 token
  3. 不做 A/B 测试: 不知道改了 Prompt 效果变好还是变差

参考资料

创建于 2026/6/30 更新于 2026/7/15