编辑
2025-10-26
前端
00
请注意,本文编写于 62 天前,最后修改于 47 天前,其中某些信息可能已经过时。

目录

我做了什么
项目截图
项目背景
需求分析
技术栈选型
交互细节
编码经验
选用足够强大的AI编辑器
使用编码能力足够强大的模型
提示词工程技巧
上下文工程技巧
灵活使用工具
灵活使用模型的多模态能力
使用适合AI的编程方式
实际操作
创建指令文件
根据模糊的需求确定清晰的计划
调用待办工具生成任务
其他参考内容
打造一个酷炫的界面
全自动编程
生成草图、UI
总结

最近我使用AI完成了一个较为大型的全栈项目的开发。我使用VSCode Copilot + Claude 4模型,仅靠提示词、部分手动修改的错误和代码审查,在两天半的时间里,完成了一个代码量2w+的网盘系统90%的代码都是由AI完成的

最近我使用AI完成了一个较为大型的全栈项目的开发。

我做了什么

我使用VSCode Copilot + Claude 4模型,仅靠提示词、部分手动修改的错误和代码审查,在两天半的时间里,完成了一个代码量2w+的网盘系统90%的代码都是由AI完成的

仓库:https://github.com/healwrap/yunxia (欢迎大家点点star)

项目截图

首页

任务队列管理页面

文件管理页面

  • 支持上传文件

  • 新建文件夹

  • 修改文件名

  • 删除文件

  • 分享文件

  • 下载文件

分享文件管理页面

  • 增删改查

  • 下载分享文件

回收站

项目背景

项目的背景如下,主要是提供给AI的上下文信息,同时也是自己梳理功能点应该注意的地方。

具体文档在飞书知识库中,供我和我的开发伙伴使用,这里简单提一提。

网盘系统对标的是市面上常见的产品,如:百度网盘、夸克网盘等等系统。目标是实现它们所包含的基本功能、甚至在某些功能上,体验要优于它们。

需求分析

网盘系统的需要实现的功能大概包括

  • 文件管理

  • 分享管理

  • 回收站管理

  • 下载管理

  • 空间管理

具体细节不展开了,这都是很简单的功能,百度或者AI都能给你详细的设计

技术栈选型

我个人是熟悉Vue偏多的,最近想要全面掌握React、NodeJS后端等等,给自己多增加几项技术栈,于是我选用的技术栈如下:

  • 前端: React + TypeScript + Vite + Ant Design + TailwindCSS + Zustand

  • 后端: Koa + TypeScript + TypeORM + PostgreSQL

  • WebAssembly: 自定义哈希计算包(仅作演示,实际项目使用hash-worker包)

  • 认证: Clerk 用户管理系统

这里的细节也不需要纠结,本文主要是针对AI Coding细节进行讲解的。

交互细节

还需要针对项目中的一些细节做出大概定义(后续可以让AI给你完善),如

  • 数据库表设计

  • 文件秒传功能设计

  • 断点续传功能设计

  • 前端基本架构设计

  • 后端基本架构设计

  • 等等...

注意:这些都是可以让AI进行完善的细节,但是你必须思考清楚,自己这个项目应该朝着一个什么方向编写。否则AI极其容易写出混乱、错误的逻辑。

编码经验

很明显,当今任何AI产品都无法完全做到,用户输入一个提示词,AI完完全全自主完成所有功能,并且按照用户预期想法完成,这是目前做不到的。

如何让AI工具为我们所用呢?我的经验如下:

选用足够强大的AI编辑器

如:Claude Code、Cursor、Trae、Kiro、Augment Code、VSCode Copilot等等

Copilot 早期真的很难用,但是随着近期更新,它也比较好用了,主要是靠它可以通过Github学生包免费使用,本项目也基本90%的编码都是通过它完成的

但是你要说它好,肯定还是不如其他一些更强的工具的,只能说够用。

使用编码能力足够强大的模型

如:Claude 3.7/4、GPT5等等

选择模型这一块,也有讲究,Claude模型虽然强大,但在处理一些小问题时,3.7 4.0 的效果不如 3.5,可能前者是专为大型项目而生,再简单的功能,也会写出一堆精致的废物代码出来,而3.5在简单需求上的处理就远好于前者。

这里我不得不感慨,Claude模型的编码能力、逻辑思维能力之强大,简直超过其他同类型模型一大截。

从今年三月左右我使用Claude 3.7模型完成了一个公司内使用的浏览器插件,到如今使用Claude模型几乎完成80-90%的代码编写,AI的强大让我感到震惊且恐慌。

提示词工程技巧

让AI能够正确理解你的指令

我这里参考的是Copilot文档中提到的技巧 Prompt engineering for GitHub Copilot Chat - GitHub 文档

上下文工程技巧

让AI能够理解你的项目

上下文工程原本指:精心设计输入给大模型的内容。意思是因为大模型的上下文长度有限,当我们希望大模型理解海量内容时,我们需要精心设计好输入给大模型的内容,既不超过上下文长度,又能让大模型能够理解内容。

在我本次的实践中,遵循了以下原则:

  1. 提供背景:我们需要提供给大模型我们项目的大概情况,如项目大概是干什么的、技术栈是什么、一些大概的功能交互是怎么样的、数据模型是怎么样的、开发方式是怎么样的,等等。这个一般是让AI生成一个提示文件,如Copilot的“生成指令”功能,生成的copilot-instructions.md。用户每次提问,编辑器都会自动带上此文件,让AI可以准确回答问题,并减少出错概率。

  2. 提供文档:当我们使用一些冷门的库时,AI可能会因为缺少训练数据导致回答错误。这个时候我们可以使用工具给AI提供文档。如context7 MCP、编辑器默认的提取网页工具、手动粘贴文档等等

  3. 拆分对话:我们需要根据自己对需求的理解,每次只在一个对话中完成需求,而不要在一个对话中频繁对话,导致上下文不足。

  4. 压缩对话:当我们需要在一个对话中完成时,且上下文长度不足时,使用压缩对话功能(但是前提是不要在需求完成到一半的时候压缩,这样会导致AI对任务识别不清楚)

  5. Todo任务清单:当我们完成一个复杂的需求时,需要使用任务清单工具,让大模型无论上下文长度多长,都能清晰知道要干什么,而不是干了一会儿之后忘记要干什么了。

灵活使用工具

我这次的全栈项目,使用的工具如下

  1. dbhub MCP,可以让AI操作数据库,在全自动这方面,以及问题排查方面会更好

  2. context7 MCP,可以让AI读取最新库的用法,比如此次项目中使用Antd、clerk、hash-worker、AssemblyScript等等技术栈,我都尽量让AI查询用法后再编码,防止因为训练数据的问题导致回答出错

  3. 大模型的图像识别能力,有的情况下,我们可以直接截图给模型,让模型理解图片并修复问题

同时,工具不是越多越好,过多的工具会占用模型上下文,导致模型变笨,你需要适当减少工具的使用,让模型回答更精准。

灵活使用模型的多模态能力

大模型支持多模态能力,比如图像识别,你可以让AI多帮你做很多事

  1. 你可以画产品UI,模型可以根据你的图片还原出一个类似的页面

  2. 你可以复制一些UI网站的图片,模型可以仿照它完成功能

使用适合AI的编程方式

  1. 使用便于AI编程的语言和框架,比如

    1. 原生HTML+原子类名等等,AI几乎完美适配这种编程方式。尽管写出的代码让人无法理解和维护,甚至因为缺少代码拆分,AI都可能难以维护

    2. React框架,因为它非常流行、且生态庞大,所以训练数据中会包含大量与此相关的内容,所以编码能力会更强

  2. 使用便于AI Coding的一些库,比如

    1. Tailwind CSS,这个库简直是为AI而生,他可以使用少量代码生成界面(尽管这些原子类名对人类不友好,但是对AI很友好)

    2. shadcn等Tailwind CSS构建的UI库

  3. 减少lint、甚至不要开启

    1. lint规则会极大影响AI编码,让AI重复进行很多次没有什么实际作用的lint修复,增加上下文。但是我的项目我希望开启一定的lint规则,所以我在提示词中尽量让AI先使用eslint --fix命令修复文件问题之后再手动修复
  4. TS规则不要过于严格

    1. 在AI项目中,TS的类型提示绝对是友好的,不仅是让AI写出便于人类理解的代码,同时也可以帮助AI检查出它输出的代码的一些问题(比如库、方法找不到、类型不兼容等等)

    2. 但是过于严格的TS规则会导致AI编码困难,且需要频繁修复问题

实际操作

创建指令文件

指令文件可以让AI理解项目,并选择合适的命令进行开发调试,这个功能类似Claude Code 的 init

根据模糊的需求确定清晰的计划

我们大部分时候没有办法给到AI十分准确的计划,AI可能也不清楚我们要干什么,会导致实际干的和预期不符合,我们就可以让它先生成简单的计划方案,审核后在让它创建任务执行。

调用待办工具生成任务

待办工具可以让AI不容易产生偏移,准确完成需求

其他参考内容

打造一个酷炫的界面

  • https://mobbin.com/ 提供丰富的UI设计灵感,通过截图在AI 编辑器中一键还原UI稿

全自动编程

如果你更希望让AI全自动完成需求,并一键部署,可以试试类似v0等的平台

比如使用一张来自mobbin的UI稿截图,v0就能够全自动构建一个页面,页面的还原度还是很高的

v0中还原的界面

mobbin UI稿截图

同时,还可以将生成的代码,直接在本地运行

生成草图、UI

你可以利用AI生成静态的HTML页面作为草图。

但是吧,我个人觉得没啥用,因为AI生成的都是“蓝紫蓝紫”的界面,并不好看

总结

如今的AI已发展到让人难以想象的地步了

这次只是简单需求,AI编写的代码其实也有很多问题,在公司实习时,我其实也尝试用AI写代码,奈何业务过于复杂,AI既没有训练数据,也理解不了,导致其实AI的帮助很小。

但是一些中小项目,完全可以让AI替代人来编写代码了,不局限于只是修修Bug。

对于前端来讲,AI的冲击太大了... 随便一句提示词,就能完整复刻一整个网站。

今天是简单Demo,可能明天就可以正式替代程序员干活了....

往期文章

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:pepedd864

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!