OpenAI发布新版functioncalling指南引入最小惊讶等软件工程原则
OpenAI函数调用又双叒叕更新了!

这次的大变化:文档篇幅砍掉一半,却引入了更清晰的「软件工程最佳实践」!

这次不是简单的文档修改,而是彻底重新思考了函数调用的设计理念。
下面我们就来详细一探究竟!
「最小惊讶原则」降临AI
OpenAI开发者体验团队的ilan bigio分享了这次更新的核心内容:
# 不好的设计toggle_light_switch(on: bool, off: bool) # 允许矛盾状态# 好的设计toggle_light(state: bool) # 符合最小惊讶原则
这个简单的例子完美诠释了「最小惊讶原则」: 函数设计要符合直觉,避免让使用者困惑 。
新版指南的四大亮点
文档精简50% ,去芜存菁
引入 全新的最佳实践指南
集成了 函数生成器 ,可在文档中直接生成函数定义
提供了 完整的天气API示例 ,从理论到实践无缝衔接

软件工程最佳实践大放异彩
这次更新最大的亮点是引入了软件工程的最佳实践。
来看看具体内容:
1. 清晰的函数定义
{ "type": "function", "function": { "name": "get_weather", "description": "获取指定位置的当前温度", "parameters": { "type": "object", "properties": { "location": { "type": "string", "description": "城市和国家,例如:北京,中国" } }, "required": ["location"], "additionalProperties": false }, "strict": true }}
2. 减轻模型负担
ilan强调:「 不要让模型做代码能做的事 」。
比如:
# 不推荐get_orders(user_id) # 让模型传递user_id# 推荐get_orders() # 在代码中处理user_id
3. 函数合并原则
# 不推荐mark_location()query_location() # 总是连续调用# 推荐query_and_mark_location() # 合并为一个函数
实战流程清晰可见

新版指南还提供了直观的函数生成器,让开发者可以在浏览器中直接生成并测试函数定义。
开发者好评
社区反响热烈,有开发者分享他们每天要花3-4小时构建函数调用应用。
新指南的流程图设计也获得赞誉,被认为达到了 Stripe 文档的水准。

重要细节全解读
严格模式(Strict Mode) :
要求 additionalProperties 设为 false
所有字段必须标记为 required
可选字段需要添加 null 作为类型选项
工具选择(Tool Choice) :
Auto:默认模式,可调用0个或多个函数
Required:强制调用至少一个函数
Forced Function:强制调用特定函数
并行函数调用 :
可以通过 parallel_tool_calls 参数控制
设为 false 时确保每次最多调用一个函数
令牌使用 :
函数定义会计入模型上下文限制
作为输入令牌计费
如果遇到令牌限制,建议限制函数数量或参数描述长度
HackerNewsAI 点赞到:
这份指南不仅简化了开发者的学习曲线,还通过展示实际应用激发创造力,最终将培育出更具创新性的技术生态系统。
版权声明:
作者:shadowrocket
链接:https://www.shadowrocket8.top/21.html
来源:Shadowrocket官网
文章版权归作者所有,未经允许请勿转载。


共有 0 条评论