学会在Cursor中使用Rules生成代码后可以躺平了吗?

0 阅读5分钟

 

嗨,我是辉哥,一个致力于使用AI技术搞副业的超级个体

之前我们给DeepWrite(内容多平台分发工具)总结出了一套完整的Rules规则,最终的期望是让Cursor帮我们在集成其他平台时,可以解决大部分重复的工作,同时代码风格也要遵循我们项目规范,便于后续维护

拆分后的规则回顾

之前我们将一个大规则,按照功能边界进行了拆分,并且补充了一个导航的文件readme-rule.mdc:


    
    
    
  
    
    
    
  ---
description: "项目开发规范"
globs: 
alwaysApply: false
---
# DeepWrite 项目开发规范

## 概述

本规范定义了DeepWrite项目的开发标准和最佳实践,旨在确保代码质量、一致性和可维护性。规范文件按照不同关注点进行拆分,便于查找和维护。

## 规则文件结构

.cursor/rules/
├── readme-rule.mdc              # 当前文件:总体概述和指引
├── coding-standards.mdc         # 代码风格、命名规范和编码标准
├── network-layers.mdc           # API架构、网络请求与响应规范
├── platform-adapter.mdc         # 平台适配器架构与实现规范
└── platform-settings.mdc        # 平台设置配置与UI实现规范

## 规则文件说明

### coding-standards.mdc
定义了项目的基本编码规范,包括代码格式、命名约定、注释标准等。该规则适用于所有源代码文件,是其他规则的基础。

### network-layers.mdc
规定了四层网络架构设计,包括API接口、服务层、适配器层和数据模型层的职责与交互方式。该规则适用于所有网络请求相关代码。

### platform-adapter.mdc
详细说明了平台适配器的设计原则、接口规范、错误处理和生命周期管理。该规则适用于平台集成相关代码,特别是`src/platforms`目录。

### platform-settings.mdc
定义了平台设置的实现标准,包括配置结构、UI组件、验证逻辑和存储管理。该规则适用于平台设置相关代码。

## 如何使用这些规则

1. **开发新功能时**:首先阅读`coding-standards.mdc`了解基本编码规范
2. **实现API请求时**:参考`network-layers.mdc`了解网络架构设计
3. **开发平台适配器时**:参考`platform-adapter.mdc`了解适配器实现规范
4. **配置平台设置时**:参考`platform-settings.mdc`了解设置实现标准

## 规则维护

1. 规则文件应保持聚焦,每个文件专注于一个特定领域
2. 避免规则之间的重复,必要时使用引用关系
3. 随着项目发展,定期更新规则以反映最新的开发实践
4. 规则更新需要经过团队审核

## 适用范围


这些规则适用于DeepWrite项目的所有代码,尤其是核心功能模块和平台集成相关代码。每个规则文件开头的`globs`属性定义了具体的适用文件范围。 

使用Rules集成新的平台

由于项目已经实现了公众号、头条、知乎的分发逻辑,现在我们通过Rules让Cursor实现稀土掘金的集成

实现过程中会有一些关键的信息,没有正确定位到文件位置,或者缺失一些文件的内容更新。我们通过新的会话进行上下文的补充

最后这种问题解决完成后,可以继续迭代我们的规则内容,提升后续其他平台的集成代码质量

总的来说,都是一些小问题或者简单的报错,复制出来扔给Cursor后,可以直接修复

同时,在这个过程中,需要检查之前所定义好的Rule,是否可以进行完善,照着这个思路进行下去即可

下面说一个在这个过程中遇到的棘手问题,Cursor反复很多次修复最终才解决,这个过程也值得思考与总结

掘金平台图片上传问题

掘金平台对于图片上传跟之前的都不同,比较复杂。Cursor自己生成的代码都有问题,基本上都是api过期,我通过@web指令实时搜索最新api也无法解决。可能是外网的一些资料关于这部分知识比较缺失导致的,所以这部分只能人工来实现

通过平台图片上传接口的抓包,发现其使用的是字节跳动提供的图片处理和存储服务ImageX,这个过程会涉及复杂的AWS V4签名算法,该签名算法严格要求报文的参数格式符合规范才能通过

这部分的实现我尝试使用了Claude3.7+GPT4.1的反复实现与修改,最终才解决。不过还是可以提供一些具体的思路。将涉及到的4个接口,正确的报文与响应抓取出来,放置到文档中进行记录,然后让Cursor帮我们分析实现思路,后续再修复问题调试参数的时候,尽可能让其参考文档的报文进行比对修

总结

整体来看,通过rules我感觉解决了70%左右的工作量,我们使用AI的同时,也要能够接受它的不完美。但是我们要做的是,针对我们的项目,可以形成一套自己的方法论,来提升AI的正确率与解决问题的效率

比如上述AI无法处理最新的api,我通过抓包提供给其最新的接口报文后,Cusor实现的代码同样一直会报错,反反复复修补不正确。此时多轮上下文的信息非常膨胀,可能已经无法理解我们正确的报文数据了。后续我将正确的接口报文形成文档,每次修复问题都让其与文档接口进行比对后再修复,这样确实更加高效

这里也可以说明另一点,我们可以将项目中关键的知识内容文档化保存,在对话过程中,充分利用好窗口上下文的内容,毕竟这个直接决定AI回答的质量好于坏

</section><p style="font-size: 0px; line-height: 0; margin: 0px;">&nbsp;</p>