让AI读懂“登月级”遗留代码:Augment Agent的实战方法论

AI PM 编辑部 · 2025年06月27日 · 3 阅读 · AI/人工智能

正在加载视频...

视频章节

一段写于1969年的登月代码,如何成为今天理解遗留系统的最佳教材?这场演讲用阿波罗11号制导计算机为例,展示了AI Agent如何在理解、测试和现代化遗留代码中真正发挥价值。

让AI读懂“登月级”遗留代码:Augment Agent的实战方法论

一段写于1969年的登月代码,如何成为今天理解遗留系统的最佳教材?这场演讲用阿波罗11号制导计算机为例,展示了AI Agent如何在理解、测试和现代化遗留代码中真正发挥价值。

为什么“遗留代码”才是AI Agent的主战场

演讲一开始,Forrest Brazeal就点明了一个很多工程师的真实处境:真正消耗精力的,从来不是写新代码,而是和“年久失修”的老系统搏斗。复杂、缺乏文档、充满隐含知识的遗留代码库,是大多数AI工具最容易失效的地方。正因如此,他们选择了一个极端案例——阿波罗11号的制导计算机代码。

这套代码写于1969年,用汇编语言实现,几乎全部集中在一个巨大的单体源文件中。Forrest称它为“终极遗留代码库”。更重要的是,这不是一段可以随便失败的代码,它曾经直接决定了人类能否成功登月。通过这个例子,演讲者想验证的不是AI能不能写新功能,而是:AI Agent是否真的能理解深层上下文,并在关键系统中提供可信的帮助。

这背后隐含着一个行业判断:未来AI在软件工程中的价值,不在于替代初级编码,而在于协助人类穿越历史包袱。遗留代码不是技术债的象征,而是组织记忆的载体,谁能读懂它,谁就掌握了系统的命脉。

上下文引擎:让模型真正“看懂”代码库

Matt Ball在介绍Augment Code时,把重点放在了一个听起来并不性感、但极其关键的概念上——context engine(上下文引擎)。他的原话是:“要想从任何模型中得到高质量输出,前提是高质量输入,而这在代码库中并不简单。”

问题在于,真实世界的代码库往往规模巨大、结构复杂,随便把文件丢给模型并不能解决问题。Augment的做法,是通过一套专有系统,从整个代码库中“提取正确的知识”,再传递给模型。这不是简单的全文检索,而是一种面向任务的上下文选择机制。

此外,Augment并不是一个独立IDE,而是作为插件集成到现有开发环境中,比如VS Code。这一点对遗留系统尤为重要,因为工程师往往无法随意迁移工具链。Matt还特别提到了安全性:包括客户自管加密密钥,以及符合ISO 42001这一新的AI安全标准。对于那些把代码视为核心资产的团队来说,这是AI Agent能否落地的前提条件。

1201/1202警报:AI如何在30秒内理解登月危机

演示中最精彩的部分,来自对阿波罗11号登月过程中著名的1201和1202程序警报的解析。当年,这个警报在登月最后阶段响了五次,航天员向休斯顿询问是否中止任务,得到的回复是:“No, you're okay.”

Forrest在VS Code中打开这段汇编代码,坦言“它真的只是一些双字指令”。如果靠人工阅读,他估计自己不可能在30秒内搞清楚警报含义。于是他直接在Augment的聊天模式中提问:“1202 program alarm是做什么的?”

Augment给出的回答结合了代码本身的逻辑和背景解释:这是由于外部雷达系统未关闭,导致制导计算机任务过载。当计算机发现自己“要同时做太多事情”时,就会触发该警报。这正是当年发生的真实情况。

Forrest总结说:“这件事如果让我自己查,肯定超过30秒。”这一刻,AI Agent的价值不在于答案是否炫技,而在于它能否在关键时刻,快速给出“足够正确、可行动”的理解。

从理解到行动:让AI Agent“自动登月”

理解代码只是第一步,真正的挑战在于修改和现代化。演讲的第二个演示,直接进入了Augment Agent的auto mode(自动模式)。Forrest开玩笑说:“我可以让Augment Agent替我登月。”

他的目标是:让Agent基于P65制导逻辑,编写一个Python模拟器文件 simulator.py,并“运行直到成功”。Agent先是制定计划,然后发现缺失文件,自行补写了descent.py,并不断迭代,直到模拟成功“着陆”。

Matt在一旁强调,Agent模式的优势在于它可以处理更大、更复杂的任务,甚至通过remote agent并行解决多个问题,“当你把电脑合上,它还在工作”。这并不是简单的代码生成,而是一种具备推理和反馈循环的执行能力。

这个演示传达了一个清晰信号:AI Agent正在从“回答问题的工具”,演变为“能独立完成子任务的协作者”。但前提是,人类必须清楚地定义目标和边界。

一套可复制的方法,而不是登月神话

在结尾,Forrest刻意拉回现实:“我们大多数人并不是在登月。”他总结了一套更普适的三步法,用于日常遗留系统:第一,用Agent帮助你理解代码;第二,开始写测试;第三,用聊天模式预测行为,再让Agent模式生成测试。

他特别强调,不要完全依赖AI,“花时间自己去读代码”,然后只转换“小而安全”的部分。这套方法既适用于把Java 8项目迁移到Java 17,也适用于那些“更有意思”的老系统。

在Q&A中,有人指出这其实就是测试驱动开发(TDD),Matt回应道:“Agents love to reason and iterate.” 这句话点出了一个关键事实:AI最擅长的,是在有反馈的环境中反复逼近正确答案。遗留代码,恰恰需要这种耐心而系统化的方式。

总结

这场演讲的价值,不在于展示AI有多聪明,而在于展示它在什么条件下才真正有用。通过阿波罗11号这个极端案例,Forrest和Matt给出了一个清晰答案:当AI Agent被喂以正确的上下文、被约束在可验证的流程中,它可以成为理解和改造遗留系统的强力杠杆。对工程师而言,这不是“把工作交给AI”,而是学会如何与一个永不疲倦、善于迭代的搭档合作。


关键词: AI Agent, 遗留代码, Augment Code, 阿波罗11号, 上下文引擎

事实核查备注: 视频标题:To the moon! Navigating deep context in legacy code with Augment Agent;演讲者:Forrest Brazeal、Matt Ball;产品:Augment Code;关键技术:context engine、chat mode、agent mode、auto mode、remote agent;历史案例:Apollo 11 Guidance Computer(AGC)、1201/1202 program alarm;时间点:阿波罗11号登月于1969年;标准:ISO 42001