← 回到学习笔记
· 2453 字

AI发展历程与AI编程优缺点分析

梳理生成式 AI 与 AI 编程的发展脉络,分析不同使用者的收益、风险与可落地的工作方法。

学习目标

了解 AI 技术从模型能力到实际应用的演进逻辑,正确认识 AI 编程能解决什么、不能解决什么,并建立可验证、可维护的使用方式。

一、先区分几个容易混淆的概念

  • 大语言模型:能够理解和生成文本、代码等内容的基础模型,是许多 AI 应用的能力来源。
  • AI 工作流:把“收集信息、判断、生成内容、发送结果”等步骤连接起来,让固定流程自动执行。
  • AI 智能体:在工作流基础上增加任务分解、工具调用、状态保存和多轮决策能力的系统。
  • AI 编程:人用自然语言、示例、代码或规范描述需求,AI 协助生成、修改、解释和测试程序的工作方式。

它们并不是彼此替代的关系。AI 编程可以用来开发工作流和智能体;工作流和智能体也可能调用大语言模型完成其中的某个环节。

二、AI 应用的发展脉络

AI 的发展不是线性“旧工具被全部淘汰”的过程,而是能力不断叠加、应用边界逐步扩展的过程。

1. 基础模型与深度学习积累期

在生成式 AI 广泛进入公众视野之前,机器学习和深度学习已在图像识别、语音识别、推荐系统和自然语言处理等场景中长期应用。这一时期的系统通常围绕单一任务训练和部署,开发门槛较高。

2. Transformer 与大模型能力形成

Transformer 架构推动了更大规模的语言模型发展,使模型能够在同一套能力上完成问答、摘要、翻译、写作和代码生成等多种任务。对普通用户而言,AI 开始从“隐藏在产品里的算法”变成可直接交互的工具。

3. 对话式生成 AI 普及

2022 年后,对话式产品让更多人以自然语言使用生成式 AI。它降低了信息检索、初稿撰写和代码解释的门槛,但输出仍可能出现事实错误、遗漏上下文或编造引用,因此不能把回答当成无需核对的结论。

4. 工作流、智能体与工具调用

当模型能够调用搜索、数据库、表格、浏览器或内部系统时,AI 可以参与较完整的业务流程。例如,自动整理表单、生成日报、分类工单、辅助客服或批量处理文档。此类系统的价值取决于流程设计、数据质量、权限控制和异常处理,而不只取决于模型本身。

5. AI 编程与软件交付协作

近两年,代码补全、代码问答、项目级修改和编码智能体使 AI 更深入地参与软件开发。开发者可以让 AI 协助阅读代码、生成测试、编写重复性逻辑和排查错误;非程序员也能更快做出小工具原型。与此同时,需求澄清、架构取舍、测试验收和安全责任仍然由人承担。

三、AI 编程能带来的价值

对非程序员

  1. 更快验证想法:可以先把业务流程、字段和页面需求写清楚,再生成可演示的原型或小工具。
  2. 减少重复劳动:对格式固定的文档整理、表格处理、信息分类等任务,AI 可以帮助生成自动化方案。
  3. 放大行业经验:熟悉业务的人更容易描述真实问题,也更能判断生成结果是否可用。

这里的关键不是“不会编程也能一次做出完整产品”,而是用 AI 缩短从需求到原型的距离。涉及支付、账号、客户数据或生产系统时,仍应由具备相应经验的人审核。

对程序员

  1. 加快重复性工作:可用于样板代码、接口封装、文档、单元测试和常见脚本的初稿。
  2. 降低陌生技术的进入成本:AI 能帮助解释报错、比较方案和定位相关代码,但不应替代官方文档和实际验证。
  3. 腾出时间处理高价值问题:把更多精力投入需求边界、系统设计、性能、安全和交付质量。

效率提升幅度会因项目、语言、代码库质量和使用方式而变化,不能简单承诺固定倍数。对复杂项目而言,审查和测试往往仍是主要成本。

四、AI 编程的局限与风险

1. 需求不清,输出就不可靠

AI 会根据输入补全细节。若需求只写“做一个管理系统”,它很可能生成看似完整、实际不符合业务规则的代码。应明确用户角色、输入输出、异常场景、性能要求和验收标准。

2. 生成代码不等于正确代码

AI 可能使用过时 API、错误依赖、不可运行的示例,或在边界条件下出错。提交前至少应执行构建、测试、静态检查,并人工阅读涉及权限、支付、删除和数据写入的代码。

3. 数据与合规边界

不要将密码、密钥、身份证号、客户数据、内部源代码或未公开业务资料直接粘贴到不受控的外部服务。使用企业数据前,应确认服务协议、数据留存策略、访问权限和所在地的合规要求。

4. 基础能力不能完全外包

长期只接受 AI 的答案,可能削弱排错、建模和判断能力。更合理的方式是让 AI 提供候选方案,再通过日志、测试、文档和实际运行结果建立自己的判断。

5. 维护成本会延后出现

原型阶段生成代码很快,但如果缺少目录规范、依赖锁定、测试和文档,后续修改会越来越困难。AI 加速了创建,也会加速技术债积累。

五、一个更稳妥的 AI 编程流程

1. 先写问题,不急着写提示词

用几句话说明目标用户、要解决的具体问题、输入数据、期望输出和不能触碰的边界。先把问题讲清楚,往往比反复更换模型更有效。

2. 把任务拆小

将“做一个系统”拆成页面、数据结构、接口、权限、测试和部署等可验收的小任务。每完成一步就运行和检查,避免一次生成大量无法定位问题的代码。

3. 让 AI 解释修改,而不是只要结果

要求 AI 同时说明修改了哪些文件、为什么这样改、可能的风险和验证命令。这样既便于审查,也能积累自己的工程经验。

4. 用测试和真实数据验收

至少覆盖正常流程、空数据、错误输入、权限不足和网络失败等场景。测试数据应脱敏,生产数据应经过授权和备份后再操作。

5. 将 AI 作为协作者

人负责目标、约束和验收;AI 负责提案、初稿和重复劳动。把责任边界写清楚,才能把效率优势真正落到可维护的成果上。

六、学习建议

  1. 从自己熟悉的重复工作开始,例如批量整理表格、生成固定格式文档或查询日志。
  2. 学会写清楚需求,并为每项任务设置可检查的完成标准。
  3. 补足基础知识:文件、网络、数据格式、版本控制、测试和权限管理。
  4. 对新工具保持好奇,但不要把“工具名称”当成能力本身;能迁移的能力是拆解问题、验证结果和持续学习。

本篇小结

AI 编程降低了实现想法的门槛,但没有取消对专业判断的要求。对非程序员,它更像把行业知识转化为工具的加速器;对程序员,它更像扩大交付能力的协作者。

真正可靠的做法不是盲目追逐某个热点工具,而是从真实问题出发,在数据安全、测试验证和长期维护的约束下使用 AI。

技术指导来自:Python4Office