メインコンテンツへスキップ
ToolSet内の各ツールは、定義された入力スキーマ、出力スキーマ、コードを持つ個別の実行単位です。コンソールは、ブラウザから離れることなくツールの作成、テスト、反復を行えるフル機能の開発環境を提供します。

ツールの作成

1

ToolSetを開く

ツールを追加したいToolSetに移動します。Toolsタブが選択されていることを確認してください。
2

Add Toolをクリック

Add Toolをクリックします。以下の項目を入力するCreate New Toolモーダルが表示されます:
  • Name — 人間が読みやすい名前(例:「Post Message」)。
  • Slug — URL用の識別子(例:post-message)。名前から自動生成されます。APIエンドポイントで使用されます。
  • Description — ツールの機能の説明(任意)。
3

エディタを開く

Create Toolをクリックします。言語に適したスターターテンプレートが事前に入力されたツールエディタページにリダイレクトされます。

ツールエディタ

ツールエディタは、リサイズ可能なマルチパネルのワークスペースです:

コードエディタ

CodeMirrorベースのエディタで、TypeScriptとPythonのシンタックスハイライトを備えています。

テストパネル

JSON入力を入力し、ライブSandboxでツールを実行します。エディタを離れることなく、出力またはエラーを確認できます。

設定パネル

ツールの名前、Slug、説明を編集します。コードからメタデータの自動入力をトリガーできます。

AI Copilot

コードの生成、実行出力に基づく修正の提案、テスト入力の更新が可能な組み込みのチャットアシスタントです。

キーボードショートカット

TypeScriptでのツール作成

TypeScriptのツールはスキーマ定義にZodを使用します。inputとoutputのスキーマ、および非同期のrun関数をエクスポートします:
TypeScriptツールの主な規約:
  • "zod"からzをインポートします。Sandboxにプリインストールされています。
  • inputとoutputをZodスキーマとしてエクスポートします。バリデーションとAPIのJSON Schema生成に使用されます。
  • runをエントリーポイントとしてエクスポートします。検証済みの入力を受け取り、出力スキーマに一致するオブジェクトを返す必要があります。
  • ToolSetのPackagesタブに登録されているパッケージをimportできます。
  • 環境変数はprocess.env経由でアクセスできます。

Pythonでのツール作成

Pythonのツールはスキーマ定義にPydanticを使用します。InputとOutputモデル、およびrun関数を定義します:
Pythonツールの主な規約:
  • InputとOutputをPydanticのBaseModelサブクラスとして定義します。
  • runをエントリーポイントとして定義します。検証済みの入力を受け取り、Outputモデルのインスタンスを返す必要があります。
  • ToolSetのPackagesタブに登録されているパッケージをimportできます。
  • 環境変数はos.environ経由でアクセスできます。

入力・出力スキーマ

スキーマには2つの目的があります:
  1. バリデーション — APIは実行前に入力を入力スキーマに対して検証します(必須フィールドとプロパティの型)。出力は検証されません。
  2. ドキュメンテーション — スキーマはAPIおよびMCPエンドポイントを通じて公開され、AIエージェントがツールの期待する入出力を理解できるようにします。
両方のスキーマはコードから抽出されます。ツールを保存すると、APIがSandbox内でinput / outputの定義(ZodまたはPydantic)を実行し、生成されたJSON Schemaを保存します。input、output、runのいずれかが欠けているとツールは保存できません。 各フィールドに.describe()(Zod)またはField(description=...)(Pydantic)を使用して、明確な説明を提供してください。これらの説明はAPIドキュメントに表示され、AIエージェントがツールの呼び出し方法を理解するために使用されます。

メタデータの自動生成

設定パネルのAuto-fillをクリックすると、以下が自動的に入力されます:
  • Name — コードから推定される人間が読みやすい名前。
  • Slug — コードから導出されます。
  • Description — ツールの機能の要約。
この機能はAIを使用してコードを分析し、実装済みのコードからメタデータを設定する時間を節約します。

AI Copilot

ツールエディタの右側パネルは、ツールのコード・言語・最新のテスト結果を把握したAIコーディングエージェントです(ヘッダーにはCoding Agentと表示されます)。既定で開いており、Cmd/Ctrl + Bで表示を切り替えます。閉じている間はパネルの位置にボットアイコン(Open AI Assistant)が表示され、クリックで再び開きます。 Ask anything…ボックスに依頼を入力してEnterで送信します(Shift + Enterで改行)。会話が空の時はExplain this code、Add error handling、Optimize performanceの候補が表示されます。依頼の例:
  • コードの生成・変更 — エージェントが実装を書いたり編集したりします。エージェントが編集ツールで行った変更はそのままエディタに反映されます。チャットに表示されたコードはApplyをクリックするとエディタに取り込まれ、ツールも保存されます。Copyはスニペットをコピーするだけです。
  • 失敗したテストの修正 — 最新の実行結果(ステータス、入力、出力、エラー、stdout、stderr)はすべてのメッセージに添えて送られます。テストが失敗するとAuto Fix Errorボタンが表示され、その結果に基づいてエラーを修正するようエージェントに依頼できます。
  • 実行とテスト入力の反映 — エージェントはツールを自分で実行でき、TestパネルのInputタブにテスト入力の提案を書き込めます(通常は実行が成功した後)。
  • 会話 — 会話はツールごと・ユーザーごとに保存されます。パネルを開くと最新の会話が読み込まれ、ヘッダーには会話の選択、New conversation、Export conversationがあります。
ライブラリや期待する動作を具体的に伝える、複雑なツールは段階的に作る、やり直すより既存の会話を続けて反復する、の3点で精度が上がります。

APIパネル

APIパネル(Cmd/Ctrl + .またはヘッダーのAPIボタン)を開くと、以下を確認できます:
  • Organization Endpoint(POST .../v1/orgs/{orgId}/toolsets/{slug}/tools/{toolSlug}/run)と、ツールの入力スキーマから生成されたサンプル入力を含むコピー可能なcurl例。
  • Public Endpoint(POST .../v1/public/{orgId}/{slug}/run/{toolSlug})と、ToolSetが公開の場合はそのcurl例、非公開の場合はその旨の注記。
  • 各実行が1クレジットを消費するという注記。
MCPエンドポイントはこのパネルではなく、ToolSetのToolsタブに表示されます。 エディタ内にいながら、外部アプリケーションにツールを素早く統合する際に便利です。

保存と削除

  • 保存 — Saveボタンをクリックするか、Cmd/Ctrl + Sを押します。変更はドラフト状態に保存され、公開済みバージョンには影響しません。
  • 削除 — ヘッダーのDeleteボタンをクリックします。確認ダイアログが表示されます。ツールを削除するとドラフト状態から削除されます。公開済みバージョンに含まれていた場合、それらのスナップショットは変更されません。

ベストプラクティス

  • ツールを単機能に保つ。 各ツールは1つのことを適切に行うべきです。関連するツールをグループ化するにはToolSetを使用します。
  • 分かりやすいスキーマを書く。 適切なフィールド説明は、AIエージェントがツールを正しく呼び出すのに役立ちます。
  • 公開前にテストする。 新しいバージョンを公開する前に、テストパネルでさまざまな入力による動作を確認します。
  • シークレットには環境変数を使用する。 APIキーやトークンをツールコードにハードコードしないでください。ToolSetのEnvironmentタブに保存します。
  • 反復にCopilotを活用する。 テスト実行が失敗した後、Copilotはエラー出力にアクセスでき、的確な修正を提案できます。