01補完型AIの仕組み ── 「予測」であって「理解」ではない

まず、補完型 AI が何をしているのかをはっきりさせておきます。Copilot のような補完型 AI は、いま書いているファイルの中身、開いている周辺のファイル、関数名やコメントを手がかりに、「この続きに来る確率が高いコード」を予測して表示します。仕組みの中核は大規模言語モデル(=大量の文章とコードで学習した予測モデル)で、膨大な公開コードから「こういう文脈ではこう続くことが多い」というパターンを学んでいます。

ここで押さえておくべきなのは、補完型 AI はあなたの意図を理解しているわけではないという点です。関数のコメントに「金額を税込に変換する」と書けば、それらしいコードを出します。けれどそれは、似た文脈で人がよく書いたコードをなぞっているだけです。あなたのシステムの税率が本当に 10% か、丸め方が切り捨てか四捨五入かを「知って」書いているわけではありません。

この区別が、後の章すべての土台になります。補完型 AI は「確率の高い続き」を出す道具であって、正しさを保証する道具ではない。だからこそ、受け入れる側の判断(03 章)とレビュー(06 章)が欠かせません。

02生産性の実証研究 ── 数字で見る「速さ」

補完型 AI は速い、という実感は広く共有されています。では、実際の数字はどうでしょうか。ここは印象ではなく、公表された実証研究をもとに見ていきます。

GitHub と研究者による対照実験(Kalliamvakou・Ziegler ら, 2022–2024)では、同じ課題(JavaScript で HTTP サーバを書く)を、Copilot ありのグループとなしのグループで比較しました。その結果、Copilot ありのグループは完了までの時間が約 55% 短かったと報告されています。課題を最後までやり切った割合も、ありのグループのほうが高い傾向でした。

ただし、この数字を鵜呑みにするのは危険です。次の留保が付きます。

つまり、補完型 AI は定型的な記述の速度を確かに上げます。けれどそれは、実務全体のごく一部にすぎません。設計・レビュー・検証・要件の詰めといった、時間の大半を占める工程には直接効きません。「55% 速い」を「開発が半分の時間で終わる」と読み替えると、あてが外れます。

効く場面 01

定型コード

"繰り返し" を担当する

データ整形、API 呼び出しの雛形、テストの下書き。パターンが決まっている記述ほど、提案の精度が高く、速度効果も大きい。

効く場面 02

不慣れな言語・API

"思い出す" を担当する

普段使わない言語の文法や、ライブラリの呼び出し方を調べる時間を減らす。ただし提案が古い書き方のこともあり、確認は必須。

効きにくい場面 03

設計判断

"決める" は担当できない

どの構造を選ぶか、どこで責務を分けるか。文脈と目的の理解が要る判断は、補完型 AI の守備範囲の外にある。

効きにくい場面 04

ドメイン固有のルール

"知っている" 前提が要る

自社の税率・丸め・業務要件・規制。学習データに無い固有の正しさは、AI は知らない。ここは人が枠を渡す。

03受け入れ判断の基準 ── Tab を押す前に問う

補完型 AI の実務作法の核心は、提案を受け入れるかどうかの判断にあります。提案が出るたびに Tab を押していては、自分で読んでいないコードをそのまま抱え込むことになります。受け入れる前に、次の 3 つを毎回自問する。これが基本の作法です。

実務では、提案を「そのまま受け入れる」「一部だけ受け入れて直す」「棄却して自分で書く」の 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 点を組織のルールとして固めておきます。

製薬の内製開発での留意点: 分析スクリプトや内製ツールであっても、外部配布や委託先との共有が発生する場面では、ライセンスと生成物の帰属が問題になります。加えて、コードそのものが規制対象の情報を扱う場合 ── たとえば有効性・安全性に関わる集計を行うスクリプト ── では、その出力が広告・情報提供の物差しに触れうる点にも注意します。薬機法の誇大広告(第 66 条)未承認医薬品等の広告禁止(第 68 条)適正使用のための情報提供(第 68 条の 2)の区別は、コードの出力を外に出す段階で改めて確認すべき柵です。

06レビューへの統合 ── AI 製コードも同じ関所を通す

補完型 AI を使うと、コードが速く増えます。ここで組織が陥りやすい失敗が、「AI が書いたコードだから軽くレビューでいい」という思い込みです。逆です。AI 製コードは、書いた本人ですら全部を読み込んでいないことがある。だからこそふだん以上にレビューの目が要るのです。

実務では、AI 製かどうかで審査の基準を変えないのが原則です。人が書いたコードと同じ関所 ── コードレビュー、テスト、静的解析、セキュリティチェック ── を、そのまま通します。そのうえで、AI 製コード特有の点検項目を、レビュー観点に足します。

大切なのは、書く人と確かめる人を、同じ意識のまま重ねないことです。AI に速く書かせた直後は、自分の成果に愛着と過信が生まれやすい。だから、生成と検証は頭のなかで別の工程として切り分ける。できれば、レビューは別の人が担うのが理想です。

07チーム運用 ── 個人の速さを、組織の品質に変える

補完型 AI は個人の道具に見えます。けれど、その効果を長続きさせるには、チームとしての運用設計が要ります。各自が思い思いに使うと、速さは出ても品質のばらつきが広がる。次の 3 点を、チームの共通ルールとして決めておきます。

補完型 AI は、うまく使えば新人の立ち上がりを助け、ベテランの定型作業を減らします。ただしそれは、判断できる人がツールを使ったときに限られます。判断できないままツールに頼れば、速く間違える組織になるだけです。導入と同時に、判断力を育てる仕組み ── レビュー文化と学びの共有 ── を回す。これが、投資を成果に変える条件です。

08本サイトの他の章との接続

本回で扱った補完型 AI の作法は、AI Programming シリーズの他の回、そして本サイトの規制・実務の章と、次のようにつながります。読み合わせると、点が線になります。

結語

補完型 AI は、コードを書く速度を確かに上げます。実証研究の「約 55% 速い」という数字は本物です。けれどそれは定型的な記述に限った話で、実務の大半を占める設計・検証・要件の詰めには直接効きません。速さの裏側には、受け入れ判断・セキュリティ・ライセンス・レビューという、人がやり続けるほかない仕事が残ります。むしろ、コードが速く大量に出るようになったぶん、その重みは増しました。

補完型 AI を使いこなすとは、Tab を速く押すことではありません。提案を読み、意図と照らし、境界を疑い、必要なら棄却する ── その判断を、速さのなかで一つひとつ手放さないことです。次回は、補完ではなく「指示して書かせる」形態 ── プロンプトエンジニアリングに進み、再現性のある指示をどう設計するかを扱います。

Key Points ── 持ち帰る 3 つ
  1. 補完型 AI は「意図を理解して正しいコードを出す」道具ではなく、「文脈から確率の高い続きを予測する」道具である。実証研究では定型課題で約 55% の時間短縮が報告されるが、これは速さであって正しさではない。設計・検証・ドメイン固有のルールには効かず、実務全体で効果が及ぶ範囲は限られる。
  2. 提案を受け入れる前に、毎回「読めているか / 意図と合っているか / 境界条件は大丈夫か」を問う。AI は公開コードから学ぶため、脆弱な書き方(インジェクション・秘密情報の直書き・入力未検証)も提案しうる。OWASP Top 10 の観点での点検と、公開コードとの一致フィルタは、個人任せにせず組織の初期設定として固める。
  3. AI 製コードは軽く審査してよいのではなく、むしろ通常以上のレビューが要る。「書く人」と「確かめる人」を意識の上で分け、人が書いたコードと同じ関所(レビュー・テスト・静的解析)を通す。製薬の内製開発では、出力が薬機法(誇大=66 条/未承認=68 条/情報提供=68 条の 2)の物差しに触れうる点も、外に出す段階で確認する。
出典・参考文献
  1. 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% 短縮したとする対照実験の一次資料)
  2. 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. (利用者の体感生産性と客観指標の関係を分析した研究)
  3. 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 補助が安全でないコードと過信を生みやすいことを示した実証研究)
  4. OWASP Foundation. OWASP Top 10:2021 ── The Ten Most Critical Web Application Security Risks. OWASP Foundation, 2021. (Web アプリで頻出する重大な脆弱性を並べた業界標準の一覧)
  5. 厚生労働省. 医薬品、医療機器等の品質、有効性及び安全性の確保等に関する法律(薬機法)第 66 条・第 68 条・第 68 条の 2. 厚生労働省. (誇大広告=66 条、未承認医薬品等の広告禁止=68 条、適正使用のための情報提供=68 条の 2 の条文根拠)
  6. 厚生労働省 医薬・生活衛生局長. 医療用医薬品の販売情報提供活動に関するガイドライン. 厚生労働省, 2018. (情報提供と広告の線引きを示す通知)