-
在 Xcode 中与智能体协作开发
了解如何在开发过程中使用 Xcode 中的编码智能体。我们将探索与智能体协作的多种方式,并分享从创建初始原型到打磨完善 App 的实用技巧。了解 Xcode 的编码助手如何适应你的需求,帮助你持续投入那些让编程充满乐趣的创意工作——无论你是独自开发 App,还是与团队协作开发。
章节
- 0:00 - Introduction
- 1:14 - Meet the app
- 2:06 - Explore
- 7:38 - Build
- 13:44 - Refine
- 18:25 - Orchestrate
- 22:09 - Next steps
资源
相关视频
WWDC26
-
搜索此视频…
大家好 我是Devin 我是Maxwell 我们都是 Xcode Intelligence团队的成员 我们很高兴向你展示 如何借助Xcode中的智能体 提升你的开发效率 在Xcode 26.3中 我们引入了编程智能体及工具 以帮助你应对复杂的 多步骤任务 在Xcode 27中 你可以事半功倍 我们扩展了Xcode提供的工具 并重新设计了与智能体的交互方式 一切都是为了让你专注 于你热爱的工作 你掌舵代码的方向 Xcode助你更快实现目标 并充满信心 Xcode适应你的节奏 无论你是刚开始使用智能体 还是将其视为 工作流的重要组成部分 我将与Devin一起 带你了解在Xcode中使用智能体 贯穿整个开发过程 我将先探索一个项目 以了解其结构
我将利用这些了解 规划并构建新功能 然后 Devin将对 我的成果进行完善 最后 他将协调多个对话 来完成特定任务 让我们开始吧 我和Maxwell不在办公室做App时 我们就在健身房度过时光 我们一直想要一款工具 帮助我们记录锻炼动作 我们希望它能个性化 并适应我们的训练方式 因此 我们正在共同打造 一款完全符合需求的App 我刚刚借助Xcode中的智能体 让这款App起步 它已具备我们所需的基本功能 它有一个训练页面 用于记录锻炼动作 还有一个历史记录页面 显示往期训练数据 这款App真的很棒 我希望能看到 自己随时间进步的情况 既然我已经记录了这些训练 我也有同样的想法 我们需要一个洞察视图 这听起来是个好主意 我将先创建一个原型 用往期训练数据 展示统计分析 太好了 等一切就绪 我再从那里进行完善
Devin把项目打理得很好 我想熟悉他已经完成的工作 我将以Xcode为引导 同时探索项目 并了解添加洞察数据 的可用方案 使用Xcode中的智能体探索时 它们可以查看整个项目 从源代码、构建设置 到打开的文件和当前选中内容 智能体能精准感知 你当下正在处理的内容 要开始探索 我将按住Option和Shift 并点击工具栏中的按钮 创建新的对话 这会将对话以独立编辑器面板打开 以便在探索时查看单个文件 深入了解特定文件 我将请智能体总结 项目的数据模型 及当前视图层级 并提供详细讲解 我发送提示后 智能体将使用Xcode的工具 收集上下文 并拼合出项目结构
刚接触一个新项目时 往往难以判断 从哪里入手 阅读复杂架构 以及一批源文件时 梳理各部分如何关联 以建立整体认知 可能需要花费大量时间
Xcode可以在这里帮你 你可以要求讲解 以提炼架构要点 使其更易理解 包含丰富细节 如数据流概述 关键区域表格 以及源代码引用 当你想深入研究时 可以直接导航到关键文件
讲解已完成 我可以通读一遍 从宏观上建立认知 如果我想深入了解训练视图 可以点击链接 直接跳转到各个文件 这份讲解是很好的参考资料 但我不想让这些细节 仅停留在一次对话中 我希望将其保存下来 这样我和团队其他成员 日后都可以参考 更快地熟悉项目 我已经阅读了目前所需 的所有源文件 所以我将关闭另一个编辑器面板 专注于对话 我将请Xcode起草 两份架构文档 记录收集到的信息 并将其直接放入 项目源代码目录
在这次对话中 智能体从零开始 它需要搜索、阅读 并研究项目中的所有代码 以建立全面认知 这一发现过程会耗费时间 让你难以尽快投入喜爱的工作
但这些努力无需白费 可以将其整理为 项目中的知识库文档 这份知识库可以动态更新 与代码库同步演进 现在 当你或团队开始新功能时 你们有了一份路线图 可快速找到相关文件并着手
讲解中的所有信息 已整合到两份文档中 作为新产出物 显示在对话记录旁边
在Xcode中使用智能体时 你会看到 两个不同的信息区域 左侧是对话记录 这里显示你的对话 包括进度说明、工具调用 运行子智能体等
右侧是产出物 即创建的内容: 文件、编辑和预览 你可以关注最新消息 产生的所有内容 也可以纵观整个对话 完成这次探索后 我对项目的当前状态 有了充分的了解 现在我可以开始 添加洞察功能了 并用一些表格将其可视化 我对如何在SwiftUI中 实现表格还不够熟悉 以及需要调整的 SwiftData模型的细节 因此 我将使用Xcode 研究这些API并加深了解 我将为此创建新的对话 我将打开侧边栏中的编程助手 点击新建对话 并选择一个智能体 我将询问我不熟悉的方面 例如SwiftData模型 所需的关系 以及在SwiftUI中 创建表格的可用方案 我还会引用 之前创建的两份文档
我发送提示后 两份文档会立即被读取 以获取项目上下文 由于我询问了 添加表格的方案 Apple Document Search 会自动调用 以深入了解SwiftUI的表格支持 在采用API 或全新框架时 获取最新信息 对于得到最佳结果至关重要 不过 根据你使用的 智能体的不同 其基础知识可能不包含 最新的框架信息 借助Apple Document Search 你的智能体可以访问 高质量文档 帮助你确保项目 采用了正确的解决方案 来构建你想要的功能 我现在有了所需API的详细讲解 包含我可能未曾想到的 重要注意事项 例如确保SwiftData 模型关系正确 以及在较小屏幕尺寸上 最佳的数据呈现方式 有了这些 我对项目 和构建功能所需的API 都有了充分的了解
在Xcode中使用智能体探索 是快速熟悉新项目的好方法 或了解现有项目中 陌生功能的好方法 智能体可以查看 整个项目上下文 还可以用Apple的高质量文档 来补充上下文 并为新领域提供 引导式讲解 让你比以往更快地上手 现在我对项目有了充分的了解 我可以开始朝着 添加洞察功能的目标努力 在同一对话中 我将通过 斜杠命令进入Xcode的计划模式 计划模式让你成为架构师 在编写任何代码之前 规划好你的方案 我将指定要添加 一个新的训练洞察标签页 我将提供一个 所需功能的高层概述 列出所有要求 确保方向明确 我将指定从探索阶段 了解到的设备特定细节 用于呈现效果 最后 我将要求生成预览 确保新标签页符合预期
我将发送提示 并进入计划模式 Xcode与智能体协作 开始规划如何实现 洞察标签页
使用Xcode中的智能体构建时 你可以快速将想法转化为功能 因此 你的工作流程自然发生变化 确保你有正确的计划 能够体现你的想法 和你想要构建的架构 变得更加重要
当你专注于规划时 就能确保之后 完善工作用于打磨 你想要的功能 而不是修复 一个搭建粗糙的基础 Xcode为你提供 实现这一目标的工具 它将规划转变为讨论 在进入实现阶段之前 就策略达成一致 说到讨论 我大概知道 想展示哪些指标 但我想确保 我认同计划中的内容 我将发送跟进消息 征求一些建议 这会将消息加入队列 以便智能体完成当前工作后 可以回答我的问题 像这样将消息加入队列 让我能够随时表达想法 而无需等待智能体 完成当前任务
Xcode已将我的消息 提交给智能体 智能体已回复 并提供了一些选项 查看它提供的内容后 我认为每项运动的视图 以及顶层摘要 是不错的初始呈现方式 因此我将选择这些选项 并发送回复
当你使用队列消息 提供额外要求时 而智能体能够 提问以澄清细节时 你和智能体之间就形成了 紧密的沟通循环 因为你全程参与讨论 最终会得到一个更完善 经过深思熟虑的计划 计划看起来已经完成了 我们可以看到Markdown格式的完整计划 让我可以审阅 并直接进行所需的修改 不过这看起来相当详尽 涵盖了之前讨论的所有内容 因此我将批准 Xcode将与智能体协作 开始实现计划
第一处修改已经完成 我们可以看到修改的 完整差异作为产出物
源代码修改和新文件 在创建时作为产出物显示 并添加到你的项目中 让你保持同步 并审阅代码变更 确保它们符合你的预期
所有源代码修改 看来已经完成 智能体已进入验证阶段 正在使用Xcode的构建工具 确保修改的正确性 看起来最初有一些问题 但由于构建错误 会直接传达给智能体 智能体能确切知道哪里失败了 可以快速迭代 并重新构建以确保正确 智能体还在更新 我们的架构文档 加入新代码 确保知识库保持最新
现在 它已进入预览阶段 在解决SwiftData修改中的 一些问题后 它在当前运行目标上 渲染预览 预览也是产出物 因此我们可以点击渲染的预览 查看效果 看起来很棒 完全符合 我对iPhone上的预期 简洁的视图 配有顶层摘要 Xcode为智能体 提供了与你相同的工具 确保新代码 完全按预期工作 从构建项目 到渲染新界面的预览 你可以确信代码是正确的
我们在iPad上看看 也能查看新表格 我将在iPad模拟器上运行 以便在设备中心查看 我们有了新的洞察视图 包含一系列数据 关于我们近期的训练 和最近的锻炼动作 通过锻炼细项表格 还能看到更多详情 现在我对 模拟器中的界面感到满意 我想确保所有修改 建立在坚实的基础上 我将请Xcode编写一些单元测试 针对对SwiftData模型 所做的修改 我可以看到项目已获取到 我现有的测试套件 因此这些测试将与 我们已有的其他测试一起运行
除了构建和预览外 智能体还可以使用Xcode的测试工具 通过编写新测试 确保新代码的正确性 或运行现有测试 当智能体在工作中 获得这些验证机会时 你可以专注于 功能的高层目标
智能体编写了完整的测试套件 以验证新修改 并成功运行并验证了 全部12个新测试用例通过 现在我们可以确信 洞察视图是可靠的
在Xcode中构建 让你专注于功能的愿景 你可以通过计划模式就想法 达成一致 实时引导讨论 实时查看产出物 并使用Xcode的验证工具 确保新代码的正确性 贯穿整个开发过程 Xcode与你同行 助你精准构建 这是一个很好的开始 借助Xcode 我迅速完成了洞察视图的原型 现在我们有了这些分析数据 我认为这款App需要新的视角 来自一位注重细节的人 Devin 洞察视图有了一个很好的开端 已经有了很好的 往期训练数据分析 不过我认为这款App 确实需要一些可视化图表 展示随时间的进步情况 你想从这里接手吗 当然 我认为Swift Charts 非常适合做这件事 Maxwell把这个项目 打理得很好 我们有了一个很好的起点 来添加一些可视化图表 那我们马上开始吧 至此 我们展示了如何 使用智能体探索新的代码库 规划功能 并轻松构建它们 现在 我们需要迈出下一步 让一切的外观和感觉 完全符合我们的期望 我非常喜欢Maxwell在 分析界面上所做的工作 为了让它更生动 我们将使用Swift Charts添加图表 图表的外观如何 动画的感觉如何 哪些颜色与你App的风格相符 这些都是主观偏好 在工作中经常会改变 你可以以极快的速度 对视觉设计进行迭代 这就是为什么 关注每一次变更如此重要…… 确保最终结果 体现你的愿景
你可以用不只是文字来 传达你的意图 使用图片、草图和文档 精确展示你的设想 当你确切知道 某处调整应该放在哪里时 可以使用内联标注 直接指向代码中的那个位置 从而实现精准、针对性的修改 让我来展示一下 这是什么样子 我对Swift Charts相当陌生 因此我将先探索 哪些图表样式适合我们的数据 这是提示内容 我在询问哪些方案 最适合洞察视图
这些都是很好的选项 但我想在实际场景中看看它们 我们用人工生成的训练数据 为每种图表类型生成预览
借助Xcode 我们可以在几秒内 从文字描述到可用原型 因此不必只是想象 图表可能是什么样子 我们直接看就好了 现在我可以看到这些图表 在真实数据下实际的样子 "随时间变化的训练量"选项 是明显的赢家 它让我们一目了然地 看到在训练房中的进步 这正是我们想要的 预览看起来很棒 但还有一些地方 我想个性化定制 让我拿出iPad 勾勒出一个堪称博物馆级的图表设计 我在iPad上打开了Freeform 让我勾勒出我想到的样子
哇 真的堪称博物馆级 是的 感觉越来越好了
好吧 也许我不该辞掉本职工作 但还好 我觉得这表达了我的想法
现在我将发送草图 并要求添加折线图 直接添加到InsightsView中 与我绘制的样式匹配 在实现的同时 让我解释一下 幕后发生了什么 借助Xcode中的预览功能 智能体不会只是生成代码就结束 预览可以增量渲染 以视觉方式验证结果 确认生成的内容 与你的要求相符 如果有什么看起来不对 在你需要介入之前 调整就已经完成了
这就是实际效果 我的草图 被解读并转换 成一个完全符合 我预期的图表 你可以看到预览 在此过程中被渲染出来 这就是自我验证循环 的实际运作
看起来很棒 不过还有一些地方 我想调整 我想给图表添加 一个细微的动画效果 并更改配色方案 以匹配我们App的主题 我清楚地知道 这些修改应该放在哪里 借助内联标注 我可以直接指向代码中的那个位置
我将在图表视图中 留下两个标注 一个在这里 要求添加淡入动画
另一个在这里 要求调整 趋势线颜色以匹配我们的主题 内联标注携带了 普通对话提示所不具备的东西 即你想要修改的代码中 的确切位置 当你标注特定行时 周围的代码也成为 上下文的一部分 标注不只是说明修改什么 还展示修改在哪里 因此结果精准且范围 恰好是你所预期的
这看起来太棒了
整个过程的每一步 我们始终掌握主导权 我们选择了图表类型 我们绘制了设计草图 我们精确指出了 最终调整所在的位置 创意方向 始终由我们掌控 在Xcode中 你拥有工具 让完善工作更加出色 丰富的预览 以便用真实数据查看变更 内联标注让你 直接从源代码引导修改 以及图片附件 来精确展示你的想法 要了解更多与智能体协作 的设计方法 请查看"使用Xcode中的 智能体创建界面原型"专题 接下来 我将展示如何 协调全面的功能开发 将我们的App翻译成新语言 并使其具备无障碍功能 对我和Maxwell来说 我们开发的App支持无障碍功能非常重要 我们在健身房的一位朋友 主要使用菲律宾语 我们希望他也能 像我们一样轻松使用这款App 无障碍功能和本地化是确保 你的App适合所有人的方式 借助智能体 将这些功能集成到你的App中 比以往更加简单 Xcode提供了丰富的工具集 扩展了你能完成的工作 我和Maxwell已经展示了诸多工具 如Document Search、Preview Rendering 以及Run All Tests的实际应用 但还有更多工具 有些内置于Xcode 有些由Apple框架团队提供 你甚至可以添加自己的工具 正确的工具会根据当前任务 自动被发现和使用 我将为本地化 开启新的对话 要求将所有面向用户的 字符串翻译成菲律宾语 并配置字符串目录 我将发送此请求 你可以看到 机器翻译工具正在被发现 这些提供了 翻译我们App所需的上下文 工作现在可以开始了 这就是协调能力的实际体现 我描述了一个高层目标 "将App本地化为菲律宾语" 正确的工具 被自动发现 接下来 工作被分解为 并行的部分 较小的子智能体 被部署去定位 并翻译App中的字符串 在本地化运行时 我将为 无障碍功能开启第二个对话 要求添加VoiceOver标签 和无障碍标识符 到所有可交互元素
现在有多个工作流 同时运行 无障碍功能正在 我们的视图中实现变更 本地化正在通过 子智能体协调翻译工作 本地化有趣的地方在于 翻译工具并非 由我们直接调用 而是由子智能体 在幕后调用 主对话读取了这些工具 以获取上下文 将工作分解成多个部分 每个子智能体现在 正在调用特定的翻译功能 处理各自负责的App部分 这就是协调能力的力量 你描述目标 正确的工具 在正确的层级被使用 一些由主工作流用于规划 另一些由子智能体用于执行 在整个过程中 你可以随时查看进度 现在是最重要的环节了 ——检查结果 App已经本地化为菲律宾语 我们的"Start Workout"按钮 "History"标签页和"Insights"部分 全部翻译完成 字符串目录包含了App中 所有面向用户字符串的条目 我们来启用VoiceOver
"VoiceOver已开启" "Start New Workout 按钮" "横屏" "充电口朝右" "Start New Workout" "Workouts" "返回按钮" "Workouts" "标题"
"VoiceOver已关闭" 每个主要元素 都有标签且可导航 以前需要数小时 重复工作的内容 通过两个并行对话 就完成了 整个过程 我们始终掌握控制权
在Xcode中使用智能体 让你始终掌握主导权 协调是你描述高层目标的环节 Xcode来决定 如何实现这些目标 发现正确的工具 协调子智能体 并行完成任务 借助强大的Xcode工具 你可以引导高影响力的工作 如本地化和无障碍功能 只需一条提示 这款App真的开始成形了 当然 数据分析看起来很棒 图表让我们一目了然地看到进步 使用Xcode让我们 能够快速起步 还有很多功能可以添加 整个专题中Xcode支持了 我们每个人的工作方式 并让我们在每一步都了解进度 借助Xcode 你可以以你希望的 方式使用智能体工作 无论是探索、构建 完善还是协调 让我们回顾一下我们用于 构建这个新功能的一切 它从探索开始 使用Xcode工具 和Apple Document Search 绘制代码库地图并了解 我们想使用的API 当开始构建时 我们使用计划模式 在编写代码之前设计架构 并依靠队列消息 和智能体提问 就想法与智能体达成一致 一旦我们有了功能原型 我们使用了Xcode的构建 预览和测试工具来验证成果 完善界面时 我们附上图片来表达想法 内联标注引导 基于源代码的修改 以及预览来验证外观 最后 我们协调了更大的目标 利用本地化 和无障碍功能的工具 由子智能体并行工作
以下是你接下来可以做的事 下载Xcode 27并开始 在你的项目中使用智能体 探索Xcode中 提供的智能体工具 添加自己的工具 并查看"使用Xcode中的 智能体创建界面原型" 和"使用Xcode中的 智能体翻译你的App"专题 深入了解 我们今天讨论的概念 现在我们都有时间去健身房 测试新功能了 那里见 感谢收看
-
-
- 0:00 - Introduction
An overview of coding agents in Xcode 27, and what you'll learn in this session: how to explore a codebase, plan and build features, refine with visual design, and orchestrate multi-step tasks using agents.
- 1:14 - Meet the app
Maxwell and Devin introduce the workout tracking app they're building together — a starting point for exploring how agents support each phase of development.
- 2:06 - Explore
Learn how agents in Xcode help you get up to speed on a new project. Use a walkthrough to understand data models and view hierarchies, leverage Apple Document Search for accurate framework knowledge, and capture what you learn as reusable architecture documents.
- 7:38 - Build
Use plan mode to design an architecture before writing any code, communicate requirements in real time using queued messages, and rely on Xcode's build, preview, and test tools to validate new features as they're implemented.
- 13:44 - Refine
Iterate on visual design using Swift Charts with realistic previews. Use image attachments to convey design intent, and inline annotations to direct targeted changes right from your source code — keeping creative direction in your hands throughout.
- 18:25 - Orchestrate
Describe high-level goals like localization and accessibility, and let Xcode discover the right tools and coordinate sub-agents to accomplish them in parallel — delivering results quickly.
- 22:09 - Next steps
Key takeaways and links to related sessions on UI prototyping with agents and translating apps with agents in Xcode.