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

第一次学 Neo4j,我终于明白 Agent 为什么不只用 MySQL

大家好,我是大煊。

我以前对数据库的理解很朴素:业务数据放 MySQL,热点数据放 Redis,搜索复杂一点再上 Elasticsearch。

所以我第一次在一个 AI 客服项目里看到 Neo4j 时,第一反应不是兴奋,而是疑惑:

一个电商客服系统,为什么还要搞图数据库?

我的数据库世界,只有“表”

做 Java 后端时,我最熟的就是表。

用户表、订单表、商品表、权限表、日志表。

这些数据最大的特点是:结构固定

比如订单表关心的是:

字段含义
order_id订单号
user_id用户
status状态
price金额

这种数据 MySQL 非常擅长。

事务、一致性、索引、SQL 查询,都很稳。

所以过去很多年,我几乎没想过一个问题:

已经有 MySQL 了,为什么还需要别的数据库?

AI Agent 遇到的问题开始变了

学习 AI Agent 以后,我发现它要回答的问题,和传统 CRUD 不太一样。

传统系统更常见的问题是:

订单 1001 发货了吗?

用户 41 有没有售后单?

这类问题,本质是在查一条记录。

但 AI 客服还会遇到另一类问题:

有没有 256G 的手机?

70 多寸的电视有哪些?

非有机的大米有哪些品牌?

这些问题表面是在聊天,底层其实是在问:

数据之间是怎么连起来的。

手机是分类。

小米 12S Ultra 是 SPU。

8GB+256GB 某个颜色是 SKU。

256G、颜色、屏幕尺寸是属性。

品牌、分类、属性、商品之间,全是关系。

MySQL 能存关系,为什么还要 Neo4j?

这是我一开始最疑惑的地方。

MySQL 当然能存关系。

商品表、品牌表、分类表、中间表,一样可以建。

甚至你愿意写 SQL,也能一路 Join 出结果。

但问题是,关系一多,查询会越来越绕。

在这个项目的 Neo4j 里,我看到的电商图谱大概是这样的:

节点含义示例数据
Category1/2/3一级、二级、三级分类电脑办公 / 电脑整机 / 笔记本
Trademark品牌Redmi
SPU标准商品小米 12S Ultra
SKU具体规格商品小米 12S Ultra 8GB+128GB
Attr商品属性256G、蓝色、70 英寸
User用户user_id=41

关系主要有三种:

关系白话解释
Belong属于
Have拥有
View浏览过

一条商品链路大概是:

SKU -> SPU -> 三级分类 -> 二级分类 -> 一级分类

再补两条:

SPU -> 品牌 SKU -> 属性 User -> 浏览过的 SKU

这就不是单纯“查表”了。

它更像把一张商品 ER 图,变成了可以直接查询的数据库。

AI 为什么越来越喜欢图数据库?

因为 AI 问题里,经常不只需要“相似文本”,还需要“关系路径”。

普通 RAG 更像:

文档切片 -> 找相似内容 -> 交给大模型回答

它适合问:

退货政策是什么?

因为退货政策通常就是一段文档。

但如果用户问:

有没有 256G 的手机?

这时更像是在走一条路径:

手机分类 -> 某款手机 -> 具体 SKU -> 256G 属性

如果用户问:

我之前看过的商品里,有哪些是小米品牌?

那又要走:

用户 -> 浏览过的 SKU -> SPU -> 品牌

这就是 Neo4j 的价值。

它让 AI 客服不只是“找相似文档”,还可以“沿着关系找答案”。

所以 MySQL 过时了吗?

当然不是。

我现在的理解是:它们解决的问题不一样。

问题更适合谁
查订单状态MySQL
查物流、售后MySQL
查退货政策、FAQ普通 RAG
查商品分类、品牌、属性关系Neo4j

如果用户问“订单有没有发货”,交给 MySQL。

如果用户问“退货政策是什么”,交给文档 RAG。

如果用户问“有没有某个属性的商品”,Neo4j 就更自然。

所以不是 AI 项目非要堆数据库。

而是 AI Agent 遇到的问题,已经从“查一条记录”,变成了“理解一句话,然后在一堆关系里找答案”。

我最大的收获

以前做 Java 后端,我更多思考的是:

数据应该放哪张表?

现在看 AI Agent 项目,我开始多问一个问题:

这些数据之间有什么关系?

这是我第一次真正理解 Neo4j 的地方。

它不是为了显得架构复杂。

它是在 MySQL 之外,多了一层“关系记忆”。

可以把它想成一张可以被程序查询的业务关系图。

MySQL 解决“记录是什么”。

Neo4j 解决“它和谁有关”。

这个边界一清楚,AI 客服为什么不只用 MySQL,就好理解多了。

http://www.jsqmd.com/news/1105879/

相关文章:

  • Skill安全系列之Skill基础
  • leecodecode【面试150】【2026.6.26-7.1打卡-java版本】
  • 前端转大模型:页面开发到 AI 产品工程师,从方案设计到上线检查
  • 遗传算法实操调参与收敛性诊断实战指南
  • 卡梅德生物技术快报|酒酿酵母过表达工程化开发:tRNA 翻译调控抗逆菌株全流程量化方案
  • 絮絮叨叨一点工作的东西
  • 通达信缠论自动化分析:3步实现智能K线识别与交易信号生成
  • 2x2键盘+PIC32MZ实现多功能控制的嵌入式方案
  • CSDN Markdown编辑器使用指南
  • iSpaRo 2025|月球基地布线,机器人“胳膊不够长”怎么办?
  • about my Grade 7 students [2026.07.01]
  • RK3568平台开发系列讲解(调试篇)静态分析 C 程序函数调用关系图
  • 直播缺主播、成本高?启智数字人直播,济南商户低成本长效获客
  • AI 辅助:设计模式在生产中的边界:策略模式不是消灭 if else
  • PyPDF2与pdfplumber:PDF文件处理
  • 【极简监控专栏·番外随笔】零收益、挂考试,我为什么还要耗时一年建起这座“技术高塔”?
  • AOSP 13 分屏源码分析
  • 国内洗发水OEM/控油去屑洗发水代工/草本洗发水代工哪个源头厂家好?
  • # 03. 让 Agent 更聪明:System Prompt 的分层设计
  • 《传世无双》2026年7月最新官网下载:新手全阶段副本挑战指南
  • AI率爆表怎么办?10款AI智能降重工具实测(含免费降ai率工具)真实避坑指南
  • 深圳钣金外壳定制厂家产品优势
  • 从“能跑“到“能打“:我把Shell脚本踩过的坑,攒成了这篇避坑指南
  • AI工程化中Harness性能优化实战与调优方法论
  • LangChain 调用 Qwen 与 Ollama 的环境变量笔记
  • 从0到1:企业级AI项目迭代日记 Vol.58|一个工单解决的事,不值得等一个发版周期
  • JWT与Session+Cookie认证方案选型实战指南
  • 等保测评核心:高危漏洞、高危端口与弱口令的实战防护指南
  • 编程学习工程化:让服务解释编译错误而不是代写答案
  • 无法使用dbeaver、navicat连接opengauss