从图灵机到ChatGPT:读懂人工智能发展史与程序员未来

文章配图

文章配图

1 人工智能发展历史

1.1 AI 兴起阶段(1941~1956)

1.1.1 图灵机(Turing Machine)

图灵机是艾伦・图灵 1936 年在《论可计算数及其在判定问题上的应用》中提出的抽象计算模型,由无限长纸带、读写头、状态转移规则构成,可以模拟任意算法的计算流程,是现代计算机与可计算性理论的理论根基。

图灵机属于数学抽象模型,并非物理硬件。

1.1.2 人工神经元模型(MP 神经元)

1943 年沃伦・麦卡洛克、沃尔特・皮茨提出 MP 人工神经元模型,是神经网络与深度学习的底层基础。

工作原理:

  • 输入:接收外部或其他神经元传来的信号
  • 权重:每一路输入配置权重,权重调整就是模型学习的过程
  • 求和:加权累加全部输入
  • 激活函数:对比阈值,超过阈值输出 1 激活,否则输出 0
  • 输出:将结果传递给下一级神经元

MP 神经元仅支持线性可分问题,无法处理异或这类非线性问题,这也是早期神经网络发展受限的根源。

1.1.3 图灵测试

1950 年艾伦・图灵发表《计算机器与智能》提出图灵测试,用来评判机器是否具备智能。

测试规则:

  1. 人类测试者仅通过文字,同时和真人、机器两个对象对话
  2. 如果测试者无法稳定分辨机器与人类,则判定机器通过图灵测试
  3. 评判只看外部行为表现,不关注内部实现逻辑

图灵被称为 “计算机科学之父”;“人工智能之父” 一般指约翰・麦卡锡,他创造了 “人工智能” 这个专业术语。

1.1.4 人工智能术语诞生:达特茅斯会议

1956 年达特茅斯会议,约翰・麦卡锡首次提出 “人工智能”,标志 AI 正式成为独立学科。

麦卡锡同时发明 LISP 语言,该语言长期作为 AI 研究的主流编程语言。参会核心人员包括马文・明斯基、克劳德・香农等学者。

1.2 AI 早期成功(1956~1974)

1.2.1 西洋跳棋自学习程序

1959 年亚瑟・塞缪尔开发西洋跳棋自学习程序,首次提出机器学习概念,被称为 “机器学习之父”。

程序依靠自我对弈迭代棋力,引入评估函数、α-β 剪枝技术,后续击败人类跳棋选手。

1.2.2 ELIZA 聊天程序

1966 年约瑟夫・魏岑鲍姆开发 ELIZA,属于最早的自然语言对话程序,模拟心理治疗师对话逻辑。

底层仅依靠关键词模式匹配 + 模板替换,并不真正理解语义,只会反问引导用户输出更多内容。

1.2.3 WABOT-1 拟人机器人

1970 年日本早稻田大学发布 WABOT-1,世界首台全尺寸人形机器人,集成视觉感知、肢体运动、简单日语对话模块,可以识别障碍物,测算距离方位。

1.3 AI 第一次寒冬(1974~1980)

文章配图

早期 AI 项目无法兑现宣传预期,政府、资本削减研究经费,AI 研究进入停滞阶段。

主要诱因:

  1. 机器翻译项目落地失败
  2. 算力不足,搜索存在组合爆炸问题
  3. 单层神经网络能力被理论证明存在上限
  4. 社会对 AI 预期严重高于技术实际能力

大批科研人才转向其他方向,神经网络领域进入长时间沉寂。

1.4 AI 复兴与第二次寒冬(1980~1993)

1.4.1 专家系统

专家系统属于知识驱动型 AI,把行业专家的经验固化成规则,依靠规则完成诊断、分析、决策任务。

核心组件:

  1. 知识库:存储大量 if-then 形式的领域规则
  2. 推理机:匹配知识库规则完成逻辑推导
  3. 用户交互界面

    class ExpertSystem:
    def init(self):
    self.knowledge_base = []
    self.facts = set()

    def add_rule(self, condition, conclusion):
        self.knowledge_base.append((condition, conclusion))
    
    def forward_chaining(self):
        changed = True
        while changed:
            changed = False
            for cond, res in self.knowledge_base:
                if cond.issubset(self.facts) and res not in self.facts:
                    self.facts.add(res)
                    changed = True
        return self.facts
    

固有缺陷:

  1. 无法自主学习新知识
  2. 规则维护成本极高
  3. 超出预设知识库范围就会失效,系统鲁棒性差

第二次寒冬诱因:专家系统维护成本持续走高,日本第五代计算机项目失败,商业落地收益不及预期,经费再度收缩。

文章配图

1.5 AI 崛起时代(1993 年至今)

1.5.1 深蓝 DeepBlue

1997 年 IBM 深蓝战胜国际象棋世界冠军卡斯帕罗夫。

技术路线:依靠极大极小搜索、α-β 剪枝,搭配人类手工调优的评估函数、开局残局库。本质是暴力搜索叠加人工领域知识,不属于机器学习。

1.5.2 AlphaGo

2016 年谷歌 AlphaGo 击败李世石,2017 年击败柯洁。

核心技术:卷积神经网络评估棋盘、自我对弈强化学习、蒙特卡洛树搜索。围棋搜索空间极大,暴力搜索不可行,证明深度学习在复杂博弈场景的巨大潜力。

1.5.3 GPU 与 CUDA 算力革命

CPU:适合复杂逻辑串行任务,核心数量少,如同博学的教授。 GPU:大量轻量计算核心,擅长大规模并行简单运算,适合深度学习海量矩阵乘加运算。

特性 CPU GPU
核心数 几个~几十个 几千个
计算模式 串行 + 少量并行 大规模并行
适用场景 复杂逻辑控制 简单重复计算
延迟

CUDA:英伟达 2007 年推出,提供编程接口,允许 C++/Python 直接调用 GPU 做通用计算,是现代深度学习生态的底层基石。大模型训练需要成千上万规模的 GPU 集群提供算力支撑。

1.5.4 Transformer 架构

2017 年论文《Attention Is All You Need》提出 Transformer,依靠自注意力机制,能够捕获序列任意位置依赖关系,摆脱 RNN 串行限制,训练并行度大幅提升,是 ChatGPT、Gemini 等全部主流大模型的基础架构。

def scaled_dot_product_attention(Q, K, V, d_k, mask=None):

文章配图

    scores = Q @ K.transpose(-2, -1) / (d_k ** 0.5)
    if mask is not None:
        scores = scores.masked_fill(mask == 0, -1e9)
    attn_weight = scores.softmax(dim=-1)
    output = attn_weight @ V
    return output, attn_weight

1.5.5 ChatGPT 与百模大战

2022 年 11 月 30 日 ChatGPT 正式发布,5 天用户破百万。

关键技术:大规模预训练、指令微调、RLHF 人类反馈强化学习。

ChatGPT 引爆全球生成式 AI 浪潮,国内外厂商纷纷推出同类大模型,形成 “百模大战” 行业格局。

2 AI 产业与职业影响

2.1 AI 相关岗位分类

2.1.1 AI 算法开发岗

岗位定位:AI 底层算法研究开发,普遍要求硕士以上学历。

工作内容:模型算法创新、论文复现、模型调优;需要扎实的线性代数、概率论、深度学习理论功底。门槛高,普通本科生直接就业难度大。

2.1.2 AI 应用开发岗

岗位定位:面向业务做 AI 工程落地,是普通学生最容易切入的岗位。

工作内容:调用大模型 API,开发 AI 业务软件;RAG 知识库搭建,模型部署、业务系统集成;不需要从零训练大模型,侧重工程能力。

2.1.3 提示词开发(Prompt Engineering)

岗位定位:编写、优化提示词,引导大模型输出符合业务要求的结果。

核心技能:Few-shot、CoT 思维链等提示范式,上下文调试、模型输出评估。

完全独立的提示词全职岗位数量很少,更多是 AI 应用开发者的配套技能。

2.2 AI 与程序员职业关系

2.2.1 核心结论

AI 不会完全取代程序员;熟练使用 AI 工具的程序员,会取代不会使用 AI 工具的程序员。

AI 定位是编程辅助工具,等价于 IDE、搜索引擎,提升开发者生产力,而非替代者。

2.2.2 AI 擅长的工作

可以高效完成样板代码、简单重复编码、简单 bug 修复等模式匹配类任务。把重复性工作交给 AI,人类聚焦系统设计、业务梳理、方案评估。

2.2.3 AI 固有限制

  1. AI 幻觉问题 :会生成看似合理但是错误的代码,存在逻辑 bug、安全风险,甚至法律风险,输出必须人工审核
  2. 面对复杂系统问题容易前后矛盾,方案循环,缺少完整系统架构思维
  3. 无法完成:代码维护调试、业务需求协商、团队协作、技术方案权衡取舍

2.2.4 对程序员群体的影响

  1. 初级程序员:重复 CRUD 编码工作会被 AI 冲击;从业多年仍然只做简单重复业务编码的人员风险最高
  2. 中高级程序员:AI 属于效率工具,释放人力,把精力投入架构设计、复杂问题拆解、技术选型

2.2.5 现实建议

减少 AI 带来的就业焦虑,夯实计算机底层基础;即便不从事 AI 方向,也需要掌握 AI 工具的使用。

结尾

回看这条发展曲线,人工智能并不是一夜之间冒出来的风口,而是从图灵机、MP 神经元一路走了九十年的技术积累。对程序员而言,真正要担心的不是 “AI 会不会淘汰我”,而是 “别人用 AI 比我快三倍,我还在徒手写样板代码”。把 AI 当作和编译器、搜索引擎同级的杠杆,去啃更难的系统设计与业务问题,才是这场技术浪潮里最稳的站位。

0

评论0

请先
显示验证码
没有账号?注册  忘记密码?