KubeCon Europeの基調講演で、HoneycombのCEO兼共同設立者であるChristine Yen氏は、ソフトウェアシステムにおけるLLMの統合によってもたらされた急速なシフトに対処するために、オブザーバビリティどのように役立つかについての洞察を説明した。LLMの統合は、ソフトウェア開発方法だけでなく、リリース方法論にも大きな変革をもたらした。彼女は、本番環境の観測結果に基づいて開発のフィードバックループを適応させる方法を説明した。
彼女はまず、ソフトウェアエンジニアが「ブラックボックス」に慣れているとしても、LLMは主に、我々が慣れ親しんでいる信頼できる動作をより複雑なものにするという点で異なることを強調した。
現在のシステム開発の実践は、動作の正確性を保証するために、テスト可能性、再現性(モック可能性)、説明可能性(デバッグ可能性)のような決定論的特性に依存している。それでも、アプリケーションにLLMを組み込む理由は、人間の言語の予測不可能な性質を捉えるためだ。
Yen氏:...今日ここにいるほとんどの私たちは、このLLMブームの前からソフトウェアを構築してきました。そして、ソフトウェアシステムを作成する際の難しい部分は、それを書くことではないことを知っています。実際には、その後に続くテスト、メンテナンス、調整、デバッグが難しいのです…私たちは皆、諦めてプロンプトエンジニアリングを受け入れるべきでしょうか?いいえ!だからこそ、私たちはここにいるのです…
ソフトウェアを構築する方法論が変わっただけでなく、製品リリースのやり方も変わった。限られたユーザーグループがアルファ版やベータ版にアクセスできる段階的アプローチではなく、現在では早期アクセスプログラムがある。これらのプログラムによって、ユーザーは予測不可能な形でシステムに触れることができる。
このシフトは非常に複雑に見えるかもしれないが、最近採用されているプラクティスは、すべてのシフトに対処するための正しい方向への合理的なステップだと彼女は考えている。
-
継続的デプロイメントと機能フラグ - 迅速なフィードバックループのための適切なメカニズムを提供する。
-
本番環境でのテスト - カオスを受け入れ、迅速かつ適切な障害を想定するシステムを設計することを強制する。
-
高カーディナリティのメタデータ - 複雑さを反映する仕組みと義務を与えてくれる。
-
高次元のデータ: - 高度にパラメータ化された実験や調査するためのメカニズムを提供する。
-
サービスレベル目標:UXを品質の裁定者として捉え、顧客の体験をシステムのもっとも重要な側面とする。
Yen氏によると、私たちはすでに、予測不可能で定性的または定量的な体験を測定し、デバッグし、「針を動かす」ためのモデルを持っている。オブザーバビリティは、予想される動作と、「実際のユーザーを前にして」本番で目にする動作とを比較する。これは、予測不可能なことが起こった時の早期アクセスプログラムの混乱に役立つだろう。ユーザーが予想と異なる行動をとった時や、バグフィックスをデプロイする時に、他の何かを壊してしまうようなことがあった時、テストは普通のAPIシステムのようにあなたを守ることはできない。
オブザーバビリティは、予測不可能なことを受け入れ、コードで何が起こるかを学び、その観察を開発プロセスに取り入れるフィードバックループを可能にする。LLMには「無限」の入力と出力のセットがあるため、テストは不十分だ。より柔軟で、意図した動作や意図しない動作を定義できる「評価」を使うことができる。「評価」は、アプリケーションそのものを作成しながら開発される。これは、異なる入力に対して「魔法の箱」がどのように振る舞うかを観察するメカニズムを提供し、さらに開発ループにフィードバックを組み込む。
他のブラックボックス(例えば、決済システムなど)と同様に、LLMは、システムがどのように振る舞うかをさらに理解するための詳細を捕捉する必要がある。古典的なシステムと同様に、サードパーティへのリクエストを記録し、その応答をキャプチャする。これにより、入力が出力やユーザーエクスペリエンスにどのような影響を与えるかを理解できる。さらに、これらはシステムの行動パターンに変換され、システムの異常なユーザーを迅速に調査できるようになる。
Yen氏は最後に、開発者がソフトウェア システムの動作の予測不可能性の高まりに急速に適応してきたことを踏まえ、ソフトウェア・エンジニアリングの将来について楽観的な見通しを述べている。システムのユーザーエクスペリエンスへの影響に焦点が移る中、特に生成AIの時代には、オブザーバビリティが不可欠である。