跳转到内容

碎碎念:机器学习方向

全文约 7,000 字 · 预计阅读 20–25 分钟

建议第一次先完整读一遍,不用在公式和模型细节上停太久。先建立一张关于机器学习和 AI 的整体地图,之后真正开始学习时,再回来逐节看。

相信大家在进入大学前,对 AI 时代的超高年薪已经有所耳闻,也可能因此对这个领域抱有很多期待和想法。这篇文章只想讲清楚几件事: 机器学习到底是什么,这个领域现在在做什么,以及如果你决定走进来,接下来几年大概会经历什么。 文章有点长,但我相信,读完之后,你对机器学习和 AI 的整体理解,会比大多数刚进入大学的同龄人清楚很多。


高中你学过一次函数:

y=kx+by = kx + b

现在给你几个点,比如 (1,3)(1,3)(2,5)(2,5)(3,7)(3,7),让你把 kkbb 算出来。你会算,答案是:

k=2,b=1k=2,\quad b=1

你可以把这件事理解成一个最小规模的机器学习问题。在这里,xx 是输入,yy 是输出,kkbb 是参数,那几个点是数据,把 kkbb 找出来的过程就叫训练。整个机器学习,本质上都可以先从这件事情的放大版来理解。我们把它写成一个更通用的形式:

y=f(x)y=f(x)

给模型一个输入 xx,希望得到一个符合预期的输出 yy。中间这个 ff,就是我们要找的东西。

现在把 xx 换成一张照片,把 yy 换成:

照片里是猫还是狗?

那么这个 ff 长什么样?没有人写得出来。你没有办法用几十行公式准确描述:

什么样的像素排列算是一只猫?

事实上,人类自己也很难说清楚。你看到一只猫之后可以立刻认出来,但让你写一套完整规则,把所有猫和所有狗区分开,就很困难。机器学习的做法很直接。既然我们写不出这个 ff,那就先规定 ff 大致长什么样,在里面留下一大堆可以调节的参数,然后拿大量数据把这些参数调出来。一次函数只有两个参数。一个简单的手写数字识别模型可能有几十万个参数。

今天的大语言模型则可能拥有几十亿、几百亿,甚至更多参数。数量差得非常远,但最基础的思想是一样的:

先设计一个可以调整的函数,再用数据把里面的参数学出来。

要调参数,首先得知道模型现在表现得好不好。一种最简单的办法,是把模型预测出来的结果和真实答案做比较。比如:

L=(f(x1)y1)2+(f(x2)y2)2++(f(xn)yn)2L=(f(x_1)-y_1)^2+(f(x_2)-y_2)^2+\cdots+(f(x_n)-y_n)^2

这个 LL 叫做损失(Loss)LL 越小,说明模型在这些数据上的预测越接近真实答案。因此,训练模型最基本的目标就是:

找到一组参数,让损失尽可能小。

如果模型只有两个参数,我们可以直接解方程。但如果模型里面有几十亿甚至几千亿个参数,我们已经不可能靠手算找到答案。实际使用的方法,可以想象成这样:你站在一座山上,周围全是浓雾,看不见山谷在哪里。你唯一能做的事情,是感受一下脚下哪个方向下降得最快,然后朝那个方向迈一小步。站稳以后,再判断一次。再迈一步。不断重复。走得足够久,你大概率就会走到一个比较低的位置。

训练神经网络也是类似的过程。每走一步,就是把模型里面大量参数朝着“让损失下降”的方向调整一点点。这个基本方法叫做梯度下降(Gradient Descent)。今天绝大多数神经网络的训练,都离不开这个思想。

训练模型时,把手上的训练数据全部答对,只完成了一部分目标。模型还要做到:

模型看到一张从来没有见过的照片时,还能不能判断它是猫还是狗?

这个能力叫做泛化(Generalization)。如果一个模型只是把训练数据全部背了下来,遇到新的数据就不会做,那这个模型没有太大意义。以后你学到的很多概念,例如:

  • 过拟合
  • 正则化
  • 数据增强
  • 预训练
  • 模型规模
  • 数据规模

最后都会和泛化产生关系。机器学习研究中大量的问题,本质上都在追问:

为什么一个模型只看过有限的数据,却能够处理没有见过的新问题?

到这里,机器学习最基本的几个要素就齐了:

  • 数据
  • 模型架构
  • 训练目标
  • 优化方法

如果现在只想先建立最基础的直觉,可以重点记住前两个。 数据决定模型能够从什么经验里学习。 数据越多、质量越高、越贴近真正想解决的问题,模型通常就越有机会学到我们需要的能力。过去十几年里,AI 能力的多次明显提升,都离不开数据规模和数据质量的进步。 架构决定模型以什么方式处理和表示信息。 同样的数据,交给不同形状的 ff 去学习,最终效果可能完全不同。

过去几十年的机器学习发展史,很大程度上也是一部:

人们不断设计更合适的 ff 的历史

下面就讲这段历史。它也差不多是你进入工作室之后,要亲自走一遍的路。


这一部分不追求严格的数学定义。目标只有一个:

让你看到一个名字的时候,脑子里面能大概知道它的来历,以及它解决了什么问题。

你可以先用一个非常简单的视角理解这段历史:

新的模型架构,往往是为了处理旧方法在某类问题上的明显限制。

这些模型之间往往是共存和补充的关系。今天的神经网络里,MLP、卷积、注意力等结构依然同时存在。

最朴素的神经网络,可以从这样一件事情理解。把输入的一堆数字分别乘上不同的权重,再加起来,得到新的数字。如果并排做很多次,就得到了一层。然后把这一层的输出继续送进下一层。一层接一层堆起来,就形成了一个神经网络。但这里有一个问题。如果每一层都只是做线性变换,例如:

y=ax+by=ax+b

那么堆一百层和堆一层,本质上没有区别。因为线性函数套很多次之后,最终仍然是一个线性函数。所以我们会在每一层之间加入一个非线性操作。比如非常经典的 ReLU:

ReLU(x)=max(0,x)\operatorname{ReLU}(x)=\max(0,x)

简单来说:

正数保留,负数变成 0。

虽然这个操作看起来极其简单,但有了非线性之后,多层神经网络才能表示非常复杂的函数。MLP 是现代神经网络最基础的结构之一。哪怕到了 Transformer 时代,每一个 Transformer Block 里面也仍然存在 MLP。你进入工作室之后要做的第一件事情,就是自己从头实现一个简单的神经网络,或许你可以用它来识别数字,当然,或许你也可以使用接下来的CNN对数字进行分类识别。

一张 224×224224\times224 的彩色图片,大约包含十五万个数字。如果直接把所有像素全部连接到一个巨大的 MLP 上,参数量会迅速膨胀。更重要的是,这种模型没有充分利用图像本身一个很明显的特点:

相邻像素之间通常存在很强的关系。

于是,卷积神经网络出现了。卷积的基本做法,可以想象成拿着一个 3×33\times3 的小窗口,在整张图片上一格一格地滑动。每到一个位置,就对附近的像素做一次计算。最关键的一点是:

同一个窗口的参数会在整张图片上重复使用。

这样做有两个很明显的好处。第一,参数量大幅减少。第二,同一个模式无论出现在图片左上角还是右下角,都可以被同一套参数识别。例如某个卷积核学会了识别边缘,那么这个边缘出现在图片哪里,它都可以检测到。CNN 曾经统治计算机视觉领域接近十年,并推动了现代深度学习第一次大规模爆发。你也会亲手用 CNN 做一次图像分类。

下面有一个小玩具,来尝试一下MLP/CNN的有趣之处吧~

图像通常可以整理成固定大小的输入,但语言不一样。一句话可能只有几个词,也可能有几百个词。而且词的顺序非常重要。例如:

狗咬人

和:

人咬狗

用到的字差不多,但意思完全不同。RNN 的基本想法是:

一个词一个词地读。

每读进来一个词,模型就更新一次自己的“状态”。这个状态记录了模型目前为止看到的信息,然后继续向后传递。于是模型读到后面的词时,理论上仍然可以知道前面发生了什么。这个思路非常自然,但也有明显的问题。第一个问题是长距离信息很难保存。一句话非常长的时候,前面的信息经过很多次更新以后,很容易逐渐变弱。第二个问题是难以并行计算。第二个词的状态依赖第一个词。

第三个词又依赖第二个词。于是很多计算必须按照顺序一个接一个完成。在数据量越来越大的情况下,这会严重影响训练效率。你会用 RNN 做一次情感分析,例如判断:

一条电影评论究竟是好评还是差评。

做完之后,你会更直观地理解这种架构的特点和限制。

2017 年,Transformer 被提出。今天这一轮生成式 AI 浪潮,几乎都建立在这套架构之上。Transformer 最核心的思想之一叫做:

注意力(Attention)。

处理一个词的时候,模型可以直接查看序列中的其他位置,并判断:

当前这个词应该重点关注哪些信息?

举个非常简单的例子:

小明把书放在桌子上,因为它很重。

这里的“它”到底指“书”还是“桌子”?模型需要结合上下文判断。在 RNN 里面,前面的信息需要沿着序列一步一步传递过来。而在 Transformer 中,一个位置可以通过注意力机制直接和其他位置建立联系。这使模型处理长距离关系的方式发生了明显变化。Transformer 还有另一个非常重要的优势:

训练时,同一序列中的多个位置可以进行大规模并行计算。

这件事情听起来没有“智能”那么酷,但工程意义极大。因为现代 AI 的核心资源是 GPU。一个架构如果能够充分利用 GPU 并行计算,就意味着:

  • 可以训练更大的模型
  • 可以使用更多的数据
  • 可以进行更长时间的训练

模型规模和数据规模因此被真正推了上去。你现在使用的 ChatGPT、Claude、豆包,以及绝大多数现代大语言模型,底层都和 Transformer 有密切关系。亲手实现一次 Transformer,是你这个月最后、也是最重要的任务之一。

有了能够扩展到很大规模的模型架构之后,一个非常朴素的想法开始展现出惊人的效果:

拿互联网上的大量文本训练模型,让它不断预测下一个 token。

比如:

中国的首都是____

模型需要预测:

北京

再比如:

1 + 1 = ____

模型需要预测:

2

训练数据中的一句话本身就可以提供训练目标,因此不需要人类为每一条数据手工标注答案。这让模型能够利用规模极其庞大的文本数据。而当模型不断尝试把“下一个词”预测准确时,它会逐渐学习:

  • 语言
  • 语法
  • 世界知识
  • 代码
  • 数学
  • 某些形式的推理能力

这就是预训练(Pre-Training)。BERT 是同一时期非常重要的另一条路线。它采用的训练方式有所不同。例如:

北京是中国的 [MASK]。

模型需要把被遮住的词补出来。这种训练方式曾经极大推动了自然语言理解的发展。你也需要读懂 BERT,因为它可以帮助你真正理解一件事情:

“预训练”本身就是机器学习历史上一个极其重要的思想。


先给结论。 入门阶段需要的数学不算多,普通应用涉及的数学通常也不深;到了真正前沿的研究,数学要求会明显提高。 更直接一点:

本科刚入门的时候,数学通常不会成为你的主要瓶颈。

大胆去做,先把困难留到真正遇见时再解决。入门阶段真正重要的是建立直觉。看到一个模型设计时,你应该不断问:

为什么这里要这样做?

换一种做法会发生什么?

有没有更简单的方法?

如果回答不出来,就去查资料,去问 AI,去看代码,去做实验。现在这个时代学习机器学习其实非常幸运。以前一个公式看不懂,可能需要翻几本书、找很多资料。现在你完全可以把推导交给 AI,让它一步一步解释。哪一步看不懂,就继续追问哪一步。但是有一点非常重要:

AI 能把一个东西讲到“你感觉自己听懂了”,并不代表你真的掌握了。

真正判断自己懂没懂的方法,是关掉 AI 之后,看自己能不能重新解释一遍。最好还能进一步做到:

  • 自己把关键公式写出来
  • 自己把代码实现出来
  • 自己把实验跑出来
  • 实验结果不对的时候,知道应该从哪里排查

比较有效的学习过程通常是:

看概念 → 追问原因 → 自己重新解释 → 写代码 → 看实验现象 → 再回来理解公式

真正需要大量使用数学,一般是在你开始深入研究某些问题之后。比如你以后可能会接触:

  • 线性代数
  • 概率论
  • 信息论
  • 优化
  • 随机过程
  • 数值计算

不同研究方向需要的数学也完全不同。所以现在数学不好,不值得焦虑。边做边补。遇到什么问题,就补对应的数学。很多时候,这比大一一开始就抱着三本数学教材从第一页往后啃效率高得多。


Q2:现在 AI 到底在往哪几个方向走?

Section titled “Q2:现在 AI 到底在往哪几个方向走?”

机器学习今天已经是一个非常大的领域。计算机视觉、自然语言处理、生成模型、推荐系统、语音、强化学习、AI for Science、机器人、机器学习系统等,都属于其中的一部分。为了让你先建立一张简单的地图,这里只讲目前最受关注、也和工作室后续学习关系比较大的几条主线。

今天很多 AI 系统的核心,已经从过去针对单个任务训练一个模型,逐渐发展成:

先训练一个能力很强的基础模型,再让它适应大量不同任务。

最典型的就是大语言模型。如果按照训练流程来看,一个现代大模型大致会经历几个阶段。

预训练阶段会使用规模巨大的数据,让模型完成类似:

根据前面的内容预测下一个 token

这样的任务。这一步训练成本最高。大型模型的预训练可能消耗极其庞大的 GPU 计算资源和资金。预训练得到的,是模型最基础的:

  • 语言能力
  • 世界知识
  • 代码能力
  • 推理基础
  • 通用表示能力

可以把它理解成模型的“底子”。

预训练之后,还可能继续使用更加高质量、更加有针对性的数据训练模型。例如:

  • 数学
  • 代码
  • 长上下文
  • 特定领域知识

目标是进一步强化某些能力。这一阶段通常被称为 Mid-Training。

预训练得到的模型虽然已经很强,但它还不一定“好用”。比如你问一个问题,它可能只会机械续写,而不知道应该按照什么格式回答,也不知道什么时候应该拒绝、什么时候应该调用工具。所以还需要进行后训练。常见的方法包括两类。 监督微调(SFT) 给模型大量这样的数据:

用户这样问 → 一个优秀的助手应该这样回答

然后让模型模仿这些答案。这种方法简单直接、效果稳定。模型能够达到什么水平,很大程度上取决于训练数据本身的质量。 强化学习(RL) 让模型自己尝试生成答案。如果答案好,就给予更高的奖励。如果答案差,就给予更低的奖励。模型通过大量尝试,逐渐学会哪些行为能够获得更高奖励。近年来,大语言模型在数学、代码、推理等能力上的明显进步,很大一部分研究工作都集中在这一阶段。

这也是目前最热门的研究方向之一。

当基础模型拥有足够强的语言和推理能力之后,人们开始尝试让模型从回答问题走向直接完成任务,于是有了 Agent。Agent 可以让模型拥有更多行动能力,例如:

  • 搜索网页
  • 调用 API
  • 执行代码
  • 读写文件
  • 操作软件
  • 使用数据库
  • 调用其他模型

它还可以把一个复杂任务拆成很多步骤,执行一步,观察结果,再决定下一步做什么。你们可能已经听说过 Claude Code、Codex 等产品。这些都和 Agent 这条路线密切相关。

Transformer 的影响也早就超出了文字。今天的大模型可以同时处理:

  • 文字
  • 图片
  • 视频
  • 音频

模型开始逐渐拥有统一理解不同模态信息的能力。同时,生成模型也在快速发展。现在模型已经可以生成:

  • 图片
  • 视频
  • 3D 场景
  • 音频

今天所谓的“基础模型”,范围已经扩展到大语言模型之外。很多研究正在尝试让一个模型同时理解和生成不同模态的信息。


如果说大语言模型主要生活在电脑里面,那么具身智能研究的是:

怎样让 AI 真正进入物理世界。

最典型的载体就是机器人。目标是让模型控制一个真实的身体,在现实世界中完成任务。例如:

把桌子上的杯子拿起来。

把衣服叠好。

从冰箱里拿一瓶水。

听起来很简单,但对机器人来说非常困难。机器人首先要看懂环境。然后理解人的指令。接着判断应该做什么。最后还要真正控制机械臂和身体完成动作。其中最大的困难之一,就是数据。互联网天然积累了海量的文字、图片和视频。但高质量的机器人动作数据非常稀缺。而且机器人数据采集成本非常高。因为一条训练数据往往意味着:

一台真实机器人真的在现实世界里面执行了一次动作。

所以这个方向发展出了很多获取数据的方法。

让人直接控制机器人完成任务。机器人把整个过程中:

  • 摄像头看到的画面
  • 机械臂的位置
  • 关节运动
  • 操作结果

全部记录下来。这些数据可以直接用于训练模型。优点是数据质量高。缺点也很明显:

贵,而且慢。

在虚拟世界里面创建机器人和环境。机器人可以在里面进行数百万甚至更多次尝试。这样采集数据会便宜很多。但又会出现一个新的问题:

虚拟世界终究和真实世界不完全一样。

模型在模拟器里面学会的动作,放到现实机器人上以后,不一定还能正常工作。这叫做 Sim-to-Real 问题。

互联网上存在海量人类做事情的视频。比如:

  • 做饭
  • 修东西
  • 打扫卫生
  • 操作工具

如果模型能够从这些视频里面学到:

人类到底是怎样和物理世界交互的?

那么机器人可能就不再完全依赖昂贵的机器人数据。怎样把普通人类视频真正转化成机器人可以利用的知识,目前仍然是一个很重要的开放问题。模型方面,现在一个重要方向是把:

视觉 + 语言 + 动作

放进同一个模型里面。输入可以是:

摄像头画面 + 一句话指令

输出则直接告诉机器人:

下一步应该怎样运动。

这类模型通常会被称为 VLA:

Vision-Language-Action Model。

语言模型正在从“会说话”,逐渐向“能够行动”发展。


Q3:这条路怎么走,以及能走到哪里?

Section titled “Q3:这条路怎么走,以及能走到哪里?”

如果你决定认真做 AI,那么读研几乎是绝大多数人的标准路线。原因很简单。今天真正有技术壁垒的 AI 工作,尤其是算法、模型和研究岗位,通常都要求非常系统的训练。本科四年的时间,对于真正理解一个方向、完成科研训练、做出有质量的工作来说,其实非常短。如果你以后想进入前沿 AI 研究,那么博士就非常常见了。一条比较典型的路线,大概是这样。

先建立最基础的认识。这个阶段你要完成的事情包括:

  • 把 Linux 和开发环境配置好
  • 学会 Python
  • 学会 PyTorch
  • 学会使用 GPU
  • 把基本代码跑通
  • 理解机器学习的基本概念
  • 亲手实现几个经典模型

比如:

  • MLP
  • CNN
  • RNN
  • Transformer

这一阶段最重要的目标是:

建立直觉和基本能力。

这一阶段可以先放下发论文的压力。你现在最缺的东西不是论文,而是判断一个问题到底在干什么的能力。

如果你发现自己确实喜欢这个方向,就可以开始提前进入实验室做科研。这一步非常关键。你会第一次发现:

上课和科研其实是两件完全不同的事情。

上课的问题通常已经有答案。科研的问题往往连答案是否存在都不知道。最开始可以从:

  • 阅读论文
  • 复现代码
  • 跑实验
  • 整理数据
  • 做 baseline

开始。慢慢理解:

一篇真正的研究论文到底是怎么做出来的?

这也是工作室存在的一个重要意义。工作室的学长学姐会分享自己的科研经历、套磁经验、实验经验和踩过的坑,帮助大家更快进入科研状态。如果条件合适,也可能有机会获得清北 Top 实验室的科研实习和内推。工作室里已经有不少非常优秀的学长学姐在不同 AI 发展一线进行研究和工作。

这个阶段应该逐渐从:

复现别人

走到:

做自己的东西。

你需要开始尝试:

  • 自己发现问题
  • 自己提出假设
  • 自己设计实验
  • 自己判断结果
  • 自己写论文

如果研究进展顺利,就开始尝试把工作投稿到真正有影响力的会议和期刊。本科阶段如果能够做出一篇真正有质量的论文,你在保研、申请硕士、申请博士的时候,竞争力会发生明显变化。论文可以给简历添一行字,更重要的是,真正经历一次完整科研过程之后,你会第一次系统理解:

一个没人知道答案的问题,究竟应该怎样被解决。

对于想长期做 AI 的人,研究生阶段基本是很重要的一步。本科之后可以选择:

  • 保研
  • 考研
  • 海外硕士
  • 海外博士
  • 国内直博

具体走哪条路线,要根据个人情况决定,但成绩永远是最重要且是最基础的一个门槛。如果你的目标是前沿 AI 研究,那么一个好的研究环境非常重要。你需要:

  • 更强的导师
  • 更好的同学
  • 更充足的算力
  • 更前沿的问题
  • 更成熟的科研训练

这些东西会明显改变一个人的成长速度。

研究生阶段,一方面继续做研究。另一方面,也非常建议去真正的工业界实习。因为工业界和学术界看问题的方法并不完全一样。学术界可能更关心:

这个问题有没有新的科学发现?

工业界可能更关心:

这个东西能不能稳定运行?

能不能服务几百万用户?

成本能不能降下来?

延迟能不能降低?

数据怎么来?

系统怎么部署?

两边都真正待过之后,你对 AI 的理解会完整很多。


说一点大家最爱听的。AI 目前仍然是整个计算机行业里面回报最高的方向之一。尤其是在基础模型迅速发展的这几年,真正优秀的 AI 研究和算法人才依然非常稀缺。顶尖博士毕业生拿到 200 万到 400 万人民币年包,并不罕见。一些头部公司的特殊人才计划、核心研究岗位,以及极少数顶尖候选人的 offer,还可能明显高于这个数字。

大厂之外,也有大量估值非常高的 AI 创业公司在抢人。当然,需要把一件事情说清楚:

这些数字对应的是这条路上走得非常好的那一批人。

收入分布非常不均匀。普通算法工程师、普通硕士、顶尖研究员之间的收入,可以差很多倍。一个极端数字代表不了大多数人的情况,毕业后的实际收入仍然取决于个人能力和所处岗位。但即使看平均水平,AI 相关岗位目前依然是工科专业中回报非常靠前的一类。当然,如果你决定认真走这条路,前提也很明确:

你要接受它对学历、技术能力和持续学习能力都有很高要求。


你以后大概会经常听见一种说法:

大模型快到头了吗?

现在每一代模型之间的差距正在变小吗?

AI 的能力开始饱和了吗?

这个观察有一定道理。我想用手机来打个比方。从 iPhone 6 到今天,中间已经隔了很多代。屏幕变得更好。芯片变得更快。相机变得更强。续航变得更长。但它本质上仍然是一部智能手机。我们已经很久没有看到第一代 iPhone 发布时那种:

整个平台突然发生变化

的感觉。但是回头看会发现一个很有意思的事情。真正改变中国人生活方式的大量产品,比如:

  • 抖音
  • 拼多多
  • 外卖
  • 移动支付
  • 网约车

几乎全部出现在智能手机平台成熟之后。第一代 iPhone 发布的时候,这些东西很多还做不出来。因为当时:

  • 手机不够强
  • 网络不够快
  • 用户规模不够大
  • 基础设施不成熟

后来智能手机本身没有继续发生同样级别的革命,应用反而开始爆发。 硬件停止剧烈革命的几年,恰恰成为应用快速爆发的几年。 我觉得 AI 今天可能正在接近这样一个阶段。基础模型已经拥有非常强的能力。模型可以:

  • 写代码
  • 读论文
  • 看图片
  • 理解视频
  • 调用工具
  • 搜索信息
  • 完成越来越长的任务

但整个社会其实还远远没有想明白:

这么强的东西,到底应该怎样真正被使用?

今天的大部分软件,本质上仍然是在人类使用软件。如果未来模型可以自己操作软件、调用工具、处理信息、完成任务,那么很多产品的基本形态都可能重新设计。机器人也是一样。如果一个模型真的能够理解现实世界,并可靠地控制身体,那么很多现在依赖人完成的工作,也会出现新的可能性。接下来到底会出现什么产品、什么公司、什么研究方向,现在没有人知道标准答案。大量问题没有解决。大量方向甚至还没有被提出。

而你们从大一入学,到研究生毕业,大约还有七年时间。这七年,很可能恰好就是 AI 技术继续发展、进入更多行业和真实场景的七年。你们会使用这一轮技术变化带来的工具;如果走得足够远,也完全有可能成为真正参与这件事情的人。


希望大家能够在这一轮 AI 技术浪潮之中,实现自己的理想。

欢迎大家加入微光工作室机器学习方向。希望一年以后再回头看这篇文章的时候,你已经知道 MLP、CNN、Transformer、LLM 这些名字是什么意思,也真正亲手写过它们、训练过它们、调过它们,踩过很多坑。再往后,希望你能够开始读论文、做研究,慢慢找到自己真正喜欢的问题。我们工作室能做的事情,就是尽可能让大家少走一点弯路,更早看到这个领域真正是什么样子。

剩下的路,需要你自己走。