先做个广告:如需代注册ChatGPT或充值 GPT4.0会员(plus),请添加站长微信:gptchongzhi
OpenAI近日发布了新版function calling指南,重点引入了「最小惊讶」等软件工程原则,旨在提升开发者体验和API的易用性。「最小惊讶」原则强调API设计应避免让开发者感到意外,确保功能行为符合直觉。新版指南还优化了函数调用的灵活性和精确性,简化了复杂任务的实现流程。通过这些改进,开发者可以更高效地构建基于OpenAI模型的应用程序,减少调试时间,提升生产力。OpenAI表示,此次更新是其持续改进开发者工具生态系统的重要一步,未来将继续关注开发者反馈,进一步优化API设计和功能。
设计理念革新
本次更新特别强调了"最小惊讶原则"(Principle of Least Surprise)在AI领域的应用,这一软件工程领域的重要原则主张系统设计应当符合用户的直觉预期,避免让用户产生困惑,OpenAI开发者体验团队的ilan bigio通过一个典型案例展示了这一原则的具体应用:
推荐使用GPT中文版,国内可直接访问:https://ai.gpt86.top
传统设计:
toggle_light_switch(on: bool, off: bool) # 存在矛盾状态
优化设计:
toggle_light(state: bool) # 单一状态参数
这一示例清晰展示了如何通过简化接口设计来提高系统的可预测性和易用性。
更新亮点解析
1、文档优化:文档篇幅缩减50%,通过去芜存菁提升了可读性
2、实践指南:新增最佳实践指导,丰富了开发方法论
3、工具支持:集成函数生成器,支持在线生成和测试函数定义
4、示例补充:提供完整的天气API示例,实现理论到实践的平滑过渡
软件工程最佳实践
更新引入多项关键改进:
1、函数定义标准化
以下是一个典型的天气查询函数定义示例:
{ "type": "function", "function": { "name": "get_weather", "description": "获取指定位置的当前温度", "parameters": { "type": "object", "properties": { "location": { "type": "string", "description": "城市和国家,北京,中国" } }, "required": ["location"], "additionalProperties": false }, "strict": true } }
2、模型负担优化
强调"不要让模型处理代码应该完成的工作",
- 不推荐:
get_orders(user_id) # 让模型传递user_id
- 推荐:
get_orders() # 在代码中处理user_id
3、函数合并原则
将常需连续调用的函数进行合并:
- 不推荐:
mark_location() query_location()
- 推荐:
query_and_mark_location()
技术细节优化
1、严格模式(Strict Mode):
- 禁止额外属性
- 强制字段必填
- 可选字段需添加null类型
2、工具选择策略:
- Auto模式:默认设置
- Required模式:强制调用
- Forced Function模式:指定调用
3、并行调用控制:
- 通过parallel_tool_calls参数管理
- 可限制单次调用函数数量
4、令牌使用优化:
- 函数定义计入上下文限制
- 建议精简参数描述
此次更新在业界获得了积极反响,开发者普遍认为新版指南显著降低了学习曲线,其流程图设计水平可与Stripe文档相媲美,社区用户反馈显示,新指南有效提高了开发效率,平均每天可节省3-4小时的函数调用应用开发时间。
技术专家评价认为,这次更新不仅提升了函数调用的易用性,更为构建创新型技术生态系统奠定了坚实基础,通过引入软件工程最佳实践,OpenAI函数调用功能在可靠性和开发效率方面都实现了质的飞跃。