一只阿木木

我是如何用 AI 学会一门新技术的?完整案例

我是如何用 AI 学会一门新技术的?完整案例

你好,我是一只阿木木,一名后端程序员。


先说一个真实的事

上个月,我需要在项目里接入 Elasticsearch。

问题是:我从来没用过 ES。

以前遇到这种情况,我的学习路径是这样的:

text

找教程 → 从头看视频 → 边看边敲 → 中间卡住 → 搜博客 → 又卡住 → 继续搜 → 一周过去了 → 勉强能用

这次我换了个方法:全程用 AI 辅助学习。

结果:

3 天上手,第 4 天代码上线。

今天把这个过程完整分享出来。

不是教你 ES,是拆解「用 AI 学新技术」这件事本身。


一、我的核心理念

先说一个反常识的观点:

AI 时代,学技术的方式变了。

以前:先系统学习 → 再动手实践 → 遇到问题查资料

现在:先明确目标 → 让 AI 给路径 → 边做边学 → 用 AI 填坑

从「学完再用」变成「用中去学」。

我把这套方法叫:「目标驱动 + AI 辅助」学习法。


二、完整过程拆解

Day 0:明确目标(10 分钟)

在开始学之前,我先问自己三个问题:

text

Q1:我要用 ES 做什么?
→ 商品搜索,支持中文分词和模糊匹配

Q2:做到什么程度算「学会」?
→ 能完成需求上线,不是成为 ES 专家

Q3:我有多少时间?
→ 3-4 天

这一步很重要。

大多数人学新技术的问题是:没有目标,漫无边际地学,最后啥都学了点,啥都不会用。

目标越具体,学习越高效。


Day 1:让 AI 给我学习路径(1 小时)

我没有去找教程,而是直接问 Claude:

text

我是一名 Java 后端程序员,从来没用过 Elasticsearch。

现在需要实现一个商品搜索功能:
- 支持中文分词
- 支持模糊匹配
- 数据量约 10 万条

我有 3 天时间,请帮我:
1. 规划一个最短学习路径
2. 只告诉我「必须知道」的核心概念
3. 推荐最快的上手方式

AI 给了我这样的回复(简化版):

text

## 3 天学习路径

Day 1:跑通最小闭环
- 用 Docker 启动 ES
- 学会 3 个核心概念:Index、Document、Mapping
- 完成一次写入和查询

Day 2:实现核心功能
- 学中文分词(用 IK 分词器)
- 学 match 和 bool 查询
- 用 Spring Data Elasticsearch 集成

Day 3:调试和优化
- 解决实际遇到的问题
- 简单了解性能优化

## 你只需要知道这些概念

1. Index = 数据库的表
2. Document = 表里的一行
3. Mapping = 表结构定义
4. 分词器 = 把句子切成词
5. Query DSL = ES 的查询语法

## 最快上手方式

不要看视频,直接动手:
1. docker-compose 一键启动
2. 用 Kibana 可视化操作
3. 把官方 Quick Start 跑一遍

这比我自己去搜"ES 入门教程"高效 10 倍。

因为 AI 是根据我的具体情况定制的路径,不是通用教程。


Day 1 下午:跑通最小闭环(3 小时)

拿到路径后,我开始动手。

第一步:启动环境

我直接让 AI 给我 docker-compose 文件:

text

给我一个 docker-compose,启动 ES 8.x + Kibana,
带 IK 中文分词器,开发环境用,越简单越好

AI 给了配置,复制,docker-compose up,5 分钟搞定。

第二步:理解核心概念

遇到不懂的概念,我这样问:

text

用一句话解释 ES 的 Mapping,像给非程序员解释一样

AI 回答:

Mapping 就是告诉 ES:这个字段是什么类型,要不要分词,怎么分。
类似于 MySQL 建表时定义字段类型。

这种「一句话解释」,比看文档快太多了。

第三步:完成第一次写入和查询

我直接说:

text

给我一个最简单的例子:
用 Kibana 创建一个商品索引,写入 3 条数据,然后搜索"手机"

AI 给了完整的命令,我复制粘贴,跑通了。

Day 1 结束时,我已经能在 Kibana 里增删改查了。


Day 2:实现核心功能(4 小时)

第二天的目标:用 Java 代码实现搜索功能。

早上:让 AI 给完整 Demo

text

我用 Spring Boot 3 + Spring Data Elasticsearch,
实现商品搜索功能:
- 商品有 name、description、price 字段
- 搜索要支持中文模糊匹配
- 给我完整的代码,包括实体类、Repository、Service

AI 给了完整代码。

但我没有直接复制,而是做了一件事:

一边看代码,一边问「为什么」。

text

这段代码里,@Field(type = FieldType.Text, analyzer = "ik_max_word")
这个 analyzer 是什么意思?ik_max_word 和 ik_smart 有什么区别?

AI 解释清楚了,我在笔记里记下来:

Markdown

## IK 分词器

- ik_max_word:最细粒度分词,搜索时用
- ik_smart:智能分词,粗粒度

示例:"中华人民共和国"
- ik_max_word → 中华人民共和国、中华人民、中华、人民共和国、人民、共和国...
- ik_smart → 中华人民共和国

这就是「用 AI 学习」的精髓:不只是拿代码,而是拿代码 + 理解。

下午:遇到问题,让 AI 排查

代码跑起来了,但搜索结果不对。

我直接把报错和现象丢给 AI:

text

我的 ES 查询代码是这样的:[贴代码]
期望搜"苹果手机"能匹配到"Apple iPhone"
实际结果是空的

帮我分析原因,并给出解决方案

AI 告诉我:

问题在于你的 Mapping 用了 keyword 类型,不会分词。
应该用 text 类型 + ik_max_word 分词器。
另外建议用 multi_match 查询,同时搜索 name 和 description。

改完,问题解决。

这个问题如果我自己搜,可能要折腾 2 小时。用 AI,15 分钟。


Day 3:收尾 + 沉淀(2 小时)

第三天,功能基本完成了。

我做了两件事:

1. 让 AI 帮我 Review 代码

text

帮我 review 这段 ES 查询代码,从性能和最佳实践角度,
给出改进建议

AI 指出了几个问题:

  • • 分页用 from+size 在深分页时性能差
  • • 没有设置超时时间
  • • 建议加上 highlight 高亮

我根据建议改了代码。

2. 把学到的东西沉淀成笔记

不是写流水账,而是用我之前分享的「常青结论」方法:

Markdown

## ES 搜索功能 - 常青结论

### Q1:ES 解决什么问题?
传统数据库的 LIKE 查询太慢,ES 用倒排索引实现高效全文检索。

### Q2:核心概念?
- Index = 表
- Document = 行
- Mapping = 表结构(字段类型 + 分词方式)
- 分词器 = 把句子切成词
- Query DSL = 查询语法

### Q3:中文搜索怎么做?
1. 安装 IK 分词器
2. Mapping 里指定 analyzer = ik_max_word
3. 查询用 match 或 multi_match

### 踩过的坑
- 字段类型用错 keyword,导致不分词
- from+size 深分页性能差,大数据量用 search_after

这份笔记,下次再遇到 ES 问题,10 秒就能回忆起来。


三、核心方法总结

用 AI 学新技术,我的方法总结成四步:

text

┌─────────────────────────────────────────────┐
│                                             │
│    1. 明确目标                              │
│       → 要做什么?做到什么程度?多少时间?   │
│                                             │
│    2. 让 AI 定制路径                         │
│       → 最短路径是什么?核心概念有哪些?     │
│                                             │
│    3. 边做边问                              │
│       → 拿代码 + 问为什么 + 遇坑就问        │
│                                             │
│    4. 沉淀常青结论                          │
│       → 记下来的不是步骤,是理解            │
│                                             │
└─────────────────────────────────────────────┘

关键心法:

text

不要把 AI 当搜索引擎 → 要把它当私教

不是问"ES 怎么用" → 而是问"我要做 XX,怎么最快实现"

不是只拿代码 → 而是拿代码 + 追问原理

不是学完就忘 → 而是沉淀成自己的常青笔记


四、你可能会问

Q:这样学会不会基础不牢?

说实话,确实不如系统学习那么「全面」。

但我的目标不是成为 ES 专家,而是「完成项目需求」。

先完成,再完美。后面有空再系统补。

Q:AI 给的代码能信吗?

不能无脑信。但可以让它解释每一行代码,看懂了再用。

AI 是辅助,不是替代你思考。

Q:遇到 AI 答不对怎么办?

会遇到的。我的做法是:

  1. 1. 换一种问法,给更多上下文
  2. 2. 让它给多个方案,自己判断
  3. 3. 实在不行,再去搜官方文档

五、对比一下

同样是学 ES,两种方式对比:

传统方式
AI 辅助方式
时间
1-2 周
3-4 天
路径
按教程顺序学
按需求定制路径
卡点
搜博客、翻文档
直接问 AI
结果
学了很多,用不上
学得少,但够用
留存
忘得快
有笔记,能复用

效率差了至少 3 倍。


最后

总结一下,用 AI 学新技术的核心就三点:

  1. 1. 目标驱动:先想清楚要做什么,再开始学
  2. 2. AI 做私教:定制路径、解答问题、Review 代码
  3. 3. 沉淀常青:学完不是结束,记下来才是

这套方法我现在学任何新东西都在用。

不只是技术,学一个新工具、学一个新领域,都可以这样。

如果这篇对你有帮助:

  • • 收藏:下次学新技术时试试
  • • 转发:分享给同样在学习的朋友
  • • 评论:你用 AI 学过什么?效果怎么样?

我是一只阿木木,我们下篇文章见。 👋


💬 互动话题

你最近在学什么新技术?

试过用 AI 辅助学习吗?效果怎么样?

评论区聊聊 👇