01補完型AIの仕組み ── 「予測」であって「理解」ではない
まず、補完型 AI が何をしているのかをはっきりさせておきます。Copilot のような補完型 AI は、いま書いているファイルの中身、開いている周辺のファイル、関数名やコメントを手がかりに、「この続きに来る確率が高いコード」を予測して表示します。仕組みの中核は大規模言語モデル(=大量の文章とコードで学習した予測モデル)で、膨大な公開コードから「こういう文脈ではこう続くことが多い」というパターンを学んでいます。
ここで押さえておくべきなのは、補完型 AI はあなたの意図を理解しているわけではないという点です。関数のコメントに「金額を税込に変換する」と書けば、それらしいコードを出します。けれどそれは、似た文脈で人がよく書いたコードをなぞっているだけです。あなたのシステムの税率が本当に 10% か、丸め方が切り捨てか四捨五入かを「知って」書いているわけではありません。
この区別が、後の章すべての土台になります。補完型 AI は「確率の高い続き」を出す道具であって、正しさを保証する道具ではない。だからこそ、受け入れる側の判断(03 章)とレビュー(06 章)が欠かせません。
02生産性の実証研究 ── 数字で見る「速さ」
補完型 AI は速い、という実感は広く共有されています。では、実際の数字はどうでしょうか。ここは印象ではなく、公表された実証研究をもとに見ていきます。
GitHub と研究者による対照実験(Kalliamvakou・Ziegler ら, 2022–2024)では、同じ課題(JavaScript で HTTP サーバを書く)を、Copilot ありのグループとなしのグループで比較しました。その結果、Copilot ありのグループは完了までの時間が約 55% 短かったと報告されています。課題を最後までやり切った割合も、ありのグループのほうが高い傾向でした。
ただし、この数字を鵜呑みにするのは危険です。次の留保が付きます。
- 課題の性質に依存する ── 定型的で、正解が明確な課題ほど効果が大きい。逆に、業務ドメインの深い理解が要る設計判断では、効果は限定的になる
- 「速い」と「正しい」は別 ── 速く書けても、そのコードが正しいかは別問題。速度の数字は、正しさの数字ではない
- 本人の満足度は高いが、客観指標とはずれる ── 使った人の多くは「生産性が上がった」と感じる。だが実測との開きもあり、体感が実際より大きく振れることがある
つまり、補完型 AI は定型的な記述の速度を確かに上げます。けれどそれは、実務全体のごく一部にすぎません。設計・レビュー・検証・要件の詰めといった、時間の大半を占める工程には直接効きません。「55% 速い」を「開発が半分の時間で終わる」と読み替えると、あてが外れます。
定型コード
データ整形、API 呼び出しの雛形、テストの下書き。パターンが決まっている記述ほど、提案の精度が高く、速度効果も大きい。
不慣れな言語・API
普段使わない言語の文法や、ライブラリの呼び出し方を調べる時間を減らす。ただし提案が古い書き方のこともあり、確認は必須。
設計判断
どの構造を選ぶか、どこで責務を分けるか。文脈と目的の理解が要る判断は、補完型 AI の守備範囲の外にある。
ドメイン固有のルール
自社の税率・丸め・業務要件・規制。学習データに無い固有の正しさは、AI は知らない。ここは人が枠を渡す。
03受け入れ判断の基準 ── Tab を押す前に問う
補完型 AI の実務作法の核心は、提案を受け入れるかどうかの判断にあります。提案が出るたびに Tab を押していては、自分で読んでいないコードをそのまま抱え込むことになります。受け入れる前に、次の 3 つを毎回自問する。これが基本の作法です。
- 読めているか ── 提案されたコードの一行一行が、自分で何をしているか説明できるか。説明できないコードは受け入れない。これが最初の関所
- 意図と合っているか ── そのコードは、いま自分がやろうとしていることと本当に一致するか。「それらしい」だけで、微妙にずれていることはよく起きる
- 境界条件は大丈夫か ── 空の入力、ゼロ、負の値、想定外の型。AI の提案はよくある正常系に寄りやすく、境界の扱いが甘いことが多い
実務では、提案を「そのまま受け入れる」「一部だけ受け入れて直す」「棄却して自分で書く」の 3 択でつねに選ぶ。この意識を持つだけで品質が安定します。とくに、5 行を超える大きな提案が丸ごと出たときは、いったん立ち止まる。長い提案ほど、途中にもっともらしく見える誤った一行が紛れ込みやすいからです。
04セキュリティ上の注意 ── 「よくある間違い」も学習している
補完型 AI は公開コードから学んでいます。そこには良いコードもあれば、脆弱なコードも大量に混じっています。だから AI は、安全な書き方だけでなく、危険な書き方も「よくあるパターン」として出してきます。ここは楽観できません。
この懸念は実証研究でも裏付けられています。Perry らの研究(2023, ACM CCS 発表)では、AI 補助を使った参加者のほうが、安全でないコードを書きやすく、しかも「自分は安全に書けた」と思い込みやすい傾向が報告されました。速さと安心感が油断を生む、という構図です。
製薬を含む実務では、次の OWASP Top 10(=Web アプリで頻出する重大な脆弱性を並べた、業界標準の一覧)の観点で、AI の提案を必ず点検します。
| AI が出しやすい危うい提案 | 点検すべき OWASP の観点 |
|---|---|
| ユーザー入力を文字列連結で SQL に埋め込む | インジェクション(入力を命令として実行させられる) |
| API キーやパスワードをコードに直書きする | 認証・秘密情報の不適切な管理 |
| 入力の検証なしにファイルパスや URL を扱う | アクセス制御の不備・サーバ側リクエスト偽装 |
| 古い暗号方式や弱いハッシュを使う | 暗号化の失敗 |
要は、AI が出したから安全、とは限らないという一点に尽きます。むしろ、速く出てきた分だけ検証を省きたくなる心理こそが最大のリスクです。秘密情報の直書きや入力の未検証は、提案を受け入れる場面で最も見逃されやすい。ここは自動化ツール(静的解析・秘密情報スキャン)と人の目の両方で守ります。
05ライセンスの扱い ── 出てきたコードは誰のものか
補完型 AI が学んだ公開コードには、それぞれライセンス(=そのコードを使ってよい条件を定めた取り決め)が付いています。AI の提案が学習元の特定コードと酷似したとき、そのライセンス条件が問題になりえます。実務では、次の 2 点を組織のルールとして固めておきます。
- 公開コードとの一致をフィルタする ── Copilot をはじめ多くのツールに、公開コードと一致する提案を抑制する設定があります。企業利用では、これを有効にするのが基本方針。設定の有無を各自任せにしない
- 生成物の権利と責任を社内で明確にする ── AI が書いたコードを誰が保証し、問題が起きたとき誰が責任を負うか。契約と社内規程で、あらかじめ線を引いておく。「AI が書いた」は責任の免除になりません
06レビューへの統合 ── AI 製コードも同じ関所を通す
補完型 AI を使うと、コードが速く増えます。ここで組織が陥りやすい失敗が、「AI が書いたコードだから軽くレビューでいい」という思い込みです。逆です。AI 製コードは、書いた本人ですら全部を読み込んでいないことがある。だからこそふだん以上にレビューの目が要るのです。
実務では、AI 製かどうかで審査の基準を変えないのが原則です。人が書いたコードと同じ関所 ── コードレビュー、テスト、静的解析、セキュリティチェック ── を、そのまま通します。そのうえで、AI 製コード特有の点検項目を、レビュー観点に足します。
- もっともらしい嘘を見抜く ── 存在しない関数名、実在しないライブラリ、微妙に違う引数。AI はそれらしく書くので、動かして初めて気づく誤りが紛れる
- 境界・エラー処理の抜け ── 正常系はきれいでも、異常系が手薄なことが多い。ここを重点的に見る
- コピーの重複 ── 似た提案をあちこちで受け入れると、同じロジックが散らばる。あとで一箇所を直しても、残りは直らない
大切なのは、書く人と確かめる人を、同じ意識のまま重ねないことです。AI に速く書かせた直後は、自分の成果に愛着と過信が生まれやすい。だから、生成と検証は頭のなかで別の工程として切り分ける。できれば、レビューは別の人が担うのが理想です。
07チーム運用 ── 個人の速さを、組織の品質に変える
補完型 AI は個人の道具に見えます。けれど、その効果を長続きさせるには、チームとしての運用設計が要ります。各自が思い思いに使うと、速さは出ても品質のばらつきが広がる。次の 3 点を、チームの共通ルールとして決めておきます。
- 設定を揃える ── 公開コードのフィルタ、秘密情報の除外、対象外にするリポジトリ。個人任せにせず、組織の初期設定として配る
- 受け入れ基準を言語化する ── 03 章の「読めているか / 意図と合っているか / 境界は大丈夫か」を、チームの合言葉にする。暗黙知にしない
- 失敗を共有する ── AI の提案を受け入れて起きた不具合は、責める材料ではなく、チームの学びとして記録する。「こういう提案は危ない」という蓄積が増えるほど、全員の判断が速く正確になる
補完型 AI は、うまく使えば新人の立ち上がりを助け、ベテランの定型作業を減らします。ただしそれは、判断できる人がツールを使ったときに限られます。判断できないままツールに頼れば、速く間違える組織になるだけです。導入と同時に、判断力を育てる仕組み ── レビュー文化と学びの共有 ── を回す。これが、投資を成果に変える条件です。
08本サイトの他の章との接続
本回で扱った補完型 AI の作法は、AI Programming シリーズの他の回、そして本サイトの規制・実務の章と、次のようにつながります。読み合わせると、点が線になります。
- AI Programming 第 1 回 ── AI とコードの関係の全体像。本回はその「補完」という一形態を掘り下げたもの
- AI Programming 第 3 回(次回) ── プロンプトエンジニアリング。補完ではなく「指示して書かせる」形態の作法へ進む
- AI Marketing 第 5 回 ── 生成コンテンツと審査 ── 生成物を審査にどう組み込むか。コードとコンテンツで、human-in-the-loop(=人が要所で確認する仕組み)の設計思想は共通する
- 資材審査シリーズ ── 生成物を最後に受け止める審査の実務。AI 製かどうかで基準を変えない、という原則の源
補完型 AI は、コードを書く速度を確かに上げます。実証研究の「約 55% 速い」という数字は本物です。けれどそれは定型的な記述に限った話で、実務の大半を占める設計・検証・要件の詰めには直接効きません。速さの裏側には、受け入れ判断・セキュリティ・ライセンス・レビューという、人がやり続けるほかない仕事が残ります。むしろ、コードが速く大量に出るようになったぶん、その重みは増しました。
補完型 AI を使いこなすとは、Tab を速く押すことではありません。提案を読み、意図と照らし、境界を疑い、必要なら棄却する ── その判断を、速さのなかで一つひとつ手放さないことです。次回は、補完ではなく「指示して書かせる」形態 ── プロンプトエンジニアリングに進み、再現性のある指示をどう設計するかを扱います。
- 補完型 AI は「意図を理解して正しいコードを出す」道具ではなく、「文脈から確率の高い続きを予測する」道具である。実証研究では定型課題で約 55% の時間短縮が報告されるが、これは速さであって正しさではない。設計・検証・ドメイン固有のルールには効かず、実務全体で効果が及ぶ範囲は限られる。
- 提案を受け入れる前に、毎回「読めているか / 意図と合っているか / 境界条件は大丈夫か」を問う。AI は公開コードから学ぶため、脆弱な書き方(インジェクション・秘密情報の直書き・入力未検証)も提案しうる。OWASP Top 10 の観点での点検と、公開コードとの一致フィルタは、個人任せにせず組織の初期設定として固める。
- AI 製コードは軽く審査してよいのではなく、むしろ通常以上のレビューが要る。「書く人」と「確かめる人」を意識の上で分け、人が書いたコードと同じ関所(レビュー・テスト・静的解析)を通す。製薬の内製開発では、出力が薬機法(誇大=66 条/未承認=68 条/情報提供=68 条の 2)の物差しに触れうる点も、外に出す段階で確認する。
- Peng, S., Kalliamvakou, E., Cihon, P., & Demirer, M. The Impact of AI on Developer Productivity: Evidence from GitHub Copilot. arXiv:2302.06590, 2023. (Copilot ありで完了時間が約 55% 短縮したとする対照実験の一次資料)
- Ziegler, A., Kalliamvakou, E., Li, X. A., et al. Measuring GitHub Copilot's Impact on Productivity. Communications of the ACM, 67(3), 54–63. Association for Computing Machinery, 2024. (利用者の体感生産性と客観指標の関係を分析した研究)
- Perry, N., Srivastava, M., Kumar, D., & Boneh, D. Do Users Write More Insecure Code with AI Assistants? Proceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Security (CCS '23). Association for Computing Machinery, 2023. (AI 補助が安全でないコードと過信を生みやすいことを示した実証研究)
- OWASP Foundation. OWASP Top 10:2021 ── The Ten Most Critical Web Application Security Risks. OWASP Foundation, 2021. (Web アプリで頻出する重大な脆弱性を並べた業界標準の一覧)
- 厚生労働省. 医薬品、医療機器等の品質、有効性及び安全性の確保等に関する法律(薬機法)第 66 条・第 68 条・第 68 条の 2. 厚生労働省. (誇大広告=66 条、未承認医薬品等の広告禁止=68 条、適正使用のための情報提供=68 条の 2 の条文根拠)
- 厚生労働省 医薬・生活衛生局長. 医療用医薬品の販売情報提供活動に関するガイドライン. 厚生労働省, 2018. (情報提供と広告の線引きを示す通知)