~ / llm-debug-evaluation / llm-debugging 大模型调试
Module 01 · Debugging

大模型 调试

调试 Agent 不是"凭感觉看输出",而是看清每一次请求的真实轨迹:系统提示词、工具定义、工具返回、token 消耗、上下文如何累积。本模块覆盖本地优先的桌面调试台(LLM Space)、全链路追踪(Langfuse)、请求级抓包回放(Claude-Tap)与本地可观测(Arize Phoenix)。

▦ 工具总览

四大调试工具定位互补:一个看"Agent 内部每一步",一个看"生产链路追踪",一个看"发给模型的真实请求",一个做"本地可观测与 RAG 评测"。

工具核心定位最适合形态
LLM Space桌面级 Agent IDE:构建/追踪/回放/评测/生成逐步调试、同 prompt 跨模型对比打分桌面 App(本地优先)
LangfuseLLM 工程全链路追踪与评测平台生产环境 trace、cost/latency、数据集实验自托管 / 云服务
Claude-Tap本地代理 + trace 查看器,抓真实请求看 system prompt/工具/token/diff,回放对比CLI + 本地 HTML
Arize Phoenix本地优先的 LLM & RAG 可观测本地 trace、RAG 检索/生成质量评测Python 包(本地)

01 LLM Space

字节 DeerFlow 姊妹项目(github.com/deer-flow/llm-space),一款给 Agent 开发者的桌面调试台。把"构建、追踪、回放、评测、管理"放在同一个工作台,数据默认留在本地(~/.llm-space)。

LLM Space v4 Desktop · MIT

官网 deer-flow.github.io/llm-space 仓库 github.com/deer-flow/llm-space TS + Bun + Electrobun + React
官方仓库 ↗

下载与安装

# 从 GitHub Releases 下载 DMG(macOS Apple Silicon / Intel)
# 两个版本共享同一份 ~/.llm-space 数据,可同时安装:
#  - LLM Space        ~27MB,使用系统 WebView
#  - LLM Space Perf   ~130MB,内嵌渲染引擎,跨版本渲染一致
open LLM-Space-*.dmg   # 拖入 Applications 即可
# 需先安装 Bun(https://bun.sh)
git clone https://github.com/deer-flow/llm-space.git
cd llm-space
bun install                 # 或 mise run setup(锁定 Bun 版本)
mise run dev              # 本地开发启动
mise run build:canary     # 构建 canary 版

六大能力(对应你的"逐 step 调试"需求)

Build 构建把 prompts / system messages / tools / 模型设置版本化管理(文件落本地)。
Trace 追踪实时看到 agent loop 中每一次模型调用与工具运行。
Debug 回放 ★从历史快照逐步回放,编辑任意消息/工具调用后"从该步重跑";可 Mock 工具返回,隔离"推理错误"vs"工具错误"。
Evaluate 评测 ★Rubric 跨 run 评估:选 2 个 run + 2–6 条 criteria,每条 1–5 分,自动算均分与 Δ=B−A,Verdict 人工判定。不触发任何模型调用。
Manage 管理threads 作为本地文件组织,不上云。
Generate 生成让 AI 写 prompt/tools,甚至把 thread 转成可运行 LangGraph Agent。

真实架构图(来源项目记忆,已嵌入)

LLM Space 五大模块
真实素材 · LLM Space 五大模块(Build / Trace / Debug / Evaluate / Manage)
LLM Space 单步回放
真实素材 · 单步 Debug 回放流程(编辑消息 → Run from this message)
LLM Space 混沌测试
真实素材 · 混沌测试矩阵(10 类异常注入)

同 prompt 跨模型对比 + 打分(你的核心诉求)

LLM Space 的 Evaluate 天然支持:把同一份 prompt 在多个模型(内置 20+ 服务商:OpenAI / Anthropic / DeepSeek / 智谱 / Groq / 火山引擎 / OpenRouter …)各跑一次形成多个 run,再用 Rubric 对 2 个 run 打分并算 Δ。结合 Debug 的"回放",可以精确看到"换模型后哪一步行为变了"。

02 Langfuse

开源 LLM 工程可观测与评测平台,做生产级 trace、cost/latency 统计与数据集实验。

Langfuse Tracing · OSS

官网 langfuse.com仓库 langfuse/langfuse
官方仓库 ↗

安装:SDK 埋点 + 自托管

# 1) 应用侧埋点(Python)
pip install langfuse
# 2) 自托管(Docker)
git clone https://github.com/langfuse/langfuse.git && cd langfuse
docker compose up -d     # 默认 http://localhost:3000
# 配置 LANGFUSE_PUBLIC_KEY / SECRET_KEY / BASE_URL 后,用 @observe 装饰器或 SDK 上报

埋点示例(Agent 追踪):将每次 LLM 调用、工具调用包成 trace/span,自动记录 token、延迟、输入输出。Hermes Agent 等框架内置 observability 插件(hermes plugins enable observability/langfuse)。

langfuse · trace view 示意(基于官方文档还原)
traceagent.run · 1.8s · $0.0021 · 2.1k tok
↳ LLMgpt-4o · system+12 msg · 840 in / 210 out
↳ Toolweb_search("北京天气") → 200 OK · 1.2s
↳ LLMgpt-4o · +tool result · 600 in / 95 out

典型用法:从 production trace 导出为 Dataset,换模型跑 Experiment 做 A/B 对比;用 LLM-as-Judge 或自定义评分对输出打分。

03 Claude-Tap

本地代理 + trace 查看器(github.com/liaohch3/claude-tap)。它把 AI 编程 Agent 实际发给模型的请求"扒"下来:系统提示词、工具 schema、工具调用与返回、流式响应、token 消耗、相邻请求 diff —— 正是你想要的"看 skill/tool 详细过程数据 + 提示词回放 + 对比"。

claude-tap Local Proxy · Trace

仓库 github.com/liaohch3/claude-tap支持 Claude Code/Codex/Gemini/Cursor/Pi/Hermes…
官方仓库 ↗

安装与运行

# 推荐用 uv(PyPI 需 Python 3.11+)
uv tool install claude-tap
# 或 pip
pip install claude-tap
# 或一键脚本
curl -fsSL https://raw.githubusercontent.com/liaohch3/claude-tap/main/install.sh | bash

# 追踪 Claude Code(默认客户端)
claude-tap
# 追踪其它客户端
claude-tap --tap-client codex
claude-tap --tap-client gemini -- -p "hello"
claude-tap --tap-live          # 实时浏览器流式查看(SSE)
# 导出自包含 HTML(本地离线,可复盘/分享)
claude-tap export .traces/2026-02-28/trace_141557.jsonl -o trace.html

所有 trace 默认留在本地 ~/.claude-tap/,认证头在记录前自动脱敏,不上传任何云服务。典型延迟增加 <50ms,适合实时结对编程。

它能"看"到什么(对应你的调试诉求)

系统提示词Agent 实际收到的规则是否如你所想?
工具 schema / 调用 / 返回参数对不对?观察(observation)是不是错的导致答错?
流式响应重建调试流式或工具调用边界。
token 用量成本增长来自历史/工具输出/重复上下文?
请求 diff相邻两次请求差了什么 prompt/消息/工具/参数 → 快速定位回归。
回放 / 对比同一 prompt 不同模型,用 diff 看请求结构是否被网关改动、工具定义是否丢失。
i
适用人群:Prompt 工程师(调试 Agent Prompt)、AI 工具评测者(看不见请求只能凭感觉)、Agent 开发者(学主流 CLI 怎么设计 system prompt/工具/上下文)、企业合规(审计发出去的数据)。被类比为"AI Agent 领域的 Wireshark"。

04 Arize Phoenix

本地优先的 LLM & RAG 可观测与评测(arize-phoenix)。一行启动本地 UI,记录 trace 并评测 RAG 的检索/生成质量。

Arize Phoenix Local-first

官网 arize.com/phoenix仓库 Arize-ai/phoenix
官方仓库 ↗
# 安装并本地启动(默认 http://localhost:6006)
pip install arize-phoenix
python -m phoenix.server.main serve
# 在代码中埋点(OpenInference 自动插桩)
from phoenix.otel import register
register(project_name="my-agent")

Phoenix 与 OpenTelemetry / OpenInference 标准打通,可与 Langfuse、LangSmith 扇出(如 hermes-otel)。内置 RAG 评测:对 retrieval(召回相关性)与 generation(忠实度/答案相关性)打分,定位"答非所问"还是"检索噪声大"。

⚙ 调试方法论(来自项目记忆)

TTFT 评测:引擎 vs 系统

评测 Agent 延迟时,必须区分两层:

  • LLM TTFT(引擎性能) = Prefill + 排队 + 网络。只测模型本身。
  • Agent TTFT(系统体验) = 引擎时间 + 规划 + 工具调度 + tool_search + MCP + 子 agent + 压缩 + 重试。必须绑定成功率——"快但全错"是误导性指标。

推荐 Agent 基准:WebArena / SWE-bench / ToolBench / τ-bench / OSWorld(见 Agent 评测模块)。

可观测层级:Session ⊃ Turn ⊃ Step

一套通用的 Agent 追踪层级(Langfuse / τ-bench 通用):

层级含义示例
Session一次完整任务/会话用户的一次购票请求
Turn一轮对话交互τ-bench 把对话轮叫 turn
Step一次工具调用/模型步骤τ-bench 把工具调用叫 step

轨迹(trajectory)= 一串 step 的 action + observation 序列,是评测与回放的基本单位。

Agent 调试六维度(对抗测试视角)

提示注入 · 越狱 · 权限滥用 · 上下文边界 · 数据泄露 · 幻觉

护栏分层:输入过滤 → 指令隔离 → 工具二次确认 → 输出审查。CI 门禁对高危项"零容忍"。

LLM Space 的"混沌测试"即把这六维度落地为 10 类异常注入:工具超时 / 返回空 / 错误格式 / 超大 payload / HTTP 4xx5xx / 并发竞争 / 恶意输入 / 上下文溢出 / 幻觉诱饵 / 循环诱导。

i
下一页 → 大模型评测:Promptfoo 多模型/多轮对比、RAGAS/DeepEval、通用能力基准与价值观评测数据集。