链载Ai

标题: 2万行代码,Claude Code完成95%!一位独立开发者发布APP的实录 [打印本页]

作者: 链载Ai    时间: 昨天 18:56
标题: 2万行代码,Claude Code完成95%!一位独立开发者发布APP的实录

家人们,先来开个脑洞:

一款功能贼复杂、UI 巨精美的 macOS 应用,从一个空文件夹到上架 App Store,只花了一周。

这个项目总代码量超过 2 万行,95% 是 AI 写的。

这是不是听起来像某书上哪个人编的爽文?

但这确实是来自一位资深 Mac 开发者的亲身经历,刷新了我们对 AI 编程能力的上限。

这位开发者名叫 Indragie Karunaratne,从 2008 年开始就开始搞 Mac 软件开发。

最近,他用 AI 编程工具 Claude Code,从零撸了个叫“Context”的 App,并且都上架了。最后统计发现,他自己手写的代码,竟然不到 1000 行,95% 的开发工作,都是 Claude Code 完成的。

“整个过程几乎没怎么写代码,反而像是在给一个特别聪明的远程实习生发指令。”

听起来挺暴力的,Indragie 把整个过程写成了博客,直接在开发者圈子里炸了锅。

这已经不是单纯的“炫技”,而是他摸索出了一套“人机协作”的教科书式开发教程,教大家如何把“代码工具”调教成一个能扛起整个项目的“主力”,人全程只需要负责动嘴和审查。

下面一起看看他完整的开发历程,包括如何选择工具,这些工具的优缺点,以及最重要的,你该如何利用它们,最大限度地提升代码产出质量,特别是当你也想构建一款原生应用时。

AI 编程,究竟能做到什么地步?

这个“Context”的 App,是一款用于调试 MCP 服务器的原生 macOS 应用,基于苹果的 SwiftUI 框架。

作者 Indragie 察觉到目前构建和测试 MCP 服务器的体验相当繁琐,所以想要尝试构建一个原生应用来解决这个问题,“Context”便诞生了。

Indragie 摸索出的这套工作流,核心思想就是是:人类负责思考和决策,AI 负责执行和试错。

Indragie 只下达指令,不纠结代码细节;Claude 会根据指令,迅速生成一整块、甚至一整个文件的代码。Indragie 拿到代码后,几乎不审查逻辑。他只做一件事——全选、复制、粘贴到 Xcode 里,然后“编译”。Indragie 再把所有错误日志,原封不动地再“甩”回给 Claude。Claude 立刻理解错误道歉,然后提供修复后的新版本代码。

“下指令 -> AI 编码 -> 运行 -> 甩回错误 -> AI 修复”的循环,是整个项目的推进主轴。

Indragie 也给出了最直接的评价:

搭载了最新 Sonnet 4 和 Opus 4 模型的 Claude Code,代码能力极为出色。虽不及“顶尖 1%”的人类程序员,但其输出质量已“明显高于普通开发者”。

面对一个功能需求,Claude 能做到的事情,几乎覆盖了开发的完整闭环:

AI 最强大的地方在于能自主迭代,人类最大的功能是给 AI 建立反馈闭环。

最让 Indragie 感到不可思议的是,完成这一切所花的时间,仅仅是人类开发者的一小部分:

“这就像让一个对项目零背景的新员工,在短短几分钟内,就完整交付一个功能。”

一句“Make it more beautiful”就能让 UI 升级

作者选择了最新的技术栈:Swift 6.1 和 SwiftUI。想看看在训练数据远少于 Python 或 JavaScript 的情况下,Claude 写 Swift 代码的表现如何。

好消息是,Claude 能胜任 Swift 5.5 之前的大部分语言特性。

但对于之后引入的 Swift Concurrency(并发),它就有点抓瞎,比如会固执地用老 API,或者第一次写的 UI 丑得不忍直视。

但好消息是,它的学习和纠错能力极强。你只需提点几句,经过几次迭代,它就能写出设计精良的现代化代码。

更惊人的是,它甚至在遇到 Swift 编译器那个著名的“类型检查超时”错误后:

The compiler is unable to type-check this expression in reasonable time

能够自主将复杂代码重构成了更小的部分,在不破坏原有逻辑的前提下,完美解决问题。

提升产出的核心:上下文工程

此外,Indragie 发现,AI 越聪明,瓶颈就越不是“怎么问”,而是“它能记住多少”。“上下文窗口”是有限的,高效利用这有限的“记忆”,才是关键。

他总结了三个核心技巧:

1. “预激活”(Priming):先让 AI 学习,再让 AI 工作

别直接派活!

在让 AI 开始工作前,先让它“预热”——阅读额外的上下文,以提高输出质量。比如,先抛给它这样的指令:

“阅读文件A.swift,文件B.swift这篇网页上的文档,然后总结你学到了什么。”

它会先去阅读和学习,这个“总结”的动作能强迫它思考,并将关键信息保留在上下文中,对后续任务的质量有极大提升。

Claude 还会贴心地显示剩余上下文容量的提示条,当 token 耗尽时系统会启动"对话压缩"机制。

2. 强制让 AI“深度思考”(Ultrathink)

Claude 有时会跳过充分思考,直接“莽”上去写代码,结果自然不理想。

Indragie 发现,Claude 有一个“隐藏技能”,你可以通过一些关键词让它进行更深度的思考。这些关键词是:think<think hard<think harder<ultrathink

ultrathink会消耗最多的 Token,但能产出最好的结果。在指令中加入这个词,它会先制定一个周密的计划,而不是直接动手写代码,这能有效避免走弯路。

3. 给 AI 清晰的“需求文档”

“一句话造应用”的梦还没照进现实。想让 AI 构建真正可用的复杂功能,前提是你能给一份清晰的需求文档。

“花点时间把想法写清楚,绝对比后面花大把时间调试它写的烂代码要划算得多。”

垃圾进,垃圾出,这铁律在 AI 时代依然有效。

建立反馈循环

如果说以上三点是与 AI 相处的技巧,那下面这点,则是 Claude 最让 Indragie 震撼的“执行”能力。

它能够独立驱动一个“构建 -> 测试 -> 修复”的反馈循环。

这意味着,AI 可以自主地完成一个迭代周期:

全自动能力:

半自动化能力:

让杂活变得“免费”

除了核心编码,AI 在干那些“吃力不讨好”的杂活上,同样表现惊人。

这个脚本功能全面、界面美观,能自动完成从生成更新日志到打包签名、发布到 GitHub、上传调试符号等所有繁琐工作。这个过去需要花费数小时甚至数天的任务,现在成了“一次点击,喝杯咖啡”的享受 ~

结语

Indragie 算了一笔账:AI 带来了“每天凭空多出 5 个小时”的感觉,让他重新找回了将项目打磨并成功发布的掌控感和乐趣。

获得这种开发“超能力”的代价呢?仅仅是每月 200 美元。。。

Indragie 的实践并非个例。

最近,Reddit 上一个热帖《开发工作即将迎来彻底变革,而没有人做好准备》也引发了热议。发帖者激动地宣称,AI 让他一周内完成了拖延十年的项目。

当然,评论区的反响并非一边倒的赞歌。许多开发者在肯定 AI 潜力的同时,也一针见血地指出:

“AI 生成的代码依然存在大量冗余,上下文管理仍是巨大挑战,离真正高质量、可维护的大规模生产应用,还有很长的路要走。”

这让网友们联想起了传奇程序员肯特·贝克(Kent Beck)的观点。

“你 90% 的编码技巧正在迅速贬值,但你 10% 的架构远见、设计品味和复杂性管理能力,正被放大 1000 倍。”

这一点,奶茶我是非常认同的!

人类程序员的价值正在从“如何写”,转移到“写什么”和“为何写”。

所以,朋友们,真正的问题已经不是“AI 会替代我吗?”,也不是“我该去学哪门新语言?”。

而是:

你那 10% 不可替代的价值,究竟是什么?

以及,你准备好如何用 AI,将它放大 1000 倍了吗?







欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5