游乐游手机版
首页/AI热点日报/热点详情

Cursor愈发难用,写mdc文档比代码还多

类型:热点整理2026-07-05
最近,不少开发者都在反馈:Cursor怎么突然变得不那么聪明了?尤其是在升级到0 45版本之后,那种“肉眼可见”的智能退化,几乎成了技术社区里的共识。说实话,它越来越有那个味道了——对,就是那个曾经被寄予厚望、后来却让人一言难尽的Trae项目。 具体表现有哪些?上下文窗口越缩越短,动不动就胡乱修改文

最近,不少开发者都在反馈:Cursor怎么突然变得不那么聪明了?尤其是在升级到0.45版本之后,那种“肉眼可见”的智能退化,几乎成了技术社区里的共识。说实话,它越来越有那个味道了——对,就是那个曾经被寄予厚望、后来却让人一言难尽的Trae项目。

具体表现有哪些?上下文窗口越缩越短,动不动就胡乱修改文件,一个明明不难的问题能跟它反复掰扯半天。更离谱的是,哪怕你已经把报错信息和解决方案直接喂到它面前,它依然视而不见、继续装傻。还有更让人崩溃的操作——明明关闭了MCP的某些配置,它还是要自作主张去调用文件写入功能,拦都拦不住。你把配置文件删了?它照样能通过某种路径去请求那个莫名其妙的rite_file

哎,说起来真是物是人非。以前的它有多聪明,现在的它就有多让人头疼。最尴尬的是,连官方自己都没完全想清楚:到底要把Cursor做成一个纯粹的编辑器,还是一个AI Agent?在这个定位摇摆不定的过程中,又冒出来一个叫“Manual”的新功能,让人摸不着头脑。

降智降成这样,总不能坐以待毙。于是只能自己动手,在本地创建文件,手把手地教它该怎么写代码。结果呢?.mdc文档的数量比项目代码本身还多。不过说实话,用下来效果还算凑合,算是给Cursor当前的不作为打了个补丁。

既然聊到了这个,就来稍微介绍一下Cursor特有的.mdc文件。

.mdc,全称是Markdown Cursor。本质上它就是一套基于Markdown语法的规则文件,专门用来定义AI在编码时的行为规范、约束条件和上下文指引。你可以把它理解为给AI助手准备的一份“备忘录”——告诉它在这个项目里,应该遵循什么规则,该怎么做。

值得一提的是,旧版的.cursorrules很快就要被废弃了。原因很简单,那玩意儿过于单一,适用面太窄。而新的.mdc格式有几点硬核优势:

  • 可以为不同类型的文件或任务,分别创建专门的规则文件
  • AI会根据你当前编辑的文件,自动匹配并应用最合适的规则
  • 基于Markdown语法,写起来非常自然流畅,几乎零学习成本

实际使用后,AI助手改出的代码质量确实有所提升。东西都喂到嘴边了,再写不好,那就只能怪它不争气了。而且,对企业团队协作来说,这也省了不少事——不用每次都重新把项目规范重复讲一遍,后续项目迁移也方便得多。

顺便提一句,如果搭配Google Gemini 2.5 Pro那个超长上下文来用,简直是天作之合。

编写这个文件其实特别简单。一个典型的.mdc文件由两个部分组成:

  • 前置元数据:用三横线(---)包裹,用来定义规则的描述和适用范围。
  • 规则正文:就是用纯Markdown格式编写具体指令。

创建和使用也很容易,关键是记住它的存放位置:

  • 在项目根目录下创建 .cursor/rules/ 文件夹
  • 在里面添加 .mdc 文件,比如 ts-rules.mdc,保存后Cursor就会自动加载并应用规则

来看一个最简单不过的示例:

---
description: TypeScript项目规范
globs: *.ts, *.tsx
---
# TypeScript编码规范
- 使用严格模式(strict: true)
- 优先使用函数组件而非类组件
- 代码中必须包含完整类型注解

下面这些,是我在项目中积累出来的一部分.mdc配置案例,你们感受一下。

全栈TypeScript项目架构与约束

---
description: 企业级TypeScript全栈应用架构规范
globs: *.ts, *.tsx
priority: 10
---
# TypeScript全栈架构规范

## 核心架构原则
- 采用**六边形架构**(Hexagonal Architecture)设计模式
- 领域逻辑与框架、UI、数据库等基础设施隔离
- 依赖关系必须指向领域核心,禁止反向依赖
- 接口定义在领域层,实现在基础设施层

## 类型系统规范
- 禁止使用`any`类型,必须使用`unknown`作为未知类型的默认选择
- 对所有函数参数和返回值进行显式类型注解
- 对于复杂对象,使用以下模式定义类型:
```typescript
// 领域实体基础类型
type UserProperties = {
  id: string;
  email: string;
  firstName: string;
  lastName: string;
  role: UserRole;
  createdAt: Date;
  updatedAt: Date;
};

// 实体类
export class User {
  private props: UserProperties;

  private constructor(props: UserProperties) {
    this.props = props;
  }

  // 工厂方法
  public static create(props: Omit): Result {
    // 验证逻辑...
    return Result.ok(new User({
      ...props,
      id: UUID.generate(),
      createdAt: new Date(),
      updatedAt: new Date()
    }));
  }

  // 访问器方法
  get id(): string { return this.props.id; }
  get email(): string { return this.props.email; }
  // ...其他访问器
}

微服务架构设计规范

---
description: 微服务架构设计规范与最佳实践
globs: *.{ts,js,go,py}
priority: 20
---
# 微服务架构设计规范

## 架构总体原则
- 采用**Domain-Driven Design (DDD)**思想设计微服务边界
- 每个微服务应满足"单一职责"原则
- 服务间通信优先考虑异步事件驱动模式
- 遵循API优先设计原则,先定义接口再实现

## 服务间通信规范

### 同步通信
- REST API必须遵循以下规范:
- 使用HAL(Hypertext Application Language)表示资源关系
- 统一错误响应格式:
```json
{
  "error": {
    "code": "RESOURCE_NOT_FOUND",
    "message": "请求的资源不存在",
    "details": {
      "resource_id": "12345",
      "resource_type": "user"
    },
    "trace_id": "abcd1234-5678-efgh-ijkl-mnopqrstuvwx",
    "timestamp": "2025-03-28T12:34:56Z"
  }
}
```
- API版本控制策略:Accept header中指定版本,例如`Accept: application/vnd.company.api+json;version=1`

### 异步通信
- 事件结构规范:
```json
{
  "id": "uuid-v4-format",
  "type": "user.created",
  "version": "1.0",
  "source": "user-service",
  "time": "2025-03-28T12:34:56Z",
  "dataContentType": "application/json",
  "data": {
    // 事件具体数据
  },
  "correlationId": "related-request-id",
  "subject": "users"
}

上面这些内容,都是基于Cursor 0.45版本的实践。如果你也遇到了Cursor降智的问题,不妨也试试这个路子——多写几条类似的规划文档,把约束条件讲清楚。有时候效果还真不赖。

来源:https://www.53ai.com/news/finetuning/2025040193812.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。