我用 AI 已经有一段时间了。
打开一个网页,或者手机里的 App,输入问题,它就回答。让它解释一篇文章、翻译一段英文、修改一份材料,我都用过。
可一听到“大模型”“Agent”“Skill”这些词,我又有些不确定了。
App 我看得见,也知道怎么打开。Agent 藏在哪里?Skill 是要安装的软件,还是一份文件?它们和那个会回答问题的模型,到底是什么关系?
在上一篇文章里,我写了自己重新学习 AI 的原因:开发过程越来越复杂,我越来越看不清系统在做什么。这一次,我想先把这些基础问题弄明白,再继续往前走。
我和 AI 为此做了几轮问答。我得用自己的话解释,解释不清楚的地方,就继续拆开。下面这些文章保留了其中的案例和理解变化;问答经过整理,删去了口头重复。
我们用一个普通人都能理解的例子。
假设你想安排一次家庭旅行,对 AI 说:
帮我安排三天两晚的旅行,带老人和孩子,总预算 6000 元,少走路,给我一份能够核对的方案。
这里的旅行是教学假设,没有真的订酒店。接下来的几篇,都围绕这个任务展开。
先看你面对的东西。
你打开的是一个产品。手机 App、网页、聊天框,都是这个产品和你打交道的入口。产品背后,还有负责处理信息和执行操作的程序。
大模型,是产品可以调用的一项核心能力。
日常说“我用 ChatGPT 问了一下”,当然没有问题。但要看懂系统怎样工作,就需要把整个产品和它调用的模型分开。
同样一个聊天框,背后可以只是一次问答,也可以连接搜索、文件处理和连续执行任务的系统。光看界面,不容易判断里面有哪些能力。

那大模型本身是什么?
我们这里主要谈经常用于聊天、写作和分析的语言模型,以及能够处理图像等信息的多模态模型。多模态这个词,先理解为“能够处理不止一种类型的信息”就可以。
模型可以帮助我们理解输入、分析问题、组织回答。在旅行任务里,它能分析预算、同行人的体力和景点安排之间的关系,也能发现一天安排五六个地方可能太赶。
“像一个大脑”是容易上手的比喻。不过,要知道它实际上怎样存在,还得再往下看一层。
模型有一套神经网络结构,还有训练得到的大量数字。这些数字通常叫参数,也叫权重。先不必记复杂定义,可以把它们理解为训练过程中被不断调整、会影响计算结果的数值。
输入的文字需要转成计算机能够处理的数字,再按照模型的结构和参数进行计算,最后得到输出。它并不是把我们问的每个问题,都对应到一个提前写好的答案。
落到电脑里,模型的参数和结构配置可以保存在文件中。运行软件把它们加载到计算设备上,才能接受输入、产生输出。Hugging Face 的教程里,就能看到保存和加载这类文件的例子。模型结构与权重文件
所以,模型有具体的存在形式。它可以运行在服务器上,也可以在具备相应条件的本机运行。我们通常通过产品使用它,不必直接打开那些模型文件。
还有一个我以前容易忽略的地方:
向模型提供信息的,既可以是人,也可以是程序。
人可以在对话框里输入旅行要求。程序也可以把“这家酒店已经满房”这个结果交给模型,请它判断下一步怎样安排。
等我们讲到 Agent,这一点会很重要。
再回到旅行。
模型可以判断一家安静、交通方便的酒店比较适合老人。但这家酒店在你出发的日期有没有房,得取得对应日期的信息。
模型懂得怎样分析酒店,并不自动意味着它知道酒店此刻的库存。
这时就需要工具。
在这个语境里,工具是系统可以调用的一项实际操作能力。例如搜索网页、读取文件、查询酒店、保存行程表。
我最初把工具理解成我们常用的软件。这个理解能帮助入门,但还需要稍微精确一点:一款软件可能提供好几项可调用的操作,一个工具也可能只是很小的一段程序,不一定有自己的窗口。
例如,查询酒店这项工具,可以接收城市、入住日期、退房日期等条件,然后返回查到的房型、价格和房态。它也可能返回“连接失败”。
程序之间用来接收请求、返回结果的入口,常被叫作“接口”。不用把这个词想得太神秘,先理解为两个程序打交道的约定就可以。
模型可以提出查询请求,但实际连接订房系统、取得结果,需要由运行环境中的工具完成。

这里有个很小、却容易混淆的区别。
“我建议你住这家酒店”,可能只是一项建议。
“我查到这家酒店在指定日期有房”,则需要对应的查询依据。
一段话写得再流畅,也不能把前一种情况自动变成后一种。
我在学习时还回答过一道题:
两个旅行 App 使用完全相同的大模型,为什么一个只能给出建议,另一个却能查实时信息,并在酒店满房后调整计划?
我的第一反应是,后一个多了工具,也多了一套连续推进任务的机制。模型本身相同,整个产品能做的事情仍然可能很不一样。
这个判断抓住了方向,但还要补一个细节:在真实产品里,仅凭最后看到的文字,不能确定后台有没有查询。它可能查询后只给出简短建议,也可能根本没查询却说得很详细。
我们需要看它实际取得了什么信息。
我开始能把几件事分开:聊天框是使用入口,模型参与理解和生成,工具负责取得信息或执行操作。
这并不要求普通使用者先学会编程。它首先帮助我看懂,为什么有时换了一个产品,即使使用同样的模型,体验也会相差很大。
不过,还有一个环节没解释:酒店满房以后,谁把结果交回模型,谁安排新的查询,谁让这项工作继续下去?
下一篇,就来讲这个看起来“看不见摸不着”的 Agent。