Perplexity AI - AI 搜索与答案引擎
Perplexity 结合大语言模型与实时网页搜索,提供简洁回答并给出清晰的来源引用。
Perplexity 是什么?
Perplexity 是一款 AI 驱动的“答案引擎”:它在生成回答时会进行实时搜索,并把关键信息的来源以引用的形式展示出来。相比传统搜索只给链接列表,Perplexity 更强调“直接回答 + 可追溯来源”。
- 实时信息:结合网页搜索,回答更贴近当下
- 来源引用:关键结论通常附带引用链接,便于核对
- 对话式追问:支持连续提问与深入探索
- 多模态:支持文本提问与图片输入(能力以产品版本为准)
- Focus 模式:可按不同信息源/场景聚焦(如学术、新闻等)
定价
免费版
- 价格:免费
- 适合:日常搜索、轻量研究
Pro
- 价格:通常为 $20/月 或 $200/年(以官网为准)
- 适合:高频研究、需要更强模型与更深检索
适用场景
- 快速获取结论并核对来源
- 写作/报告的资料搜集与大纲整理
- 跟踪最新动态(产品、行业、新闻等) 示例: “添加错误处理” “优化此函数” “添加类型提示” “转换为异步 (async)” “添加单元测试”
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 个文件的修改:
- auth/jwt.py
- middleware/auth.py
- routes/login.py
建议方案: [详细步骤]
是否继续?
### 5) 多文件编辑 (Composer)
你:将所有的类组件转换为函数组件。
Cursor: 发现 15 个类组件 已修改文件:
- components/Header.jsx ✅
- components/Footer.jsx ✅
- components/Sidebar.jsx ✅ …
所有修改已应用。需要同步更新测试用例吗?
### 6) 错误检测与修复
Cursor 检测到:
❌ TypeError: Cannot read property ‘name’ of undefined at UserProfile.render (UserProfile.jsx:25)
建议修复方案: 添加空值检查或使用可选链
[点击应用修复]
## 使用技巧
### 提示词 (Prompting) 最佳实践
**糟糕的指令:**
“让代码变得更好”
**更好的指令:**
“添加输入校验,处理空数组的边界情况,并优化错误提示信息”
### 项目规范引导
创建 `.cursorrules` 文件来设定项目约定:
.cursorrules
我们的技术栈:
- React 18 配合 TypeScript
- 使用 Tailwind CSS 处理样式
- 使用 React Query 获取数据
- 使用 Vitest 进行测试
代码规范:
- 使用函数组件和 Hooks
- 优先使用具名导出 (Named Exports)
- 为所有组件编写类型定义
- 相比 .then() 优先使用 async/await
Cursor 会在整个代码库中遵循这些规则。
### 常用快捷键
| 快捷键 | 动作 | 说明 |
| --- | --- | --- |
| `Tab` | 采纳补全 | 应用 AI 建议 |
| `Cmd/Ctrl + K` | 行内编辑 | 修改选区内容 |
| `Cmd/Ctrl + L` | 长对话 | 处理复杂任务 |
| `Cmd/Ctrl + I` | Composer | 多文件编辑 |
| `Cmd/Ctrl + Shift + L` | Lint 修复 | 自动修复代码问题 |
## 常见工作流
### 1) 快速原型开发
你:使用 React + TypeScript 创建一个 Todo 应用。
Cursor 生成脚手架:
- App.tsx (主组件)
- TodoList.tsx (列表)
- TodoItem.tsx (单项)
- types.ts (类型定义)
- hooks/useTodos.ts (自定义 Hook)
- styles/App.css (样式)
几分钟内即可完成可运行的原型。
### 2) 代码重构
你:将这个庞大的组件拆分为更小的组件。
Cursor 建议: 拆分为:
- UserAvatar
- UserStats
- UserActions
已自动创建文件并更新引用。
### 3) 调试修复
你:这段代码在生产环境中偶尔会崩溃。
Cursor 分析: 潜在问题:
- 缺少空值检查
- 异步竞态条件
- 内存泄漏风险
建议修复: [具体的代码改动]
### 4) 编写测试
你:@file UserService.ts 编写单元测试。
Cursor 生成:
- 正常流程测试
- 边界情况
- 错误处理
- Mock 与 Stub 模拟
- 目标覆盖率 95%+
### 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 执行:
- 添加 tsconfig.json
- 将 .js 重命名为 .ts
- 添加类型定义
- 修复类型错误
- 更新 package.json
几分钟内迁移了 50 多个文件。
### 示例 3:性能调优
你:@codebase 寻找性能瓶颈并优化。
Cursor 分析:
- components/DataTable.jsx - 存在不必要的重复渲染
- utils/api.js - 缺少请求缓存
- 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) 下载并免费试用。