开发工作流

Daniel Roth 的双智能体工作流:用 AI 构建 iOS 应用

MAR 1940 阅读

LinkedIn 编辑 Daniel Roth 分享其利用 Claude Code 双智能体(构建者与审查者)高效开发 iOS 应用的实战工作流。

在本期《How I AI》中,我们采访了 LinkedIn 编辑 Daniel Roth。他从一名非技术背景的商业记者,转型为能独立将 iOS 应用上架 App Store 的“氛围型程序员”(vibe coder)。他通过一套精心设计的 AI 工作流,将创意快速转化为产品。

工作流一:AI 驱动的功能优先级排序

在动手编码前,Daniel 首先明确“做什么”。他的应用 Commutely(帮助纽约人判断是否赶得上地铁)收到了大量用户功能建议。为此,他在 Claude 中创建了一个名为“Commutely Feature Idea and Tracker”的长期聊天项目,并设定了初始指令:

让我们将此作为 Commutely 的功能想法清单。每当我记录一个新点子,请跟踪它并提供指导:预估开发所需时间(以来回交互小时数计),并在两个 1-3 分的维度上评估潜在影响:用户满意度和增长潜力。

每次添加新想法,Claude 都会更新一个 Markdown 表格,按预估工时排序。这让 Daniel 能快速找到“高影响力、低投入”的任务,在周末或空闲下午高效推进。

工作流二:双智能体协作——构建者 Bob 与审查者 Ray

这是 Daniel 开发流程的核心。他没有让 AI 单打独斗,而是模拟真实工程团队,设立了两个角色鲜明的 AI 智能体,均在 Claude Code 中运行。

角色介绍

Bob the Builder(构建者鲍勃) Bob 的职责是精益、模块化地构建代码。Daniel 要求他必须先制定计划,以模块方式开发以避免“意大利面条式代码”,并将所有内容记录在 Markdown 文件中。最关键的是,Bob 在行动前后都必须向 Ray 汇报。

Bob 是一位“精益构建者”,他会先做规划,模块化构建,详尽记录,并且必须将所有事项提交给审查智能体 Ray。

A developer leverages the Claude Code AI assistant, likely for a TypeScript file ('notifications.ts'), while simultaneously managing project features and reviewing documentation for the 'Commutely' application.

Ray the Reviewer(审查者雷) Ray 扮演资深软件工程师的角色,专注于安全性、架构完整性和用户信任。Daniel 明确指示 Ray 必须敢于说“不”,不能对 Bob 的工作照单全收,要主动提出质疑和改进建议。

Ray 是一位“资深软件工程师”,关注安全与质量。他负责审查 Bob 的计划和代码,并被明确要求在必要时提出反对意见。

Daniel 自己则担任最终决策者,在 Bob 和 Ray 出现分歧时拍板。

A developer's workflow using an AI assistant (Claude Opus 4.5) shown during a 'How I AI' podcast, featuring a code editor, a feature tracker, and a retention plan markdown document.

协作流程

这是一个手动但高效的复制粘贴流程,旨在强制审查并促进学习:

  1. 任务分配:Daniel 给 Bob 一个任务(例如,实现之前排好优先级的留存计划),并通过 @ 符号引入相关 Markdown 文件(如 retention_plan.md)。
  2. 制定计划:Bob 阅读上下文,生成详细的分步实施计划。
  3. 提交审查:Daniel 将 Bob 的完整计划复制粘贴到与 Ray 的聊天窗口中。他刻意不使用子代理,以便亲自看到反馈,从中学习自己可能忽略的问题。
  4. 反馈循环:Ray 从架构合理性、安全风险和边界情况等方面分析该计划。在演示中,Ray 虽批准了计划,但也指出了几个重要的边界情况供 Daniel 考虑。
  5. 批准构建:Daniel 将 Ray 的反馈连同“绿灯”指令一起交还给 Bob,授权其开始编码。

这种来回往复有效防止了 AI 走入错误方向,完美复刻了现实世界的代码审查流程。Daniel 特别强调了在分支(branch)上开发的重要性——他曾因一次痛苦的合并冲突耗费数周才解决。

A detailed software development plan, outlining risks, testing procedures, and code review steps, is displayed in a terminal window alongside two podcast hosts discussing the content.

从代码到 App Store

当 Bob 生成代码后,Daniel 接手后续工作:

  1. 集成到 Xcode:将代码复制进 Xcode。
  2. 构建与测试:清理构建缓存(Command + Shift + K),然后构建应用(Control + B)并在模拟器中运行。
  3. 实时调试:在录制过程中,他们甚至进行了现场 AI 辅助开发。当 Daniel 忘记某个终端命令时,立刻让 Bob 创建了一个 Bash 别名,方便未来使用。
  4. 发布上线:在模拟器和真机上充分测试后,他将更新提交至 App Store,并借助 Claude 应对其复杂的审核流程。

Daniel 始终以“挑剔的用户”心态对待自己的产品,确保应用的声音、风格和功能都符合他的最高标准。

A developer's terminal shows 'Claude Code' version info, a command prompt attempting to edit 'CommutelyLiveActivity.swift', and an 'Auto-update failed' error suggesting fixes with 'claude doctor' or 'npm install'. The podcast host observes the technical output.

工作流三:每日收工前的 Copilot 复盘

在白天的工作中,Daniel 的身份是管理者。为了确保万无一失,他依赖 Microsoft Copilot 进行每日收尾。

每天下班前约30分钟,他会向 Copilot 提出一个简单而强大的问题:

What did I drop the ball on?

(我有哪些事情没处理好?)

Copilot 会扫描他的邮件、Teams 消息和文件,结合对他角色和项目的理解,生成一份需要他关注的优先级清单——比如未发送的草稿邮件、错过的会议跟进或待处理的紧急事项。这成了他的个人安全网,让他能清空大脑,安心地在周末去开发那些“亏钱的应用”(他自嘲道)。

这一转变意义重大:不是以被信息淹没的焦虑开始新的一天,而是以掌控全局的从容结束每一天。

A developer's terminal view displaying a testing plan, documentation tasks, and an AI-generated Bash alias for a React Native project, alongside podcast hosts from 'How I AI'.

结语

Daniel 的故事生动诠释了 AI 如何赋能新一代创造者。通过扮演 AI 智能体的“经理”和产品的“挑剔用户”,他成功跨越了技术鸿沟,打造出高质量的软件。他的工作流证明,只要有正确的方法和持续学习的意愿,任何人都能将想法变为现实。

他建议我们以善意对待 AI:不要把它当作需要呵斥的对象,而应看作一个聪明但偶尔健忘的实习生。关键在于提供清晰的指引,适时提醒它过去的教训,并最终让它承担责任。希望这能激励你开始自己的创作之旅,无论是开发一款应用、编写一个脚本,还是优化你的日常工作流。

文章来源
来源:www.chatprd.ai
原文链接
点击查看评论

评论

(0)

登录后即可发表评论

立即登录