# 7天 0 到 1 全 AI 驱动:我用 AI Agent 落地了一套完整低代码搭建系统——【OrangeHome】

前言

AI技术正以前所未有的速度迭代,各类智能体和开发工具层出不穷。为了深入探索AI驱动的研发流程闭环,并真实地摸清当前AI能力的边界,我决定:从0到1,独立开发一个相对复杂的系统,全程由AI负责执行,而"人"只扮演管理者的角色。

本文将完整复盘这个项目的启动、开发与调试阶段。关于后续的项目部署、迭代与运维等环节,我会在系列文章的后续章节中持续更新,敬请期待。

概览

使用的AI工具链

  • 核心开发:Cursor + 2个OpenClaw
  • 辅助工具:Speckit、GSD (get-shit-done)
  • 需求探讨:DeepSeek Chat + OpenClaw

项目整体架构

OrangeHome 无代码/低代码搭建平台整体架构:

项目仓库

采用多仓库协作模式,与真实研发场景高度贴合:

仓库名称 仓库类型 仓库描述 仓库地址
orangehome-main-monorepo Rush monorepo 应用层仓库,包含BFF和Web github.com/ponyorange/...
orangehome-materials Turbo repo 低代码平台物料 github.com/ponyorange/...
orangehome-core-service 单仓 低代码搭建核心能力 github.com/ponyorange/...
orangehome-user-service 单仓 简版SSO认证 github.com/ponyorange/...

系统体验

欢迎访问在线体验地址:http://8.148.251.221:6010/platform


项目启动:从想法到方案

项目启动阶段主要包含三个关键步骤:明确需求输出技术方案制作UI

明确需求

如果你的项目已经有明确的产品需求文档(PRD),可以直接跳过此步。

由于我是从零开始构思这个系统,只有模糊的想法,没有现成的产品文档。因此,我需要借助AI工具来输出一份完整、清晰的需求文档,为后续的开发奠定基础,确保我和AI都对"要做什么"有完全一致的理解。

这里我选择的是 DeepSeek Chat。原因有二:第一,免费;第二,其深度思考能力在自然语言理解领域表现优异,非常适合进行需求探讨。

操作流程:

  1. 让AI扮演资深产品经理:使用精心设计的提示词模板,与DeepSeek进行多轮对话,逐步完善需求。
markdown 复制代码
**提示词示例:**  

请扮演一位资深产品经理,协助我完成一份标准的产品需求文档(PRD)。我将提供产品背景信息,请按照以下结构生成初稿,使用Markdown格式。

【产品名称】[填写产品名称]  
【目标用户】[描述主要用户画像]  
【核心痛点】[列出用户当前面临的问题]  
【核心想法】[描述你的产品功能想法,可零散列出]  
【业务目标】[可选,如提升转化率、降低客诉等量化指标]

请按以下章节输出:

1.  文档修订记录(版本、日期、作者、变更说明)
2.  项目背景与目标(包含背景、业务目标、衡量指标OKR/KPI)
3.  用户角色与用户故事(至少2个典型角色,每个角色对应2-3个用户故事)
4.  功能范围(按P0/P1/P2优先级分类,用表格形式)
5.  业务流程图(用Mermaid语法描述主流程)
6.  功能详情(重点描述P0功能,每个功能包含:功能描述、前置条件、正常流程、异常流程、字段定义)
7.  非功能性需求(性能、安全、兼容性、可扩展性等)
8.  数据埋点需求(建议列出需要追踪的关键事件)
9.  附录与术语表

要求:

-   逻辑清晰,避免歧义
-   异常流程至少覆盖3种常见边界情况
-   验收标准需明确可量化
  1. 多角色审查(可选,更严谨) :在第一版PRD生成后,可以让AI分别扮演后端开发、前端开发和测试工程师的角色,对PRD进行交叉审查,找出潜在问题并提出修改建议。
markdown 复制代码
**提示词示例:**  

请分别扮演【后端开发工程师】、【前端开发工程师】和【测试工程师】三个角色,对以下PRD内容进行审查。我将粘贴具体章节,请从每个角色的角度指出问题,并给出修改建议。

审查重点:

-   后端开发:关注数据一致性、接口设计、性能瓶颈、安全风险、扩展性
-   前端开发:关注交互细节、状态管理、异常反馈、兼容性、用户体验
-   测试工程师:关注逻辑完整性、边界条件、测试点覆盖、可测性

请按以下格式输出:  
【后端开发视角】

-   问题点1:描述问题 → 建议修改
-   问题点2:...

【前端开发视角】  
...

【测试工程师视角】  
...

最后,请总结你认为最重要的3个待优化项。
  1. 产出:根据反馈再次完善,最终得到一份高质量的系统需求文档和各子系统的详细需求文档。

个人体会:AI在这里产出的需求文档,其结构清晰度和逻辑严谨性,已经超越了绝大多数我见过的PM所写的PRD。强烈推荐大家尝试一下。

技术方案

核心原则:你负责架构设计和技术选型,AI负责完善技术细节。

为什么不直接把需求文档丢给AI,让它全权负责技术方案呢?难道AI的架构能力不强吗?

并非如此。我甚至相信AI在这方面的能力远超大多数高级工程师。但问题在于,如果你不能理解和驾驭AI的设计,你就无法掌控整个项目。项目初期一切顺利,但到了后期进行功能扩展或Bug修复时,代码可能会变得一团糟,让你怀疑AI的能力。这不是AI不行,而是你没有驾驭它。就像一个不会开车的人,出了车祸只会责怪车不好。

当然,如果你完全没有头绪,完全可以与AI探讨。你可以拿着AI提供的技术方案,追问它为什么这样设计,有什么瓶颈,有没有其他替代方案。这个过程本身就是向AI学习、最终在思想上超越AI的过程。只有这样,你才能真正地领导AI,而不是被AI领导。AI的价值在于降低了学习成本,帮你快速答疑解惑。

因此,在AI时代,软件工程师的核心价值在于架构审美能力、业务价值判断能力和独立思考能力。如果你盲目相信AI,那么你的上限就是AI的上限。而如果你能保持独立思考,不断质疑AI的回答,你将永远凌驾于AI之上。

我的架构设计思路

  • 为什么拆分user-service? 提供统一的认证能力,相当于一个简版的单点登录(SSO)服务,解耦用户管理与核心业务。
  • 为什么拆分core-service? 封装低代码搭建的所有通用能力(如Schema解析、组件渲染引擎等),让上层的BFF和前端应用无需关心复杂的内部实现细节。
  • 编辑器如何设计? 采用轻内核、高扩展的插件化架构。内核只负责管理生命周期和全局状态,其余所有功能(如拖拽、图层、属性面板)都通过插件实现,确保核心稳定,功能灵活。
  • 这里不过多探讨,本文主要侧重于ai研发工作流。

技术选型思考

  • 后端语言:Go vs Node.js? Go在高并发、性能和内存占用上有先天优势。但本项目的重点在于探索AI能力,而非追求极致性能。同时,为了确保我能更好地驾驭AI,我选择了我更熟悉的Node.js生态。
  • 框架:NestJS vs Koa? API网关、简单的接口服务可以用Koa。但对于这个中大型、业务逻辑复杂的系统,NestJS的模块化、依赖注入和面向切面编程(AOP)能力更胜一筹,因此选择NestJS。
  • 数据库:MongoDB vs PostgreSQL? 核心业务数据(如用户、项目、页面)结构稳定、关联性强,选择PostgreSQL。而物料、Schema等更倾向于文档形态的数据,结构可能频繁变化,选择MongoDB。
  • Monorepo工具:Turbo vs Rush? 超大型企业级项目、对依赖管理有极致要求的选择Rush。我的主应用层虽然复杂,但更追求现代化的构建速度和简洁的配置体验,因此选择了Turbo Repo。
  • 状态管理:Redux vs Zustand? 除非是跨框架/跨应用的超大全局状态,否则绝大多数场景下,Zustand配合SWR就能以更少的代码量完美覆盖。因此,我们选择Zustand。

以上这些选型,你完全可以借助AI作为"高级XX工程师"来获得选型建议和论证。在这个过程中,你不仅能做出决策,更能学到背后的权衡逻辑,但前提是你必须保持思考,而不是一味采纳

核心数据设计

  • 数据表设计:我先根据需求设计出第一版,再让AI帮我完善字段、索引和关联关系。
  • 数据协议(Schema)设计:这是整个低代码系统的核心。整个系统的价值,就在于编辑器能否方便快捷地输出这份Schema,而C端能否高性能、高还原度地渲染这份Schema。

我设计的核心Schema结构如下: ‍‍

js 复制代码
{ 
    "id": "comp_id_xx",
    "type": "VideoPlayer", 
    "props": {}, // 组件属性 
    "actions": {}, // 组件事件,支持一些JS纯函数的执行 
    "style": {}, // 组件样式,主要控制布局和整体风格 
    "elementStyles": { // 复杂组件内部元素的样式配置 
        "playButton": {} // 例如,播放按钮的样式 
     } 
 } ‍‍‍

在AI时代,Schema的生成不再高度依赖拖拉拽,完全可以交给AI来完成。因此,在Schema设计上,我们要考虑让AI更容易理解,例如使用更语义化的字段名。未来,90%的低代码搭建操作将由AI完成,拖拉拽将退化为高级功能,仅用于人工微调细节。

技术方案落地

当核心设计完成后,就可以借助AI生成完整的、可落地的技术方案。

markdown 复制代码
**提示词示例:**  

请基于以下需求和技术背景,为我生成一份完整、可落地的后端技术方案。请以资深后端架构师的视角输出,使用Markdown格式,内容需具体、可执行。

【需求摘要】  
(粘贴PRD中的核心功能、业务流程、非功能性需求摘要,或用简洁语言描述)

【技术选型与框架】

-   开发语言/框架:[例如 Java 17 + Spring Boot 3.x]
-   数据库:[例如 MySQL 8.0 + MyBatis-Plus]
-   缓存:[例如 Redis 7.x]
-   消息队列:[例如 RocketMQ / Kafka]
-   部署环境:[例如 Kubernetes / 阿里云ECS]
-   其他中间件:[例如 Elasticsearch、MinIO]

【约束与要求】

-   性能指标:[如 QPS ≥ 2000,接口响应时间 ≤ 200ms]
-   数据一致性:[如最终一致性/强一致性]
-   安全要求:[如接口防刷、敏感数据加密]
-   已有系统集成:[说明需要与哪些内部系统对接]

请按以下章节输出详细技术方案:

1.  **总体架构设计**

    -   系统架构图(使用Mermaid语法绘制分层架构或微服务拓扑)
    -   模块划分及职责说明(核心模块、支撑模块)
    -   关键技术选型理由(简要说明为什么选择这些技术)

1.  **核心模块详细设计**

    -   针对【列出2-3个核心业务模块】分别描述:

        -   模块内部类/组件职责
        -   核心流程时序图(Mermaid)
        -   关键业务逻辑处理步骤

1.  **API接口设计**

    -   接口风格:[RESTful / GraphQL / gRPC]
    -   统一响应结构示例
    -   核心接口列表(至少覆盖主要功能,包含:接口路径、方法、请求参数、响应示例、权限要求、限流策略)

1.  **数据库设计**

    -   ER图(Mermaid erDiagram)
    -   核心表结构(表名、字段、类型、索引、说明,至少5张核心表)
    -   数据分库分表策略(如需要)
    -   数据归档与清理策略

1.  **关键技术方案**

    -   缓存设计(哪些数据缓存、更新策略、穿透/雪崩应对)
    -   消息队列应用场景(解耦、削峰、异步处理的具体场景)
    -   分布式事务方案(如适用)
    -   定时任务/调度设计
    -   文件/对象存储方案

1.  **非功能性设计**

    -   高可用设计(多活/主备、故障转移)
    -   可扩展性设计(水平扩展、微服务拆分原则)
    -   安全性设计(认证授权、数据加密、防攻击)
    -   监控与告警(关键指标、日志规范)

1.  **部署与运维**

    -   容器化与编排(Dockerfile要点、K8s部署清单概览)
    -   环境配置管理(环境变量、配置中心)
    -   发布策略(灰度发布、回滚机制)

1.  **风险评估与应对**

    -   技术风险(如性能瓶颈、依赖单点)
    -   应对措施

要求:

-   每个设计决策需附带简短的"为什么"说明。
-   数据库索引必须明确,避免全表扫描。
-   API示例需包含错误码设计。
-   如涉及外部依赖,需说明集成方式。
  • 产出:一份完整系统的技术方案和每个子系统的详细技术方案。一份整体的技术方案能让AI时刻明晰当前开发的模块在整个系统中的角色和位置,从而保证产出的代码更符合整体设计。

UI设计

为了保证系统整体风格一致,纯粹的"自然语言"控制UI细节是困难的,因此UI设计环节必不可少。

  1. 确定设计语言:首先确定一个主题色,然后让AI基于此生成一套完整、规范的配色方案,奠定整体设计语言。
  2. 生成原型:使用画板绘制草图,大致说明模块布局,并辅以自然语言描述。然后将这些输入给Cursor,让它生成一个完整的HTML文件。可以多尝试几次,从中挑选最满意的一个作为UI参考。
  3. 指导开发:在后续系统实现时,将这个HTML文件作为UI参考提供给Cursor,它能生成高度一致的真实页面,确保UI的完美呈现。

需求实现:AI Coding的战场

下面介绍我在这场实战中使用的AI编程工具和核心工作流。

  • Cursor:订阅了Pro版,20美元/月,但因为用超了(主要是GPT和Opus模型成本较高),当月总花费约50美元(约合人民币350元)。
  • OpenClaw:在Coze平台搭建,每月49元,获得40万积分。积分消耗也很快,主要使用的是Kimi 2.5模型。

一句话总结我的分工策略:Cursor + Speckit 负责开发后端服务和编辑器(复杂度高);OpenClaw + GSD 负责开发管理端(相对简单)和物料库。

Cursor + Speckit 工作流

Speckit是一个强大的工具,能将复杂的开发流程转化为结构化的指令,非常适合与Cursor协同工作。如果你的预算充足,推荐使用Opus 4.6或GPT 5.4模型;若预算有限,Kimi 2.5也是不错的选择。

  1. 初始化项目 :首先安装Speckit,并在项目根目录执行初始化命令。

    ‍‍‍bash specify init . --here --ai cursor-agent --force ‍‍‍

  2. 制定项目宪章 :通过 /speckit.constitution 定义项目的核心原则、编码规范和架构约束。

    重点:在此说明本服务在整个系统中的地位,例如"这是一个低代码搭建系统的核心服务,整体架构是......,本服务的职责是......"。

  3. 功能规格 :使用 /speckit.specify 粘贴需求文档,并附上UI文件路径及对应的模块信息,明确要"做什么"。

  4. 澄清模糊点 :使用 /speckit.clarify 让AI指出需求中不明确的地方,并一一作答,确保需求无歧义。

  5. 生成技术方案 :使用 /speckit.plan 粘贴我们之前准备好的技术方案,让AI生成可执行的计划。

  6. 拆解任务 :使用 /speckit.tasks 让AI自动将计划拆解为可执行、可排序的任务列表。

  7. 一致性分析(复杂项目推荐) :对于编辑器这类复杂项目,可以使用 /speckit.analyze 检查需求、计划和任务是否对齐。

  8. 编码实现 :最后,使用 /speckit.implement 让AI按照计划和任务列表开始编码。

后续功能迭代流程

所有变更,坚持"先改Spec,再改代码"的原则:

  1. /speckit.specify:追加新功能、设计稿或验收标准。
  2. /speckit.clarify:自动检查新需求是否有歧义。
  3. /speckit.plan:自动生成或手动描述具体实现方案。
  4. /speckit.tasks:自动规划新任务的实施步骤。
  5. /speckit.implement:实现新功能。

OpenClaw + GSD 工作流

将你的GitHub用户名和临时Token提供给OpenClaw,它就能帮你创建仓库、推送和拉取代码。

  1. 对齐规范 :向OpenClaw明确开发规范。例如,每次开发都必须从主分支拉取新分支,完成后生成Pull Request (PR)链接。为此,我制作了一个GitHub开发规范的Skill,可以共享给多个OpenClaw实例使用。
  2. 准备依赖数据 :确保OpenClaw能访问必要的接口文档。如果后端服务在本地,无法公网访问,可以导出一份接口文档发给它。要求OpenClaw在开发时严格依据文档进行Mock,并提供一个开关,方便后续切换到真实数据进行联调。只要文档准确,联调通常非常顺利。
  3. 安装GSD:让OpenClaw安装GSD(get-shit-done)工具,用于任务管理。
  4. 分发任务:将需求文档和技术方案发给OpenClaw,并用GSD生成具体的执行任务列表。
  5. 编码实现:让OpenClaw严格按照任务列表,一步一步编码实现。
  6. 实时预览:在开发过程中,可以要求OpenClaw打开浏览器,让你实时查看页面效果,及时反馈调整。
  7. 代码审查:开发完成后,OpenClaw会将PR链接发给你,进行代码审查和合并,完成闭环。

总结与展望

以上就是近期对AI Coding在复杂项目中应用的探索与实践。从项目启动、技术设计到编码实现,AI已经深度参与其中,并展现了惊人的效率。在不久的将来,开发范式将是 "人负责架构审美和业务价值的判断,AI负责实现与执行。" 所谓的母语编程时代即将到来!

在后续的系列文章中,我将继续探索AI在项目全生命周期中其他环节的应用,例如:

  • 端到端测试:特别是复杂Bug的修复。
  • 项目部署与运维:实现自动化的CI/CD和智能监控。
  • AI在业务中的赋能:例如开发一个"页面搭建智能体"或"营销推广智能体",让AI直接服务于最终业务。

欢迎大家一起交流学习,共同探索AI时代的研发新范式。

(标题说的7天,是按每天8小时工时算的大概7天,实际上是利用下班时间零碎搞了差不多一个月)

相关推荐
vistaup6 分钟前
claude code 安装 Superpowers(token消耗多但是流程规范化)
ai编程
AskHarries20 分钟前
我用 AI 写了一首歌,并把它上传到了 QQ 音乐、酷狗音乐、酷我音乐
openai·ai编程
甲维斯30 分钟前
worktree是什么鬼?Codex和Claude双修把我搞晕了!
人工智能·ai编程
DashVector1 小时前
Zvec v0.4.0 正式发布
数据库·嵌入式·ai编程
玄尺1 小时前
【opencode】opencode插件
ai编程
码途漫谈1 小时前
Easy-Vibe高级开发篇阅读笔记(二十)——多平台开发之个人网页与博客开发
人工智能·笔记·ai·开源·ai编程
码途漫谈2 小时前
Easy-Vibe高级开发篇阅读笔记(二十一)——AI能力强化之RAG 与企业级智能客服
人工智能·笔记·ai·开源·ai编程
维诺菌2 小时前
claude code安装
java·开发语言·ai编程·calude
镜花水月linyi2 小时前
GitHub 已开源:民政部官方的国家地名信息库 MCP & Skill 实现
后端·ai编程·mcp
WCK的博客3 小时前
AI工具分享
ai编程