深度评测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)的兼容性,还有性能需求。如果大家对这些模型有任何问题或使用经验,欢迎分享共同讨论!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/984782.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu局域网部署stable-diffusion-webui记录

需要局域网访问,如下设置: 过程记录查看源码: 查看源码,原来修改参数:--server-name 故启动: ./webui.sh --server-name0.0.0.0 安装下载记录: 快速下载可设置: export HF_ENDPOI…

数智读书笔记系列015 探索思维黑箱:《心智社会:从细胞到人工智能,人类思维的优雅解读》读书笔记

引言 《The Society of Mind》(《心智社会》)的作者马文・明斯基(Marvin Minsky),是人工智能领域的先驱和奠基者之一 ,1969 年获得图灵奖,被广泛认为是对人工智能领域影响最大的科学家之一。他…

2.1 Vite + Vue 3 + TS 项目脚手架深度配置

文章目录 **一、环境准备与技术选型****二、项目初始化与基础架构****三、工程化配置深度优化****四、代码规范与质量保障****五、Vue 3 深度集成****六、TypeScript 高级配置****七、第三方库集成****八、构建优化策略****九、企业级最佳实践****十、扩展配置参考****本章核心…

利用FatJar彻底解决Jar包冲突(一)

利用FatJar彻底解决Jar包冲突 序FatJar的加载与隔离⼀、 FatJar概念⼆、FatJar的加载三、FatJar的隔离四、隔离机制验证五、 FatJar的定位六、 打包注意点 序 今天整理旧电脑里的资料,偶然翻到大概10年前实习时写的笔记,之前经常遇到Java依赖冲突的问题…

C/C++蓝桥杯算法真题打卡(Day4)

一、P11041 [蓝桥杯 2024 省 Java B] 报数游戏 - 洛谷 算法代码&#xff1a; #include<bits/stdc.h> using namespace std;// 计算第 n 个满足条件的数 long long findNthNumber(long long n) {long long low 1, high 1e18; // 二分查找范围while (low < high) {lo…

DeepSeek大语言模型下几个常用术语

昨天刷B站看到复旦赵斌老师说的一句话“科幻电影里在人脑中植入芯片或许在当下无法实现&#xff0c;但当下可以借助AI人工智能实现人类第二脑”&#xff08;大概是这个意思&#xff09; &#x1f49e;更多内容&#xff0c;可关注公众号“ 一名程序媛 ”&#xff0c;我们一起从 …

快速从C过度C++(一):namespace,C++的输入和输出,缺省参数,函数重载

&#x1f4dd;前言&#xff1a; 本文章适合有一定C语言编程基础的读者浏览&#xff0c;主要介绍从C语言到C过度&#xff0c;我们首先要掌握的一些基础知识&#xff0c;以便于我们快速进入C的学习&#xff0c;为后面的学习打下基础。 这篇文章的主要内容有&#xff1a; 1&#x…

IDEA接入阿里云百炼中免费的通义千问[2025版]

安装deepseek 上一篇文章IDEA安装deepseek最新教程2025中说明了怎么用idea安装codeGPT插件&#xff0c;并接入DeepSeek&#xff0c;无奈接入的官方api已经不能使用了&#xff0c;所以我们尝试从其他地方接入 阿里云百炼https://bailian.console.aliyun.com/ 阿里云百炼‌是阿…

六十天前端强化训练之第十三天之JavaScript 原型与继承详解

欢迎来到编程星辰海的博客讲解 目录 一、原型系统底层探秘 1.1 对象体系构建原理 内存模型示意图 1.2 原型链工作机制 1.3 原型相关方法详解 (1) Object.getPrototypeOf (2) Object.setPrototypeOf (3) Object.create 1.4 构造函数运行机制 二、八种继承模式深度剖析…

大语言模型学习--向量数据库基础知识

1.向量 向量是多维数据空间中的一个坐标点。 向量类型 图像向量 文本向量 语音向量 Embedding 非结构化数据转换为向量过程 通过深度学习训练&#xff0c;将真实世界离散数据&#xff0c;投影到高维数据空间上&#xff0c;通过数据在空间中间的距离体现真实世界的相似度 V…

Python语法核心架构与核心知识点:从理论到实践

一、Python的核心设计哲学 Python以“简洁优雅”为核心理念&#xff0c;遵循以下原则&#xff1a; # Zen of Python&#xff08;输入 import this 可查看&#xff09; >>> import this The Zen of Python, by Tim Peters ... Simple is better than complex. Readab…

mac本地部署Qwq-32b记录

导语 昨天看到阿里开源了Qwq-32b&#xff0c;号称性能可以媲美Deepseek-R1。今天晚上有空就在Mac上折腾了一下&#xff0c;使用ollma进行了部署&#xff0c;效果感觉还不错&#xff0c;特此记录。 环境 硬件 型号&#xff1a;Macbook M1 Pro 14寸内存&#xff1a;512G 环境…

Vue3 Pinia 符合直觉的Vue.js状态管理库

Pinia 符合直觉的Vue.js状态管理库 什么时候使用Pinia 当两个关系非常远的组件&#xff0c;要传递参数时使用Pinia组件的公共参数使用Pinia

JAVA面试_进阶部分_深入理解socket网络异常

在各种网络异常情况的背后&#xff0c;TCP是怎么处理的&#xff1f;又是怎样把处理结果反馈给上层应用的&#xff1f;本文就来讨论这个问题。 分为两个场景来讨论 建立连接 1 正常情况下 进过三次握手&#xff0c;客户端连接成功&#xff0c;服务端有一个新连接到来。 2 客…

警惕AI神话破灭:深度解析大模型缺陷与禁用场景指南

摘要 当前AI大模型虽展现强大能力&#xff0c;但其本质缺陷可能引发系统性风险。本文从认知鸿沟、数据困境、伦理雷区、技术瓶颈四大维度剖析大模型局限性&#xff0c;揭示医疗诊断、法律决策等8类禁用场景&#xff0c;提出可信AI建设框架与用户防护策略。通过理论分析与实操案…

《用Python+PyGame开发双人生存游戏!源码解析+完整开发思路分享》

导语​ "你是否想过用Python开发一款可玩性高的双人合作游戏&#xff1f;本文将分享如何从零开始实现一款类《吸血鬼幸存者》的生存射击游戏&#xff01;包含完整源码解析、角色系统设计、敌人AI逻辑等核心技术点&#xff0c;文末提供完整代码包下载&#xff01;" 哈…

Python实例:PyMuPDF实现PDF翻译,英文翻译为中文,并按段落创建中文PDF

基于PyMuPDF与百度翻译的PDF翻译处理系统开发:中文乱码解决方案与自动化排版实践 一 、功能预览:将英文翻译为中文后创建的PDF 二、完整代码 from reportlab.lib.pagesizes import letter from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle

华为hcia——Datacom实验指南——三层交换和ARP的工作原理

什么是三层交换 三层交换是指连接在同一台三层交换机上&#xff0c;不同vlan用户&#xff0c;不同网段ip&#xff0c;通过vlanif接口进行数据交换。 什么是ARP协议 通过网络层的ip地址解析成数据链路层的mac地址。 说白了就是通过目标ip地址去问他对应的mac地址是多少。 A…

YC 孵化项目 Pinch:实时语音翻译视频会议平台;Mistral OCR:能处理多语言多模态复杂文档丨日报

开发者朋友们大家好&#xff1a; 这里是 「RTE 开发者日报」 &#xff0c;每天和大家一起看新闻、聊八卦。 我们的社区编辑团队会整理分享 RTE&#xff08;Real-Time Engagement&#xff09; 领域内「有话题的 技术 」、「有亮点的 产品 」、「有思考的 文章 」、「有态度的 …

github生成badges的方法

在Github页面上生成类似下面这样的badge的方法 你可以通过以下步骤在GitHub个人主页的README中创建类似的技术栈徽章&#xff1a; 一、使用 Shields.io 生成徽章 Shields.io 是一个开源徽章生成工具&#xff0c;支持自定义文本、颜色、图标等参数。 1. 基础模板 https://…