今年是2026年,人工智能这个学科正式走到第70个年头。1956年夏天,达特茅斯学院的一场暑期研讨会,第一次把“Artificial Intelligence”作为学科名称固定下来,也因此被视为AI的诞生原点。
但70年这个数字本身不重要。重要的是,这70年里,AI从一批数学家和逻辑学家脑中模糊的想法,变成了今天程序员桌面上可以本地运行的模型、可以批量调用的API、可以嵌入业务系统的推理服务。这篇文章不打算写空洞的“致敬历史”,而是站在2026年的技术视角,把AI这70年的演进路径、当前的技术栈,以及一个普通开发者如何从零开始把AI用到自己的项目里,完整梳理一遍。
你会看到:AI的核心范式怎么从符号推理走到统计学习,再到今天的预训练大模型;当前本地部署一套AI服务需要什么硬件、多少显存、哪些启动方式;大模型API怎么调用、批量任务怎么设计;以及新手最容易踩哪些坑。
1. AI 70年发展速览
先给一张缩略表,把70年的关键节点和当前技术状态放在一起,方便对照。
| 时期 | 关键事件 | 技术范式 | 代表成果 |
|---|---|---|---|
| 1950s | 图灵测试提出,达特茅斯会议召开 | 符号主义萌芽 | 逻辑推理程序、早期搜索算法 |
| 1960s-1970s | 感知机兴起与低谷 | 连接主义早期尝试 | 单层神经网络、感知机模型 |
| 1980s | 专家系统进入商业应用 | 知识工程、符号推理 | DENDRAL、MYCIN |
| 1990s-2000s | 机器学习走向统计化 | 统计学习、核方法、集成学习 | SVM、随机森林、贝叶斯网络 |
| 2012 | AlexNet在ImageNet夺冠 | 深度学习的爆发起点 | GPU加速的卷积神经网络 |
| 2017 | Transformer论文发表 | 注意力机制、预训练范式 | Attention Is All You Need |
| 2020s | 大模型与多模态时代 | 预训练+微调+RLHF | GPT系列、LLaMA、Stable Diffusion |
| 2026年现在 | 本地部署、小模型、智能体、科学计算 | 高效推理、模型压缩、RAG、Agent | Ollama、ComfyUI、vLLM、各类端侧模型 |
从这张表能看出一条清晰的逻辑:AI并没有在某个节点突然“变聪明”,而是每一次技术范式的切换,都让模型从“更会推理”走向“更会学习”,最后在算力和数据的推动下,变成了今天这种“规模即智能”的形态。
2. 为什么1956年被称为AI学科诞生年
1956年之前,图灵已经在1950年发表了《计算机器与智能》,提出了著名的图灵测试;麦卡洛克和皮茨也早在1943年就给出了神经元的数学建模。但这些成果还分散在数学、逻辑学、神经科学里面,没有形成统一的学科方向。
达特茅斯会议真正做的事情,是把一群不同背景的学者聚到一起,明确提出:能不能造一台机器,让它模拟人类学习、推理、使用语言、感知环境?会议提案里甚至乐观地预测,一个夏天就可以解决其中若干问题。事实当然没有这么快,但这次会议定义了AI要解决的问题集合,也催生了“人工智能”这个正式术语。
所以,说1956年是AI的学科诞生年,不是因为之前没人研究AI,而是因为从这一年开始,AI有了自己的学科共同体、自己的问题域、自己的评价标准。这对后来70年的技术发展和人才培养,都是源头意义上的节点。
站在2026年回看,历史细节已经不重要,重要的是理解这种“问题域”的延续。今天的大模型做数学题、写代码、识别图像,本质上还是在回答达特茅斯会议提出的那些问题:机器能不能学习?能不能理解语言?能不能感知世界?
3. 从符号主义到连接主义:三起两落的范式变迁
AI的70年并不是一路高歌,而是经历了至少两次“寒冬”,每一次寒冬背后都是技术范式的局限。
第一轮兴起是符号主义主导。研究者认为智能的核心是逻辑推理,只要把知识规则写进程序,机器就能表现出智能。专家系统在1980年代一度非常成功,企业用它做化学结构分析、疾病诊断,政府也投入了大量资金。但后来发现,人类知识极度庞杂,规则越写越多,却始终无法覆盖例外情况,系统变得脆弱且难以维护,AI第一次进入低谷。
第二轮兴起源于统计学习和连接主义。从2006年深度信念网络开始,“深度学习”这个概念重新回到主流,2012年AlexNet在ImageNet上的成绩让全球研究者意识到,神经网络加上GPU算力可以解决传统方法无法突破的视觉识别问题。此后十年,CNN、RNN、LSTM、Transformer逐步登上舞台。
真正把AI推向大规模应用的转折点是2017年的Transformer架构。它用自注意力机制解决了长距离依赖问题,让模型可以并行训练超大语料。随后GPT系列把“预训练+微调”的范式跑通,参数规模从亿级涨到千亿级,Scaling Law成为新的信仰。
理解这段历史,对开发者有实际意义:今天选择AI技术方案时,不必纠结“符号主义还是连接主义”,而是要看清当前范式的边界在哪里。大模型擅长统计关联和模式生成,但真实的严谨推理、工具调用、长程规划仍需要外部工程手段补足,比如RAG、结构化提示词、Agent框架。
4. 当前AI技术栈:云服务、开源模型与本地部署
到了2026年,AI技术栈已经高度分层。日常开发可以选择的方式大致有三类:在线API服务、开源模型本地部署、以及介于两者之间的私有化托管。
在线API最省事,开箱即用,按Token计费,适合原型验证和中小流量场景。典型能力包括文本生成、图像生成、语音合成等。缺点也明显:数据要出网,单位成本会随调用量上升,企业内部敏感数据不适合直接传上去。
开源模型本地部署是过去两年热度持续上升的方向。你可以在自己的GPU服务器上跑Llama系列、Qwen系列、DeepSeek等开源模型,数据不出本机,推理成本可控,还能针对业务做微调。门槛在于硬件和工程能力:需要至少一块消费级显卡或一块专业GPU,显存越大越好;需要处理依赖环境、模型文件下载、推理服务启动等一系列问题。
本地部署并不是正反面替代API,而是互补。同一个项目里,可以把简单任务交给大模型API,把高频且敏感的任务放到本地模型;或者先用API验证效果,再迁移到本地版本。
如果你打算本地跑模型,最关心的问题通常是:
- 我的显卡够不够?显存多少能跑什么模型?
- 有没有一键启动的整合包?
- 能不能提供HTTP接口,方便接到自己的程序里?
- 支不支持批量任务?
下面专门展开本地部署这部分。
5. 本地部署一套大模型服务的通用流程
模型参数、推理框架和量化方式决定了部署策略。下面给出一套通用的本地部署检查清单和流程,具体路径要按你选择的模型和框架调整。
5.1 硬件检查
首先看自己的设备。NVIDIA显卡优先,因为CUDA生态最成熟。显存大小决定了你能加载的模型规模:
- 4GB显存:适合跑7B参数模型的小量化版,通常配合CPU offload,速度较慢,体验一般。
- 6GB-8GB显存:可以跑7B-14B参数的量化模型,日常问答、代码生成基本可用。
- 12GB-16GB显存:可以跑32B左右的量化模型,或者14B模型的大上下文版本,效果明显更好。
- 32GB以上:可以考虑70B量化模型,或者多卡推理,适用质量较高的长文本任务。
没有独立显卡的机器可以采用纯CPU推理,但不是所有模型都能跑得动。7B模型量化后在CPU上生成速度通常只有每秒几到十几个Token,体验比较勉强。
5.2 推理框架选择
常见的本地推理框架有:
- Ollama:安装简单,命令一行就能拉模型并启动服务,适合个人体验和快速原型。
- vLLM:吞吐量高,支持批量推理,适合部署成内部API服务。
- llama.cpp:轻量级,跨平台,CPU/GPU混合推理,适合资源受限环境。
- Transformers + PEFT:灵活度最高,适合做微调和研究,但对工程部署要求高。
如果是第一次尝试,推荐Ollama。它帮你把依赖、模型目录、服务接口都打包好了,比较容易跑通。
5.3 安装示例
以下命令以Linux环境和Ollama框架为例,Windows/macOS可以直接用安装包。
# 安装Ollama(Linux) curl -fsSL https://ollama.com/install.sh | sh # 启动服务 ollama serve # 拉取一个7B量级模型,这里以常见开源模型为例 ollama pull qwen2.5:7b # 运行一次交互式对话 ollama run qwen2.5:7b启动后,默认会在本机的11434端口提供HTTP服务。这个服务本身就兼容OpenAI风格接口,可以在项目里直接用。如果你想换一个模型,比如想用更小的4bit量化版本,可以在Ollama模型库中搜索对应标签替换。
5.4 检查服务状态
服务跑起来后,用curl快速验证:
curl http://127.0.0.1:11434/api/generate \ -H "Content-Type: application/json" \ -d '{ "model": "qwen2.5:7b", "prompt": "请用一句话解释什么是人工智能。", "stream": false }'如果返回内容里包含了回答文本,说明服务已经正常。
6. 大模型接口API调用示例
本地模型服务只要能提供HTTP接口,就可以接入到自己的代码里。下面给出一个Python调用示例,使用requests库向Ollama接口发送请求。
import requests url = "http://127.0.0.1:11434/api/chat" payload = { "model": "qwen2.5:7b", "messages": [ {"role": "user", "content": "写一段Python代码,实现文件批量重命名。"} ], "stream": False, "options": { "temperature": 0.7 } } response = requests.post(url, json=payload, timeout=120) data = response.json() print(data["message"]["content"])需要注意,不同框架的接口路径和参数格式不一样。如果你用的是vLLM,通常会暴露一个兼容OpenAI的/v1/chat/completions接口,参数结构接近GPT接口。使用前先看对应框架的文档。
7. 批量任务与工程化设计
大模型接口的价值,很大程度上体现在批量任务处理上。最常见的场景包括:
- 批量给文章生成标题和摘要。
- 批量对评论做情感分类。
- 批量把非结构化文本转成JSON。
- 批量生成训练数据用于微调。
批量任务不能简单写一个for循环直接调接口,要考虑速度、失败重试和资源占用。
下面是一个基础批量任务设计思路:
import time import requests import json def call_model(prompt, retries=3): url = "http://127.0.0.1:11434/api/generate" payload = { "model": "qwen2.5:7b", "prompt": prompt, "stream": False } for attempt in range(retries): try: resp = requests.post(url, json=payload, timeout=120) if resp.status_code == 200: return resp.json()["response"] except Exception as e: print(f"retry {attempt + 1}: {e}") time.sleep(2 ** attempt) return None tasks = [ "为这篇技术文章写一个摘要:...", "把这句话翻译成英文:...", "从这段文本中提取所有时间、地点、人物:...", ] for idx, task in enumerate(tasks): result = call_model(task) print(idx, result) time.sleep(1) # 避免瞬时压力过高实际生产中,建议把任务列表放到队列里,逐条记录成功/失败状态,输出结果单独落盘。例如用Redis做任务队列,用SQLite记录处理进度,这样哪怕服务中断,也能从断点继续处理。
批量任务还要注意并发控制。如果本地显卡只有8GB显存,同时并发太多请求会导致显存溢出。可以先从并发1开始调,逐步试探出自己硬件的吞吐上限。
8. 资源占用与性能观察方法
本地部署最直观的指标是显存占用和生成速度。建议在推理时观察以下内容:
# 实时查看GPU占用 nvidia-smi -l 1这条命令每秒刷新一次,可以看到显存使用率、GPU利用率、温度。如果显存占用接近上限,模型很可能会被换到内存或报CUDA Out of Memory。
影响性能的主要因素包括:
- 模型参数量:7B、14B、32B、70B,参数量越大,显存占用和推理时延越高。
- 量化方式:4bit量化比8bit快,显存占用低,但输出质量可能有微小下降。
- 上下文长度:输入和输出的Token数越多,显存占用和计算量越大。
- 并发数:同时请求数增加,吞吐量可能提升,但延迟也会变高。
- 采样参数:top_p、temperature不会显著影响速度,但max_tokens限制输出长度,会直接影响生成耗时。
如果你发现响应很慢,优先检查是否开启了超大上下文,或者模型量化级别太低。可以用更小的模型、更短的上下文、更低的并发数来降低资源压力。
CPU推理和GPU推理差距非常大。同一个7B量化模型,在消费级GPU上可能每秒生成20到50个Token,在CPU上通常只有每秒1到10个Token。所以本地部署不要指望用CPU跑大模型来做实时对话。
9. 常见问题与排查方法
本地部署AI服务,新手容易遇到的问题集中在依赖安装、模型下载、显存不足和接口调用失败。下面列一个排查表:
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
| 服务启动失败 | 端口被占用、依赖缺失 | 检查日志、netstat -anp | grep 11434 | 换端口,或重装依赖 |
| 模型拉取缓慢或失败 | 网络问题、模型仓库不可达 | 查看下载日志 | 使用镜像源,或手动下载模型文件 |
| 显存不足报错 | 模型过大或并发过多 | nvidia-smi查看显存占用 | 换更小的量化版本,降低批次/并发 |
| API返回超时 | 模型推理太慢、prompt太长 | 调大timeout、检查GPU占用 | 缩短上下文,使用流式返回 |
| 中文回答乱码或崩坏 | 模型本身能力不足或未适配 | 用其他模型对比测试 | 换合适模型,或调整提示词 |
| 批量任务跑到一半卡住 | 程序崩溃、网络不稳定 | 查看日志、数据库记录 | 增加重试机制,断点续跑 |
| 输出质量不稳定 | 温度参数过高、模型太弱 | 多次采样对比 | 降低temperature,换强模型 |
大部分问题都可以归为两类:环境问题和参数问题。环境问题靠看日志和检查依赖解决,参数问题靠对比实验解决。
10. 从70年历史看当下:AI开发者该怎么学习
回到“人工智能70年”这个主题,我更想说的是,这个学科走到今天,已经不只是科研人员的事。你现在学到的AI知识点,和1956年那批学者脑中想象的AI已经完全不同,但底层的问题还是那些:怎么让机器理解人、语言和世界。
如果你现在想入门AI,建议按这个顺序走:
- 先理解基本概念:机器学习、深度学习、大模型、Token、Prompt、微调、RAG、Agent。不要一上来就啃数学公式。
- 动手跑通一个小模型:用Ollama拉一个7B模型,在本地聊几句,观察显存和速度。
- 学会调用API:用Python写几个调用文本生成、图像生成的例子,理解请求-响应结构。
- 做一个完整的批量任务场景:比如用大模型批量清洗数据,写日志、加重试、存结果。
- 再往深走:学习Transformer结构、注意力机制、量化原理,然后根据工作需要选微调还是RAG。
AI训练师、提示词工程、模型微调这些岗位的出现,说明这个行业已经从“研究模型”转向“应用模型”。广大开发者的机会不在于重新发明一个Transformer,而在于把已有的模型能力接到真实业务里,解决具体问题。
这也是为什么我一直建议:了解一点历史,但不要停留在历史里。70年来,AI每次低谷都是因为过度承诺,每次爆发都是因为某一项真实能力突破。2026年的今天,大模型已经是可以随手调用的工程工具,下一步就是看你愿意拿它做什么。
建议先从小模型、小批量、小任务开始,跑通第一个AI应用。那比读十篇历史文章有用得多。