一句话摘要
标题主题:如何打造一个软件工厂
Building a software factory(构建一个软件工厂)2026年8月21日 · 9分钟阅读 · 查看来源 ↗ AI SEO 设计 Claude
过去一个月,我一直在用 15 个 Codex 订阅构建一个软件工厂,横跨十几个软件项目。在这篇文章里,我会深入讲讲我用 AI 写代码的哲学、我是如何构建我的软件工厂的(包括我的完整技术栈),以及我的项目概览。
嵌入帖子:
作者:hraness ☀️ (@hraness)
帖子 ID:2090135924529037616
来源:https://x.com/hraness/status/2090135924529037616
发布时间:2026-08-19T17:56:51.000Z
回复给:无
正文:
> 一幅我的软件工厂的画像
>
> 过去 30 天里,我的产出是 +670 万行、-470 万行代码,横跨 25 个项目
>
> 我的工厂下午效率是上午的两倍,早上效率最低
>
> 有些日子我就让它随便跑,但我尽量多待在车间里
>
>
媒体:
图片:https://pbs.twimg.com/media/HQGkZQFXIAASEWp.jpg
第 1 步:最高效地使用最好的 token
你必须不懈地寻找杠杆,让你大部分时间都花在解决难题上,而不是盯着执行。
token 效率是关键。考虑到大实验室的重度补贴,最好的开源模型仍然落后于闭源模型。写代码时,你应该始终使用帕累托前沿 [0] 上最好的可用模型,同时把补贴考虑进去 [1]。
我跑着 15 个 Codex Pro 20x 订阅 [2]。如果我们采用 SemiAnalysis 在 6 月报告的 70 倍补贴,我每个月在高级推理上花的是 21 万美元。换算成年化,那是 250 万美元的支出——而我只付 3.6 万美元 [3]。
嵌入帖子:
作者:hraness ☀️ (@hraness)
帖子 ID:2090583665583468672
来源:https://x.com/hraness/status/2090583665583468672
发布时间:2026-08-20T23:36:01.000Z
回复给:无
正文:
> 我现在有 15 个 Codex Pro 20x 订阅。
>
> 这意味着我用着每月 21 万美元的最顶尖模型——年化 250 万美元的运行速度。
>
> 而我只付 3.6 万美元,这比华盛顿州的最低工资还低。
>
> (SemiAnalysis_ 在 6 月报告的 70 倍补贴)https://twitter.com/hraness/status/2090135924529037616
引用的帖子:https://x.com/hraness/status/2090135924529037616
[0] 我在 aicharts.io 上追踪模型能力的帕累托前沿(不计补贴)。当你的智能体在写生产代码时,模型选择至关重要。质量优先于成本或速度。在模型质量上抠门,长远看反而会浪费时间和 token。
[1] 当我拿 Claude Max 和 Codex Pro 20x 做对比测试时,我能用 GPT 5.6 Sol(Max/Ultra)的时长,比我用 Fable 的时长要长得多。
[2] 管理 15 个订阅有点麻烦,所以我在 Codex App Server 上写了一个简单的 CLI 来追踪我的账号。我还在构建一个叫 Hra 的元框架,让我可以把订阅池化,并针对我特定的约束来实验智能体架构/接口的想法。
[3] 3.6 万美元听起来可能很多,但它远低于一个人类工程师的工资。
第 2 步:构建一个知识库
代码库自有其智能。它们编码了一整套规则与信念体系,里面有着深厚的隐性知识脉络。
早期我就决定为工厂构建一个知识库(kb)。在数据层面,kb 很简单:反向链接的 markdown 文件和一个 SQLite 数据库。在代码层面 [0],kb 通过结合全文搜索、标签、语义搜索 [1]、图搜索和 git 上下文,给智能体提供了更高效地搜索知识的工具。
这在我的工厂里运行得极好。智能体在 kb 里记录计划和决策。这帮助它们随时间学习。在智能体编排层,我相信持续学习这个问题已经解决了。只要给智能体跨时间和空间相互协调的能力,它们自己就会搞定。
[0] 我所有的智能体工具都设计了 CLI 和 SDK 接口。SDK 让智能体可以写代码来调用工具,这打开了一个全新的可能性宇宙。
[1] 对于语义搜索,我使用 qmd 和一个本地嵌入模型 EmbeddingGemma 300M。
第 3 步:提升智能体的写作
用 LLM 培养高质量代码库时,你必须把模型锚定在它训练分布中"智能"的那一部分上。
因为代码库很大一部分是散文而非代码(注释、提交记录、文档等等),你必须确保你所有的散文都是高质量的。做到这一点后,你会发现对话质量和代码的"手感"都不同了。当你的输入像是品味良好之人的作品时,你会触发 LLM 里更聪明的回路,输出也会随之改善。
我用两个 markdown 文件来写出更好的散文:WRITING.md 用于内部散文,STYLE.md 用于外部文案。
第 4 步:选一套扎实的技术栈
我的智能体现在能跑好几个小时,有时甚至好几天。我起床时、午饭前后、晚饭后、睡前都会派发提示词。我是怎么做到的?
智能体编程就像打高尔夫。首先,我选了一套不复杂的技术栈 [0],并确立了我偏好的编码规范 [1]——提升我挥杆的准度。有了扎实的基础后,我让智能体能够自行验证工作——提升我挥杆的力度。
我创建了一个叫 direct 的自定义 UI 测试框架,让智能体可以模拟并验证应用状态。direct 坐落在你的应用和互联网之间的接缝处。它给智能体提供了一种高效的方式来录制"rigged"的 UI 流程并高效验证它们。direct 在工厂里的成功启发了我,于是我构建了一个叫 wrench 的浏览器自动化工具 [2]。我主要把 wrench 用于个人自动化,但它偶尔对自动化那些没有官方 API 的开发工作流也有用。
[0] 我的技术栈:
代码:@typescript, @bunjavascript, @nextjs(shadcn, React Aria)
托管:@vercel(domains, deployments, blob)
存储:@convex(带 Auth), @tursodatabase
AI:Vercel AI gateway, @aisdk, @ExaAILabs, @VoyageAI
杂项:@resend, @posthog, @stripe
[1] 我的编码规范,从我的根目录 AGENTS.md 渗透而来:
增强的类型安全
基于属性的测试
共享开发平台:UI、账号、支付、可观测性
"让无效状态难以被表达。"
"让依赖保持刻意。把共享基础与产品组合分开。"
"宁要连贯的跨文件正确性和聚焦的确定性证据,也不要明知更弱的设计。"
"把生产风险、发布、监控、供应商访问和外部协调当作真实成本。"
"保持所有权有文档记录。每个源码边界都有一份 AGENTS.md,只包含 # CONTENTS 和 #GUIDELINES。计划、笔记和 runbook 放在 kb 里。"
"把未来工作记录在 kb/plans 下可验证的计划里。"
[2] wrench 的灵感来自 agent-browser 的 derive-client skill;它让智能体可以为任何目标网站培养出一个 SDK。
第 5 步:让智能体们开火
我的工厂就绪了,于是我决定让它去啃一些个人基础设施项目。首先,我做了我梦寐以求的个人网站。然后我又梦想出了更多项目。一个月里我积累了 94 个新域名。
最近,我开始使用 @bot。作为 @zocomputer 的创建者,我对这个领域非常熟悉——我们是第一个拥有云电脑的个人智能体。我早就很敬重 @benjitaylor 和 @cursor_ai 团队,所以很兴奋地试用了 Bot。它的 computer use 很顺滑,智能体很快,界面简单又令人愉悦。
嵌入帖子:
作者:hraness ☀️ (@hraness)
帖子 ID:2090507003969917033
来源:https://x.com/hraness/status/2090507003969917033
发布时间:2026-08-20T18:31:24.000Z
回复给:无
正文:
> 好家伙,@cursor_ai 用 @bot 把所有人都按在地上摩擦了
>
> 我跪了
通过接入我软件工厂里的自制工具,我在我的 Bot 里生出了一堆有用的智能体:
Wrench——在 Bot 的浏览器里,我登录了 @x、@substack、@bluesky、@instagram、Threads、@facebook、@reddit、@youtube 和 @hackernews。我让 Wrench Bot 去浏览、总结并发布到社交媒体平台,把自己从信息垃圾里解救出来。
Read——我的个人网站里有一个持续更新的阅读清单,总结我遇到的所有有趣链接。每篇文章、视频或 PDF 的完整内容都存进我的 kb,所以我的智能体对我感兴趣的东西有完整上下文。而且我 kb 里的文章会自动同步到我的网站。现在我就把链接发给 Read Bot,它会回我一个有用的摘要,我知道有用的副作用正在后台发生。
Invest——我接入了我的 @public 账号,让 Invest Bot 设计一套投资组合策略(存到 kb)并自主执行,每天醒来迭代 3 次。我们看看结果如何。
Stripe——我是个重度 @stripe 迷,所以我建了 stripehistory.com 来编目 Stripe 自创立以来的新闻。Stripe Bot 会在任何值得关注的事发生时通知我。
News——我在 rough.day 上做了一个聚合器,聚合我感兴趣的新闻。News Bot 每天给我发一份摘要。
Atet——我正在构建一个叫 Atet 的智能体媒体工具包,名字取自太阳神 Ra 穿越冥界时乘坐的太阳船。atet 会迭代式地创建图片、图表和视频,混合使用生成式技术和代码技术。我和 Atet Bot 聊天,把原始素材和想法点化成媒体黄金。
People——我正在构建一个叫 PeopleBlade 的智能体通讯录。我已经把所有的联系人(带有有用的元数据,比如我和某个人互动过多少次)都接入了 iMessages、Apple Contacts、Gmail、LinkedIn、Telegram、WhatsApp、Instagram 和 Facebook。PeopleBlade 让我把通讯录同步到云端,并对我一生中的数千个联系人进行丰富。
SEO——我接入了 @posthog,现在 SEO Bot 会在我所有的网络资产上迭代式地改进 SEO。
act60——我正在为波多黎各 Act 60 构建一套工具和资源。我生成了一个 CLI 并把它接入 act60 Bot,现在它帮我打理一堆行政琐事。
我才刚刚起步,但我已经登上了 Tokscale 排行榜的全球第 60 名。软件工厂第一阶段完成后,我开始烹制一些更宏大的项目。更多内容,很快见。
Ben | hraness.com
我正在看/听的东西
Caterina Barbieri, Spirit Exit——我最喜欢的艺术家和专辑之一。
Caterina Barbieri, Fantas(现场)——顶级的模块合成器技艺。这正是我希望管理我的智能体时的那种感觉。
标签:# X # AI # SEO # Design # Claude # Fable
相关文章 10 SEO backlink Claude automations for 61k AI mentions in 3 months Link building is trial and error. SEO AI Claude Automation
原文参考:https://maxed.wiki/posts/building-a-software-factory/ (Maxed.wiki,本页为站内中文整理)