目前来说,很多人用ai都是拿它当“一个更有价值的搜索引擎”用,但是在这里还是有一个观点要说明。这里所有的知识都是基于deepseek 3.2。
AI的核心精华
1 | def ai_architecture_components(): |
这里Transformer架构就是传说中的“神经网络架构”。
为什么要向量化?
这个问题可以说是ai的核心,也可以说这个是ai的灵魂。
它最早用于“人脸识别”,就是它通过录入你的面部特征,当你下一次验证的时候,它判断“几乎相似”就认为OK。跟指纹不同,人类的指纹是唯一的,所以要100%相同。
回到ai,用ai和人类对比。人类理解: “苹果”和”水果”是相关的。但是计算机理解: “苹果” = 两个汉字,”水果” = 两个汉字,计算机看不到语义关联。但是就需要有向量化:
1 | "苹果" → [0.85, 0.23, -0.42, 0.91, ...] #实际是1536个这样的数字。 |
这两个向量很接近,所以计算机知道它们相关。
话说,果然技术是一点一点进步的,“人脸识别”肯定是要在ai之前出现的。
AI是如何搜索的?
AI 其实用的最多的就是RAG功能,它能精确的搜索出来客户想要问的问题。
比如用户问了一个问题:”令狐冲是谁?”,AI会进行如下操作:
- 将问题转换为向量
- 在向量数据库中搜索相似chunk
- 返回top-3相关chunk:
- chunk1: “微服务设计原则…”
- chunk2: “服务拆分策略…”
- chunk3: “分布式事务处理…”
chunk:”将大段文本、数据或任务分割成更小、可管理的单元”,因为LLM有上下文长度限制(如GPT-4的128K tokens),chunk也要做重叠,这是为了保持语义连贯性。但是这里面也有说法:
1 | 1. 小型chunk:256-512 tokens |
所以要做好chunk的平衡,而且为了输出的语义达到用户习惯,还可以是先用搜索去确定关键文档片段,再用chunk去进一步搜索。
RAG的原理
rag 的原理,就是ai会把你要让它学的文档(比如公司内部的文档),通过“空格 回车”等等方式先进行分割,变成chunk。即“公司内部文档 → 分割(chunking) → 得到chunks”。
然后对这些chunk进行embedding,然后这些自然语言变成一个一个向量语言,存入向量数据库。
然后用户问的问题也会被ai转化成向量语言,最后ai通过“用户问的问题的向量”去找公司的内部贴近向量的所有文档,通过相似度搜索,找到相关chunks,取Top-K(如top 3或top 5)最相关的chunks,最后再通过llm来整合输出答案。
举个例子,比如我说“令狐冲”,那么ai会对”令狐冲 整个文本的语义对应一个向量”,比如:[0.02324, 0.032131, 0.02323124, 0.04567, 0.01234, …] (1536个数字),这个1536维向量代表了”令狐冲”这个名字的完整语义。然后大模型就会进一步推断:
1 | # 假设我们使用OpenAI的text-embedding-ada-002模型 |
为啥是1536维?因为语义信息非常丰富:人名、虚拟人物、主角、性别、职业、爱好、国籍、肤色、面部特征等等等等,就像人一样,人也不是简单用一个3维来概括的。
但是上面说了,”ai会对 令狐冲 整个文本的语义对应一个向量”,那么就是“XXX的令狐冲”这里会随着XXX的不同,产生不同的向量。比如:
1 | 武打中的"令狐冲" → [0.025, 0.030, 0.021, ...] (根据上下文变化) # "向量特点": "强调门派、武功名称、战绩如何" |
虽然都是”令狐冲”,但上下文不同,语义重点不同,因此向量也会有细微差异。
最后结论:每一个场景下,令狐冲对应的 1536个数字都是不一样的,但是是很相似的。而且这1536个数字不会枯竭,这个组合老大了。
假如我现在写了一篇“令狐冲与迈克尔乔丹”的文章
令狐冲与迈尔克乔丹,这八杆子打不着的两个人,假设有了这么一个文章或者影视作品把他俩关联起来(比如他俩在上海武康路飙车)。那么,当ai查询到了这篇文章的后果是:
1 | 1. 这篇文章中的"令狐冲"向量会变化 |
可以看出其实ai每次查询,”令狐冲”的向量表示都不同。我们主要就是确认embedding之后,得到结果的相似度是不是满足预期的。
ai不会自己对某个事物产生直接情感和感触,它的反馈都是基于材料,然后学习得出的
举个例子,你问ai”鹿鼎记里武功最厉害的人是谁?”,你以为ai是马上去把《鹿鼎记》都通读一遍然后给你答案吗?肯定不是的,它其实是去搜索“鹿鼎记武功排名”这类的文章,然后把这些文章进行分析和学习,然后得出它自己的结论。
但是如果你问他《鹿鼎记》的细节,比如“冯锡范跟归辛树有没有交手的经历,如果有的话请找到原文”,他还是会给你直接返回原文的。
那ai写歌,是不是就是从网络上现有的音乐东扒一下,西扒一下,抄出来的?
肯定不是,上面说的,ai是有学习功能的,它是“基于学习到的通用模式创造新内容”,因为它能从海量数据中学习音乐模式,也是基于学习后的创作,不是直接抄袭。所以ai的”创新”是已有模式的重新组合,无法像人类那样”有感而发”。
所以这就看出来ai的局限性,它可以帮你干具体的活,帮你梳理,或者给你一些“你没想到但是其他人已经想到并写在网络上的建议”。但是你让它从0-1 挖掘出一个new point,是做不到的。所以说,ai总体来说还是一个提效的工具,所以如果你是一个有想法的人,ai在你手里就是一个很高效的武器。
那我有了ai是不是可以让它来帮我打《艾尔登法环》,我在旁边看着?
理论上是可以的,但是会很花钱。
首先AI可以通过脚本启动Steam和游戏,也会模拟键盘鼠标输入(WASD移动、鼠标点击),同时也能做到通过截图分析游戏画面(这一步很花钱)和识别血条、敌人位置、物品等(这一步也很花钱)。但是对于动作类游戏,需要毫秒级反应。ai做不到,需要明确的规则和大量训练数据。所以你会看到它操作你的主人公一遍一遍的死,死亡后回到检查点,AI还需要重新规划。但是ai肯定会通关,就是时间问题和token消耗的问题。
所以ai目前可以给看你的录像给你一些建议,还不能亲自上手去打怪。
再说了,游戏的魅力在于挑战和成长,如果让AI代劳,就失去了游戏的意义。