AI能否自己造AI?工程视角拆解LLM Agent自动训练模型全流程
2026/9/5 19:46:24 网站建设 项目流程

这个话题在我朋友圈里吵了小半个月:AI到底能不能自己造AI?有人说这就是营销话术,模型再强也只是一堆权重参数;也有人拿最新实验说事,说现在Agent已经能独立完成深度学习模型的搭建和验证了。我一开始站的是前一派,直到我自己把一套实验跑通——大模型Agent从零生成数据预处理脚本、训练代码,自动跑出一版测试集精度79%的小分类模型,又回头把报错改完、把ONNX导出接上。那一刻我承认,工程意义上的"AI自己造AI",是真的能做出来。

先说清楚,这不是什么"模型觉醒"或者"人工智障瞬间有了灵魂",它背后是工程链路的成熟:AI负责当大脑拆任务,外部的执行器当手,日志系统当眼睛,再加上一套验收标准和循环机制,把过去"人盯着写代码、跑实验、调参"的流程给压缩成了一个可自动滚动的闭环。这篇文章就围绕这条主线来写,把这个被炒得玄乎的概念拆开,讲清楚它到底在哪个层面成立了,实际跑起来需要哪些工具,会遇到什么坑,以及它对做AI产品、做应用开发的人来说意味着什么。

1. 先把定义扯清楚:到底什么叫"AI自己造AI"

1.1 三层含义,别混着吵

很多人争论"AI能不能造AI",其实三个人说的根本不是同一件事。我见过最少有三种理解:第一种是说AI能自动生成代码,让程序员不用一行行敲,典型的就是AI编程助手;第二种是说AI能自动设计神经网络结构、自动调超参,过去叫AutoML,现在被大模型重新激活了;第三种才是真正接近标题党表达的意思——AI拿到一个目标后,自动完成数据准备、模型选型、训练、评估甚至部署的全部过程,产出一个可用的AI能力。

这三种理解的重要程度不一样。第一种早就是日常,Cursor、Claude Code这些工具让我写代码的效率提了不止一个档次。第二种也不算新概念,Neural Architecture Search十年前就有团队在搞,只是成本太高,落地场景有限。第三种是目前社区最有争议的地方,因为它更像一个完整的"研发闭环":从需求到成品的链路不再需要人卡在每个环节。

所以别人问"AI到底能不能自己造AI",我一般会反问:"你说的是哪一层?"如果讲的是AI自动把整个机器学习项目做下来,那答案比很多人以为的要肯定得多,不是未来时,已经是现在进行时。

1.2 一个被误读的"自我复制"

网上有些人聊这个概念,喜欢把话题往"AI会不会自我繁殖"上引。这个方向在我看来不太对。大模型本身没有任何自我延续的驱动力,它既没法给自己加载梯度,也没有办法直接改自己那份几十GB的权重文件。它能做的最多是生成一份"另一个AI"的代码、模型结构或训练配置,再通过执行器把它跑起来。

这个区别很重要。AI造出来的"AI",对模型自己来说是外部对象,就像程序员用编辑器写出一个新程序,编辑器并不因此变成那个程序。"自我复制"这个说法带着拟人滤镜,容易制造不必要的恐惧,也不太符合实际发生的过程。真正在做AI应用开发的人应该关注的是:如何让Agent把"写模型代码"这件事自动化到可以交付的质量,而不是纠结它有没有意识。

1.3 目前能落地的边界

我实际跑过的边界大概这样:如果目标是构建一个结构相对清晰、数据格式规范、验收标准明确的模型,比如图像分类、文本分类、表格预测,AI Agent在给定计算资源和时间预算的情况下,真的能独立完成开发。可一旦需求模糊到需要大量跟业务方来回沟通、或者数据脏到需要人来判断哪些字段是噪声、或者要在多个利益方之间权衡指标,Agent还是不太行。

边界由三样东西决定:任务能否被清晰表述、执行环境能否提供明确反馈、验收能否量化。这三个条件都满足的AI项目,就是Agent最容易发挥的土壤。这也是为什么我经常建议朋友不要一上来就让Agent复刻一个巨型推荐系统,而是先拿一个内部小模型、小数据集练手,跑通闭环比"试图一步到位"重要得多。

2. 为什么说"有人做出来了":从工程闭环看实现路径

2.1 传统 AutoML 的"旧路线"

在讨论大模型Agent之前,值得花点篇幅说说AutoML,因为这个概念早就验证了"机器能自己设计模型"。早期NAS的思路很直白:定义一个搜索空间,比如卷积核大小、层数、通道数,再让强化学习或者进化算法在其中搜,跑几千次实验找精度最高的结构。Google后来把它做成了Cloud AutoML,微软开源过NNI,Keras也有Keras Tuner。

这套方案理论上没问题,但落地真的贵。搜索网络结构需要大量算力,一个稍大点的任务跑几百个小时GPU也很正常。更麻烦的是,搜出来的网络结构往往没有可解释性,工程师看完只会觉得"这也能行",然后陷入模型部署时的适配难题。所以传统AutoML更多被用在中小型任务和Tabular数据场景里,真正大规模替代算法工程师的情况很少。

但它的工程遗产非常重要:它证明了"模型自动生成模型"不是空想,缺的只是成本和效率的解法。而大模型Agent走的是另一条路,不搜索参数空间,转而用自然语言直接生成一套更接近人类工程师会写出的代码。

2.2 LLM Agent 如何把"造 AI"变成流水线任务

这里要提一下"Agent"到底在干什么。抛开花哨的定义,核心流程就四个词:拆解、执行、反馈、修正。接到"给我训练一个CIFAR-10分类模型"这类需求后,Agent先把这个任务拆成子任务:第1步准备数据、第2步设计模型、第3步写训练脚本、第4步运行、第5步根据日志决定修改方向。接着它调用代码解释器或终端执行,再把stdout、stderr里的报错作为下一轮上下文。

重点在于,这个流程能成立不是因为大模型"更聪明"了,而是因为整个外围工具链允许它盲目试错。人类工程师跑代码报错时会看具体堆栈,Agent也一样,只是它不会感觉烦躁。如果报错信息不够明确,它还会主动打开文件读源码再判断,相当于把"读日志、改代码、重跑"这个循环给完全自动化了。我见过不少Agent一遍遍卡在同一个错误上,那通常是反馈设计出了问题,不是模型能力不足。

说白了,Agent造模型这件事之所以从Demo变成可复现实验,核心就两个原因:一是大模型写代码的水平已经到了能用的程度;二是工程上把执行、日志、文件读取这些能力开放给了模型,让它不再是只会在对话框里输出建议的聊天机器。

2.3 一套通畅的 Agent 工具链长什么样

要支持"AI造AI"这个过程,工具链里大概得有这么几个角色:一个是负责调度的编排层,类似LangGraph、AutoGen或者自研的状态机;一个是能执行Python代码和命令行命令的沙盒环境,比如Docker容器;还有一个是供Agent读取产出文件、写入新文件的文件系统;最后是日志采集模块,把终端输出喂回给大模型。分工明确,缺一个环节闭环都转不起来。

我之前搭过一个最简单的版本,压根没用重型Agent框架,就一个Python脚本加上几个API调用:主流程读取用户需求,调大模型拿到待执行命令,用subprocess执行,把返回结果拼到对话历史里继续追问下一轮。这套东西跑深度学习任务时会比较粗糙,因为长任务里上下文容易爆,所以我后来换成了三层结构:主Agent负责规划,子Agent分别负责写模板代码和检查输出,外层再由状态机控制是否终止。效果比单Agent硬扛好很多,每个Agent的上下文压力小,问题定位也清楚。

工具选择上我不太建议一上来就追求全自动一体化平台。先自己把最小闭环搭明白,理解每一个环节的数据流,后面换哪种框架都会很快上手。

3. 手把手复现:让 Agent 自动"造"一个小型图像分类器

3.1 需求与验收标准

想验证"AI能不能自己造AI",我推荐从一个极小的任务入手:让Agent在CIFAR-10上训练一个轻量级分类模型,不加载预训练权重,模型参数量控制在5M以内,训练20个epoch,batch size设64,最后测试集精度超过0.76,同时导出ONNX。这个任务麻雀虽小但五脏俱全,涉及数据流水线、模型结构、训练配置、评估逻辑和模型转换,所有环节都能在普通单卡上完成。

一定得先定验收标准,这是整套实验里最容易忽略却最关键的一步。Agent自己不知道什么叫"训好了",你得告诉它脚本退出码为0、日志里出现"Test Accuracy"且超过阈值、ONNX文件生成并大小合理,三个条件同时满足才算成功。没有明确验收,它会陷入无止境地微调精度,或者敷衍地打印一份假指标。

我这里用的环境是Python 3.10加PyTorch 2.1版,Docker容器内运行,这样即便Agent把环境装坏了也能秒级重建。跟Agent交互的界面就是一个终端入口,它需要具备的能力包括:读文件、写文件、执行Shell命令、查看目录结构。

3.2 主控调度与子 Agent 分工

为了让流程稳定,我没有让单一对话从头管到尾,而是拆成了三个子Agent,各干各的。第一个叫"结构师Agent",负责分析任务、给出需要创建的脚本清单和每个文件的大致职责;第二个叫"实现Agent",负责按清单写出代码;第三个叫"质检Agent",负责跑命令、读日志,如果失败就把错误信息精简后返回给实现Agent修改。

用一个很简单的调度代码就能表达这个思路:

from dataclasses import dataclass @dataclass class Subtask: name: str agent_role: str input: str output_file: str task_queue = [ Subtask("make_data_script", "architect", "生成CIFAR-10数据加载脚本", "data_prepare.py"), Subtask("make_model_script", "architect", "生成轻量CNN模型定义", "model.py"), Subtask("write_trainer", "architect", "生成训练与评估脚本", "train.py"), ]

实际开发里你不需要把子Agent设计得多复杂,关键是每个Agent的系统提示词里要写清楚它的职责边界和输出格式。比如实现Agent被要求:只允许改工作目录里的文件,不装任何未经说明的第三方包,修改时保留原有注释。质检Agent被要求:运行命令时必须捕获stderr,当报错超过300个字符时做摘要截断,防止不重要的日志污染下一轮上下文。

3.3 一次迭代的完整过程拆解

我自己跑实验的时候,给Agent的任务是中文描述的,然后它自己拆解步骤、生成文件并执行。第一次RUN的结果用日志复盘是这样:

[Planner] 已生成计划:准备数据 -> 定义模型 -> 训练 -> 评估 -> 导出ONNX [Agent] 创建文件 data_prepare.py [Agent] 创建文件 model.py [Agent] 创建文件 train.py [Executor] 运行命令:python train.py --epochs 20 --batch-size 64 [Result] ERROR: RuntimeError: size mismatch for fc.weight: expected [128, 512], got [128, 4608] [Reflect] 模型扁平化后特征维度不匹配,全连接层输入应为4608 [Agent] 修改 model.py 中 fc 层定义 [Executor] 重新运行:python train.py --epochs 20 --batch-size 64 [Result] 第1个epoch结束:loss=2.0112,acc=0.3125 ... [Result] 第20个epoch结束:Test Accuracy = 0.7924 [Executor] 运行导出脚本 python export_onnx.py [Agent] 确认 model.onnx 与 test_input.onnx 已生成 [Result] 验收条件全部满足,任务结束。

这段日志信息量很大。第一轮报错其实是模型结构里一个很经典的维度不一致问题,人看也要想一会儿,Agent因为能看到完整模型代码和报错上下文,很快就定位到了是Flatten之后的特征维度算错了。我在实际项目里发现,Agent写初版代码的出错率并不低,但它在修正环节表现出的耐心和速度远超人类,一次任务平均迭代四五轮就能达到验收线。

3.4 从"能跑"到"真能交付"的补齐工作

很多人Demo做到模型精度达标就停了,但从工程意义上这叫"能跑",离"能交付"还有一段距离。我习惯让Agent在训练完成后继续补四件事:一是生成requirements.txt,把版本锁定到实际跑通的那一组;二是写一个简单README,说清训练命令、评估命令和模型输出路径;三是把所有超参数抽成配置,方便复现;四是把训练过程的关键指标存成日志,比如用jsonl文件记录每个epoch的loss和acc。

补齐工作看似不起眼,但决定了这个"AI造的AI"能否被别人接手。我见过Agent交出的模型脚本只有两个文件,重跑也跑得通,但没人知道当时用的什么学习率、有没有数据增强,这样的半成品在协作者眼里基本等于废墟。所以我给Agent的验收标准里会明确加一条:"在全新环境中按README指令重跑能够复现指标"。

这批文件生成完后,整个流程才真正和人类工程师日常工作对齐。顺着这个思路继续做,你甚至可以让Agent自己写单元测试来检查数据加载是否越界、模型输出维度是否符合预期。相当于把测试驱动开发的理念也嵌进Agent的工作流里,让产出不再是孤零零几个训练脚本。

4. 实际上会遇到的那些坑:现场问题与排查思路

4.1 高频工程问题速查表

任务跑多了以后,Agent"造AI"的过程会暴露出一批很有规律的问题。我整理了一份速查表,基本覆盖了我自己踩过的坑和帮同事排障时遇到的常见场景。

现象根因解决方案
Agent反复提交同样的代码,死循环反馈信息太短,模型没看到错误全貌截断日志时保留最后100行,并给出文件路径让Agent主动去读源码
依赖冲突导致训练脚本反复崩每次重跑都重新解析依赖用requirements.txt锁版本,容器镜像里预装PyTorch、ONNX等核心包
显存不足OOM模型参数量或batch size超出资源执行前把nvidia-smi输出和显存上限告诉Agent,要求模型先评估参数量
训练精度一直不涨Agent一次改多个超参数,变量不可控限制每轮只调一类参数,并固定随机种子
Agent乱用不存在的API大模型记忆过时或幻觉要求Agent先pip show确认版本,或让质检Agent先查看包文档
生成了代码但不动手跑Agent没有权限意识或缺少执行工具把"动手跑"明确写进质检Agent职责,在系统提示词中禁止只输出代码不执行
过度执着刷精度浪费时间缺少明确的终止条件验收标准前置,命中即停,日志和代码留档
跑完任务但没有交付物Agent只完成了训练,不知道要打包将README、requirements、ONNX导出纳入验收标准
脚本里带着本地绝对路径在容器外生成的代码拿回容器执行强制要求所有路径使用相对路径或环境变量
无法区分同一路径下多个模型的输出Agent自己创建了多个目录规划阶段约定统一输出目录,比如artifacts/

这里我最想强调第一行对应的坑。第一次跑Agent实验时,我遇到最窝火的情况是它明明报错信息没看全,却反复提交同一个"看起来对"的修复,以至于死循环。排查后发现是我在给Agent反馈时只截取了报错的最后几行,很多后续状态没传过去。后来我把反馈改为"完整错误前50行+后100行+当前文件树",Agent的修正有效率立刻上来了。

4.2 提示词与系统层面的双重影响

这些坑并不都出在模型智商上,很多是系统设计问题。你给Agent的上下文里如果缺少环境约束,它就凭惯性写代码,自然容易写出超出资源限制的程序。你不能怪Agent自作主张,因为它根本不知道自己的"双手"被绑在128G内存和8G显存的容器里。把这些资源上限、可执行范围、文件操作边界明确写进环境描述,能让错误收敛一个数量级。

提示词层面还有一个容易被忽略的点:不要用"尽量"、"最好"这类模糊词定义完成标准。Agent没有人类那种心领神会的能力,它需要的是可以程序化判断的条件。训练多少轮、精度阈值多少、导出成什么格式、文件放在哪个目录,全部要变成能被脚本check的条件。工程上有个习惯叫"验收即断言",这个理念放在Agent协作里同样适用,做不到每一条都有明确断言,Agent就会用各种奇怪的方式"偷懒"。

4.3 安全边界和人工兜底

让AI自己生成代码并执行,有个绕不开的话题就是安全。在一次自动造模型的实验里,Agent理论上完全有可能顺手执行一个删除操作或者往任意网络地址上传数据。虽说不至于发生在大模型默认行为里,但工程实践不能靠"巧合安全",得靠机制兜底。

我的做法是三层限制:最外层是容器隔离,Agent只能在我指定的Docker容器里执行命令,文件系统挂载只读的宿主机目录,网络默认禁掉,只有训练需要访问的镜像源走白名单;中间层是所有交互命令都要经过一个执行过滤器,写黑名单拦截rm -rf、格式化等危险操作;最内层是日志审计,Agent每次文件和命令读写都有记录,事后能拿出来逐条复盘。这套约束不会妨碍正常开发,但能把"AI造AI"的容错率提上去。

另外,涉及真实业务数据时一定要有人工审批环节。Agent可以生成数据处理脚本,但真要它在生产库上跑迁移或清洗,我坚持先人工审一遍。不是不相信Agent能力,而是业务数据出了问题,兜底的还是人,这个责任链条没法完全外包给模型。

5. AI产品经理和工程师的新角色:从造轮子到定标准

5.1 开发范式转变下的机会

"AI能自己造AI"这个大前提如果被接受,受影响最大的不是算法工程师的岗位数量,而是大家每天把时间花在什么上。过去做AI应用,团队里至少得有数据工程师处理数据、算法工程师调模型、后端工程师做部署,现在很大一部分模型开发工作能被AutoML和Agent压缩,我身边的AI产品经理已经开始直接跟Agent交互,自己动手拉数据、定验收指标、看模型报告了。

这个过程里最重要的工作从"写代码"转移到了"定义问题"。模型结构用ResNet还是MobileNet这种决策,Agent完全可以处理;真正难的是想明白业务要的是98%的精确率还是更好的召回率、线上推理时延能接受多少、模型偏见怎么评估。这些不上手调代码也能决定的判断,反而成了最值钱的技能。越早习惯"把问题定义清楚再扔给Agent"的人,在接下来的协作模式里越占便宜。

5.2 AI Agent 的可观测与审计

自动化程度越高,可观测性越重要,这是软件工程的老规律,放到Agent驱动开发里也一样。Agent自动训练模型时,你不可能像盯实习生那样实时站在旁边,必须靠系统记录来复盘它每一步做了什么。除了命令日志和文件变更记录,我更建议把Agent每一次决策前的完整"想法"也存档,这样就算结果不对也能回溯是哪一步的输入或提示词误导了它。

我现在的做法是给每次Agent任务生成一个追踪ID,所有动作按时间序列写入数据库,包括当前轮次、消费的Token数、调用的工具、返回码、关键日志摘要。排查问题时直接按追踪ID拉出完整时间线,效率比看对话记录高得多。这套思路本质上是把Agent当成分布式系统的一个节点去观测,只是它的"执行逻辑"不在代码仓库里,而在模型的上下文里,所以审计日志成了唯一可信依据。

5.3 小团队如何低成本试水

别被上面那一堆工具链吓到,小团队想试水完全可以从轻量方案开始。我推荐的起手式是:租一台带8G显存的GPU机器,装好Docker和Python环境,用一个现成Agent框架接上API,选一份公开数据集,给Agent布置一个"训练一个分类器并打包"的任务。一天时间足够把闭环跑通。

第一版别追求完美,先观察Agent怎么拆解任务、在哪些环节卡住、生成的代码质量如何。跑通后再慢慢补上安全限制、日志审计、并发调度这些工程能力。顺着这个节奏,团队很快会建立起对"AI造AI"这件事的直觉判断,知道哪些需求可以放心交给Agent,哪些还是应该自己动手。

6. 写在最后:我还想提醒你三件事

聊了这么多,最后分享几点我自己的体会,不算总结,就当踩坑后的唠叨。

第一,要区分"能造"和"值得造"。Agent自动生成模型在技术链路里已经能跑通,但并不是所有任务都适合让Agent接管。数据极差、业务目标变化频繁、紧急上线这类场景,人工介入反而更快。工具越自动化,越要保留判断"要不要用"的清醒。

第二,别忽视环境的一次性成本。Agent造模型的整个流程里,环境搭建和依赖管理花的精力常常比写模型代码还多。我建议把可复现的镜像和环境描述文件当作Agent交付物的一部分,否则换一台机器、换一套环境,Agent效果可能断崖式下跌。所谓"AI能稳定造AI",前提是地基足够稳。

第三,把Agent当成需要管理的协作对象,而不是神仙。它能力强,也照样会犯低级错误,会在没有明确验收标准时对着空气优化,会对日志里的异常视而不见。给它清晰的边界、可验证的目标、充足的反馈,它就能干出接近初级工程师的活;什么都不给,它就会用最自信的语气产出最不靠谱的结果。

对我来说,"AI能不能自己造AI"这个问题已经有了很实际的答案:在定义清楚、验收量化、环境可控的前提下,能,而且能稳定地能。至于这个"能"会不会在某一天变成科幻意义上的"能",那是另一个话题,眼下我更愿意把精力放在如何让这套工具链在真实业务里交付高质量的模型上。毕竟,争论不会训练模型,跑通了的代码才会。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询