コンテンツにスキップ
LinkedInX

AIがナビゲーションやデザインを勝手に変えないようにするルール設計:No UI Regression Ruleの導入経緯

気づかないうちにナビゲーションが変わっていた

あるとき、このサイトのブログ記事を追加する作業をAIに依頼しました。記事ファイルの作成と frontmatter の設定が主な内容で、ナビゲーションについては何も指示していませんでした。

作業が完了したあとにサイトを確認すると、ヘッダーのナビゲーション構造が変わっていました。AIがブログ記事を追加する際に、「ナビゲーションにもブログへのリンクを追加した方がよい」と判断して変更を加えていたためです。

悪意があったわけではありません。AIは「より使いやすくなる」という意図で変更を加えます。しかし、変更された事実を私が把握していないまま、公開サイトのナビゲーションが変わっていました。

なぜこれが問題なのか

AIが自己判断でUIを変更することには、いくつかの具体的な問題があります。

変更の把握ができない

依頼した作業以外の変更が加わると、何が変わったかをすべて確認しなければなりません。変更範囲が広がるほど、確認作業の負担が増えます。

予期しない影響が生じる

ナビゲーション構造の変更は、リンクの動作、ページのルーティング、スタイルの適用など複数の要素に影響を与える場合があります。記事の追加という作業に付随して、テストが必要な変更が増えます。

意図と異なるデザイン方針が入る

AIは一般的な使いやすさを判断基準にしますが、プロジェクト固有のデザイン方針や意図との整合性は保証されません。

No UI Regression Rule の導入

この経験から、CLAUDE.mdに次のルールを追加しました。

## UI / Navigation Rule

既存のUI、ナビゲーション、ルーティング、生成されたhomepage出力を変更しない。
明示的に指示された場合のみUI変更を行う。

「No UI Regression Rule(UIリグレッション禁止ルール)」と呼んでいるのは、「明示的に指示されていないUI変更を行わない」という意味です。リグレッション(regression)はソフトウェア用語で「以前の状態への後退」を意味しますが、ここでは「意図しないUI変更」全般を防ぐためのルールとして使っています。

導入後の変化

このルールをCLAUDE.mdに追加してから、AIがナビゲーションやデザインを変更しようとする場面では、先に確認を求めてくるようになりました。「ナビゲーションへのリンク追加が必要かもしれませんが、変更してよいですか」という形です。

AIが自己判断で変更するのではなく、変更の提案として提示されるため、承認するかどうかを判断できます。依頼した作業の範囲が明確になり、確認作業の負担が減りました。

ルール設計の考え方

このルールが機能する理由は、AIに「変更してよい範囲」と「明示的な指示が必要な範囲」を区別させているためです。

すべての変更を禁止するのではなく、「指示された範囲は変更する、指示されていない範囲は変更しない」という境界を設けることで、AIの作業範囲を制御できます。

AIは一般的に「より良くなる」と判断した変更を加えようとします。プロジェクトの意図やデザイン方針を守るためには、この判断の範囲をルールで定義することが必要です。

まとめ

AIに別の作業を依頼しているときにUIが変更されるという経験から、「明示的に指示されない限りUIは変更しない」というルールをCLAUDE.mdに追加しました。このルールにより、AIの作業範囲が明確になり、意図しない変更の確認作業が減りました。AIへの指示範囲の設計は、作業の精度だけでなく、確認コストの管理にも影響します。