实验性探索让 LLM 直接完成任务而无需人工编码(HN 436 分热讨)。展示 AI 应用的新思路,实用性仍需验证。
一个没有任何应用逻辑的 Web 服务器。只有一个配备三种工具的 LLM。
终有一天,我们将不再需要代码。LLM 会以 120fps 输出视频,实时采样输入,然后直接……成为我们的计算机。没有 App,没有代码,只有意图与执行。
这是科幻小说里的情节。
但我产生了好奇:利用这个周末的几个小时,以及今天的技术水平,我们究竟能走多远?
我原以为它会以一种极其壮烈的方式失败。
所有人都在关注能够编写代码的 AI。你肯定知道那些耳熟能详的产品:Claude Code、Cursor、Copilot,诸如此类。但我觉得,这可能错过了更大的图景。于是,我构建了一个东西,用来验证另一个问题:如果彻底跳过代码生成会怎样?一个没有任何应用代码的 Web 服务器。没有路由,没有控制器,没有业务逻辑。只有一个 HTTP 服务器,它会针对每个请求询问 LLM:“我应该做什么?”
目标是:证明我们距离那个未来究竟还有多远。
联系人管理器。基础 CRUD:表单、数据库、列表视图、持久化。
为什么?因为大多数软件本质上都只是换了身衣服的 CRUD。如果这套方案真的能运行,那就已经很能说明问题了。
// The entire backend
const result = await generateText({
model,
tools: {
database, // Run SQL queries
webResponse, // Return HTML/JSON
updateMemory // Save user feedback
},
prompt: `Handle this HTTP request: ${method} ${path}`,
});
database —— 在 SQLite 上执行 SQL。由 AI 设计数据库 schema。
webResponse —— 返回任意 HTTP 响应。AI 会生成 HTML、JavaScript、JSON,或者任何适合当前场景的内容。
updateMemory —— 将反馈持久化到 Markdown。AI 会在下一个请求中读取它。
AI 只根据路径就能推断出该返回什么。访问 /contacts,你会得到一个 HTML 页面。访问 /api/contacts,你会得到 JSON:
// What the AI generates for /api/contacts
{
"contacts": [
{ "id": 1, "name": "Alice", "email": "alice@example.com" },
{ "id": 2, "name": "Bob", "email": "bob@example.com" }
]
}
每个页面都有一个反馈组件。用户可以输入“把按钮做大一点”或者“使用深色主题”,AI 会直接实现。
它居然能用。真让人恼火。
每次点击或提交表单都需要 30~60 秒。传统 Web 应用只需 10~100 毫秒就能响应。这意味着它要慢 300~6000 倍。每个请求消耗价值 0.01~0.05 美元的 API token,比传统计算贵 100~1000 倍。AI 会把 75%~85% 的时间花在推理上;5 秒前刚刚生成的 UI,转眼就忘了;一旦它幻觉出一条错误的 SQL,立刻就会触发 500 错误。不同请求之间的颜色会发生漂移,布局也会改变。我还尝试了一些 prompt engineering 技巧,比如写上“⚡ THINK QUICKLY”,结果反而更慢,因为模型花了更多时间思考怎样才能快一点。
但即便如此,表单确实能够正确提交。数据在重启后依然存在。UI 可以正常使用。API 会返回有效的 JSON。用户反馈也能得到落实。在没有任何示例的情况下,AI 自行创造出了合理的数据库 schema,包括恰当的数据类型和索引;能防止注入的参数化 SQL 查询;类似 REST 的 API 约定;响应式 Bootstrap 布局;表单验证;以及针对边缘情况的错误处理。这些都是只给它三种工具和一个 prompt 后自然涌现出来的行为。
所以没错,这种能力已经存在。AI 可以处理应用逻辑。只不过它慢得灾难性、贵得荒谬,而且记忆力像金鱼一样短暂。
这种能力已经存在。AI 可以处理应用逻辑。
问题全都出在性能上:速度(慢 300~6000 倍)、成本(贵 100~1000 倍)、一致性(没有设计记忆)以及可靠性(幻觉 → 错误)。
但这些问题给人的感觉只是程度上的差异,而不是本质上的不同:
推理:每年提升约 10 倍
成本:正在趋近于零
上下文:不断增长(最终会拥有设计记忆?)
尽管它又慢又贵,但我确实构建出了一个完全没有应用代码、可以正常运行的 CRUD App。这表明,相比“AI 帮助编写代码”,我们可能更接近“AI 直接把事情做了”的未来。
在这个项目中,剩下的只有基础设施:HTTP 设置、工具定义、数据库连接。应用逻辑已经消失了。但真正的愿景是什么?每秒进行 120 次推理,在持续实时采样输入的同时渲染画面。它本身就会成为计算机。没有 HTTP 服务器,没有数据库,也完全没有基础设施层。只有意图与执行。
我认为,我们尚未意识到:代码这种东西,在很大程度上可能只是一种过渡形态。
npm install
LLM_PROVIDER=anthropic
ANTHROPIC_API_KEY=sk-ant-...
ANTHROPIC_MODEL=claude-3-haiku-20240307
npm start
访问 http://localhost:3001。第一次请求需要 30~60 秒。
查看 prompt.md 并根据自己的需求进行定制。改变它要构建的 App、添加功能、修改行为。这就是它的全部交互界面。
默认情况下,它会构建一个联系人管理器。但你也可以试试:
/game —— 也许你会得到一个游戏?
/dashboard —— 可能会是任何东西
/api/stats —— 它或许会凭空创造一个 API
输入反馈:“把它改成紫色”或者“添加一个搜索框”。
⚠️ 成本警告:根据所用模型的不同,每个请求的成本为 0.001~0.05 美元。请据此合理安排预算。