実践としての AI · 上級

モデルベースシステムのアーキテクチャ

一行でいうと: モデルは普通のシステムの中の一つのコンポーネントだ——そしてその周りのシステムが仕事とリスクのほとんどだ。

固定コンポーネント

バリデートしてクリーニングする入力レイヤー;権限付きコンテキストをもたらす取得レイヤー;リトライ、タイムアウト、フォールバックベンダーを持つモデル呼び出しレイヤー;スキーマに対する出力バリデーションレイヤー;そしてロギングと測定レイヤー。

それぞれは普通のシステムにも存在する。変わるのは出力が決定論的でないことで、だからバリデーションと測定がはるかに重要になる。

同期対非同期

回答に数秒以上かかるなら、タスク識別子とステータス更新を持つバックグラウンドプロセスに切り替える。一分間オープンなリクエストを保持することはタイムアウトと悪いユーザー体験のレシピだ。

越えてはならない境界

モデルの出力はバリデーションと許可されたアクションのリストなしに直接実行に行かない——クエリでも、コマンドでも、外部呼び出しでも。

さらに深く

モデルレイヤーをドライモードで実行できるよう構築する:同じシステム、本当の呼び出しなし、保存された回答。これにより開発が加速し、テストが安定し、インシデントを起きた通りに再現できる。