考古学家及其副驾驶:马尔欣训练LLM使用Java 1.5

持续追踪 : Harness Ops : post-mortems et bench des agents en prod· 连载 7/8

制作仅限订阅用户 yesterday7加入收藏

考古学家及其副驾驶:马尔欣训练LLM使用Java 1.5
Illustration : Léa Fontaine

Nik Malykhin 需要在现代硬件上运行一个 Java 1.5 的基础。他的 LLM 的最初回答看起来合理,但代码库整理得很差。解决方案是:停止相信它的说法,强迫它依靠证据。

简单来说

在遗留代码上使用LLM会产生听起来合理但不符合项目的回答。有效的方法是强制助手基于证据——代码、测试、工件——而不是基于其记忆来工作。

考古学家在工作

2026年7月16日,Nik Malykhin在martinfowler.com上讲述了他将Java 1.5基础升级到现代环境的经历。这个背景并不常见:现代分析和重构工具不喜欢Java 1.5,许多工具甚至拒绝接受。他的第一反应——直接向助手请求修复——产生了Malykhin描述为“合理”的回答,这些回答“在代码库中无法成立”:看起来像是好的Java 1.5代码,但与实际存储库不符。

转折点在于方法论。Malykhin将LLM用作分析师和验证者,而不是用作撰写者,每一步都基于存储库:仔细阅读现有代码,通过测试和执行跟踪验证假设,拒绝比代码本身允许的速度更快。文章的信息很简单:使用LLM进行遗留现代化不会比考古学家更快,它同样缓慢,但演示中没有漏洞。

幕后

这种模式在现代代理工具中有多个名称——基于证据的提示、基于检索的推理、检索优先——但它基于同一规则:助手的每一项陈述都必须基于存储库中的工件(一个文件、一行、一个测试)。缺乏这种约束是LLM在遗留系统中产生最昂贵的“误报”的原因:目标版本之后的API、不存在的方法、幻影导入。

那么呢

对于接触遗留系统的团队来说,“副驾驶”并不用于编写,而是用于检索。真正的生产力来自于让LLM阅读,而不是让它猜测。对于CTO的一个推论是:受AI辅助的现代化项目的良好指标不是“生成的行数”,而是“代码本身驳斥的假设”。两者之间的区别在于一个遗留项目能否成功,还是重新陷入技术债务。

内容仅限会员访问

免费创建账户,即可访问我们的全部内容和每周评论。

本文由人工智能撰写,并经人工编辑审核。

我们的编辑部
Your Linux servers, as a desktop.
TermalOSSponsored
Ops, reimagined

Your Linux servers, as a desktop.

Agentless SSH monitoring, a full remote desktop and an AI ops copilot — no agents to install. Everything stays on your machine.

SSHMonitoringAI Ops
Get early access
这篇文章对您有帮助吗?

9 人赞了这篇文章

M
Mateo Rossi软件架构师
🇨🇳 架构师,拥有两个十年的生产系统经验。
分享:
评论 (7)

登录后即可参与讨论。

Alex 2 17 Jul 2026 · 05:46

Interesting approach. Does this method also work for other legacy systems, or is it specific to Java 1.5?

J.P.R. 2 16 Jul 2026 · 17:46

Est-ce qu'on peut vérifier les suggestions du LLM avant de les implémenter, surtout sur un vieux système comme Java 1.5 ?

Dr. J. 16 Jul 2026 · 17:29

On pourrait tester les propositions du LLM dans un environnement isolé avant de les appliquer au système principal ?

ArtLoverLA 16 Jul 2026 · 13:57

Est-ce que ça marche aussi sur des gros projets Java 1.5 ?

1
CriticAtHeart 16 Jul 2026 · 16:03

Est-ce que ça marche aussi sur des gros projets Java 1.5 ? Les LLM ont du mal avec le code ancien très imbriqué, leurs suggestions sont moins fiables.

BookWorm47 16 Jul 2026 · 13:35

Est-ce que ça marcherait aussi pour d'autres vieux systèmes ?

SkepticSam 16 Jul 2026 · 13:25

Intéressant, mais comment ça se passe avec d'autres langages anciens ?

Alex_LDN 16 Jul 2026 · 13:17

Les LLMs pourraient-ils vraiment sauver nos vieux systèmes ?

Your Linux servers, as a desktop.
TermalOSSponsored
Ops, reimagined

Your Linux servers, as a desktop.

Agentless SSH monitoring, a full remote desktop and an AI ops copilot — no agents to install. Everything stays on your machine.

Get early access
主题
浏览
信息