2026.06.08

AIレガシー

作った者はいたが、背負った者はいなかった

AIAIレガシー保守運用責任システム設計

AIでシステムが作れるようになった。

この事実そのものは、もう驚くことではない。
コードを書かせる。
画面を作らせる。
APIをつなげる。
データベース定義を作らせる。
テストコードを書かせる。
ドキュメントの下書きを作らせる。

かつてなら、それなりの経験と時間を必要とした作業が、AIによって短時間で形になる。

それは便利である。
そして、たしかに強力である。

しかし、ここで見落としてはいけないことがある。

システムは、作れた瞬間に終わるものではない。
むしろ、作れた瞬間から始まる。

使われる。
直される。
壊れる。
仕様変更を受ける。
担当者が変わる。
環境が変わる。
外部サービスが変わる。
法令や業務ルールが変わる。
それでも動き続けることを求められる。

システムとは、作るものではなく、背負うものである。

AI時代に露出する本当の問題は、
「AIでシステムが作れるか」ではない。

問題は、
AIで作られたシステムを、誰が背負うのかである。


AIは、きれいな成果物を出す。

見た目の整った画面。
それらしいコード。
もっともらしい設計説明。
読みやすいREADME。
一見すると筋の通った構成。

そこには、完成したような顔がある。

しかし、その顔がきれいであることと、
中身が保守可能であることは同じではない。

コードが動くことと、設計意図が残っていることは違う。
画面が表示されることと、業務仕様が整理されていることは違う。
READMEがあることと、運用責任が明確であることは違う。
テストコードがあることと、変更に耐えられることは違う。

AIが作ったシステムは、しばしば「作れた」という事実だけを残す。

なぜその構成にしたのか。
なぜそのデータモデルなのか。
なぜその例外処理なのか。
どこまでが仕様で、どこからがAIの補完なのか。
誰が確認し、誰が承認したのか。
将来の変更時に、何を壊してはいけないのか。

そうした判断の履歴が残らないまま、成果物だけが残る。

きれいな顔をして、壊れている。

それがAIレガシーの入口である。


レガシーシステムという言葉は、もともと古いシステムを指すことが多い。

古い言語。
古いフレームワーク。
古いOS。
古いデータベース。
古い設計思想。
長年の改修で複雑化したコード。

だが、AIレガシーは少し違う。

AIレガシーは、古いから問題になるのではない。
新しいのに、すでに背負えないことが問題なのである。

作られた時点では新しい。
使っている技術も新しい。
画面も今風である。
コードも一見すっきりしている。

それでも、数か月後、あるいは一年後に問題が露出する。

変更できない。
直せない。
原因が追えない。
仕様が分からない。
テストしてよい範囲が分からない。
作った人間が説明できない。
AIがどういう前提で生成したのかも分からない。

つまり、老朽化していないのに、すでに保守不能なのである。

これが従来のレガシーシステムとの大きな違いである。

従来のレガシーは、時間の経過によって生まれた。
AIレガシーは、責任の欠落によって生まれる。


AIレガシーを生む最大の原因は、技術力不足だけではない。

むしろ本質は、判断の不在である。

AIにコードを書かせること自体が問題なのではない。
AIに設計案を出させることも、ドキュメントを書かせることも、テスト観点を出させることも、それ自体は問題ではない。

問題は、その出力を誰が評価したのかである。

どの前提で採用したのか。
どのリスクを許容したのか。
どこを人間が確認したのか。
どこをAIの出力のまま残したのか。
採用しなかった案は何か。
なぜその案を捨てたのか。

その判断が残っていなければ、成果物はあっても設計は残らない。

AI時代には、コードそのものよりも、判断ログの価値が上がる。

誰が、どのAI出力を、なぜ採用したのか。
どこに不確実性があり、どこを人間が承認したのか。
将来の保守者が読んだときに、何を信じてよいのか。

それが残っていないシステムは、見た目が新しくても、すでにレガシーである。


AIレガシーは、いくつかの形で現れる。

第一に、仕様復元不能型である。

動いてはいる。
しかし、なぜその動きになっているのか分からない。

業務仕様なのか。
一時的な回避策なのか。
AIが勝手に補った挙動なのか。
たまたまテストで通っただけなのか。

区別がつかない。

この状態で「現行踏襲」を求められると、保守担当者は地獄を見る。
現行の挙動が正しいのかどうかも分からないまま、それを再現しなければならないからである。

第二に、技術健全性不明型である。

コードは動く。
しかし、構造として健全かどうかが分からない。

責務分離が曖昧。
例外処理が薄い。
ログ設計が弱い。
セキュリティ境界が不明。
データモデルが場当たり的。
テストが表面的。
依存ライブラリの選定理由が分からない。

AIは、それらしい形を作ることができる。
しかし、それが長期運用に耐える設計かどうかは、人間が見なければならない。

第三に、権利・ライセンス不明型である。

AIが生成したコードや文章が、どのような学習元や参照元の影響を受けているのかは、通常は直接追跡できない。
加えて、AIが提案したライブラリ、サンプルコード、構成案をそのまま採用した場合、ライセンスや知的財産上の確認が曖昧になることがある。

「AIが出したから大丈夫」ではない。

AIは法務責任を負わない。
確認するのは人間であり、組織である。

第四に、契約不能型である。

AIで作ったシステムを、あとからSIerや保守会社に引き取ってもらおうとする。

しかし、引き取る側から見れば、そこには多くの不確実性がある。

仕様が分からない。
設計意図が分からない。
テスト範囲が分からない。
潜在不具合の量が分からない。
どの程度のリスクを見込めばよいか分からない。

この状態では、通常の保守契約として受けることが難しい。

受けるなら、調査フェーズ、仕様復元フェーズ、リスク診断フェーズを分ける必要がある。
リスクプレミアムも必要になる。
場合によっては、準再構築案件として扱わざるを得ない。

AIで安く作ったはずのシステムが、後始末で高くつく。

これは十分に起こりうる。

第五に、顧客成熟度不足型である。

AIで作った側が、システムを持つことの責任を理解していない。

作れるなら安いはず。
動いているなら問題ないはず。
AIで作ったのだから保守も簡単なはず。
何かあれば、あとから専門家に頼めばよいはず。

そう考えてしまう。

だが、システムは成果物ではなく、継続的な責任である。
業務を乗せた瞬間から、そこには運用、保守、変更、障害対応、説明責任が発生する。

その認識がないままAIでシステムを作ると、問題は未来へ送られる。

未来の誰かが、背負うことになる。


AIレガシーの怖さは、最初は成功に見えることである。

短期間で作れた。
費用が安かった。
画面も動いた。
資料もそろっている。
関係者も一度は納得した。

だから、プロジェクトとしては成功に見える。

しかし、本当の評価は運用に入ってから始まる。

仕様変更が来たとき。
障害が起きたとき。
担当者が変わったとき。
外部連携が変わったとき。
セキュリティ対応が必要になったとき。
監査で説明を求められたとき。

そのとき初めて、作ったときに残していなかった判断が問題になる。

なぜこうなっているのか。
誰が決めたのか。
何を前提にしたのか。
どこまで確認したのか。
変更してよいのか。
壊してはいけないものは何か。

答えられない。

それがAIレガシーである。


AIレガシーを避けるために必要なのは、AI利用禁止ではない。

むしろ、AIを使うなら、なおさら人間側の設計責任を強くする必要がある。

AIに作らせる前に、要件を決める。
AIに書かせた後に、人間がレビューする。
AIが補った前提を明示する。
採用した出力と採用しなかった出力を記録する。
設計判断を残す。
テスト観点を人間が確認する。
運用責任者を決める。
保守可能性を確認する。
引き継ぎ可能な形に整える。

つまり、AIを使うほど、判断のログが必要になる。

AIが速く作るからこそ、人間は遅く確認しなければならない。
AIがもっともらしく整えるからこそ、人間は荒い部分を見なければならない。
AIが空白を補うからこそ、人間はどこが補われたのかを記録しなければならない。

AI時代に価値を持つのは、単に作れる人ではない。
作られたものを評価できる人である。
そして、作られたものを背負える形に変換できる人である。


AIレガシーは、将来のどこかで突然発生する問題ではない。

すでに、その条件は整いつつある。

ノーコード。
ローコード。
生成AI。
自動コード生成。
社内ツールの内製化。
シャドーAI。
個人判断による業務自動化。

これらはすべて、うまく使えば有益である。
しかし、責任線が曖昧なまま増殖すれば、未来の保守不能資産になる。

問題は、作った人が悪いという単純な話ではない。
便利さが、責任の所在を曖昧にする。
速さが、確認の手順を飛ばす。
安さが、保守費用の認識を鈍らせる。
AIの流暢さが、判断済みであるかのような錯覚を生む。

その積み重ねが、AIレガシーを作る。


作った者はいた。
だが、背負った者はいなかった。

この一文は、AIレガシーの本質をよく表している。

AI時代には、成果物は増える。
コードも増える。
資料も増える。
提案も増える。
プロトタイプも増える。
小さな業務アプリも増える。

しかし、そのすべてに責任が宿るわけではない。

責任は、自動生成されない。
判断も、自動生成されない。
保守可能性も、自動生成されない。
運用責任も、自動生成されない。

それらは、人間が引き受けなければならない。

AIが作れる時代になった結果、作れない問題ではなく、背負えない問題が露出する。

それが、AIレガシーである。

そして、この問題は技術論だけでは解けない。
組織論であり、契約論であり、運用論であり、責任論である。

AIで作る前に問うべきことは、一つでよい。

これは、誰が背負うのか。

その問いに答えられないシステムは、たとえ今日作られたばかりでも、すでにレガシーである。

2026.06.08

AI Legacy

There Was Someone Who Built It, But No One Who Took Responsibility for It

AIAI LegacyOperations and MaintenanceResponsibilitySystem Design

AI can now build systems.

That fact itself is no longer surprising.

It can write code.
It can build screens.
It can connect APIs.
It can generate database definitions.
It can write test code.
It can draft documentation.

Tasks that once required experience and time can now be shaped into something functional in a very short period of time.

That is convenient.
And it is undeniably powerful.

But there is something we must not overlook.

A system does not end the moment it is built.
In fact, that is when it begins.

It will be used.
It will be modified.
It will break.
It will receive specification changes.
Its maintainers will change.
Its environment will change.
External services will change.
Laws and business rules will change.
And still, it will be expected to keep running.

A system is not something you simply build.
A system is something you carry.

The real problem exposed by the AI era is not:

Can AI build a system?

The problem is:

Who will carry the system built by AI?


AI produces clean-looking artifacts.

A polished screen.
Plausible code.
A convincing design explanation.
A readable README.
A structure that appears coherent at first glance.

It has the face of something complete.

But a clean face is not the same as maintainability.

Code that runs is not the same as design intent being preserved.
A screen that displays is not the same as business specifications being organized.
A README is not the same as operational responsibility being clear.
Test code is not the same as resilience to change.

Systems built with AI often leave behind only the fact that they were built.

Why was this structure chosen?
Why this data model?
Why this exception handling?
What was specification, and what was AI completion?
Who reviewed it?
Who approved it?
What must not be broken when the system changes in the future?

When these judgment records are missing, only the artifact remains.

A clean face, but broken underneath.

That is the entrance to AI Legacy.


The term “legacy system” usually refers to old systems.

Old programming languages.
Old frameworks.
Old operating systems.
Old databases.
Old design assumptions.
Code made complex by years of modification.

But AI Legacy is different.

AI Legacy does not become a problem because it is old.
It becomes a problem because it is new, yet already impossible to carry.

At the time it is built, it is new.
The technology is new.
The screen looks modern.
The code may even look clean.

And yet, a few months later, or a year later, the problem surfaces.

It cannot be changed.
It cannot be fixed.
The cause of failure cannot be traced.
The specifications are unclear.
No one knows the safe range of testing.
The person who built it cannot explain it.
No one knows what assumptions the AI used when generating it.

In other words, the system has not aged, but it is already unmaintainable.

That is the major difference from traditional legacy systems.

Traditional legacy was created by the passage of time.
AI Legacy is created by the absence of responsibility.


The main cause of AI Legacy is not simply a lack of technical skill.

The essence of the problem is the absence of judgment.

Having AI write code is not itself the problem.
Having AI propose designs, draft documentation, or generate test perspectives is not itself the problem.

The problem is who evaluated the output.

Under what assumptions was it adopted?
What risks were accepted?
What did humans verify?
What was left as-is from AI output?
What alternatives were rejected?
Why were they rejected?

If those judgments are not preserved, artifacts may remain, but design does not.

In the AI era, judgment logs become more valuable than code itself.

Who adopted which AI output, and why?
Where was uncertainty present, and where did a human approve it?
When a future maintainer reads the system, what can they trust?

If these things are not recorded, the system is already legacy, even if it looks new.


AI Legacy appears in several forms.

The first is the specification-reconstruction failure type.

The system runs.
But no one knows why it behaves the way it does.

Is it a business requirement?
Is it a temporary workaround?
Is it behavior AI filled in on its own?
Did it simply happen to pass a test?

No one can tell.

When maintainers are asked to “preserve current behavior” in this state, they are thrown into hell.

They must reproduce behavior without knowing whether that behavior is correct.

The second is the unknown technical health type.

The code runs.
But no one knows whether the structure is healthy.

Responsibilities are blurred.
Exception handling is thin.
Logging is weak.
Security boundaries are unclear.
The data model is ad hoc.
Tests are superficial.
No one knows why certain dependencies were chosen.

AI can create plausible form.
But humans must determine whether that form can survive long-term operation.

The third is the unclear rights and licensing type.

It is usually impossible to directly trace what training data or references influenced AI-generated code or text.
In addition, when libraries, sample code, or architecture patterns suggested by AI are adopted as-is, licensing and intellectual property checks may become ambiguous.

“AI generated it, so it must be fine” is not a valid position.

AI does not carry legal responsibility.
Humans and organizations must verify.

The fourth is the contractually unmanageable type.

A system built with AI is later handed to a systems integrator or maintenance vendor.

But from the receiving side, there is too much uncertainty.

The specifications are unclear.
The design intent is unclear.
The test coverage is unclear.
The volume of latent defects is unknown.
The level of risk to price into the work is unknown.

In this state, accepting it as a normal maintenance contract is difficult.

If it is accepted at all, the work must be divided into an investigation phase, a specification-reconstruction phase, and a risk-diagnosis phase.
A risk premium becomes necessary.
In some cases, it may need to be treated as a near-rebuild project.

A system that was supposedly built cheaply with AI may become expensive during cleanup.

This is entirely plausible.

The fifth is the low customer maturity type.

The side that built the system with AI does not understand the responsibility of owning a system.

If it can be built, it should be cheap.
If it is running, it should be fine.
If AI built it, maintenance should be easy.
If something happens, experts can be brought in later.

That is the mindset.

But a system is not merely an artifact.
It is a continuing responsibility.

The moment business operations depend on it, operation, maintenance, change management, incident response, and accountability all begin.

If a system is built with AI without that recognition, the problem is simply pushed into the future.

Someone in the future will have to carry it.


The frightening thing about AI Legacy is that it looks like success at first.

It was built quickly.
It cost less.
The screen worked.
The documents were prepared.
Stakeholders accepted it at least once.

As a project, it appears successful.

But the real evaluation begins only after it enters operation.

When a specification change arrives.
When an incident occurs.
When the responsible person changes.
When an external integration changes.
When a security response is required.
When an audit asks for an explanation.

Only then do the judgments that were not recorded during development become a problem.

Why is it this way?
Who decided this?
What assumptions were used?
How far was it verified?
Can it be changed?
What must not be broken?

No one can answer.

That is AI Legacy.


Avoiding AI Legacy does not require banning AI.

Rather, if we use AI, we must strengthen human design responsibility even more.

Before having AI build something, define the requirements.
After AI writes something, have humans review it.
Make explicit the assumptions AI filled in.
Record the outputs that were adopted and the outputs that were rejected.
Preserve design decisions.
Have humans verify test perspectives.
Decide who owns operation.
Check maintainability.
Prepare the system so it can be handed over.

In other words, the more we use AI, the more we need judgment logs.

Because AI builds quickly, humans must verify slowly.
Because AI makes things look plausible, humans must look for the rough edges.
Because AI fills blanks, humans must record where the blanks were filled.

In the AI era, the valuable person is not simply the one who can build.
It is the one who can evaluate what has been built.

And the one who can transform what has been built into something that can be carried.


AI Legacy is not a problem that will suddenly appear somewhere in the future.

The conditions are already forming.

No-code.
Low-code.
Generative AI.
Automatic code generation.
Internal tool development.
Shadow AI.
Personal automation of business tasks.

All of these can be useful when used well.
But if they multiply while responsibility lines remain unclear, they become future unmaintainable assets.

The problem is not as simple as saying that the person who built it was bad.

Convenience blurs responsibility.
Speed skips verification.
Low cost dulls the perception of maintenance cost.
The fluency of AI creates the illusion that judgment has already been made.

The accumulation of these things creates AI Legacy.


There was someone who built it.
But no one who took responsibility for it.

This sentence captures the essence of AI Legacy.

In the AI era, artifacts will multiply.

Code will multiply.
Documents will multiply.
Proposals will multiply.
Prototypes will multiply.
Small business applications will multiply.

But responsibility will not automatically inhabit all of them.

Responsibility is not auto-generated.
Judgment is not auto-generated.
Maintainability is not auto-generated.
Operational ownership is not auto-generated.

Humans must take them on.

Now that AI can build, the exposed problem is no longer the inability to build.

It is the inability to carry.

That is AI Legacy.

And this problem cannot be solved as a purely technical issue.
It is also an organizational issue, a contractual issue, an operational issue, and an issue of responsibility.

Before building with AI, there is only one question that needs to be asked:

Who will carry this?

A system that cannot answer that question is already legacy, even if it was built today.