掘金 人工智能 06月10日 08:48
AI编程实战:生成结果不合心意,1个简单思路帮你破解
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文探讨了如何通过完善文档来提升AI编程效果,以“项目文档”功能为例,对比了无文档和有文档情况下的代码生成结果。通过提供项目规约等文档,AI能够生成更符合团队规范、更易于维护的代码,从而提高开发效率。作者认为,持续完善的文档是实现AI编程高效协作的关键,并分享了Cursor 1.0的Memories特性与本文技巧的结合使用心得。

💡 背景:AI编程在实际应用中常面临代码不符合规范、组件复用不足等问题,这与团队协作中遇到的问题相似。

📝 解决方案:借鉴团队协作中通过完善文档解决问题的思路,利用项目规约等文档指导AI编程,提升代码生成质量。

✅ 案例实操:以“项目文档”模块为例,对比无文档和有文档情况下,Cursor生成的代码效果。结果显示,有文档指导时,代码更符合项目规范,菜单和字典SQL也自动生成。

💡 核心观点:持续完善的文档是提升AI编程效率的关键,通过文档,可以指导AI生成更符合团队规范、更易于维护的代码。

🚀 Cursor 1.0:Cursor 1.0的Memories特性与本文技巧类似,但手动指导仍有必要,以确保AI生成的代码符合预期。

前言

你在使用 AI 编程的过程中,是否有这些感受?

作为问题解答工具,AI 上手非常快,并且比搜索引擎更能懂得你的需求,但是,在现实辅助编码过程中,往往发现,生成结果和预期还差了一点,比如:

其实,抛开 AI 不谈,即使是人与人协作,也常常会遇到类似的问题,不是吗?

AI 编程的问题,好像也不仅仅是 AI 编程的问题~

上面这个课题比较深,后续我们慢慢探讨。

今天,我们不妨借鉴现实团队通过完善文档来解决协作问题的思路,看看这种方法能否同样提升 AI 编程的效果。

下面,开始案例实操对比。

实战背景及任务

背景

依然是我们内部的协同办公平台,整个项目后端采用 Spring Boot + 原生Mybatis 实现,数据库采用的 MySQL,前端采用 Vue2 + Element UI。

平台中有一个“项目管理”模块,其中每个项目会有很多文档,我们日常使用企微作为文档协作和存储工具。

但是企微的微盘入口,加上我们自己的文件夹结构,导致每个文档都藏的比较深,使用起来没有那么方便。

任务

今天,我们就为“项目管理”模块增加一个“项目文档”功能,将常用的文档链接关联到项目中,大幅减少访问文件的操作步骤。

任务包含“项目文档”的前后端代码,我们将通过 Cursor 一键生成。

Cursor实战:一人全流程模块开发 - 掘金

操作过程

实操环境:Cursor 1.0 + Claude-4-Sonnet。

分析设计

需求描述:

实现项目文档的基础管理(增删改查),包括:关联的项目、文档名称、文档描述、文档URL、备注。

建表SQL

Ask模式。

提示词

请帮我设计“项目文档”模块基于mysql的sql,表名为:project_document,该模块主要用于存储企微在线文档地址,方便用户访问:项目文档字段包括:关联的项目、文档名称、文档描述、文档URL、备注。参考以下sql---CREATE TABLE `project_base` (  `id` bigint(20) NOT NULL AUTO_INCREMENT,  `create_by_id` bigint(20) DEFAULT NULL COMMENT '创建人ID',  `dept_id` bigint(20) DEFAULT NULL COMMENT '创建人机构ID',  `create_by` varchar(64) COLLATE utf8_bin DEFAULT '' COMMENT '创建者',  `create_time` datetime DEFAULT NULL COMMENT '创建时间',  `update_by` varchar(64) COLLATE utf8_bin DEFAULT '' COMMENT '更新者',  `update_time` datetime DEFAULT NULL COMMENT '更新时间',  `remark` varchar(1000) COLLATE utf8_bin DEFAULT NULL COMMENT '备注',  `contract_id` bigint(20) DEFAULT NULL COMMENT '合同ID',  `project_name` varchar(100) COLLATE utf8_bin DEFAULT NULL COMMENT '项目名称',  `project_code` varchar(100) COLLATE utf8_bin DEFAULT NULL COMMENT '项目编号',  `project_type` varchar(100) COLLATE utf8_bin DEFAULT NULL COMMENT '项目类型',  `project_description` text COLLATE utf8_bin COMMENT '项目详细描述',  `start_date` date DEFAULT NULL COMMENT '项目开始日期',  `end_date` date DEFAULT NULL COMMENT '项目预计结束日期',  `actual_end_date` date DEFAULT NULL COMMENT '项目实际结束日期',  `project_status` varchar(100) COLLATE utf8_bin DEFAULT NULL COMMENT '项目状态',  `manager_user_id` bigint(20) DEFAULT NULL COMMENT '项目经理',  `relate_document` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '关联文档',  `geo_location` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '地理坐标信息',  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='项目信息表';---

结果

代码生成(无文档)

上下文

项目文档表建表sql。

提示词

实现项目文档表的前后端代码。

结果

后端部分

前端部分

效果

列表页面

录入页面

小结

整体生成结果很不错,差点让我以为找不到优化的地方了...

目前发现存在的问题:

补充一句,Cursor 0.5.0 之后,支持多工程项目,就像本文,Cursor 可以直接找到前后端两个工程,并一口气生成。

代码生成(带文档)

上下文

项目文档表建表sql。

项目规约.md

项目规约部分截图:

提示词

和提升前完全一致。

实现项目文档表的前后端代码。

结果

效果

小结

可以看到,在“项目规约.md”的约束下,结果已经按照预期的进行了优化。

对比结果

为了展示思路的通用性,模块挑选的很普通,对比效果并不是很强烈,如果是业务关联更深入的模块,应该对比会更强烈些。

思路其实很简单,甚至可能很多人都在有意无意的使用。

通过一个 md 文件,将真人团队协同所需的内容以文档的方式提供给 AI 对话,这个 md 文件可以是项目规约,可以是需求文档。

最主要的是,它应该是一个持续完善的文档。

随着这个文档的完善,你对 AI 编程的结合才会更加深入,更加高效。

我们告诉真人什么,就告诉 AI 什么。

也许有人会说大模型有幻觉,不靠谱。

但我认为当下 AI 的幻觉相对来说已经非常轻了,尤其是结合一些上下文和方向性提示词,足够支撑我们日常开发使用了。

在我看来,如果一个团队的人员都达到了 Cursor + Claude 4 的思维程度(不做知识面对比),我感觉这个团队已经挺厉害了。

结语

这次分享,其实和上周 Cursor 1.0 发布有点关系。

Cursor 1.0 发布了 Memories 特性,这个功能,十分类似我们今天分享的内容,只是 Cursor 将这个文件内置了,并可以通过对话进行更新。

Cursor 1.0 后今天这个技巧是否就没用了?

个人感觉应该不会。一方面,这个 Memories 好用起来估计还需要我们贡献更多的用例反馈,另一方面,Cursor 中 AI 从对话中 get 到的点不一定完全符合你的预期,还是存在很多场景需要大家手动进行指导的。

好了,希望大家可以实践下这个思路,如果有什么问题或者可以优化的点,欢迎交流~

最近 《AI 编程实战》 系列估计会有3-5篇内容集中分享一些相关的实用技巧,你如果对这方便比较关注,可以点个星标,方便下次找到我哈。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

AI编程 文档驱动 代码生成 Cursor 项目规约
相关文章