中文内容
2026年3月,三个 LLM 智能体生成了超过60万行代码,运行了850次实验,并帮助在一项 Kaggle Playground 竞赛中获得第一名。
现代机器学习竞赛的成功越来越取决于你能多快生成、测试并迭代想法。LLM 智能体结合 GPU 加速,显著压缩了这一循环。
从历史上看,有两个瓶颈限制了这种实验:
- 你能多快为新实验编写代码。
- 你能多快执行这些实验。
GPU 以及 NVIDIA cuDF、NVIDIA cuML、XGBoost 和 PyTorch 等库在很大程度上解决了第二个问题。LLM 智能体如今正在解决第一个问题——释放快速、迭代式实验的新规模。
这篇博客文章介绍了我如何使用 LLM 智能体来加速发现性能最优的表格数据预测解决方案。
案例研究:Kaggle Playground 流失预测
2026年3月的 Kaggle Playground 竞赛要求参赛者预测电信客户流失,性能以曲线下面积(AUC)衡量——最准确的方案获胜。
第一名方案是一个由150个模型组成的四层堆叠,这些模型从850个模型中选出。

有引导的 LLM 智能体工作流
在这项表格数据竞赛中,我引导 LLM 智能体遵循上一篇博客文章中描述的 Kaggle Grandmaster 方法手册。
具体来说,LLM 智能体遵循一个工作流:从探索性数据分析(EDA)开始,然后构建基线,随后进行特征工程,最后通过爬山法和堆叠来组合模型。
该方案使用了多个 LLM 智能体——GPT-5.4 Pro、Gemini 3.1 Pro、Claude Opus 4.6——并采用人在回路中的工作流。
步骤1:LLM 智能体执行 EDA
LLM 智能体在生成完整流水线之前必须理解数据结构。
关键问题包括:
- 训练集和测试集中有多少行和列?
- 目标列是什么,它的格式如何?
- 任务是分类还是回归?
- 有哪些特征可用,它们的格式如何?
- 哪些特征是类别型或数值型?
- 是否存在缺失数据?
这些信息可以预先提供,也可以通过 EDA 自动推断。

如果在聊天窗口中使用 LLM,可使用如下提示:
“Please write EDA code to explore the CSV file train.csv and test.csv. I will run the code and share the plots and text back with you.”
如果使用带代码执行能力的 LLM(如 Claude Code),那么可以让 LLM 编写并运行自己的代码来理解数据。
“Please write and run EDA code to understand the CSV files train.csv and test.csv”
步骤2:LLM 智能体构建基线
一旦 LLM 理解了数据,特别是特征列和目标列,就可以通过向 LLM 请求一个特定模型,编写第一个完整流水线来训练 kfold 模型。
“Please write full code pipeline to read train.csv and test.csv and train a kfold XGBoost model. Save the OOF (out of fold predictions) and the Test PREDS to disk as Numpy files. Display the metric score each fold and overall.”
将输出代码复制并粘贴到你的代码库中。使用命令行或 IDE 智能体时,让它直接创建 Python 或 Jupyter Notebook。
运行代码以获得你的第一个 CV 指标分数、OOF 文件和 Test PRED 文件。
你可以让 LLM 构建多种基线,包括 GBDT、NN 和 ML 模型。每个实验都会报告一个 CV 分数,并将预测保存到磁盘,文件名为:“train_oof_[MODEL]_[VERSION].npy”和“test_preds_[MODEL]_[VERSION].npy”。
这些文件很重要,我们稍后会用到。
步骤3:LLM 智能体执行特征工程
我们现在已经有了一组多样化的模型,并知道它们的基线 CV 指标分数。我们可以通过特征工程和/或模型调优/改进来提升每个模型。特征工程侧重于转换数据,使模型能够提取更多信号。模型调优/改进则侧重于修改模型以提取更多信号。LLM 智能体在这两项任务上都表现出色。
迭代运行实验,并保留所有能改进模型的想法,会带来越来越好的模型。对于每个实验,无论好坏,都始终将 OOF 和测试预测保存到磁盘。

LLM 智能体可以按照我们需要的速度编写代码。为加快循环,我们始终使用 GPU 以及 cuDF、cuML、梯度提升决策树 GPU 和 PyTorch GPU 等 GPU 库,以尽可能快地运行每个实验。
为了产生新想法,我们可以自己提出,也可以让 LLM 生成。有许多有效方式可以鼓励 LLM 生成想法,例如:
- 让 LLM 查找并阅读该主题的研究论文。
- 让 LLM 阅读该主题的论坛和公开共享代码。
- 让 LLM 执行 EDA,以确定特征与目标之间的关系,用于特征工程。
- 基于当前知识库向 LLM 征求想法。
- 让人类与 LLM 一起头脑风暴,共同产生想法。
使用我们的一个想法,我们可以让 LLM 智能体基于旧代码创建新代码:
“Please write me a complete replacement code for the code below that uses XYZ instead of ABC”.
我们现在有了一个新的实验可以运行!
步骤4:LLM 智能体组合模型
此时,我们拥有大量实验结果,每个结果都有自己的模型,并在 Python 脚本或 Jupyter Notebook 中保存了不同的特征工程。LLM 智能体擅长组合所有这些模型和想法,并能帮助我们以多种方式使用和管理所有模型,例如:
- 总结所有模型类型和特征工程。
- 组合来自不同模型和特征工程的想法,构建新的、更强的单一模型。
- 从不同模型构建集成。
- 将模型堆叠在其他模型之上。
- 使用一些模型进行伪标签/知识蒸馏,以形成新的、更强的单一模型。
我喜欢首先做的一件最有用的事,是让 LLM 智能体总结我们的所有实验。我们可以将文件拖放到聊天窗口中,或使用 LLM 命令行智能体(如 Claude Code)读取多个文件并汇总结果。这有助于我们更好地理解数据和问题,显示哪些方法正在奏效。
一种强大的技术是让 LLM 智能体将多个想法/模型组合成一个单一模型。
“Can you read all these IPYNB files and use all these ideas to write full code to train a new single XGBoost model which is stronger than all of these models?”
另一种技术是将我们部分或全部模型的知识迁移到一个单一模型中。我们使用 OOF 和测试预测(本质上是伪标签)将知识迁移到一个新的、更强的单一模型中。
“Can you please train a new single NN or GBDT using knowledge distillation from all our OOF and Test PREDs and make a new high performing single model?”
上述两种技术都会产生新的实验以及新的 OOF 和测试预测文件。每个基线模型,以及每个包含新特征工程和/或模型改进的实验,都有对应的 OOF 和测试预测文件。拥有数百个文件很常见。现在我们可以让 LLM 使用爬山法和/或堆叠进行组合。
“Can you please try combining all our OOF and Test PREDs using various meta models? Please try Hill Climbing, Ridge/Logistic regression, NN, and GBDT stackers. Thanks”
结果
按照上述四个步骤,我们创建了一组多样化的模型。然后提升每个模型的性能。最后,将所有内容组合成一个强大的解决方案。优势在于利用 GPU 加速的模型执行和 LLM 智能体更快地编写代码,从而快速探索许多想法。每个人在为自己的表格数据预测任务寻找性能最优方案时,都可以采用这些技术。
开始使用
准备好加速你的结果了吗?可以从探索 cuDF 和 cuML 库以及用于数据科学的 CUDA-X 开始。
如需更深入学习,可通过 DLI 关于特征工程的研讨会提升技能。还可以从文章 The Kaggle Grandmasters Playbook: 7 Battle-Tested Modeling Techniques for Tabular Data 中获取专业策略。
标签














