Perplexity AI - AI 搜索与答案引擎

Perplexity 结合大语言模型与实时网页搜索,提供简洁回答并给出清晰的来源引用。

Perplexity 是什么?

Perplexity 是一款 AI 驱动的“答案引擎”:它在生成回答时会进行实时搜索,并把关键信息的来源以引用的形式展示出来。相比传统搜索只给链接列表,Perplexity 更强调“直接回答 + 可追溯来源”。

定价

免费版

Pro

适用场景


Cursor 会直接对选中的代码应用修改。

### 3) Cursor Chat (行内助手)

你:如何实现一个 LRU 缓存?

Cursor: 这是一个 LRU(最近最少使用)缓存的实现:

[生成的代码]

class LRUCache: def init(self, capacity: int): …

def get(self, key: int) -> int: …

def put(self, key: int, value: int) -> None: …

需要我解释一下实现思路吗?


**高级提及功能:**

* `@codebase`:询问关于整个代码库的问题。
* `@file`:引用特定的文件。
* `@web`:搜索在线资源。
* `@docs`:查阅框架或库的官方文档。

### 4) Cmd/Ctrl + L (长对话模式)

专为多步骤任务和重构设计:

你:我想把认证模块重构为更安全的 JWT 设计。

Cursor: 正在分析当前的认证模块… 涉及 3 个文件的修改:

  1. auth/jwt.py
  2. middleware/auth.py
  3. routes/login.py

建议方案: [详细步骤]

是否继续?


### 5) 多文件编辑 (Composer)

你:将所有的类组件转换为函数组件。

Cursor: 发现 15 个类组件 已修改文件:

所有修改已应用。需要同步更新测试用例吗?


### 6) 错误检测与修复

Cursor 检测到:

❌ TypeError: Cannot read property ‘name’ of undefined at UserProfile.render (UserProfile.jsx:25)

建议修复方案: 添加空值检查或使用可选链

[点击应用修复]


## 使用技巧

### 提示词 (Prompting) 最佳实践

**糟糕的指令:**

“让代码变得更好”


**更好的指令:**

“添加输入校验,处理空数组的边界情况,并优化错误提示信息”


### 项目规范引导

创建 `.cursorrules` 文件来设定项目约定:

.cursorrules

我们的技术栈:

代码规范:


Cursor 会在整个代码库中遵循这些规则。

### 常用快捷键

| 快捷键 | 动作 | 说明 |
| --- | --- | --- |
| `Tab` | 采纳补全 | 应用 AI 建议 |
| `Cmd/Ctrl + K` | 行内编辑 | 修改选区内容 |
| `Cmd/Ctrl + L` | 长对话 | 处理复杂任务 |
| `Cmd/Ctrl + I` | Composer | 多文件编辑 |
| `Cmd/Ctrl + Shift + L` | Lint 修复 | 自动修复代码问题 |

## 常见工作流

### 1) 快速原型开发

你:使用 React + TypeScript 创建一个 Todo 应用。

Cursor 生成脚手架:

几分钟内即可完成可运行的原型。


### 2) 代码重构

你:将这个庞大的组件拆分为更小的组件。

Cursor 建议: 拆分为:

  1. UserAvatar
  2. UserStats
  3. UserActions

已自动创建文件并更新引用。


### 3) 调试修复

你:这段代码在生产环境中偶尔会崩溃。

Cursor 分析: 潜在问题:

  1. 缺少空值检查
  2. 异步竞态条件
  3. 内存泄漏风险

建议修复: [具体的代码改动]


### 4) 编写测试

你:@file UserService.ts 编写单元测试。

Cursor 生成:


### 5) 撰写文档

你:为所有公共方法添加 JSDoc。

Cursor: 已为 80 多个方法添加了包含参数、返回值和示例的文档。


## 与其他 AI 编程工具对比

| 能力 | Cursor | GitHub Copilot | Tabnine |
| --- | --- | --- | --- |
| 补全质量 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
| 聊天功能 | ✅ 强大 | ⚠️ 基础 | ❌ |
| 代码库理解 | ✅ | ❌ | ⚠️ |
| 多文件编辑 | ✅ | ❌ | ❌ |
| VS Code 集成 | ✅ 原生内置 | ✅ 插件形式 | ✅ 插件形式 |
| 模型选择 | GPT-4/Claude/o1 | GPT-4 | 私有模型 |
| 价格 | $20/月 | $10-$20/月 | $12-$39/月 |
| 离线使用 | ❌ | ❌ | ✅ 专业版支持 |

## 优点与局限性

### 优点

1. **深度集成**:是一个完整的编辑器,而非简单的插件。
2. **强大的项目理解能力**:能够进行连贯的代码库修改。
3. **顶尖模型支持**:支持 GPT-4、Claude 3.5 及各类推理模型。
4. **Composer 功能**:极大提升了大范围重构的一致性。

### 局限性

1. 需要保持互联网连接。
2. 提示词和工作流需要一定的学习成本。
3. 重度使用建议购买专业版。
4. 敏感代码库需评估隐私需求。

## 隐私与安全

### 数据处理

* **免费版/专业版**:数据默认可能被用于改进模型(可选择退出/Opt-out)。
* **企业版**:数据不会被用于训练。
* **隐私模式**:可开启隐私模式禁用数据上传。

### 安全保障

* 传输过程使用 TLS 加密。
* 默认情况下不进行代码的长期留存。
* 遵循 SOC 2 和 GDPR 规范。

### 最佳实践

**请勿输入:**

* API 密钥和密钥凭证。
* 敏感的客户数据。
* 公司机密信息。

## 实际案例

### 示例 1:构建 REST API

你:使用 Express + TypeScript 创建一个用户管理 API。

Cursor 生成结构: ├── src/ │ ├── routes/users.ts │ ├── controllers/userController.ts │ ├── models/User.ts │ ├── middleware/auth.ts │ ├── utils/validation.ts │ └── app.ts ├── tests/ │ └── users.test.ts └── swagger.yaml

包含 CRUD、认证、校验、错误处理、测试及 API 文档。


### 示例 2:迁移至 TypeScript

你:将此项目从 JavaScript 迁移到 TypeScript。

Cursor 执行:

  1. 添加 tsconfig.json
  2. 将 .js 重命名为 .ts
  3. 添加类型定义
  4. 修复类型错误
  5. 更新 package.json

几分钟内迁移了 50 多个文件。


### 示例 3:性能调优

你:@codebase 寻找性能瓶颈并优化。

Cursor 分析:

  1. components/DataTable.jsx - 存在不必要的重复渲染
  2. utils/api.js - 缺少请求缓存
  3. hooks/useData.js - 存在内存泄漏风险

应用优化后,预计性能提升 40-60%。


## 常见问题 (FAQ)

### Cursor 比 GitHub Copilot 更好吗?

Cursor 的功能范畴更广。Copilot 专注于代码补全,而 Cursor 增加了聊天对话、多文件编辑和全项目理解能力。

### 我原有的 VS Code 插件还能用吗?

可以。Cursor 基于 VS Code 开发,完全支持你现有的插件和设置。

### 免费版够用吗?

对于学习和偶尔使用来说非常棒。专业开发者建议购买专业版以获得更高效率。

### 我的代码会被拿去训练模型吗?

免费版/专业版默认允许(可以在设置中关闭)。企业版代码绝不会被用于训练。

### 支持哪些编程语言?

支持绝大多数主流语言:Python, JavaScript, TypeScript, Go, Rust, Java, C/C++, C#, 等等。

## 相关资源

* **文档**:[https://docs.cursor.sh](https://docs.cursor.sh)
* **视频教程**:在 YouTube 搜索 "Cursor AI tutorial"
* **社区**:官方 Discord
* **示例仓库**:GitHub 上的 cursor-examples

## 更新动态

### Composer (多文件编辑)

* 同时编辑多个文件。
* 保持全局风格统一。
* 自动更新导入和引用。

### 代理模式 (Agent Mode)

* 让 AI 运行终端命令和测试。
* 针对复杂任务自动迭代直到成功。

### 文档集成

* 在线查询官方文档。
* 获取最新的框架用法和 API 信息。

## 总结

Cursor 是下一代 AI 编程环境,它通过理解你的项目来帮助你更快地设计、实现、重构和修复代码。对于许多开发者来说,它可以提升 2 到 5 倍的生产力。

对于专业开发工作,专业版 ($20/月) 具有极高的价值。如果你还在使用传统的编辑器,不妨试试 Cursor——它可能会彻底改变你构建软件的方式。

**立即开启**:从 [cursor.sh](https://cursor.sh) 下载并免费试用。