6.0 第6部の導入: 人工知能
人工知能は、研究上の目新しさから、大きな組織が責任をもって規模で展開することを今や期待される中核の能力へと変わりました。この部は、ライフサイクル全体をたどります。AIを適用する価値がある場所を決めること、本番との接触を生き延びる機械学習システムをエンジニアリングすること、生成モデルの上にアプリケーションを築くこと、ソフトウェア開発そのものを助けるためにAIを使うこと、公平性と説明責任の義務を果たすこと、そしてこれらすべてが必要とする専門的なインフラストラクチャを運用すること。一つの考えがすべての章を結びつけます。モデルが難しい部分であることはまれです。難しいのは、それを取り巻くエンジニアリング、ガバナンス、運用の規律です。
大きなチームにとって、規模と慣性が賭け金を上げます。不適切に枠づけられた取り組みは、予算を燃やし、熟練したエンジニアの気を散らし、公衆の面前で失敗したときに信頼を損ないます。よく選ばれた取り組みは、退屈な作業を自動化し、これまで決して届かなかったデータから洞察を引き出せます。数百人の開発者と数十のモデルにわたって、小さな習慣と監督の小さなギャップが、組織の成果に積み上がります。だから、共有のプラットフォーム、既定、規範が、どんな単一の巧妙な解決策よりも重要なのです。
企業と政府の文脈は、より鋭い制約を加え、それはすべての章を貫きます。公的機関は支出を正当化し、透明性を保証し、不法な差別を避け、規制当局と公衆に説明責任を負い続けなければなりません。調達規則は、単独の供給元へのロックインを禁じ、説明可能性と出口の選択肢を求めるかもしれません。EU AI法(欧州連合のAIシステムのリスク階層型の規制)のような新しい法律と、NIST AIリスク管理フレームワークや、認証可能なAIマネジメントシステムの標準であるISO/IEC 42001のような標準は、リスクに応じた要件を課します。これらの設定では、コンプライアンス、監査可能性、再現性、データ主権は、後付けではなく第一級の要件です。
この部の章
6.1 AI戦略と準備態勢: AIをどこに適用し、どこで避け、最初のモデルが本番に届く前にどんなデータ、人材、ガバナンスの基盤が存在しなければならないかを決める規律。
6.2 機械学習エンジニアリング(MLOps): コード、データ、モデルという三つの現実にソフトウェアの厳密さをもたらし、MLシステムが一回限りのデモではなく、再現可能で、観察可能で、保守可能であるようにすること。
6.3 生成AIとLLMアプリケーション: コンテキスト管理、検索拡張による根拠づけ、ガードレール(モデルの入力と出力を制約する実行時のチェック)、厳格な評価を通じて、確率的な言語モデルの周りに頼れるアプリケーションをエンジニアリングすること。
6.4 AI支援ソフトウェア開発: 明確な規範、良い既定、強い検証、セキュリティとライセンスへの注意を通じて、品質を下げずにスループットを上げるために、AIコーディングアシスタントを使うこと。
6.5 責任あるAIと信頼できるAI: 公平で、透明で、説明責任があり、安全で、プライバシーを尊重するシステムを築き、これらすべてを影響を受ける人々と規制当局に実証できること。
6.6 AIのインフラストラクチャと運用: AIのワークロードが要求する希少なアクセラレーター、ベクトルストレージ(データを類似検索のための数値ベクトルとして索引付けするシステム)、サービング層を、費用対効果よく、確実に、観察可能に、プロビジョニングして運用すること。
6.7 AIエージェントとエージェント型システム: ツール、記憶、目標を備えたループの中で言語モデルを使って行動をとるソフトウェアを築き、有界の自律性、最小権限のツールアクセス、人間が介在する承認、プロンプトインジェクションに対するガードレール、非決定的な振る舞いの厳格な評価を通じて、それを安全に行うこと。
6.8 AIの評価とテスト: 評価駆動開発、代表的な評価セットとタスクに合う指標、較正されたLLM-as-judgeと人間によるレビュー、レッドチーム演習、継続的インテグレーションの回帰ゲート、本番での品質とドリフトの監視を通じて、AIを信頼できるものにすること。
6.9 プロンプトエンジニアリングとコンテキスト設計: プロンプティングをエンジニアリングとして扱い、構造化されたプロンプト、少数例と思考の連鎖の技法、規律あるコンテキストの予算化と検索、構造化された出力とツール呼び出し、コードのようにバージョン管理されレビューされ評価されるプロンプトを用いること。
これらの章の相互関係
これらの章は合わせて、意図から運用に至るライフサイクルを形づくります。6.1章は戦略と準備態勢を設定し、そもそもどの問題がAIを正当化し、最初にどんな基盤が必要かを枠づけます。6.2章は古典的な機械学習のエンジニアリングの背骨を供給し、6.3章は、振る舞いが訓練のステップではなくプロンプトと検索されたコンテキストによって形づくられる、生成モデルの独特のパターンを扱います。6.4章はAIをソフトウェア開発の技芸そのものに向け、6.6章は、他のすべての章が依存する計算、ストレージ、サービングの基盤を提供します。6.5章は意図して最後の言葉ではなく、常に付き添う伴侶です。責任あるAIの義務は、戦略を形づくり、モデルの選択を制約し、デプロイをゲートし、全体を通じてインフラストラクチャの決定に情報を与えます。
筋道は、戦略からMLOps、生成AI、AI支援開発、責任あるAI、インフラストラクチャへと走りますが、直線ではなく網として考えてください。MLOpsとインフラストラクチャは、再現性、コスト、サービングについての関心を共有するので、6.2章と6.6章は一緒に読むのが最善です。責任あるAIは、6.1章の戦略に結びつき、10.5章の倫理と公共の利益のより広い扱いへと前進し、4.5章のプライバシーとデータ保護の実践に依拠します。本書のより広いエンジニアリングの基盤が、この部全体を支えます。8.1章の継続的デリバリー、9.2章のオブザーバビリティと監視、2.4章のテスト戦略、2.5章のコードレビューは、すべてAIをうまく行うための前提条件です。AIは健全なソフトウェアエンジニアリングの代わりにはなりません。それを正しく行うことの賭け金を上げます。