一个项目从零开始,要写计划、需求、架构、设计文档、后端、前端、测试、Docker 文件,每一轮都得重来一遍。有人干脆把这一整套流程交给了一支虚拟软件团队——8 个 AI 代理,输入一个项目想法,团队把完整项目交回来审阅。

打开网易新闻 查看精彩图片

这套东西叫 SoftwareUnit,搭在开源框架 CrewAI 上,模型用的是通过 Ollama 运行的 Gemma。所有产出统一落进一个 output/ 文件夹。

生成的应用程序遵循一套固定技术栈,让每个代理都按同一份技术契约干活:

  • 前端:React.js + Tailwind CSS
  • 后端:Node.js + Express.js
  • 数据库:MongoDB
  • 部署:Docker + Docker Compose

这套技术栈要求贯穿架构、实现、QA 和部署各环节,前端、后端、测试和 Docker 文件因此能互相对得上。

启动后,应用会先询问项目想法,然后依次跑完各个阶段。后端和前端任务异步执行,因此是并行构建的;QA 和 DevOps 随后把两边的产出当作上下文接手。后面的角色建立在前面角色已经定下的东西之上。

最终 output/ 目录里是这样一份结构:

  • documentation/:项目计划、需求、架构、UI 设计、QA 报告、部署文档共 6 份 Markdown
  • backend/:Node.js/Express.js 应用,含 MongoDB 集成
  • frontend/:React.js + Tailwind CSS 应用
  • tests/:QA 与自动化测试产物
  • deployment/:Dockerfile、Docker Compose 及相关资源

tools.py 里有一个小型的文件写入工具,作用域被限制在 output/ 内,代理只能往这个文件夹里写,碰不到机器上的其他地方。

运行方式不复杂:建虚拟环境、激活、用 pip 装上 crewai 和 crewai-tools,再跑 main.py,按提示输入项目想法,然后去看 output/。

收益对比很直白:手工做,可能要花超过 2 天;用 SoftwareUnit,项目在 2 到 5 分钟内完成。省下来的时间留给真正的项目开发。

需要说清楚的是,产出是脚手架。上生产之前,它仍然需要审阅、配置和测试。但从一个空文件夹到一个可审阅的项目只用一个提示词,这正是想要的那种“懒”。要跑生成出来的应用,得在前端和后端代码里分别更新凭据。

选择开源方案在这里有实际意义。CrewAI 是开源的,代理、任务、团队怎么接线都能读、能改;每个角色的目标和提示词就写在纯 Python 的 agents.py、tasks.py 里,改变团队行为是编辑一个文件,而不是等供应商。Gemma 是通过 Ollama 服务的开放权重模型,模型只是一行配置,换另一个开放模型不用重写项目。也没有按 token 计费的闭源账单——一次运行要驱动 8 个代理和大量生成,这笔账不小。共享的技术栈契约也归自己改,把 MERN 换成别的栈只需编辑任务提示词,同一支团队就能构建出不一样的东西。

几条经验:给每个代理一个窄角色、配上清晰的交接,产出比一个什么都干的提示词更连贯;把同一份技术栈要求传过每个阶段,是生成代码、测试和 Docker 文件保持一致的关键;本地 LLM 执行没有速率限制。后续还会为这个应用做一个界面,包含输入项目想法的输入框,并让 output 文件夹可以下载。