STRUCTURE
構造AI にさせてはいけないことを、構造で決める
AI にさせてはいけないことを、ルールとして読ませるのではなく、構造で決めます。どこで決め、エージェントから見るとどうなるかを示します。
| 構造で決めること | どこで決めるか | エージェントから見ると | こうなる |
|---|---|---|---|
| 責務の分離 | サービスごとのコードとデータベース、公開 API の仕様(OpenAPI) | サービスどうしは API の仕様だけでつながる。ほかのサービスのデータベースへの接続先は持たない | 境界を越える実装が動かない |
| 権限の分離 | エージェントの権限と、本番の権限を分ける | エージェントが届くのは、担当のコードと開発・テスト用のデータまで | 本番のデータ・ログに届かない |
| 認証情報の置き場所 | 秘密情報の保管庫(Secret Manager など) | 本番の環境が実行するときにだけ読み込む。エージェントの環境には本番の値がない | コードにもプロンプトにも入らない |
| 判断の前提 | 設計判断の記録(ADR)と、型・スキーマ | 構造で決めきれない判断の理由と、値の形を、実装やレビューのときに参照する | 判断の理由が引き継がれる |
AIOps × 開発
ルールを増やすのではなく、構造で AI にできないことを決める
上の構造は、一度つくって終わりではありません。AI エージェントに開発を任せるとき、大切なのはコーディングのルールを増やすことではありません。ルールは読み落とされることがあり、増えるほど互いに食い違います。AI にさせてはいけないことは、構造でできないようにします。サービスと API で責務を分け、サービスどうしは API の仕様(OpenAPI など)だけでつなぎます。ほかのサービスのデータベースには、接続先も認証情報も持たせません。本番のデータベースやログ、認証情報には、エージェントの権限では届きません。本番への反映は、人の明示的な指示でのみ行います。レビューで見つかった失敗も、ルールの追記だけで済ませず、責務の分け方・API の仕様・権限といった構造の見直しに戻します。



