Claude Code 到底给模型发了什么?这个工具能直接看

212 字

Claude Code 到底给模型发了什么?这个工具能直接看

来源类型: 微信公众号文章
日期: 2026-06-02
标签: AI, 编程, 大模型
原文链接: https://mp.weixin.qq.com/s/WgXE1xl8zr-Qk3YDMlSv-A

摘要

大家好,我是悟鸣。 最近越来越多朋友开始用 Claude Code。 但用着用着,很多人都会冒出同一个问题:Claude Code 到底给大模型发了什么? 除了我们在终端里输入的内容,它背后还带了哪些系统提示词、工具定义、上下文和请求参数? 如果你也对这些细节好奇,我很推荐试试 claude-trace。 我专门看了一下它的 README 和源码,发现这不是一个简单的“抓包小工具”,而是一个做得挺完整的观察面板。它会拦截 Claude Code 发往 Anthropic API 的请求,记录成 .jsonl 日志,同时生成一份可以直接打开的 HTML 报告。 而且它还考虑到了实际使...

核心内容

大家好,我是悟鸣。

最近越来越多朋友开始用 Claude Code。

但用着用着,很多人都会冒出同一个问题:Claude Code 到底给大模型发了什么?

除了我们在终端里输入的内容,它背后还带了哪些系统提示词、工具定义、上下文和请求参数?

如果你也对这些细节好奇,我很推荐试试 claude-trace。

我专门看了一下它的 README 和源码,发现这不是一个简单的“抓包小工具”,而是一个做得挺完整的观察面板。它会拦截 Claude Code 发往 Anthropic API 的请求,记录成 .jsonl 日志,同时生成一份可以直接打开的 HTML 报告。

而且它还考虑到了实际使用场景。

比如默认情况下,它不会把所有零碎请求都一股脑记下来,而是优先保留更完整、更有分析价值的对话;如果你想看得更细,也可以加上 --include-all-requests,把所有请求都抓出来。

还有一个我觉得很重要的点是,源码里对敏感请求头做了脱敏处理,所以它不是那种把 token 原样暴露出来的粗糙脚本,用起来会更安心一点。

从它提供的能力来看,claude-trace 最有价值的地方主要有这几个:

你可以直接看到 Claude Code 的系统提示词,也能看到工具定义、工具输出,甚至原始请求和响应的内容。这对想研究 agent 工作流的人来说,非常直观。

它生成的是自包含的 HTML 文件,不需要再额外起服务,双击或者用浏览器打开就能看。

如果你有长期记录和回看需求,它还支持 --index。源码里这个功能会扫描 .claude-trace/ 目录下的日志,调用 Claude CLI 自动生成会话标题、摘要和索引页。唯一需要注意的是,这一步会额外消耗 token。

GitHub 地址:https://github.com/badlogic/lemmy/tree/main/apps/claude-trace

安装:

npm install -g @mariozechner/claude-trace

使用:

启动带日志记录的 Claude Code

claude-trace

包含所有 API 请求(默认情况下,只记录更完整的对话)

claude-trace --include-all-requests

使用指定参数运行 Claude

claude-trace --run-with chat --model sonnet-3.5

显示帮助

claude-trace --help

提取 OAuth token

claude-trace --extract-token

从之前记录的 .jsonl 文件手动生成 HTML 报告

claude-trace --generate-html logs.jsonl report.html

生成包含所有请求的 HTML

claude-trace --generate-html logs.jsonl --include-all-requests

生成对话摘要和可搜索索引

claude-trace --index

最终日志会保存在当前项目目录下的 .claude-trace/log-YYYY-MM-DD-HH-MM-SS.{jsonl,html} 文件里。

其中 .jsonl 适合留底和二次处理,.html 则适合直接浏览。这个 HTML 报告是自包含的,打开就能看,不需要再启动本地服务。

平时我们使用 Claude Code 的时候,通常就是直接输入命令开始干活。

如果你想把这次交互完整记录下来,只需要把启动命令换成:

claude-trace --include-all-requests

这样一来,Claude Code 在运行过程中发出的请求,就会被一并记录下来。

为了演示,你甚至不用做很复杂的任务,随便问几个问题都可以。等任务结束后直接退出,它就会整理出一份对应的日志报告。

默认情况下,它会自动用浏览器打开这份日志详情页,这点对普通用户特别友好,不需要你自己再去翻文件。

打开之后,你会先看到整场对话的可视化日志视图。

和单纯看原始日志相比,这种整理过的页面更容易读。你可以顺着对话往下看,也可以切到不同视图去看更细的内容。

这里最值得看的,就是系统提示词。

很多人用 Claude Code 的时候,最想搞明白的其实就是这一层:平台到底给模型加了哪些隐藏约束,做了哪些角色设定,又额外注入了哪些上下文。

有了这个视图之后,这些原本“黑盒”里的东西,就能被直接看到。

如果你继续往下看,还能看到更细的消息内容和调用细节。

这也是为什么我觉得它对研究 agent 特别有帮助,因为很多“它好像做了什么”的模糊感觉,在这里都能落到具体记录上。

除了系统提示词,你还可以看到工具定义和参数说明。

这意味着 Claude Code 到底能调用哪些工具、这些工具大概长什么样、模型是在什么边界内工作的,你都能更具体地看清楚。

如果你在研究 AI Coding Agent 的执行方式,这部分信息很有参考价值。

继续往下看,还能看到原始请求和响应的详细内容。

这部分就不只是“满足好奇心”了,它对排查问题也很有帮助。比如你想知道某次调用为什么效果异常、上下文到底带了多少、工具输出是怎么拼进去的,这里都能顺着往下查。

从源码实现上看,它本质上是在 Claude Code 运行时注入拦截逻辑,去捕获发往 API 的请求,再把这些数据整理成可读报告。所以它不是简单截图式的展示,而是真正把调用链路记录了下来。

如果你对 Claude Code 背后到底怎么和大模型交互一直很好奇,或者你正在研究 AI Agent 的执行流程,那 claude-trace 确实是一个很值得装一下的小工具。

它最大的价值,不是“把隐藏内容扒出来”这么简单,而是让我们第一次能比较系统地观察 Claude Code 这一类 agent 产品到底是怎么工作的。

很多过去只能靠猜的东西,比如系统提示词怎么写、工具是怎么定义的、请求和响应的结构是什么样,现在都可以直接看到。

对普通用户来说,这能帮助你更好地理解 Claude Code。

对开发者来说,这也是一个研究 agent 产品形态、调试方式和执行流程的非常实用的窗口。


本页由自动化脚本生成,待人工审核补充