AI浅谈
从ChatGPT爆火开始,人工智能成为了新的风口,发展速度之快令人咋舌。有人说,生产工具的发展会催生新的就业岗位,但目前来看,人工智能导致了互联网行业更加严重的裁员。在大学里,我听到了很多新的概念,但也是迷迷糊糊一知半解,在OpenClaw爆火的时候,我也懒得折腾。但是当我真的亲眼看到现在Agent的能力时,还是会为之惊叹,对于新技术,在头脑里揣测100次,也不如亲手体验1次,如果懒得自己操作,也一定要亲眼看看它的效果,尤其是在线下。
现在各行各业都要AI赋能,虽然感觉更多是一群不懂技术的领导拍脑袋的决定,但是不得不说AI确实有这个能力,它确实能提高各个领域各个环节的效率。从K12教育到高等教育都在想方设法地往课堂里结合AI,我为什么选择了人工智能与大数据呢?因为我觉得未来人工智能将会成为通识,正如程序设计这门课一样。掌握了使用更高效的工具的方法,带来的好处不仅在于就业方面,更在于综合素质。
作为计算机专业的学生,接触到名词很多,所以我想梳理一下AI的基础概念。这里参考了从 LLM 到 Agent Skill,一期视频带你打通底层逻辑!和近年AI应用技术串讲与优质文档分享|Agent、Skill、OpenClaw、Harness……,都是很高质量的视频,推荐。
LLM:Large Language Model,大语言模型,简称大模型。这是AI浪潮的基础,也是大家最熟悉的一个概念,GPT,Gemini,DeepSeek都是大语言模型,我更愿意把它比作一个函数,它能够接受我们输入的文字,输出回答。它的工作方式是根据你输入的提示词,预测下一个最合理的字词,这句话其实也反映了它是数据驱动的,是经验性的,大语言模型的能力强,是人类在信息时代产生了大量可供学习的语料的结果。
token:词元。现在人们经常说花了多少token,就像说一个货币单位一样,但是实际上它是大模型处理文本的最小单位。大模型实际上是一个数学函数,在用户输入问题后,先把文字切割成一个个token,再把token转换成数字,一句话就这样变成了一个向量,我们经常看到由几层小圆圈相互交织连接成的神经网络示意图,这看起来非常高深,但是实际上这些小圆圈就是线性代数里的矩阵运算,交织在一起的神经网络就是多进行了几层计算。经过计算之后,模型得到了一个数字,这就是一个token,再把这个token转换成文字,回答就完整了一点。
context:上下文。从字面上来看,它指的是我们与模型对话的历史记录,但不够完整,实际上它还包括了模型当前正在输出的回答,工具列表和system prompt。而context window,上下文窗口指的就是模型能够记住的上下文规模。
prompt:提示词。字面意思,就是你发给大模型的文字,告诉它做什么。上面说的system prompt就是在后台告诉大模型的一些规则,user prompt就是用户输入的提示词,当然这两个词不大常见。曾经很火的Prompt Engineering,提示词工程就是研究怎么写好提示词,让大模型的回答更符合要求。一段好的提示词应该包括角色、任务、背景信息、输出格式等等,比如“你是一位资深律师……”,但是用的比较少。
Fine-tuning:微调。在已有模型的训练基础上,用特定数据再训练,让模型更适合某个具体任务或场景。它修改模型本身的参数,需要花费很多的算力。
RAG:Retrieval-Augmented Generation,检索增强生成。大模型本身知识有限,当问到“今天广州的天气怎么样”或者“公司今年的年假政策是什么”这样的问题时,它无法从训练过程中学过的知识找到答案,可能会编造答案。RAG就是让大模型在回答问题时,先去资料库里找出与问题相关的片段,把检索到的内容和用户问题一起拼成提示词,基于这些提示词再去生成回答。
tool:工具。大语言模型明明只能处理文本,为什么还发展出如此强大的能力呢?因为它可以通过语言来调用工具,大模型本身不知道今天的新闻,它可以使用联网搜索tool,大模型不知道本地的文件,它可以调用文件操作tool,调用的时候,需要写一个含有tool名和参数的json文件,外部程序把结果返回给模型。
MCP:Model Context Protocol,模型上下文协议。MCP出现以前,大模型调用工具方式不一样,不同工具被调用的方式也不一样,使用工具需要写很多套适配代码,MCP就像大模型的USB-C接口,工具按照MCP去制定被调用的方式,大模型按照MCP调用工具,提供工具的那一方就叫MCP Server。
agent:智能体。普通的LLM无法感知或改变外部世界,只能处理文本,而agent是给LLM增加了感知、规划、记忆和工具调用的能力,让LLM充当大脑,使得AI能够自动化地执行一长串复杂任务。有一个词叫基座模型,也是LLM,虽然只有文本处理功能,但是我们微调之后,通过语言可以实现思考,也可以通过语言调用工具,所以LLM是基础。agent的定义没有那么明确,我有了一个基座模型,我可以微调让它会使用简单的工具,那它也可以叫做一个agent。不过,我们通常认为agent要实现思考 - 行动 - 观察的循环,去模拟人类完成一个任务的模式。
skill:技能。把一整套agent能力(prompt、多个工具、参考资料、任务流程、规则等)封装为可复用模块,从而实现低门槛分享与复用,一个skill本质上约等于一个子agent。一个skill对应着一个文件夹,包含了所需的资料和工具脚本等。在接收到任务后,agent会把所有skill的名称和描述看一遍,选择适合的skill,再把这些skill文件夹里SKILL.md里的所有内容加载到上下文里,按需使用这个skill的工具或者资产。
许多老师都说,没有什么知识是你学了就一定能找到工作的。但是对技术的热爱可以支撑我们走下去。