苹果程序员们,有福了!您的编程工具刚刚获得了免费的人工智能的巨大提升
借助 Xcode 中人工智能驱动的功能,Apple 旨在彻底改变应用程序开发。以下是开发人员需要了解的有关设备上代码完成、增强的 SiriKit 和 AI 驱动的 App Intents 等新工具的信息。
Craig Federighi,苹果公司软件工程高级副总裁
Apple 今天宣布在其 Xcode 开发环境中添加人工智能功能,旨在提高程序员在 Apple 产品线中构建应用程序的生产力。
对于那些不是程序员的人,让我们花点时间讨论一下开发环境的作用。为此,一个很好的比喻是厨师的厨房。
例如,面包师的厨房将不同于专注于低碳水化合物烹饪的厨房。面包师的厨房可能以立式搅拌机为中心,并配有各种用于冷却和准备的架子。会有足够的存储空间来存放面粉、糖和其他烘焙主食。
专注于低碳水化合物烹饪的厨房会配备螺旋器、切碎机、真空低温烹调机和一两个空气炸锅等设备。存储的重点是寻找冰箱和柜台存储新鲜水果和蔬菜以及瘦肉蛋白的挑战。
这些工作环境都是根据工作人员的个人需求和工作风格量身定制的,使用某些常用工具进行定制,甚至还进行了优化以减少步骤。
程序员的开发环境,无论是用于 Apple 开发的 Xcode、用于 Microsoft 应用程序的 Visual Studio,还是用于构建 Web 应用程序的 PhpStorm(我的主要编码环境),也是一个可以根据用户需求进行定制的环境。
编码员在屏幕上工作,并通过屏幕上窗口和窗格的排列来定义我们的“占地面积”。我们还有“主要设备”,只不过我们没有炉子和冰箱,而是有一个编辑器和一个调试器。我们中的许多人都会仔细地安排窗口和窗格以节省步骤,并且经常根据我们当时所处的编码阶段保存不同的工具布局。
让我们再详细说明一下厨房的类比。我们中有多少人在成长过程中帮助爸爸妈妈准备食物,也许是切蔬菜、打扫卫生或洗碗?当我们帮忙时,我们不是“厨师”,而是非常有价值的帮手(即使我们在父母似乎没有在看的情况下偷偷地在这里或那里偷吃了一点)。
在编码环境中,人工智能的添加就像这些厨房帮手。人工智能还远没有准备好构建一个主要的应用程序。但它可以承担编码过程中的许多小型且通常乏味的任务。在过去的一年中,我多次使用人工智能来帮助我编码,并且我确信将小型子例程的创建和分析委托给人工智能可以节省一个月或更长时间。
苹果版的人工智能被称为苹果智能。在主题演讲的最后,Craig Federighi 宣布了 Apple 开发环境 Xcode 的许多由 Apple Intelligence 支持的关键功能。
首先,他讨论了 Apple Intelligence 如何构建到开发者 SDK 中。 SDK 是一种软件开发工具包,是开发人员将现有操作系统技术融入其应用程序的有效方式。
继续我们的厨房类比,将 SDK 视为大致类似于餐包。 Federighi 谈到只需几行代码即可将 Image Playground(Apple 的文本到图像 AI 功能)集成到开发人员应用程序中。
这有点像厨师做一顿饭时打开餐包,然后将所有原料混合起来,就可以做出美味的晚餐。就膳食套件而言,套件开发人员完成了确定成分、选择和提供成分以及创建食谱和说明等所有工作。就 SDK 而言,SDK 开发人员完成了找出技术(如文本到图像)并将其提供给应用程序开发人员的所有工作。
任何使用标准可编辑文本视图创建文本的应用程序都可以获得对 Apple Intelligence 写作工具(摘要、etic)的完全访问权限。
Siri 也通过 Apple Intelligence 进行了升级。使用 SiriKit(Siri 的 SDK)的开发人员将获得基于 Siri 的增强功能,例如列表、笔记、媒体、消息、支付、餐厅预订、VoIP 呼叫和锻炼等功能。
同样,Apple 正在添加其 App Intents 功能。这些是应用程序可以执行的预定义操作或任务,使它们能够与 Siri 和其他系统功能无缝集成,以增强用户交互和自动化。 Federighi 表示,苹果正在通过 Apple Intelligence 功能增强以下类别的意图:书籍、浏览器、相机、文档阅读器、文件管理、期刊、邮件、照片、演示文稿、电子表格、白板和文字处理器。
这些允许开发人员轻松添加新的人工智能功能,而无需太多额外的工作,当然也无需对创建功能所需的人工智能进行全面投资。
就编码过程本身而言,Apple 宣布正在向 Xcode 添加生成智能。具体来说,它将为 Swift 语言提供设备上代码补全(为开发人员编写小块代码)。有趣的是,他使用术语“代码完成”而不是编写代码,因为代码完成意味着一个更加受控的过程,只是扩展和澄清代码生成。完整的代码编写将涉及告诉 AI 编写具有给定规范的模块,从本次公告来看,尚不清楚 Xcode 是否会这样做。
Xcode 将可以回答 Swift 开发人员的问题。这可以节省大量时间。开发人员可以询问如何编写特定的 SDK 调用代码(例如,“如何在此处添加图像游乐场?”)。据推测(同样,主题演讲中未指定)开发人员还可以询问人工智能“这段代码是做什么的”并获得更详细的解释。
开发环境中的生成式人工智能是一个相当新的事物,环境制作者以及个人开发人员仍在学习生成式人工智能在哪些方面可以成为有用的新强大工具,或者在哪些方面它会成为阻碍。
去年我们取得了长足的进步,我敢打赌,到 WWDC 2025,这个功能集将显得很初级,因为我们都已经了解了更多关于人工智能如何帮助编码的知识。
您可以在社交媒体上关注我的日常项目更新。请务必订阅我的每周更新时事通讯,并在 Twitter/X 上关注我:@DavidGewirtz、Facebook 上:Facebook.com/DavidGewirtz、Instagram 上:Instagram.com/DavidGewirtz 和 YouTube 上:YouTube.com/DavidGewirtzTV。
