首页 教程 常见问题

13.5 Agent SDK 输入模式对比

理解 Claude API 的不同输入模式——选择最适合你场景的方式。

输入模式概览

模式说明适用场景
标准模式普通的消息列表输入大多数场景
预填充(Prefill)预填充助手的回复开头控制输出格式

标准模式

response = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=2048,
    messages=[
        {"role": "user", "content": "你好"},
        {"role": "assistant", "content": "你好!有什么可以帮助的?"},
        {"role": "user", "content": "解释一下 Python 的装饰器"}
    ]
)

预填充助手回复

你可以预填充助手的回复开头,引导 Claude 按特定格式回答:

response = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=2048,
    messages=[
        {"role": "user", "content": "写一个 JSON 配置"},
        {"role": "assistant", "content": "好的,这是配置:\n\n```json\n{"}
    ]
)
# Claude 会从 { 开始继续生成 JSON

使用场景

强制 JSON 输出

messages = [
    {"role": "user", "content": "返回 JSON 格式的代码分析"},
    {"role": "assistant", "content": "{\n  "}
]
# Claude 会继续完成 JSON 对象

强制代码输出

messages = [
    {"role": "user", "content": "用 Python 写一个 HTTP 服务器"},
    {"role": "assistant", "content": "```python\nimport http.server\n"}
]
# Claude 会从 import 开始继续

注意事项

下一步