V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
connecting
V2EX  ›  程序员

是使用 openai api 的 tools 参数,还是自己写提示词

  •  
  •   connecting · 2025 年 8 月 1 日 · 2129 次点击
    这是一个创建于 181 天前的主题,其中的信息可能已经有所发展或是发生改变。

    各位大佬,请问你们聊天调用工具,是使用 openai api 的 tools 参数,还是自己写提示词呢?

    哪个效果好?我看到 cursor 的提示词自己描述了 functions ,好像效果也不错。

    13 条回复    2025-08-02 20:31:05 +08:00
    wentx
        1
    wentx  
       2025 年 8 月 1 日
    tools + prompt
    connecting
        2
    connecting  
    OP
       2025 年 8 月 1 日
    @wentx openai 的 tools ,是不是只会返回一个 tools_call? 我发现理应调用 N 个的,一次次给我。这样 token 多算了很多。
    wentx
        3
    wentx  
       2025 年 8 月 1 日
    @connecting #2 这个跟模型有关系,还有 prompt 也有一定的关系,如果你是要让他一次返回多个 tools 的话,可以在 prompt 里面描述一下你的具体需求
    razertory
        4
    razertory  
       2025 年 8 月 1 日   ❤️ 1
    典型的非 tool call 的实现比如 cline 的这段代码 https://github.com/cline/cline/blob/main/src/core/prompts/system.ts#L27

    如果真需要返回多个,前提是你的多个 tool-call 没有先后依赖关系。这种情况下要么走 cline 这种方式,通过魔改 prompt 也能实现,要么把这些 tools 合并成一个方法,前提是工具提供方配合。
    connecting
        5
    connecting  
    OP
       2025 年 8 月 1 日
    @razertory 懂了,感谢,研究一下,应该会合并一下看看,写 prompt 应该要调很久
    chairuosen
        6
    chairuosen  
       2025 年 8 月 1 日
    自己写提示词协议,自己解析。对接豆包 1.6 发现它不小的概率不按照 openai 的格式返回导致解不出 tools_call ,只能一个模型写一个对应的 adaptor ,豆包大概率会返回<|FunctionCallBegin|><|FunctionCallEnd|> 这个格式,可能是它训练时加进去的私有协议,只能跟它写一样的不会出错
    zuou
        7
    zuou  
       2025 年 8 月 1 日
    可以试试 Qwen3-235B-A22B-2507 ,这个模型会“疯狂”调用工具,批量调用和多轮调用效果都挺好,应该是专门训练的
    @connecting
    blakezhaothinks
        8
    blakezhaothinks  
       2025 年 8 月 1 日
    我们这边是 tools 定义严格的 schema ,在 prompt 中告诉模型什么场景调用什么工具。
    NizumaEiji
        9
    NizumaEiji  
       2025 年 8 月 1 日
    tools 也就是 function call 吧
    这个现在主流的 llm api 都应该是支持的吧 手写 prompt 再解析交互就有点复杂了
    mmdsun
        10
    mmdsun  
       2025 年 8 月 1 日 via iPhone
    模型不支持 tools call 可以这么来。
    SSang
        11
    SSang  
       2025 年 8 月 1 日
    先用默认的呀,哪个你觉得不满意再去调整他
    EscYezi
        12
    EscYezi  
       2025 年 8 月 2 日 via iPhone
    最好两个都有,提示词里引导 llm 何时/如何调用工具,定义写在 tools 里。
    Seulgi
        13
    Seulgi  
       2025 年 8 月 2 日 via iPhone
    用的框架是把 tools 按 schema 组装到 prompt 里。react 那种模型。我觉得有点垃圾,因为一次 tool call ,tool 结果会再次组装到 prompt ,每次 tool call 都会把整个 prompt 重新发一次。我觉得这个好像是不是不太对,太浪费 token 了
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   4827 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 01:50 · PVG 09:50 · LAX 17:50 · JFK 20:50
    ♥ Do have faith in what you're doing.