Nokode:一个没有业务逻辑代码的AI原生Web服务器 ylc3000 2025-11-13 0 浏览 0 点赞 resource ### Nokode:一个没有业务逻辑代码的AI原生Web服务器 `nokode` 是由开发者 **samrolken** 创建的一个极具实验性和前瞻性的开源项目。它的核心思想是探索一个大胆的假设:**我们能否完全跳过代码生成,构建一个仅由大型语言模型(LLM)驱动、没有任何硬编码业务逻辑的Web服务器?** **项目地址**: [https://github.com/samrolken/nokode](https://github.com/samrolken/nokode) --- #### **核心理念:从“AI辅助写代码”到“AI直接干活”** 当前,大多数AI编码工具(如Copilot)的定位是帮助开发者更快地编写代码。而 `nokode` 项目则试图跳到更远的未来,它认为编写和维护业务逻辑代码本身可能只是一个过渡阶段。该项目旨在测试,如果将Web服务器的每一个请求都直接交给LLM来理解和处理,我们能走多远。 在这个项目中,传统的后端应用逻辑,如路由(routes)、控制器(controllers)和业务逻辑代码被完全移除。取而代之的是一个简单的HTTP服务器,它在收到每个请求时,都会去询问一个LLM:“我应该做什么?” --- #### **工作原理** `nokode` 的实现非常精简,其核心是一个LLM和三个提供给它的基础“工具”(Tools): 1. **文件系统(Filesystem)**: 允许LLM读写本地文件。 2. **数据库(Database)**: 提供一个SQLite数据库,让LLM可以通过执行参数化的SQL查询来持久化存储和检索数据。 3. **网络请求(HTTP)**: 允许LLM调用外部API。 当一个HTTP请求到达服务器时,服务器会将请求的详细信息(如URL、方法、头部、正文)连同一个精心设计的**提示(Prompt)** 发送给LLM(例如Claude 3 Haiku)。这个提示是整个系统的“灵魂”,它指导LLM如何像一个Web应用一样思考和响应。 LLM会根据请求内容和提示,决策是返回HTML界面、JSON数据,还是使用上述工具与文件系统或数据库交互。 --- #### **惊艳的“涌现”能力** 尽管作者最初预期这个实验会“ spectacularly fail ”(惨败),但结果却出人意料地好。在没有任何具体代码指令的情况下,仅通过一个通用提示和三个工具,LLM表现出了惊人的“涌*现行为*”(emergent behavior): * **自建数据库模式**:能够自行设计出合理的数据库表结构,包含正确的字段类型和索引。 * **安全的数据库操作**:能生成参数化的SQL查询,有效防止SQL注入攻击。 * **构建RESTful API**:能够理解并实现符合REST风格的API接口,返回有效的JSON数据。 * **生成可用的前端界面**:可以创建出带有响应式布局(使用Bootstrap)、表单验证和错误处理的可用UI。 * **实现用户反馈**:能够理解用户通过自然语言提出的修改意见(例如“把这个按钮变紫”或“增加一个搜索框”)并实时更新应用行为。 --- #### **如何使用与体验** 该项目开箱即用的示例是一个联系人管理应用。但其真正的乐趣在于修改 `prompt.md` 文件。这个文件就是应用的“源码”和唯一的配置界面。 1. **安装与配置**:`npm install`,然后在`.env`文件中配置你的LLM API密钥(如Anthropic Claude)。 2. **启动服务**:`npm start`。 3. **进行实验**: * 访问 `http://localhost:3001` 与默认的联系人应用交互。 * 尝试访问不同的URL,比如 `/game` 或 `/dashboard`,看看AI会创造出什么。 * 直接在应用界面输入自然语言指令,改变应用的外观或功能。 * 修改 `prompt.md` 文件,让它构建一个完全不同的应用,比如待办事项列表或一个简单的游戏。 **注意**:由于每个请求都需要调用LLM API,这会产生费用,请务必设置好预算提醒。 总而言之,`nokode` 不仅是一个可用的软件,更是一个发人深省的思想实验。它向我们展示了一个未来——应用的基础设施依然存在(HTTP服务器、数据库连接),但应用逻辑本身不再由人类编写的代码定义,而是由AI根据自然语言的意图实时生成和执行。 网闻录 Nokode:一个没有业务逻辑代码的AI原生Web服务器