大模型 调试
调试 Agent 不是"凭感觉看输出",而是看清每一次请求的真实轨迹:系统提示词、工具定义、工具返回、token 消耗、上下文如何累积。本模块覆盖本地优先的桌面调试台(LLM Space)、全链路追踪(Langfuse)、请求级抓包回放(Claude-Tap)与本地可观测(Arize Phoenix)。
▦ 工具总览
四大调试工具定位互补:一个看"Agent 内部每一步",一个看"生产链路追踪",一个看"发给模型的真实请求",一个做"本地可观测与 RAG 评测"。
| 工具 | 核心定位 | 最适合 | 形态 |
|---|---|---|---|
| LLM Space | 桌面级 Agent IDE:构建/追踪/回放/评测/生成 | 逐步调试、同 prompt 跨模型对比打分 | 桌面 App(本地优先) |
| Langfuse | LLM 工程全链路追踪与评测平台 | 生产环境 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
下载与安装
# 从 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 调试"需求)
真实架构图(来源项目记忆,已嵌入)
同 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
安装: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)。
典型用法:从 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
安装与运行
# 推荐用 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,适合实时结对编程。
它能"看"到什么(对应你的调试诉求)
04 Arize Phoenix
本地优先的 LLM & RAG 可观测与评测(arize-phoenix)。一行启动本地 UI,记录 trace 并评测 RAG 的检索/生成质量。
Arize Phoenix Local-first
# 安装并本地启动(默认 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 / 并发竞争 / 恶意输入 / 上下文溢出 / 幻觉诱饵 / 循环诱导。