エージェントのバージョニング
エージェントのバージョニング
ブランチ、バージョン、トラフィックデプロイを使用して、エージェント設定を安全に試行します
エージェントのバージョニングでは、本番環境の設定にリスクを与えずに、エージェントのさまざまな構成を試せます。分離されたブランチを作成し、変更をテストして、トラフィックの割合によるデプロイで更新を段階的に展開できます。
A/Bテストを実行したい場合は、ライブトラフィックに対するエージェント変更の推奨テストワークフローについて、実験を参照してください。
概要
バージョニングシステムでは、次のことができます。
- 任意の時点におけるエージェント構成の不変スナップショット
- 本番環境に移行する前に変更をテストするための分離されたブランチ
- 一部のユーザーに対して段階的に変更を展開するためのトラフィック分割
- 任意のブランチから別のブランチへ変更を反映するマージ
- 最新のメインブランチの変更をブランチに取り込むリベース
エージェントでバージョニングを有効にすると、無効にはできません。既存のエージェントでバージョニングを有効にする前に、この点を考慮してください。
基本概念
バージョン
バージョンは、特定の時点におけるエージェント構成の不変スナップショットです。各バージョンには一意のID(形式:agtvrsn_xxxx)があり、次の内容を含みます。
conversation_config- システムプロンプト、LLM設定、音声設定、ツール、ナレッジベースplatform_settings- 評価、ウィジェット、データ収集、セーフティ設定を含む、バージョン管理対象のサブセットworkflow- ノードとエッジを含む完全なワークフロー定義
バージョン管理対象のエージェントへの変更を保存すると、バージョンは自動的に作成されます。作成後のバージョンは変更できません。
ブランチ
ブランチは、gitのブランチに似た、名前付きの開発ラインです。メインブランチにマージして戻す前に、変更を分離して作業できます。
- すべてのバージョン管理対象エージェントには、削除またはアーカイブできないMainブランチがあります
- 追加のブランチは、mainだけでなく、既存の任意のブランチ上の任意のバージョンから作成できます
- ブランチは任意の別のブランチにマージでき、main以外のブランチはmainにリベースして最新の変更を取り込めます
- 各ブランチには、ID(
agtbrch_xxxx)、名前、説明、バージョンのリストがあります - ブランチ名には、英字、数字、
() [] {} - / .を使用できます(最大140文字)
トラフィックデプロイ
トラフィックは割合により複数のブランチへ分割でき、段階的な展開とA/Bテストを可能にします。
- 割合の合計は常に正確に**100%**である必要があります
- トラフィックルーティングは会話IDに基づく決定論的なものです(同じユーザーは一貫して同じブランチにルーティングされます)
- アーカイブできるのは、トラフィックが0%のアーカイブされていないブランチのみです
下書き
未保存の変更は下書きとして保存されるため、すぐに新しいバージョンを作成せずに変更作業を行えます。
- 下書きはユーザーごと、ブランチごとです(各チームメンバーは自分の下書きを持ちます)
- 新しいバージョンがコミットされると、下書きは自動的に破棄されます
- ブランチにマージするときも、下書きは破棄されます
バージョニングを有効にする
バージョニングはオプトインで、明示的に有効にする必要があります。新しいエージェントの作成時、または既存のエージェントで有効にできます。
一度有効にすると、バージョニングは無効にできません。これはエージェントに対する永続的な変更です。
エージェント作成時に有効にする
ダッシュボードで有効にする
APIで有効にする
ダッシュボードでエージェントを開き、設定に移動してバージョニングを有効にします。有効にすると、バージョニングタブでブランチ、下書き、バージョン、トラフィックデプロイを管理できるようになります。
既存のエージェントで有効にする
ダッシュボードで有効にする
APIで有効にする
ダッシュボードでエージェントを開き、設定に移動してバージョニングをオンにします。
バージョニングを有効にすると、現在のエージェント設定を含む最初のバージョンとともに、初期の「Main」ブランチが作成されます。
ブランチを操作する
ブランチを作成する
ブランチは、mainだけでなく、任意のブランチ上の任意のバージョンから作成できます。新しいブランチの初期バージョンに適用する構成変更を、任意で含めることもできます。
ブランチを一覧表示する
ブランチの詳細を取得する
変更のコミット
バージョニングを有効にしたエージェントを更新する場合は、branch_idを指定してそのブランチに新しいバージョンを作成します。
ダッシュボードで更新
CLIで更新
APIで更新
エージェントのバージョニングタブを開き、対象のブランチに切り替えて設定を編集し、保存すると新しいバージョンが作成されます。
指定したブランチには新しいバージョンが自動的に作成され、そのブランチ上のそのユーザーの既存ドラフトは破棄されます。
トラフィックのデプロイ
デプロイメントエンドポイントを使用して、ブランチ間にトラフィックを分配します。段階的なロールアウトやA/Bテストを実施できます。
トラフィックルーティングは会話IDに基づいて決定されるため、同じユーザーはセッションをまたいでも一貫して同じブランチに接続されます。
ブランチのマージ
ブランチ上の変更に問題がなければ、別のブランチにマージします。アーカイブされていないブランチは、mainだけでなく、他の任意のアーカイブされていないブランチにマージできます。
マージ前にブランチの変更をレビューしたい場合や、書き込み権限のないブランチに変更を反映したい場合は、直接マージするのではなく、マージ提案を作成してください。
マージすると、次の処理が行われます。
- ソースブランチの設定で、ターゲットブランチに新しいバージョンを作成します
- 必要に応じてソースブランチをアーカイブします(デフォルトの動作)
- ソースブランチからターゲットブランチへトラフィックを自動的に移行します
ソースブランチがターゲットブランチから作成されており、ターゲットブランチ以降の新しいコミットがない場合はno_new_changes_to_mergeでマージに失敗します。すでにそのターゲットにマージされている場合はbranch_already_mergedで失敗します。
マージ競合の解決
分岐後にソースブランチとターゲットブランチの両方で設定が変更されている場合、デフォルトではより最近更新されたブランチの値が保持されます。タイムスタンプにかかわらず常にソースブランチの値を使用するには、force=Trueを設定します。
マージを確定する前に、上書きされるフィールドを含むマージ結果をプレビューします。
ブランチをmainにリベース
リベースでは、git rebaseと同様に、mainブランチの最新の変更を別のブランチに取り込みます。これにより、ブランチ自身の変更をまだマージバックせずに、長期間使用するブランチをmainと最新の状態に保てます。
リベースすると、次の処理が行われます。
- mainの最新の変更を取り込んだ新しいバージョンをブランチに作成します
- ブランチ自身の変更を保持します。ブランチとmainの両方で設定が編集されている場合は、常にブランチの値が保持されます
- ブランチにmainのすべての変更がすでに含まれている場合は、
branch_already_up_to_dateで失敗します
リベースできるのはmain以外のブランチのみで、リベース先はmainに限られます。mainブランチ自体をリベースすると、cannot_rebase_mainエラーが返されます。
確定する前にリベース結果をプレビューします。
ブランチのアーカイブ
不要になったブランチをアーカイブします。ブランチリストを整理しやすくなります。
トラフィックが割り当てられているブランチはアーカイブできません。アーカイブする前に、すべてのトラフィックを削除してください。
archived=Falseを設定すると、アーカイブ済みのブランチを復元できます。
特定バージョンの取得
特定のバージョンまたはブランチの先端にあるエージェントを取得できます。
特定バージョンのエージェントを取得
ブランチ先端のエージェントを取得
ドラフトの変更を含める
設定リファレンス
バージョン管理される設定
これらの設定は、バージョンやブランチごとに異なる場合があります。
エージェント単位の設定
これらの設定はすべてのバージョンで共有されます。
main以外のブランチで名前とタグを変更しても、mainにマージされるまでエージェントには反映されません。
ベストプラクティス
説明的なブランチ名を使用する
実験の目的が明確に伝わるブランチ名を選びます。参照しやすいよう、機能名、仮説、チケット番号を含めてください(例:feature/new-greeting-flow、experiment/shorter-responses)。
作業中の変更にはドラフトを使用する
変更を繰り返す間は、頻繁にドラフトを保存します。不要なバージョンを作成せずに作業内容を保持できます。テストまたはデプロイの準備ができた場合にのみコミットしてください。
トラフィックを増やす前に主要指標を確認する
分析ダッシュボードを使用して、ブランチのパフォーマンスを比較します。通話完了率、平均会話時間、成功評価スコア、ツール実行率を確認してください。指標がmainブランチのベースライン以上になった場合にのみ、トラフィックを増やします。