You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何强制Claude单次响应仅返回文本或工具调用其一,而非两者兼具?

解决Claude响应混合文本与工具调用的问题

可行解决方案

  • 强化指令约束的精准性:使用更明确、无歧义的系统提示,直接划定边界:

    你的响应必须严格二选一:要么仅返回纯文本格式的JSON结构,要么仅返回工具调用格式的JSON结构,绝对禁止在同一响应中混合两种类型。

    同时可以在提示中重复正确格式示例,并明确标注混合类型为错误输出,比如:

    错误示例(禁止):同时包含text和tool_use的content数组
    正确示例1(仅文本):

    "content": [{"type": "text","text": "具体内容"}]
    

    正确示例2(仅工具调用):

    "content": [{"type": "tool_use","id": "唯一标识","name": "工具名","input": {"参数": "值"}}]
    
  • 用JSON Schema强制结构化输出:在系统提示中加入严格的Schema约束,明确限制输出结构:

    {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "content": {
          "type": "array",
          "minItems": 1,
          "maxItems": 1,
          "items": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "type": {"const": "text"},
                  "text": {"type": "string"}
                },
                "required": ["type", "text"],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "type": {"const": "tool_use"},
                  "id": {"type": "string"},
                  "name": {"type": "string"},
                  "input": {"type": "object"}
                },
                "required": ["type", "id", "name", "input"],
                "additionalProperties": false
              }
            ]
          }
        }
      },
      "required": ["content"],
      "additionalProperties": false
    }
    

    该Schema会强制content数组仅包含一个元素,且只能是文本或工具调用中的一种,无额外字段。

  • 简化决策逻辑提示:在提示中明确决策后的输出规则:

    当你判断需要调用工具时,直接返回工具调用JSON结构,无需任何解释性文本;当不需要调用工具时,直接返回纯文本JSON结构,无需额外说明。

关键注意事项

  • 提示语需简洁直接,核心突出“二选一、禁混合”的要求,避免冗余描述分散模型注意力。
  • 将格式约束放在系统提示的最顶部,确保模型优先处理规则。

内容的提问来源于stack exchange,提问作者Alexander Popov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 10:24:55