メインコンテンツへスキップ
見出し画像

AI時代に社内システムの内製はアリかナシか|生成AIで業務システムを作る前に決めた、レガシー改修と新規開発の4つの基準

    「内製」とは、ここでは「業務システムを自社の人間が作ること」の意味で使います。AIを自社で持つ「AI内製化」の話ではありません。

    社内システムを内製する立場として

    私は5つのグループ会社の社内SEを担当しています。業務システムはPHPとGoogle Apps Scriptで自分で作ることが多く、ここ1年はコーディング支援にAIも使っています。「前任者がおらずそのまま放置されているAccess」「仕様が変わるたびにコードが注ぎ足しされて複雑になったVBAやPHP」のように、リファクタリングに着手する前のコード解析でAIは大変重宝します。

    AI時代に内製はアリかナシか。内製する側の私の答えは「部分的にアリ」です。どこまでがアリかを決めるために、私は4つの基準を置きました。この記事では、その基準を置くことになった出来事と、4つの基準をレガシー改修と新規開発に当てはめた結果を書きます。

    外注なら必要な見積と納品待ちが、AIで内製する場合は要らなくなる

    外注で業務システムを作ると、要件を伝えて、見積が出て、発注して、納品を待ちます。小さな修正でも同じ手順を踏みます。「ボタンを1つ足したい」で見積2週間、というやり取りを経験した人は多いと思います。

    AIで内製すると、この手順がなくなります。要件を自分で書いて、コードをAIに書かせて、動かして、直す。修正依頼も同じで、自分で直せるものは当日に終わります。当然AIに頼まなくてよいケースがあるかもしれません。しかし大きな開発となると、人の手で1週間、1ヶ月かかっていたものがAIでは1日で出来てしまうことは経験上よくあります。

    しかしその代償として何が起きるか。それが「部分的に」の理由です。

    AIで内製したシステムは、作った直後からブラックボックスになる

    以前、公開Webサイトの会員向けマイページの改修を頼まれたことがあります。残っていたのはソースコードと最低限の引き継ぎメモだけで、仕様書はありませんでした。中身はPHPの直書きとグローバル変数だらけで、画面表示・DB・ログイン処理が一体化していて、どこを直すとどこに影響するかが分かりませんでした。

    最初にやったのは、コード全体を読んで処理の流れを手書きのフロー図にすることです。次に、自分が読み返して分かるレベルのクラス図・シーケンス図を描いて、何を直すべきか、どこを分離すべきかを見えるようにしました。直したあとは、仕様と改修履歴をMarkdownで社内wikiに残しました。

    (外部サイトへ遷移します)

    このマイページは、人が書いて、人がいなくなってブラックボックスになったものです。AIで内製すると、同じ状態が「作った直後」に始まります。依頼した本人がコードを読んでいないからです。

    「作った人がもういない」VBAマクロが業務を止める話をブログに書きましたが、AIで作ったシステムは、作った時点で「作った人がいない」のと同じです。

    (外部サイトへ遷移します)

    基準1:AIが書いたコードを、自分で読んで何をしているか説明できる
    説明できないコードは本番に置きません。先述したマイページのように、あとで自分が読むことになります。

    基準2:動作を自分のテストで確かめてから使う
    AIが「動きます」と言っても、動くかどうかは自分で確かめます。確かめる手段がない範囲は、AIに任せません。

    脆弱性の修正版が届く前に、攻撃コードが揃う

    ここまでは「AIを使う側」の話でした。ここからは「AIに攻撃される側」の話です。内製か外注かを決めるとき、この条件は2026年10月に変わりました。

    Linuxカーネルの脆弱性CVE-2026-98432の時系列です。

    • 10月5日:カーネル側で修正

    • 10月15日:CVE公開

    • 10月27日:Anthropicが、自社のAIモデルがこの脆弱性で遠隔root奪取の攻撃コードを書いたと公表(実証環境で、カーネルのメモリ配置の特定まで48分、コマンド実行まで追加5分)

    • 10月30日時点:UbuntuとRed Hat Enterprise Linuxには修正版カーネルが未配信

    公開から12日で、AIが書いた攻撃コードの実証が出ました。その時点で、主要なディストリビューションにはまだ修正が届いていません。攻撃コードそのものは公開されておらず、実際の攻撃も報告されていませんが、「修正が届く前に攻撃手段が揃う」という順番が現実に起きました。

    私がやったことは、自社のUbuntuサーバーで、動いているカーネルの版、MPTCPの有無、外部に開いているポートの3点を確認して記録することでした。修正版が来るまでは、それ以上できることがありません。

    (外部サイトへ遷移します)

    内製したシステムは、この確認と適用を全部自分でやります。脆弱性情報を追い、該当するか確認し、修正版が出たら当てて、再起動する。この速さに人力で追いつけるかが、内製の条件になりました。

    基準3:次に直す人が決まっている
    自分でも構いません。決まっていないのがNGです。「AIに頼めば直る」は、次に直す人が決まっていることにはなりません。修正は待ってくれないからです。

    SaaSに移しても、認証の管理は自分に残る

    「それなら内製をやめてSaaSにすれば安全か」と聞かれます。答えは「修正については確実にマシ、認証については変わらない」です。

    修正はベンダーが当てます。自分で脆弱性情報を追わなくていい。ここは確実にマシです。

    一方で、2025年から2026年にかけて拡大したランサムウェアQilinの対応案件を横断したDFIR分析では、初期侵入の入口になったファイアウォールやVPN機器の多くが、攻撃時点でパッチ適用済みでした。それでも侵入されています。主因として挙げられていたのは、多要素認証(MFA)が設定されていない、アカウントロックアウトが機能していない、パスワードの使い回し、という認証面の不備です。

    (外部サイトへ遷移します)

    SaaSに移しても、ログインは自分の会社のアカウントで行います。MFAを設定するのも、パスワードの使い回しを止めるのも、自分の責任のままです。「マシ」になるのは、修正をベンダーに任せた分の時間を、認証の強化に回せたときだけです。基準3の「次に直す人」は、SaaSに移しても消えません。

    本番データをAIのプロンプトに載せない

    AIにコードを書かせるとき、「このデータを処理して」と、本番のデータをそのまま貼る人がいます。顧客名簿、認証情報、社内の設定ファイル。悪意はなく、手元にあるデータを貼ったほうが早いからです。

    私が決めているのは、本番データをプロンプトに載せないことです。開発はダミーデータで行い、本番データは自分の手元でしか動かしません。これはAIの性能の話ではなく、人の手順の話です。

    基準4:本番データを渡さずに作れる
    ダミーデータで開発できる範囲だけAIに任せます。本番データを貼らないと作れないものは、AIには出しません。どうしても本番データが入っているファイルなどを見せないといけない場合は、機密情報の箇所だけマスキングするなどおこなっています。

    4つの基準を、レガシー改修と新規開発に当てはめる

    レガシーの改修も新規開発も、同じ4つで判断しています。

    1. AIが書いたコードを、自分で読んで何をしているか説明できる

    2. 動作を自分のテストで確かめてから使う

    3. 次に直す人が決まっている

    4. 本番データを渡さずに作れる

    この4つを当てはめると、レガシーの改修は「部分的にOK」になります。先述したマイページのように、まず自分で構造を把握してからであれば、個別の処理の書き換えをAIに任せても、基準1と2を満たせます。構造を把握しないまま「全部AIに直させる」は、基準1で止まります。

    新規開発も同じです。使う人(自分を含む)が理解できて、手を加えられる範囲まではOK。それを超えたら、内製ではなく外注かSaaSを選びます。

    まとめ

    AI時代に内製はアリかナシか。私の答えは「作ったものを人が引き取れる範囲ならアリ」です。

    AIの性能が上がっても、この線は動きません。コードを読めない人が増えるほど、引き取れる範囲は狭くなります。AIが攻撃コードを書く側に回った今、修正を引き取れないシステムを内製するのは、ナシです。

    4つの基準のうち、1つでも満たせない部分があれば、そこはAIに任せない。それが、内製する側の人間として決めていることです。

    お知らせ

    技術的な内容や具体的な手順は、筆者のブログ「たまの社内SE実践ブログ」に書いています。Windowsの更新で起きた不具合、ネットワークやプリンターのトラブル、セキュリティ、Microsoft 365、AI活用など、会社のIT担当が現場で実際に対処した記録をまとめているブログです。

    画像

    noteメンバーシップではご相談を受け付けております!

    ITのことよくわからない!誰に相談したらわからない…ITにまつわる相談ごとお気軽にご相談下さい😊

    画像


     
     
    社内SE歴12年、9社10業種を猫のように渡り歩き、広島で5社の情シス担当。 〇現場発のトラブル対処法(Windows・ネットワーク) 〇情シス解体論 〇小さく始める業務効率化(GAS・LINE・PHP)

    あなたへのおすすめ