Agent开发——LLM API 调用与理解(重点)
Day 06 案例分析:LLM API 调用与理解(重点)主题对应学习计划Week 2。今天不急着写完整聊天程序,先把"一次 API 调用到底发生了什么"彻底搞懂。一、核心心智模型:API 是"无状态"的最重要、也最反直觉的一点:LLM API 没有记忆。每次调用都是一张白纸。你以为 ChatGPT / Claude "记得"你刚才说的话,其实是你的程序每次都把完整历史重新发过去。模型本身什么都不存。真实类比:点餐 vs 记账像什么解释❌ 错误想象跟服务员聊天,他记得你点过什么模型并不"记得"✅ 实际情况每次点餐都要把"之前点的 + 这次要点的"整张单子重念一遍程序每次重传全部历史这就是为什么messages 是一个列表(数组),而不是一句话——它就是你每次重念的"整张单子"。二、案例 1:拆解一次最简单的 Claude API 调用import anthropic client = anthropic.Anthropic() # 自动读取环境变量 ANTHROPIC_API_KEY response = client.messages.create( model="claude-opus-4-8", # 用哪个模型 max_tokens=1024, # 最多生成多少 token system="你是一个简洁的 Python 助教,回答控制在 3 句话内。", # 角色设定 messages=[ {"role": "user", "content": "什么是列表推导式?"} ], ) # response.content 是一个"块"列表,要判断 type 再取 text for block in response.content: if block.type == "text": print(block.text)逐行看清楚发生了什么你的程序 Anthropic 服务器 │ │ │ POST /v1/messages │ │ { model, system, messages, ... } │ │ ────────────────────────────────▶ │ │ │ 模型读取 system + messages │