OpenAI发布新版functioncalling指南引入最小惊讶等软件工程原则

OpenAI函数调用又双叒叕更新了!

OpenAI发布新版functioncalling指南引入最小惊讶等软件工程原则-2

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

OpenAI发布新版functioncalling指南引入最小惊讶等软件工程原则-3

这次不是简单的文档修改,而是彻底重新思考了函数调用的设计理念。

下面我们就来详细一探究竟!

「最小惊讶原则」降临AI

OpenAI开发者体验团队的ilan bigio分享了这次更新的核心内容:

# 不好的设计toggle_light_switch(on: bool, off: bool) # 允许矛盾状态# 好的设计toggle_light(state: bool) # 符合最小惊讶原则

这个简单的例子完美诠释了「最小惊讶原则」: 函数设计要符合直觉,避免让使用者困惑 。

新版指南的四大亮点

文档精简50% ,去芜存菁

引入 全新的最佳实践指南

集成了 函数生成器 ,可在文档中直接生成函数定义

提供了 完整的天气API示例 ,从理论到实践无缝衔接

OpenAI发布新版functioncalling指南引入最小惊讶等软件工程原则-4

软件工程最佳实践大放异彩

这次更新最大的亮点是引入了软件工程的最佳实践。

来看看具体内容:

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() # 合并为一个函数

实战流程清晰可见

OpenAI发布新版functioncalling指南引入最小惊讶等软件工程原则-5

新版指南还提供了直观的函数生成器,让开发者可以在浏览器中直接生成并测试函数定义。

开发者好评

社区反响热烈,有开发者分享他们每天要花3-4小时构建函数调用应用。

新指南的流程图设计也获得赞誉,被认为达到了 Stripe 文档的水准。

OpenAI发布新版functioncalling指南引入最小惊讶等软件工程原则-6

重要细节全解读

严格模式(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官网
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>