当前位置: 首页 > article >正文

深度评测DeepSeek、ChatGPT O1和谷歌Gemini AI应用开发场景 - DeepSeek性能完胜!

下面我会展示我为期一周的实验结果,创作不宜,希望大家关注我,以后多多互3!前一阵我在互联网上看到很多关于DeepSeek R1的讨论,这个开源模型据说可以媲美,甚至优于像OpenAI o1这样的付费模型。

由于我在日常工作中广泛使用这些AI模型(主要在Cursor里使用这些AI),我决定看看哪个最适合代码开发。经过200次的Cursor实验后,我在这里和大家分享这次实验的结果。

实验配置

我从一个AI代码开排行榜 - lmarena中选择了前两名的模型,即Gemini-Exp-1206和OpenAI的o1,以及挑战者——DeepSeek R1作为对比。然后我设计了三个实用的编程场景来测试每个模型的能力:

1. 情绪追踪Web应用

主要功能包括:在日历上进行情绪记录、视觉化追踪情绪、图表数据可视化

2. 随机食谱生成器

主要功能包括集成MealDB API、食谱类别筛选、收藏夹管理

3. “打地鼠”游戏

主要内容有实时动画、添加音效、游戏的难度会递增

我是如何测试每个模型的?

我对所有三个AI开发场景都使用了相同的测试流程:

1. 编写简要需求文档

我列出了每个项目的核心功能,比如“使用日历API库”、“用本地存储保存数据”或“从外部API获取数据”等。

2. 让AI生成完整代码

我将需求文档提供给模型并等待代码生成结束。如果代码有Bug或缺少功能,我会提供具体的反馈(比如“情绪的颜色编码显示错误”),直到模型修正问题并达到可用状态。

3. 评分结果

当应用运行后,我按照提前制定好的评分表进行测试:比如主要功能是否正常?代码是否结构清晰?用户体验是否良好?最终我为每个模型给出了评分。

4. 结果对比

在完成所有三个应用的测试后,我整理了最终数据并统计得分。

代码生成流程

以下是一个我是用的示例PRD(产品需求文档):

---
name: "Mood Tracker"
about: "Modern mood tracking web app with data visualization"
date_created: "2025-01-26"
project_name: "MoodTracker"
tech_stack: ["NextJS 15", "TypeScript", "Shadcn", "Tailwind CSS", "Chart.js", "date-fns"]
version: "1.3"
---

# 🎯 Mood Tracker PRD

A modern web application for logging daily moods and visualizing emotional trends with charts.

---

## 1. **Success Criteria**

1. **Core Functionality**
   - [ ] **Clickable Calendar**: Users can select a date to log or edit a mood entry.
   - [ ] **Emoji & Note Input**: A modal or dialog with an emoji picker and text field.
   - [ ] **Local Data Storage**: Persist mood entries between sessions.
   - [ ] **Data Visualization**: At least two Chart.js charts to display weekly, monthly, or overall trends.
   - [ ] **Mobile-Responsive**: Layout should adjust for smaller screens without major issues.

2. **Validation Checklist**
   - [ ] **Build & Run**: Fresh `npm install && npm run dev` works without errors.
   - [ ] **Calendar Interaction**: Clicking a calendar date opens the mood logging UI.
   - [ ] **Color Coding**: Each date cell or icon changes based on mood score or emoji.
   - [ ] **Chart Page**: A separate page or section to visualize stats (e.g., line chart + pie chart).
   - [ ] **Data Persistence**: Entries remain available if the user navigates away and comes back later.

---

## 2. **Tech Stack**

- **NextJS 15** (App Router) for site structure
- **TypeScript** for type safety
- **Shadcn** UI components (dialogs, buttons, forms)
- **Tailwind CSS** for styling
- **Chart.js** for data visualization
- **date-fns** for date operations
- **localforage** (or equivalent) for local data storage
- **@emoji-mart/react** for an emoji picker

### **Why These Choices?**
- **NextJS + TypeScript**: Great for server/client flexibility and type safety
- **Shadcn + Tailwind**: Rapid UI development with consistent design
- **Chart.js**: Straightforward library for rendering charts
- **date-fns**: Lightweight date utilities

---

## 3. **Design & Mood Scores**

| MoodScore | Mood       | Tailwind Color | Emoji     |
|-----------|------------|----------------|-----------|
| 1         | Angry      | `red-500`      | 😡         |
| 2         | Sad        | `orange-400`   | 😞         |
| 3         | Neutral    | `yellow-300`   | 😐         |
| 4         | Happy      | `lime-400`     | 😊         |
| 5         | Ecstatic   | `emerald-500`  | 😄         |

> You can style each date cell background or display an icon to indicate the logged mood.

---

## 4. **User Stories**

1. **Daily Mood Logging**
   - **As a user**, I want to quickly log how I feel each day so I can track my emotional journey.
     - **Given** I click on a specific date
     - **When** I choose an emoji and type a note
     - **Then** the date on the calendar updates visually to reflect my mood

2. **Mood Analysis**
   - **As a user**, I want to see a higher-level overview of my moods so I can spot trends.
     - **Given** I navigate to a “Stats” page
     - **When** I select a timeframe (weekly, monthly, etc.)
     - **Then** I see at least two types of charts illustrating changes or distributions in my mood data

---

## 5. **Data Structures**

```typescript
export interface MoodEntry {
  date: string;    // e.g. "2025-01-23"
  emoji: string;   // e.g. "😊"
  note: string;
  moodScore: 1 | 2 | 3 | 4 | 5;
}
```

- Store mood entries in `lib/storage.ts` using local data storage (e.g., localforage).
- Components like `MoodCalendar` and `MoodChart` can import these entries to display logs.

### 6. File Structure
```

mood-tracker/
├── app/
│   ├── (dashboard)/
│   │   └── page.tsx     # main calendar view
│   ├── stats/
│   │   └── page.tsx     # charts & statistics
│   └── layout.tsx       # global layout or shared UI
├── components/
│   ├── MoodCalendar.tsx
│   ├── MoodChart.tsx
│   └── EmojiPicker.tsx
├── lib/
│   ├── storage.ts
│   └── mood.ts          # data types
└── styles/
    └── globals.css
```

### 7. Additional Notes
- **Shadcn**: Ideal for modals (Dialog component), buttons, forms, etc.
- **Chart.js**: Use a line chart, bar chart, pie chart, or any combination to showcase data trends.
- **Optional**: You can add a hover tooltip on each calendar day to preview the note or emoji.

评测结果与分析

在计算性能得分(以获得的总分数占总分数的百分比)后,结果如下:

  • DeepSeek R1:77.66%
  • OpenAI o1:73.50%
  • Gemini 2.0:71.24%

DeepSeek R1最终获得最高分,但是从结果数据中我们也可以看到所有模型的表现都还不错。话虽如此,我并不认为哪个模型是“万能工具”——每个模型都有其优势和劣势,下面我们具体分析。

各模型的优缺点深度解析

DeepSeek R1

优点

  • 思考推理型模型(可以进行更深入的推理提升准确度)
  • 高质量
  • 生成能力强
  • 稳定
  • 免费

缺点

  • 推理速度慢(长时间推理)
  • 在Cursor AI中经常超时
  • 在调试时有时会过度思考

OpenAI o1

优点

  • 与Cursor AI集成良好
  • 高质量
  • 生成能力强
  • 稳定

缺点

  • 价格昂贵
  • 不是思考推理型模型
  • 调试提示词优化结果的能力不如Claude Sonnet

Gemini 2.0

优点

  • 严格遵循指令
  • 速度极快!
  • 免费

缺点

  • 生成能力较低
  • 在Cursor AI中不支持思考和推理
  • 需要非常具体的指令才能表现良好

额外测试的模型Claude Sonnet 3.5

优点

  • 调试提示词优化结果的极强
  • 运行速度快
  • 稳定性好(表现一致,可靠)

缺点

  • 生成能力较弱(相比“推理”类模型)

总结

在这次编程场景的测试中,DeepSeek R1以 77.66% 的最高分胜出,但OpenAI o1和Gemini 2.0的表现也并不差。在我们实际使用过程中,模型的选择往往取决于以下具体需求:

  • 如果需要速度,Gemini的响应速度非常快。
  • 如果需要更好的生成能力或更“拟人化”生成近似人类生成的响应,DeepSeek和o1都是不错的选择。
  • 如果调试优化结果是首要任务,Claude Sonnet尽管没有参与本次的测试,但它的调试能力非常出色。

没有哪个模型是“万能神器”,选择合适的工具取决于预算、与大家正使用的IDE(如Cursor AI)的兼容性,还有性能需求。如果大家对这些模型有任何问题或使用经验,欢迎分享共同讨论!


http://www.kler.cn/a/581762.html

相关文章:

  • 【实战ES】实战 Elasticsearch:快速上手与深度实践-7.3.1直接调用ES API的风险与替代方案
  • 如何使用 CSS 实现黑色遮罩效果
  • 深度学习基础:线性代数本质2——线性组合、张成的空间与基
  • Torch 模型 model => .onnx => .trt 及利用 TensorTR 在 C++ 下的模型部署教程
  • 技术速递|Visual Studio Code 2025年2月更新(v1.98)
  • IHAOAVOA:一种改进的混合aquila优化器和非洲秃鹫优化算法的全局优化问题,附完整MATLAB代码
  • 【prompt实战】知乎问题解答专家
  • 为什么使用 XML Schema?
  • 初识大模型——大语言模型 LLMBook 学习(一)
  • 【数据挖掘】异构图与同构图
  • C++设计模式-抽象工厂模式:从原理、适用场景、使用方法,常见问题和解决方案深度解析
  • Android Compose: `remember` 与 `ViewModel` 保存数据的优缺点对比
  • Docker构建启动jar包
  • MySQL 的索引机制
  • java中过滤器
  • 指针的工作原理,函数的传值和传址
  • 使用curl库编写爬虫程序的指令抓取优质视频
  • docker镜像发布的应用程序,其配置https的流程
  • Ansible运行原理揭秘:如何用YAML脚本掌控数服务器?
  • ROS分布式部署通信