AIの分野以外でも、多くのインフラシステムは「実行状態」と「ビジネスの状態」を分離しようと試みている。AIアプリケーションの場合、これは現在のステップ、次のステップ、待機状態、再試行などの情報を追跡するための複雑な抽象化を伴うことがある。この分離は複雑さをもたらし、価値があるかもしれないが、ユースケースにとっては難しいかもしれない。この分離は複雑さをもたらし、価値があるかもしれないが、ユースケースには小さすぎるかもしれない。
いつものことだが、自分のアプリに何がふさわしいかは自分で決める必要がある。しかし必ず別々に管理する。
もっと明確に:
- 実行状況現在のステップ、次のステップ、待機状態、リトライ回数など。
- 動作状態Intelligentsiaのワークフロー(OpenAIのメッセージリスト、ツールコール、結果リストなど)でこれまでに起こったこと。
可能であれば、単純化すること、つまり両者を可能な限り統一すること。
実際、コンテキスト・ウィンドウからすべての実行状態を推測できるようにアプリケーションを設計することができる。多くの場合、実行状態(現在のステップ、待機状態など)は、これまでに起こったことに関するメタデータに過ぎません。
セッションIDやパスワードのコンテキストなど、コンテキストウィンドウに収まらないものもあるかもしれませんが、それらを最小限にすることが目標です。しかし、それらを最小限にすることが目標です。 要素3そのため、実際に大きな言語モデルに何が入力されるかをコントロールすることができる。
このアプローチにはいくつかの利点がある:
- シンプルさすべての状態の唯一の真の源
- 連載スレッドは簡単にシリアライズ/デシリアライズできる。
- テスト中にコンポーネントを調整する歴史が一目でわかる
- 熟練新しいイベントタイプを追加するだけで、簡単に新しい状態を追加できます!
- 再開スレッドを読み込むだけで、どこからでもリカバリーできる!
- 星状体スレッドは、スレッドのサブセットを新しいコンテキスト/状態IDにコピーすることで、いつでもフォークできる。
- ヒューマン・コンピューター・インターフェースと観察可能性スレッドを人間が読めるMarkdownやリッチなWebアプリケーションのUIに簡単に変換できます!