Bootstrap

OpenAI函数调用迎来重大升级:引入「最小惊讶原则」等软件工程实践,开发体验更上一层楼!

想玩转各种AI模型?chatTools 帮你搞定!这里有o1、GPT4o、Claude和Gemini等等,一个平台就能满足你所有的AI需求。快来开始你的AI冒险吧!

OpenAI的函数调用功能再次迎来重大更新!新版指南不仅大幅精简了文档,更引入了「最小惊讶原则」等软件工程最佳实践,旨在为开发者提供更加直观、高效的开发体验。本文将深入剖析此次更新的核心内容,并探讨其对AI应用开发的影响。
OpenAI的函数调用功能

OpenAI函数调用:一次彻底的理念革新

OpenAI的函数调用功能自推出以来,一直是构建强大AI应用的重要工具。然而,随着开发者的不断深入使用,一些设计上的不足也逐渐显现。为了解决这些问题,OpenAI对其函数调用功能进行了彻底的重新思考,并发布了全新的指南。

这次更新不仅仅是文档的修改,更是对函数调用设计理念的革新。新版指南强调了软件工程的最佳实践,旨在帮助开发者构建更加健壮、易于维护的AI应用。其中,最核心的理念是「最小惊讶原则」。

「最小惊讶原则」:让函数调用更符合直觉

「最小惊讶原则」是指函数的设计要符合直觉,避免让使用者感到困惑。OpenAI的开发者体验团队以一个简单的例子完美地诠释了这一原则:

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

在不好的设计中,onoff参数可能会同时为true,导致状态的矛盾。而好的设计则通过一个state参数来控制灯的开关状态,更加直观和易于理解。

新版指南的四大亮点

新版指南在以下几个方面进行了重大改进:

  1. 文档精简50%,去芜存菁:新版文档更加简洁明了,重点突出,让开发者能够快速上手。
  2. 引入全新的最佳实践指南:新指南强调了软件工程的最佳实践,帮助开发者构建更加健壮的AI应用。
  3. 集成了函数生成器:开发者可以在文档中直接生成函数定义,大大提高了开发效率。
  4. 提供了完整的天气API示例:新指南提供了完整的天气API示例,从理论到实践无缝衔接,帮助开发者快速掌握函数调用的使用方法。

软件工程最佳实践:打造高质量AI应用

新版指南最大的亮点是引入了软件工程的最佳实践,主要体现在以下几个方面:

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

    这样可以减少API调用的次数,提高程序的运行效率。

新版指南:从理论到实践的无缝衔接

新版指南不仅提供了理论指导,还提供了直观的函数生成器,让开发者可以在浏览器中直接生成并测试函数定义。此外,新指南还提供了完整的天气API示例,帮助开发者从理论到实践无缝衔接,快速掌握函数调用的使用方法。

这些改进使得开发者能够更加高效地构建AI应用,同时也降低了学习曲线,让更多的开发者能够参与到AI应用的开发中来。

社区反响热烈

新版指南的发布引起了社区的广泛关注和好评。有开发者表示,他们每天要花费3-4小时来构建函数调用应用,新指南的出现大大提高了他们的开发效率。新指南的流程图设计也获得了赞誉,被认为达到了Stripe文档的水准。

这些积极的反馈证明了OpenAI此次更新的成功,也体现了OpenAI对开发者体验的重视。

重要细节全解读

新版指南中还包含了一些重要的细节,包括:

  1. 严格模式(Strict Mode):要求additionalProperties设为false,所有字段必须标记为required,可选字段需要添加null作为类型选项。
  2. 工具选择(Tool Choice)
    • Auto:默认模式,可调用0个或多个函数。
    • Required:强制调用至少一个函数。
    • Forced Function:强制调用特定函数。
  3. 并行函数调用:可以通过parallel_tool_calls参数控制,设为false时确保每次最多调用一个函数。
  4. 令牌使用:函数定义会计入模型上下文限制,并作为输入令牌计费。如果遇到令牌限制,建议限制函数数量或参数描述长度。

展望未来

OpenAI函数调用的这次重大升级,不仅提高了开发者的开发效率,也为AI应用的开发带来了新的可能性。通过引入软件工程的最佳实践,OpenAI正在努力构建一个更加健壮、易于使用的AI开发平台。

我们有理由相信,随着技术的不断进步,未来的AI应用将更加强大、更加智能,能够更好地服务于人类社会。OpenAI的这次更新,无疑为AI应用的开发打开了新的大门。

总结:OpenAI函数调用的新版指南,通过引入「最小惊讶原则」等软件工程最佳实践,极大地提升了开发者的体验。新指南不仅简化了开发流程,还为构建更强大的AI应用奠定了基础。

想玩转各种AI模型?chatTools 帮你搞定!这里有o1、GPT4o、Claude和Gemini等等,一个平台就能满足你所有的AI需求。快来开始你的AI冒险吧!

;