游戏百科

4个月烧掉30亿Token,这位「菜鸟」程序员做出50多个产品,360万人围观

机器之心编辑部

长久以来,代码世界的大门似乎只对少数掌握秘术的人敞开。我们被告知:你必须先理解内存、掌握语法、忍受枯燥的文档,才配谈论创造。

现在,随着大模型的发展,编程不再是一场苦修,而是一场大型即时策略游戏。在这个游戏里,很多人学会了与AI并肩作战,学会了用一种更纯粹、更直抵本质的方式去构建自己想要的世界。

BenTossell(Factory开发者关系主管)就是其中一员。他是一位不怎么会写代码的人,在过去四个月里,却消耗了30亿个Token。

这意味着每一分、每一秒,他都在通过终端窗口,观察AIAgent写下那些他凭一己之力永远无法写出的复杂代码。

或许有人会将这种方式贬低为所谓的氛围编程(Vibe-coding),但在Tossell看来,这个词带有某种傲慢的偏见。它像极了2019年人们对无代码(No-code)的刻板印象——而正是那一年,他创办了自己的无代码教育公司并最终被Zapier收购。这种偏见选择性地忽视了隐藏在交互与调度背后的核心技能。

在Tossell看来,编程新范式下,衡量一个人的技术能力不再是看他能否默写语法,而是看他能否驾驭系统。

从无代码时代的先行者,到如今30亿Token的调度者,BenTossell证明了一件事:在AI时代,通向代码世界的最高通行证不是专业背景,而是那种为了探索而探索的欲望。

为了记录这些体验,Tossell还专门写了一篇文章,其在X上的浏览量已经超过了360万。接下来我们看看文章内容。

实际交付的产品

虽然烧掉了30亿Token,但Tossell表示自己也是收获满满,包括:

个人网站:Tossell重新设计了个人网站,使其看起来像一个终端CLI工具。

Feed:Tossell构建了一个简单的社交媒体追踪器,跟踪subreddit帖子和GitHub问题。它是开源的,得到了100多个stars,很多人也克隆了这个项目。

FactoryWrapped:Tossell构建了Factory产品的第一个版本,展示给团队后他们非常喜欢,并决定将其融入到实际产品中,现在已经上线。Tossell还添加了新的指南,重新整理了一些内容。虽然这看起来不像传统的编码,但对Tossell来说,它依旧是编码,整个过程没有变。

定制CLI工具:创建了一些CLI工具,例如PylonCLI,团队用它来帮助处理客户支持请求。

加密追踪器:Tossell投资了一家能够准确预测金融、天气、健身和蛋白质折叠等动态数据中正面、负面或中性信号的公司。Tossell基于这些预测构建了一个加密追踪器,能够自动根据预测开设和关闭多空仓位,类似一个迷你对冲基金。

Droidmas:这是一个12天的实验或游戏,围绕X上人们讨论的不同主题展开,记忆、上下文管理、vibecoding等。

AI指导的视频演示系统:简单来说,给它一个提示,它会创建一个视频。该系统作为自己的导演、制片人和编辑,能实时观看录制过程,并根据情况做出反应。如果遇到问题、bug,或者需要等待响应,它会处理。Tossell用这个系统制作了一段视频,并由OpenAI发布。

此外,Tossell还做了大约50个其他项目,其中有些已经被遗弃。

完全使用CLI来工作

Tossell的战场不在花哨的网页界面,而是在纯粹的CLI(命令行界面)。他认为终端胜过网页界面,并且还能看到它的工作过程。

每当Tossell有一个新的想法,或者遇到一个问题,Tossell就会在Droid(Factory的CLI)中启动一个新项目。他会与模型交流几次,提供上下文,然后切换到规范(spec)模式,制定构建计划。

在规范模式下,Tossell会提出很多问题,比如他不理解这个是什么,为什么需要这个而不是那个,难道不能这样做吗?等等。

接着,在运行时,Tossell让Opus4.5在高自主性模式下运行,查看发生了什么,并在遇到错误时介入,最后进行测试,提供反馈并迭代。

agents.md设置

Tossell花了很多时间来思考如何设置最佳的agents.md,因为这基本上就是操作手册。

Tossell本地有一个repos文件夹,所有的编码项目都放在那里。在这个文件夹中,有一个agents.md文件,里面明确规定了每个新仓库的设置流程,做什么、不做什么,如何使用GitHub、如何提交代码之类的内容,还会标明是否使用工作GitHub账户或个人GitHub账户。

端到端测试是Tossell以前没有特别关注的事情,但现在他非常希望在每个项目中都进行端到端测试。

基于他目前的知识和能力,很多时候在构建和测试过程中,总会有一些本应该早早发现的低级bug,如果一开始就做了测试,可能就能避免这些问题。

Tossell表示,他也经常查看他人的agents.md文件,看看有哪些可以借鉴的地方。Tossell一直在努力改进自己的文档,从而让每次新的工作会话更加顺畅。

Tossell学到了什么

Tossell主要通过CLI而非MCP进行工作,不过他曾经使用过MCP,但现在更倾向于使用CLI版本,因为它简单且更高效。比如在Supabase、Vercel和GitHub上,Tossell总是使用CLI而非MCP。

他还经常为自己的需求创建CLI工具。比如,他构建了自己的LinearCLI,这样就能通过终端查询问题并执行任务,而不需要进入桌面或网页界面。

Bash命令:Tossell在处理变更日志的过程中真正理解了Bash命令的工作原理。这是一个重复的过程,最终理解了工作流程。Tossell让Droid创建了一个斜杠命令流程,这是Tossell第一次正确使用的命令,它运行多个Bash命令,并提示模型做一些特定的任务,比如查看GitHub差异、检查功能标志的状态,或者将新功能和bug修复放到正确的部分。

VPS:Tossell之前对VPS有一个抽象的理解,知道它是一个24小时运行的远程计算机。直到Tossell真正需要使用VPS时,Tossell才深入了解它的用途。现在,Tossell使用VPS来运行加密追踪器,获取每分钟的数据,同时保持它始终在线。使用DroidTelegram机器人时,Tossell也依赖VPS,通过SyncThing同步本地的仓库到VPS,这样Tossell的仓库总是保持最新状态,能够随时接着上次的状态继续工作。

新的可编程抽象层

在看到AndrejKarpathy的推文时,Tossell深有感触——现在有了一个新的可编程抽象层需要掌握。

在无代码时代,抽象层是像Webflow、Zapier和Airtable这样的拖拽工具,将它们拼接在一起,让它看起来像真实的软件(直到你遇到限制)。

但现在,我们不再认为自己必须从零开始学习编写代码才能做这些事情,实际上,需要学习的是如何与AI合作。如何给它提供合适的提示?如何确保它拥有正确的上下文?如何把各个部分结合起来以及如何随着时间推移不断优化系统等等。

为了更好的掌握AI编程技能,Tossell还会阅读像PeterSteinberger这样的程序员的帖子。从他的帖子中,Tossell看到了他系统的简洁性:他只是和模型互动,让模型做事。这一发现让Tossell感到非常有信心,也让Tossell明白自己不需要一个复杂的系统。

Tossell表示,在X上,你会看到很多人不断优化,甚至可能是过度优化自己的系统。对于像Tossell这样的人来说,这有时会感到很有压力,但他也认为这正是这个系统的魅力所在:它是一个完全可定制的系统,你可以根据自己的需要,让它按照你希望的方式工作。你可以像Kieran一样创建一个计划模式,或者像Peter一样直接与模型对话。

不过,他有时也会遇到bug和问题,但他明白这些问题其实是用户知识的空白,而不是自己当前能力的局限。

Tossell的任务是识别这些空白,找到它们,并思考:如何确保这种问题永远不会再发生?或者如何确保自己足够理解这部分系统,以便下次发生时能及时发现。

所以,我们需要做什么呢?其实你只需要问模型。模型知道你不知道的所有东西。你可以不断向它提问。它是你永远耐心的、在你肩膀上的专家程序员。你可以在agents.md中写道:Tossell不是程序员,你需要非常简单地解释给Tossell听。你可以根据自己的需求完全定制它

我们学习的方式改变了

以往,Tossell尝试过很多次学习编程,每次都是输入这些字符,按下回车,看看是不是显示helloworld。但Tossell觉得这和今天的学习方式差别很大。

如果按照传统的方式来学习编程,想要达到现在能构建的程度,可能需要花费数月甚至数年的时间才能有信心自己写代码。

而现在,Tossell是从理解代码构建项目的系统思维角度来学习的。Tossell在经营无代码教育公司时,无意中学到了这一点。你依然要理解:Webflow是前端,Zapier是API路由和连接层,数据流动,而Airtable是数据库。所以Tossell之前学会了这些系统化的思维,今天可以帮助他理解这些组件。

有太多东西可以学习了,但也是没有任何软件是不可达成的。

学会提出那些「愚蠢」的问题

人们常会冒出一些看似笨拙的问题,那些资深程序员或许早已习以为常,不再追问。

比如:既然框架是为了简化人类的工作,而现在的LLM已经如此强大且智能,为什么我们不干脆抛弃沉重的框架,让它直接写出最纯粹、零依赖的代码?这样不是能大大减少Bug和维护成本吗?

后来Tossell逐渐意识到,这并非一个傻问题。框架的存在,不仅是工具,更是共识与生态。LLM的智慧源于海量的训练数据,而这些数据大多根植于现有的成熟框架之中。

这就是Tossell构建认知的过程。以前,Tossell总觉得自己是代码世界的门外汉,甚至觉得这个领域高不可攀;而现在,通过这些直抵本质的提问,Tossell正一步步拆掉思维的围墙。他不再只是一个使用者,而是正真实地成为这个工程世界的一部分。

关于氛围编程

虽然现在氛围编程这个词很火,但Tossell总觉得它没能触及灵魂。我们所做的,远不止于凭感觉,而是在深度理解系统——去拆解它的逻辑,去改进它的构造。作为新时代的技术阶层,我们究竟该如何定义自己?

Tossell不想称自己为非技术人员,但Tossell也不想被框在程序员这个传统标签里。他更像是一个处在某种无名阶层中的探索者。如果说无代码曾是一种误读,那么VibeCoding现在也正带着某种傲慢的偏见。

对Tossell来说,编程更像是一场真实存在的宏大游戏。

这种新范式迷人之处在于:每一个创意都能被即刻实践,每一个念头都能深入探索。它不需要从一开始就追求完美,因为在这个过程中,掌握系统真谛才是重要的。就像代码未必都要上传GitHub,有时候,它们只是通往某个系统深处的路标。

我们不要再为了工具而去生产工具。就像看到别人的React抓取工具,Tossell不再只是感叹,而是会问自己:我能做一个属于自己的吗?它的原理是什么?这种为了探索而探索的自由,正是新技术赋予我们的最高权限。

以前,学会编程更像是一种重资产投入。Tossell曾以为,如果我们费尽心力做出了一个想法的简陋原型,结果却无人问津,那我们一定会因为投入了太多情感和成本而无法放手。

但在无代码时代,Tossell第一次尝到了快节奏的甜头:一两个小时,一个周末,快速成型。如果市场不买单,那就随它去吧。因为投入极低,所以放手极快。

而现在,AI让这种反馈循环达到了光速。

我们正处于软件大爆炸的前夜。你会看到平庸的作品泛滥,但更会看到无数惊艳的项目井喷。那些资深的程序员正以前所未有的速度发布着令人赞叹的开源工具。这意味着,我们拥有了一个取之不尽的灵感库和零件厂,可以随时克隆、调整、重混。

比起从读写文件这种最底层的语法练起,这种以结果为导向的重组效率高得惊人。反馈是即时的,输出是持续的。你不需要在起跑线上纠结太久,你只需要不断地去尝试,去碰撞。

在这个范式下,每一个创意都不再是沉重的负担,而是可以随时抛出的探针。如果你想,你可以随时随地、随心所欲地去构建一切。

Tossell坚信,每个渴望进入技术世界的人都能做到这一点。你不需要计算机学位,你只需要一份允许自己去玩的许可。把编程看作一场游戏:去注册一个CLI智能体,告诉它你想做一个RSS追踪器、健身应用或个人网站。然后,按下启动键。

在这个过程中,你会撞上无数Bug,但这正是最精彩的部分。你不再被错误困扰,而是开始好奇:为什么会这样?你要知道,即便顶尖专家也难逃Bug的围攻,而你拥有ChatGPT或Claude这样的多维智囊团。你可以从不同模型中获取视角,在无数种方案中做出选择。

在工具的丛林里,准则只有一条:最快、最简、最远。

面对琳琅满目的工具,没必要陷入选择瘫痪。选定一个,深挖下去。如果觉得缺了什么,尝试自己去造。

Tossell最后总结说:「这整件事对我而言,是一场巨大的、令人享受的学习实验。不断构建,不断向前失败,然后不断把新作品推向世界。」

参考链接:https://x.com/bentossell/status/2006352820140749073