コンテンツにスキップ
Subako Docs
日本語
Esc
↑↓移動↵開く⌘Jプレビュー
このページの内容

Tool

Agent の Tool の出どころと命名。

Agent が呼び出せる Tool は、どれもそのバージョンの Grant か、Session の Client が提供します。提供元ごとに接頭辞が付くので、モデルも、ログを読むコードも、提供元を区別できます。Tool は <kind>__<name>__<tool> という名前でモデルに渡されます。

種類 付与元 例 実行場所
mcp MCP サーバーの Grant mcp__orders__lookup MCP サーバー上。その URL に対応する Session の Vault の Credential を使います
skill Skill の Grant skill__refund-policy__read Subako 内。Skill のファイルを読みます
sandbox Sandbox の Grant sandbox__build__exec Session 専用の Linux の Sandbox 内
fn Function package の Grant fn__anydoc__convert_to_markdown Subako 内。Function の呼び出しとして実行します
builtin 組み込みの Grant builtin__ask_user__ask Subako 内。フォームの表示や Session の名前付けを行います
client Session の Client client__web__highlight_row アプリ内。Client tool として実行します

<name> は Grant の名前で、バージョンの中で決めます。英小文字、数字、- からなる 32 文字以内の名前で、同じ種類の Grant の中で一意にします。parent は予約済みで使えません。

Policy

MCP サーバー、Sandbox、Function の Tool は、Policy (許可、承認を求める、拒否) に従って実行されます。Policy は Grant ごとに設定し、Tool 名を完全一致で指定して Tool ごとに上書きできます。拒否された Tool は、モデルにはまったく提示されません。承認を求める Tool は 承認 を待ちます。Skill、組み込みの Tool、Client tool には Policy がなく、付与すること自体が許可の判断になります。

Credential

バージョンが Credential を持つことはありません。バージョンが指定するのは Tool の接続先 (MCP サーバーの URL、Function の Origin) で、そこで提示する Credential は Session の Vault が持っています。Credential は Subako が送信時に呼び出しに付けるので、モデルも、それを実行するエンジンも、Function の Module も Credential を目にしません。

このしくみにより、公開した 1 つのバージョンで多くの顧客に対応できます。Agent に何をさせてよいかはバージョンが決め、誰の Credential でそれを行うかは Session が決めます。

Sandbox と Function

Function は、自分で書いたコードを呼び出しごとに新しい Sandbox で実行します。ネットワークは Grant で許可しない限り使えず、Credential は Subako が付けます。Sandbox は Session 専用の Linux マシンで、モデルが書いたコマンドを何でも実行します。基本は Function を使い、Linux が必要なプログラムを動かすときだけ Sandbox を付与してください。詳しくは Sandbox を参照してください。

このページは役に立ちましたか?