您的软件开发工具包发送的提示词并非您所编写的提示词

发布日期:2026-05-21 10:03:00   浏览量 :4
发布日期:2026-05-21 10:03:00  
4

2026西湖龙井茶官网DTC发售:茶农直供,政府溯源防伪到农户家 

克劳德返回的回复毫无意义。我的代码中的系统提示词看起来没问题。日志中的消息看起来也没问题。于是我在 client.messages.create(...) 之前添加了一行 print(messages)。一切仍然正常。

我找错了地方。软件开发工具包(SDK)正在构建请求体。实际通过网络发送的内容并非我打印出来的内容。

因此,我编写了一个 httpx 传输层组件,用于拦截出站请求,转储实际的 JSON 数据,并让我能够对比“我以为发送的内容”与“实际发送的内容”之间的差异。我将其命名为 agenttap

我忽略的问题

以下是我捕获的一次请求数据,我原以为那是一次干净的两轮对话:

{
  "model": "claude-opus-4-7",
  "max_tokens": 1024,
  "system": "你是一位细致的代码审查员。",
  "messages": [
    {
      "role": "user",
      "content": [
        {"type": "text", "text": "审查此差异:\n\n```

diff\n+ foo\n

```"}
      ]
    },
    {
      "role": "assistant",
      "content": "在我看来没问题。"
    },
    {
      "role": "user",
      "content": "边界情况如何处理?"
    }
  ],
  "metadata": {"user_id": "u_8821"}
}

有三处内容并非由我编写:

  1. 第一条用户消息被包裹在一个 [{"type": "text", "text": ...}]

    免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。

关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
支持 反馈 订阅 数据
回到顶部