Is AI making legacy systems more dangerous the more it modifies them?
AI can add a feature in minutes, but modifying a decade-old system risks breaking what worked. A legacy order system links finance, warehousing and logistics; a field others use to judge settlement, a "redundant" block compatible with old data formats—rules whose original developers have left. AI can read code, map dependencies and generate tests, yet may miss undocumented, conditional dependencie

Would You Dare Let AI Directly Modify an Enterprise System That Has Been Running for Ten Years?
Writing a new feature may take AI only a few minutes.
But when modifying a legacy system, what is sometimes most feared is not that it cannot be changed, but rather –
that after the change, the functions that used to work suddenly stop working.
Why?
01.An Example: An Order Management System That Has Run for Ten Years
An enterprise has an order management system that has been running for ten years. Now, the company wants to add a new feature: support a new order type.
This sounds not complicated.
AI reads the code, finds the order module, modifies a few interfaces, adjusts the database structure, and quickly builds the feature.
Run the tests, and new orders can be created and data can be saved.
It looks like the task is complete.
But after going live, the problems appear.
Old customers find that orders that used to be processed normally now occasionally fail.
The finance system receives incorrect order amounts, and the warehouse system also shows a small number of data anomalies.
Why?
Because this system has been running for ten years – it is no longer just a few pieces of code.
It may be connected to finance, warehousing, logistics, and various legacy interfaces.
A field that looks like just an ordinary status value may be used by other modules to determine whether an order can be settled.A piece of code that looks redundant may be there to be compatible with a customer's data format from ten years ago.Some business rules may even have outlived the original developers who wrote them – only the code is still silently executing them.
These things may not have complete documentation, nor can they necessarily be seen directly from a single module.
AI can read large amounts of code, map out call relationships, help developers understand the system, and even automatically generate tests.
But it may still miss dependencies that are not recorded, not covered, or only triggered under specific conditions.
This brings a particularly thorny problem:
You not only have to prove that the new feature works correctly, but also prove as far as possible that the functions that originally worked have not been broken.
This is also why modifying legacy systems is often more complex than developing a simple new application.
02.This Does Not Mean AI Is Unsuitable for Maintaining Legacy Systems
Of course, this does not mean AI is unsuitable for maintaining legacy systems.
Quite the opposite – code analysis, dependency mapping, test generation, and refactoring are all valuable application scenarios for AI.
But the more complex and critical the system, the less you can simply look at whether it runs after the change.
You also need to analyse the impact scope, supplement regression tests, verify key business rules, perform canary releases when necessary, and prepare a rollback plan.
Because in enterprise software, many truly important rules are not necessarily written in requirements documents, but hidden in the operating history of the past ten years.
03.A Distinction Worth Remembering in the AI Programming Era
So in the AI programming era, there is a distinction worth remembering:
Writing new code adds capability to the system;modifying a legacy system adds capability while, as far as possible, not destroying the value that has accumulated in the past.
This is also why experienced engineers not only know how code should be written, but more importantly know which places must not be touched lightly, and what must be verified after they are touched.
So, if AI can analyse and modify even legacy systems, when it encounters complex faults during program operation, can it truly find the root cause of the problem?
In the next episode, we will discuss:
AI can fix bugs, so why does fixing them sometimes make the problem worse?