概要
Jinba Toolboxは、不変のスナップショットを持つsemverベースのバージョニングシステムを採用しています。各ToolSetはドラフト(編集可能な作業コピー)と公開済みVersionの一覧を管理します。公開すると、すべてのToolコード、スキーマ、Sandbox設定を含むToolSetの完全なスナップショットが、変更不可能なVersionとして凍結されます。 この設計により再現性が保証されます。Version1.0.0 を実行すると、いつどこから呼び出しても常に同じコードが実行されます。
コンセプト
ドラフトとVersion
不変のスナップショット
各Versionは、公開時点のToolSetの完全なスナップショットを取得します:- すべてのToolコードとエントリーポイント
- 入力スキーマと出力スキーマ
- Tool名と説明
- Sandbox設定(プロバイダー、言語、パッケージ、リソース)
公開ワークフロー
1
ドラフトを編集する
WebコンソールまたはAPIを通じて、ドラフト内のToolに変更を加えます。テストエンドポイントを使用して動作を検証します:
2
新しいVersionを公開する
ドラフトの準備ができたら、semverバージョン番号とオプションのリリースノートを指定して公開します:またはSDKを使用:
3
公開Versionを設定する
APIが配信するVersionを選択します。新しく公開されたVersionが自動的にアクティブになるわけではありません。明示的に設定する必要があります:変更は即座に反映されます。
4
開発を続ける
公開後もドラフトはそのまま残るため、ライブの公開Versionに影響を与えることなく、次のVersionに向けて反復的に開発を続けられます。
Versionの解決
run エンドポイント経由でToolを実行する際、Jinba Toolboxは使用するVersionを以下のように解決します:
- リクエストボディに
versionフィールドが含まれている場合、その正確なVersionが使用されます。 - それ以外の場合、現在公開されている(アクティブな)Versionが使用されます。
ロールバック
ロールバックは、公開Versionを以前のものに変更するだけです:Version API
Versionデータモデル
公開された各Versionは完全なスナップショットを保存します:使用量の追跡
Jinba Toolboxは、Versionごとの API呼び出し回数を追跡します。使用統計はWebコンソールで確認するか、APIを通じて実行履歴を取得できます:ベストプラクティス
- セマンティックバージョニングに従う — 破壊的なスキーマ変更にはメジャーバンプ、新しいToolや機能にはマイナーバンプ、修正にはパッチバンプを使用してください。
- リリースノートを記述する — Version間の変更点をチームが理解するのに役立ちます。
- 公開前にテストする — 不変のVersionを作成する前に、
testエンドポイントでドラフトを検証してください。 - MCPの公開ステップを省略しない — MCPエンドポイントはドラフトではなく公開Versionを配信します。
- Versionごとの使用状況を監視する — Versionを廃止する前に、依存している利用者がいないことを確認してください。
関連ドキュメント
- REST API — Versionルートを含む完全なエンドポイントリファレンス
- SDK — プログラムによるVersion管理
- セキュリティとアクセス制御 — Versionを公開できるユーザー