1. 从一句"hi"看Claude Code与LLM的深度交互机制
作为一名长期关注AI工具落地的开发者,我最近对Anthropic推出的Claude Code产生了浓厚兴趣。这个命令行工具最吸引我的地方在于它如何将大语言模型(LLM)的能力无缝集成到开发工作流中。为了真正理解其工作原理,我决定从最基础的交互入手——当我们在Claude Code中输入简单的"hi"时,背后究竟发生了什么?
1.1 实验环境搭建
为了准确观察交互过程,我搭建了以下实验环境:
- 客户端:MacBook Pro (M1 Pro, 32GB)
- Claude Code版本:1.0.108
- 服务端:Ubuntu 22.04服务器运行Ollama框架(v0.1.15)
- 模型:qwen3.5:9b(模拟Claude模型行为)
抓包工具选择了Wireshark和Charles配合使用,重点监控localhost:11435端口的HTTP流量。这种设置让我能够清晰地看到每个请求和响应的原始数据,而不会受到加密流量的干扰。
提示:在实际分析中,我发现Ollama的API与Claude原生API存在细微差异,因此需要特别注意请求头中的
Anthropic-Version和Anthropic-Beta字段,这些会影响模型的行为模式。
1.2 交互流程全景图
通过抓包分析,整个交互过程可以抽象为五个关键阶段:
- 用户输入处理:终端捕获"hi"并封装为结构化请求
- 上下文构建:Claude Code注入系统提示词和工具定义
- 模型推理:LLM理解意图并生成响应
- 响应解析:处理模型返回的流式数据
- 结果展示:格式化输出到终端
有趣的是,虽然用户只输入了2个字符,但实际发送到服务器的数据量却达到了惊人的1.4万字符——这意味着有99.98%的内容都是系统自动添加的上下文信息。这种设计揭示了现代AI助手的一个重要特征:它们不是简单地处理孤立输入,而是在丰富的上下文中理解每个请求。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 请求解析:隐藏在"hi"背后的万言书
2.1 HTTP请求拆解
当输入"hi"并按下回车时,Claude Code会发起一个POST请求到/v1/messages端点。以下是关键请求头信息:
http复制POST /v1/messages?beta=true HTTP/1.1
Host: localhost:11435
Content-Type: application/json
Authorization: Bearer ollama
Anthropic-Version: 2023-06-01
Anthropic-Beta: claude-code-20250219,interleaved-thinking-2025-05-14
特别值得
