AI エンジニアのシステム設計面接実践ガイド

文責 Aaron Cao · 更新

機械学習システムをエンドツーエンドで設計することが求められます。データと特徴量、学習と評価、サービングとレイテンシ、モニタリングとドリフトです。近年の面接は RAG(検索拡張生成)とモデルサービングに大きく偏っています。採点されるのは、あなたが説明できるトレードオフであり、唯一の正解アーキテクチャではありません。

このラウンドが実際に評価しているもの

この課題は初めて聞いたとき、途方もなく広く感じられます――レコメンドシステムを設計せよ、あるいは社内文書を対象としたチャットボットを設計せよ、といった具合です。このセクションでは面接官が実際に何を採点しているかを説明し、「範囲の広さ」自体が問題にならないようにします。要するに、面接官は曖昧なプロダクト要求を、具体的な数値の伴うシステムへと落とし込めるかどうかを見ています。

スコアの大部分は次の四つで決まります。

  • スコーピング。何かを描き始める前に、ユーザーは誰か、秒間クエリ数はどれくらいか、どのような品質基準を満たせば成功と言えるかを尋ねていますか?
  • データに関する判断力。学習データはどこから来るのか、どのようにラベル付けされるのか、学習とサービングの間で何がリークするのか。
  • 評価。オフライン指標に加えてオンラインのガードレール。評価計画のない回答は、アーキテクチャがどれほど優れていてもジュニアレベルに見えます。
  • 本番運用の感覚。レイテンシ予算、リクエストあたりのコスト、再学習の頻度、そしてモデルが間違った場合に何が起きるか。

繰り返し登場する課題

AI エンジニアのシステム設計ラウンドの大半は、次の五つの課題でカバーされます。

  • プライベート文書に対する RAG(検索拡張生成)。チャンク分割の戦略、embedding モデルの選定、ベクトルインデックス、リランキング、そして検索結果が関連性のないものばかりだった場合にどうするか。
  • 大規模なモデルサービング。バッチ処理、量子化、GPU を常に稼働させ続けること、キャッシュ、そしてスコーピングの段階で約束した p99 レイテンシ目標。
  • レコメンデーションまたはランキング。候補生成の後にランキング、feature store、学習とサービングのスキュー、コールドスタート。
  • 特徴量パイプライン。ストリーミングとバッチの対比、ポイントインタイムの正確性、バックフィル。
  • エージェント的なワークフロー。ツール呼び出し、ステップ数の上限、コストの上限、そして人間がどのように介入するか。より充実した問題集は面接タイプのセクションにあります。

これらにはそれぞれ、面接官が待ち構えている難所が一つあります。検索については評価が難所です。誰もがベクトルデータベースの名前を挙げられますが、検索が改善したかどうかをどう測定するかを言える人はほとんどいません。サービングについては、モデルサイズに対するコストとレイテンシのトレードオフが難所です。

45分を乗り切る構成

最初の五分間を要件と数値の確認に使い、それらを面接官に見える場所に書き出してください:秒間クエリ数、許容できるレイテンシ、品質基準、予算です。それ以降のすべてはこの四つの数値に立ち返ることになり、これによって回答がツールの紹介巡りではなく、エンジニアリングらしく聞こえるようになります。

次に幅優先で進めます:データソース、オフライン学習、アーティファクトストア、サービングのパス、フィードバックループを含む図を描きます。全体像が出そろって初めて深掘りに入り、どのコンポーネントを掘り下げるかは面接官に選ばせます。最後に、二つの失敗モードと、それぞれを検知するために何をモニタリングするかを述べて締めくくります。

ある検索会社のシニアポジションに応募していた機械学習エンジニアは、サポートチケットに対するセマンティック検索の設計を求められました。彼女はスコーピングに四分間を使い、200 ミリ秒の p95 レイテンシと固定の月間推論予算にコミットし、その二つの数値を使って大型のリランカーを却下し、上位 50 件の候補に対する小型の cross-encoder を選びました。採点されたのはモデルの選択ではなく、そのトレードオフでした。

設計ラウンドでライブアシスタントが役立つ場面

システム設計は話しながら図を描くものなので、他のラウンドに比べてアシスタントが助けられる範囲は狭くなります。アシスタントにできるのは、チェックリストを常に目の前に表示しておくことです。SubcueAI は会議の音声を聞き取り、ローカルのオーバーレイに構成を表示します――まだ聞いていないスコーピングの質問、飛ばしてしまった評価のセクション、指摘すべき失敗モードなどです。macOS と Windows のデスクトップアプリはシステム音声とマイクの両方をキャプチャします。ブラウザ拡張機能のサイドパネルは会議タブの音声のみをキャプチャするため、面接官の声だけが聞こえ、あなたの発言は文字起こしされません。ボットが通話に参加することはありません。

このラウンドでは、他のラウンド以上に制限事項が重要になります。図を描くために画面を共有している場合、オーバーレイも共有範囲に含まれます。監督付きのアセスメントや会社管理下のマシンは対象外であり、あらゆる状況で検知され得ないツールは存在しません。アシスタントも、採点対象であるアーキテクチャの判断力そのものを生み出すことはできません。模擬面接ページで AI 面接官相手にこれらの課題を練習することがその力を養います。オーバーレイはあくまで、30分の時点で評価を忘れないようにするためのものです。

よくある質問

特定のベクトルデータベースの名前を知っている必要はありますか?

名前を一つ挙げられれば十分ですが、その選択を擁護できることの方が重要です。面接官はなぜそのインデックスなのか、再現率(recall)のトレードオフは何か、ダウンタイムなしでどう再インデックスするかを尋ねてきます。

こうしたラウンドではどれくらいの数学が求められますか?

物事の規模感をつかめる程度で十分です:embedding の次元数とインデックスのメモリ、トークン数とコスト、バッチサイズとレイテンシ。厳密な導出が求められることは稀で、口頭でできる程度の算数が求められるのが一般的です。

AI エンジニアのシステム設計ラウンドは、従来型のラウンドと違うのですか?

フレームワーク自体は同じです。違いは、従来型のラウンドでシャーディングや一貫性が占めていた比重を、データ・評価・モデルのライフサイクルが占める点です。

図を描いている間も SubcueAI は助けてくれますか?

フレームワークのうちまだカバーしていない部分を提示してくれます。図が共有画面上にある場合は、オーバーレイも共有範囲に含まれることを忘れないでください。

関連する質問

← 詳しく見る: 面接の種類