跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonVScodeAI

读李宁《AIGC 自动化编程》:大模型时代的复杂问题分解与合并

AIGC 自动化编程的核心在于化繁为简。面对复杂需求,不能仅依赖单一提示词,而应遵循先分解后合并的原则。建议流程包括手写需求梗概、LLM 扩展详细需求、设计框架、LLM 细化方案、生成代码结构、创建项目及分步实现。ChatGPT 擅长生成完整方案,GitHub Copilot 擅长代码补全与微调,两者混合使用效果更佳。关键在于设计接口将小问题作为黑盒,确保局部修改不影响全局,最终用户的能力决定了 AI 的上限。

steve发布于 2026/4/10更新于 2026/10/2395 浏览

读李宁《AIGC 自动化编程》:大模型时代的复杂问题分解与合并

提到李宁,除了体操王子,计算机图书领域也有一位同名作者。早年读过他写的《Python 从菜鸟到高手》,深入浅出,理解深刻,行文易懂,因此对这位作者一直怀有敬意。

近期翻阅了他于 2023 年 10 月出版的《AIGC 自动化编程 -- 基于 ChatGPT 和 GitHub Copilot》。虽然时光荏苒,技术进步飞速,书中部分细节已显陈旧,但其中核心思想——解决复杂问题的通用做法就是先分解后合并,依然极具价值。在 LLM 日益成为日常工具的今天,这一方法论显得尤为关键。

当前 AI 编程的实战路径

从 2024 年初的 ChatGPT 爆发,到近期 DeepSeek、Gemini 等模型的迭代,大模型本身已足够强大。ChatGPT、DeepSeek、Doubao、Claude、QWen 等工具越来越靠谱。在编程领域,GitHub Copilot、Cursor、CodeGeex 等辅助工具;在工作流 Agent 方面,FastGPT(企业级知识库 RAG)、Dify 等;以及遵循模型上下文协议 MCP 的工具链,都是为了基于 LLM 能力实现具体功能,安全地赋能私有数据,并尽量消除概率性输出带来的不确定性。

在编程领域,把复杂需求分解(breakdown)然后合并,是传统做法。借力大模型,更靠谱的路径也是如此。以比较复杂的项目为例,我的经验如下:

  1. 手写需求梗概:明确核心目标。
  2. LLM 扩展成详细需求:多轮对话反复打磨,最好是对 feature 的分步走式开发:MVP 原型 -> feature delta 1 -> ... -> full feature ready。
  3. 手写设计框架:模块分割,技术架构。
  4. LLM review 细化:多轮对话反复打磨设计方案。
  5. LLM 生成代码文件结构:获取框架代码。
  6. VSCode 中创建项目:Copy LLM code,生成 MVP 原型代码,手动试验。
  7. VSCode 中 GitHub Copilot 分步实现:根据详细需求中的功能,渐进式地开发。

驾驭 AI 之感悟

关于让 AI 为自己编写代码,核心在于化繁为简。有人说 ChatGPT 的编程能力可以达到中级程序员的程度,其实这样评价太过肤浅。ChatGPT 的能力能达到什么程度,很大程度上取决于它的使用者。就像同一把小提琴,由顶级演奏家演奏和培训班学生演奏的效果云泥之别。

对于同一把小提琴,不同人演奏会出现完全不同的效果。ChatGPT 也一样,到底能解决多复杂的问题,并不完全在于模型本身,而在于使用者如何处理复杂问题,如何化繁为简。如果问题相当复杂,就算提示词写得完美无缺,ChatGPT 可能也无法完美解决问题。要将复杂问题分解,再分解,直到 ChatGPT 可以完美解决为止。

当然关键点还不是分解,而是 ChatGPT 解决完每一个小问题后,如何将它们合并成最初的大问题。所以关键中的关键是设计一套接口,将小题作为黑盒。不管小问题解决得怎么样,都不会从根本上影响全局,某一个小问题解决不好,单独处理即可。

就像用 ChatGPT 实现的复杂布局一样,将每一部分的布局单独作为一个类,放到单独的 Python 文件中。而不是将代码直接插入主程序,就算某一个布局类不能满足要求,重新生成这个类即可,完全不影响其他布局类和主程序。

影响 ChatGPT 使用效果的关键点主要有以下几个:

  • 提示词:这是最基础的,就像唱歌不跑调是最基本的要求一样,如果提示词不合适,一直没说清楚,自然也不会生成想要的内容。
  • 复杂问题的分拆技巧:这是让 ChatGPT 升华的关键,也决定着处理复杂问题的天花板。需要自己领悟,通过大量案例体会如何分拆各种类型的技术问题。
  • 设计接口:分拆容易,但组合的关键就是接口。
  • 组合问题:这是最后一步,也是最关键的一步。利用接口逐渐将不同级别的小问题逐级合并较大的问题,直到恢复到最初的复杂问题为止。

总之,你有多强,AI 就有多强!

小结

本章以桌面应用为例,深入讲解了如何将一个复杂的程序分解成多个小部分,然后分别利用 ChatGPT 和 GitHub Copilot 生成不同部分的代码,最后再将这些代码合并成一个大系统。其实应用 AI 代码生成工具的关键点只有一个,就是化繁为简。

另外,ChatGPT 与 GitHub Copilot 虽然都能生成代码,但是二者并不能互相取代,各有千秋。ChatGPT(尤其是 Plus 版)生成完整方案的能力要比 GitHub Copilot 强,所以通常使用 ChatGPT 完成初步的代码生成,利用 GitHub Copilot 的代码补全功能对初步生成的代码进行微调,或者根据上下文生成新的函数、方法、语句等,以及完善和检测已经存在的代码。

总之,类似于 ChatGPT、GitHub Copilot 这样的 AI 代码生成工具通常要混合使用,才能达到比较理想的效果。

目录

  1. 读李宁《AIGC 自动化编程》:大模型时代的复杂问题分解与合并
  2. 当前 AI 编程的实战路径
  3. 驾驭 AI 之感悟
  4. 小结

更多推荐文章

查看全部
  • 基于 LLaMA-Factory 微调 Qwen3-VL 多模态模型实战
  • C++ STL 排序及相关操作详解
  • Llama 开源家族演进:从 Llama-1 到 Llama-3 深度解析
  • 大模型应用架构:从零解读检索增强生成 RAG
  • AirSim 无人机仿真平台零基础部署实战指南
  • C++ STL 详解:list 容器底层实现分析
  • 前端流式输出技术:核心原理与实战方案
  • LeetCode 滑动窗口算法初阶详解
  • OpenClaw 在 Linux 下的安装、初始化与 Web UI 配置指南
  • OpenClaw 接入 QVeris 实现 AI 助手实时数据查询
  • .NET 集成 GoView 低代码可视化大屏实战指南
  • Redis Hash 数据类型及相关指令详解
  • 基于大模型的自助式 AI 对话系统构建与应用
  • 通义万相 2.1 多模态生成能力解析与落地实践
  • HarmonyOS Stage 模型详解:从架构演进到实战落地
  • 绿盟校招 C++ 研发工程师一面面试复盘
  • AI 智能编码工具深度测评:Copilot、Comate 与通义灵码对比
  • C++26 constexpr 重大突破:编译时计算优化方案
  • Trae AI 技能创建指南:自动保存提示词功能实现
  • 基于 GitLab CI/CD 与 DeepSeek 的 AI Code Review 自动化方案

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online