• Redis之父:AI 水平不错,但远落后人类智能,开发者跟评:业界存在大量能力较弱的开发者,许多情况下,AI可以超越他们

Redis之父:AI 水平不错,但远落后人类智能,开发者跟评:业界存在大量能力较弱的开发者,许多情况下,AI可以超越他们

2025-06-03 01:37:03 栏目:宝塔面板 88 阅读

Redis 之父 Salvatore Sanfilippo 近日分享了自己的一次研发经历并直接表达了自己的观点:人类程序员仍比大模型更出色。


“因为我们能够真正打破常规、设想出一些奇特且并不精确、但就是更有成效的解法,而这对大模型来说则极其困难。”

Antirez 的分享迅速引发广大开发者的激烈讨论,博客地址:https://antirez.com/news/153

Antirez:AI 水平不错,但远落后人类智能

“今天我要分享一个人类为何仍比大语言模型更有优势的小故事。

我并不反对 AI 或者类似的技术成果,持续关注我的朋友都知道。我经常用大模型,现在也一样。

之所以会有这段故事,是因为我想测试自己的想法、进行代码审查、看看 AI 会不会有比我更好的灵感、探索点专业范围内的更多可能性之类。”

Antirez 在开篇写道,并直接抛出了结论:


总之,我得出的结论是:虽然目前的 AI 水平不错、颇具实用性,但仍然远远落后于人类智能。我知道这是个很有争议的结论,容易在网上挨喷,但……我的感受就是如此。


但即便如此:当前 AI 水平虽然实用且出色,却仍与人类智能有着惊人差距。鉴于近来已无法进行理性讨论,我认为有必要强调这一点。

并且他还给出自己使用 AI 的经历……

最近 Antirez 正在为 Redis 开发 Vector Sets,打算修复一个复杂的 bug:在离开 Redis 期间,Antirez 的同事们引入了防止数据校验通过但 RDB 和 RESTORE 负载损坏的功能。

此功能会默认关闭,只是为需要的人多提供一层更强的安全保障。

但有一个比较大的问题:为了让 HNSW 能够快速保存到 Redis RDB 并加载回来,Antirez 序列化了 graph 表示,而非元素—向量对,否则就得把数据重新插入 HNSW,这会把速度拖慢 100 倍!总之,Antirez 将各节点与其他节点间的所有链接存储成整数,然后把它们解析成指针。

这是个很实用的技巧,效果也不错。然而,在将这种处理方法跟表示的随机损坏、还有 Antirez 对于 HNSW 的改进结合起来,强制各节点间建立互换链接(Antirez 自己编写了 HSNW 实现,其中包含许多有用的功能,但不少功能的实现都离不开互换链接)时,则可能发生以下情况:

  1. 加载损坏的数据,该数据表明 A 链接到 B,但 B 不再链接到 A(节点 ID 损坏)。
  2. 删除掉节点 B:由于互换性发生违反,Antirez 和同事们不会清除从 A 到 B 的链接。
  3. 之后在扫描该 graph 时,一旦到达 B 时就会遇到 A:释放后重用……

因此在加载数据之后,Antirez 需要检查每个链接是否互换。在一般情况下,结果应该是 O(N^2),代表着对于每个节点,开发人员需要扫描所有层级、在每个层级上扫描该节点的全部邻居,再通过扫描该层级的链接来检查其是否同样链接至该节点。


“这显然不好。尽管如此,在验证自己思路的可行性过程中,Gemini 仍然发挥了重大作用。所以……我或许应该把它当成一位‘足够聪明的副手’看待,在讨论中逐步摸索出更好的答案。”

开发者:盲目自信的“AI 橡皮鸭”

“这与我的体验相符。实际上,我觉得大模型助手对我来说很大一部分价值在于,它像一个有一定智能的‘橡皮鸭’一样可以与我交流。

现在这个‘鸭子’偶尔还会提出异议,甚至有时还能帮我完善思路。”


小黄鸭调试(rubberducking)是一种通过用口头或书面自然语言清晰描述问题来调试代码的方法。

其名称来源于《程序员修炼之道》中的一个故事,故事中程序员会随身携带一只小黄鸭,强迫自己逐行向鸭子解释代码,以此来调试代码。

“我也有过类似的想法”有其他开发者赞同道,“在结对编程时,有一个 AI 橡皮鸭可以让你倾诉和交流想法会很棒(这样你就不会在同事面前显得很笨,也不会浪费他们的时间)。

”这个开发者做了一个支持自带 API key 的 VSCode 插件,它使用了 OpenAI 的实时 API,可以和一个橡皮鸭进行互动式语音对话。

可以看出,一些开发者已经可以把大模型当编程助手看待,但这个助手仍然让人“闹心”。

“这是一只极其自信的鸭子,其自信程度与它的能力完全不成比例。

我已经看到太多的人因为与它交谈而误入歧途。”开发者 marcosdumay 指出。

有人跟贴赞同道,“这正是我很快关掉 JetBrains AI 助手的原因:多行补全功能严重干扰了我的思路,尤其是当它提供看起来正确、实际错误的建议时。

为了判断这些建议是否正确而停下来分析,会彻底打断我的思路。”

还有开发者表示,大模型对其来说不是“橡皮鸭”,而是“错误答案”。

“我让大模型做一些简单但繁琐的事,它却错得离谱。然后我被气得不行,都有劲儿自己动手干了。”

如下是一些开发者对博客的评论:

在这里,码哥也分享一个同事使用 AI 学习 Redis 的经历。

张无剑居安思危,想系统化的学习 Redis 技术,提高自己的竞争力。网络上铺天盖地的宣传 ChatGPT 强大,就计划用 ChatGPT 来梭哈一把。

在询问之前,张无剑花了很多时间研究如何更好的给出提示语,因为没有好的提示语,ChatGPT 给出的答案可能有点智障。

张无剑再次绞尽脑汁想了一个提示语喂给 ChatGPT。


假如你是一个资深 Redis 7.0 技术培训老师,我是你的学生。我根据上文你列出的学习目标 “Redis 基础入门”,学习内容为“Redis 数据类型 List 底层实现原理和实战技巧” ,我的目标是掌握这些数据类型的底层实现原理和实战技巧,原理讲解要深入一些,我的目标是成为 Redis 高手。

张无剑内心嘀咕道:这也太简单了,看起来好像说明了底层原理,但就总觉得好像还不够深入,只能大概了解 Redis 的 List 数据类型,根本成不了 Redis 高手,花了这么多时间,就这???

不要过度依赖 AI

张无剑遇到的问题在于以下几点。

  1. 无图无真相,无法理解 List 底层有两种数据结构(Linkedlist、Ziplist)到底是啥样的。
  2. 无法理解为什么 List 要用两种数据结构(Linkedlist、Ziplist)保存数据。
  3. 语言生硬,也就是从我们说的 AI 味太冲,学习本就是件痛苦的事情,在这样的枯燥文字中还如何学得下去。
  4. 最大的问题在于不知 ChatGPT 的回复到底是不是对的。
  5. 还要花费大量时间来调教 ChatGPT 纠正错误,可本身自己是来学习的,如何做到纠正呢……

看到张无剑使用 ChatGPT 来学习 Redis,快急死了。因为 ChatGPT 回复的内容存在错误!再继续学习下去的话怕是容易走火入魔!

本文地址:https://www.yitenyun.com/254.html

搜索文章

Tags

数据库 API FastAPI Calcite 电商系统 MySQL Web 应用 异步数据库 数据同步 ACK 双主架构 循环复制 JumpServer SSL 堡垒机 跳板机 HTTPS TIME_WAIT 运维 负载均衡 HexHub Docker JumpServer安装 堡垒机安装 Linux安装JumpServer Deepseek 宝塔面板 Linux宝塔 生命周期 esxi esxi6 root密码不对 无法登录 web无法登录 服务器 管理口 序列 核心机制 HTTPS加密 Windows Windows server net3.5 .NET 安装出错 服务器性能 查看硬件 Linux查看硬件 Linux查看CPU Linux查看内存 宝塔面板打不开 宝塔面板无法访问 开源 PostgreSQL 存储引擎 Windows宝塔 Mysql重置密码 Oracle 处理机制 无法访问宝塔面板 InnoDB 数据库锁 连接控制 机制 监控 Spring Redis 异步化 Serverless 无服务器 语言 ES 协同 SQL 优化 万能公式 技术 Undo Log group by 索引 缓存方案 缓存架构 缓存穿透 分页查询 高可用 动态查询 机器学习 GreatSQL 连接数 工具 响应模型 查询 日志文件 MIXED 3 SVM Embedding scp Linux的scp怎么用 scp上传 scp下载 scp命令 R edis 线程 R2DBC 锁机制 数据 主库 Netstat Linux 服务器 端口 openHalo 加密 场景 Postgres OTel Iceberg 云原生 Linux 安全 RocketMQ 长轮询 配置 自定义序列化 存储 AI 助手 Recursive ​Redis 推荐模型 SQLite-Web SQLite 数据库管理工具 共享锁 SQLark Hash 字段 PG DBA 向量数据库 大模型 电商 系统 OB 单机版 Ftp 启动故障 国产数据库 架构 修改DNS Centos7如何修改DNS MySQL 9.3 • 索引 • 数据库 数据分类 防火墙 黑客 人工智能 推荐系统 流量 sftp 服务器 参数 磁盘架构 Python 线上 库存 预扣 redo log 重做日志 分库 分表 Rsync 同城 双活 信息化 智能运维 向量库 Milvus mini-redis INCR指令 MVCC 业务 不宕机 传统数据库 向量化 行业 趋势 Canal PostGIS 高效统计 今天这篇文章就跟大家 INSERT COMPACT 缓存 Redisson 锁芯 聚簇 非聚簇 网络架构 网络配置 Doris SeaTunnel prometheus Alert 数据备份 filelock 事务 Java 开发 ZODB 语句 Web 窗口 函数 虚拟服务器 虚拟机 内存 MongoDB 数据结构 RDB AOF 读写 引擎 性能 数据脱敏 加密算法 容器 失效 OAuth2 Token 核心架构 订阅机制 Go 数据库迁移 数据类型 频繁 Codis B+Tree ID 字段 模型 Redis 8.0 IT运维 分布式 集中式 崖山 新版本 发件箱模式 自动重启 容器化 网络故障 DBMS 管理系统 聚簇索引 非聚簇索引 播客 SpringAI SSH 微软 SQL Server AI功能 QPS 高并发 JOIN Entity 数据页 MCP 开放协议 Web 接口 原子性 数据集成工具 部署 Pottery 工具链 排行榜 排序 Testcloud 云端自动化 速度 服务器中毒 网络 StarRocks 数据仓库 Redka 分页方案 排版 大表 业务场景 池化技术 连接池 Caffeine CP 事务隔离 分布式架构 分布式锁​ dbt 数据转换工具 1 悲观锁 乐观锁 主从复制 代理 日志 sqlmock LRU 优化器 EasyExcel MySQL8 单点故障 AIOPS 分页 Order 意向锁 记录锁 仪表盘 事务同步 数据字典 兼容性 InfluxDB 对象 UUIDv7 主键 RAG HelixDB Ansible ReadView 订单 Crash 代码 单线程 UUID ID 双引擎 IT 字典 LLM Valkey Valkey8.0 恢复数据 Weaviate 产业链 编程 分布式锁 Zookeeper MGR 分布式集群 线程安全 千万级 Pump List 类型 关系数据库 拦截器 动态代理 Next-Key 表空间 解锁 调优 慢SQL优化 快照读 当前读 视图 矢量存储 数据库类型 AI代理 国产 用户 RR 互联网 GitHub Git 查询规划 算法 神经系统 count(*) count(主键) 行数 技巧 CAS 并发控制 恢复机制 多线程 闪回