スキル Skills
スキルは LoopAgent 専用の能力です。モデルが「調べる」のではなく「読む」ためのマニュアル(SOP)で、SKILL.md の本文1つと、任意の参照ファイルやスクリプトから構成されます。モデルは必要なときにその本文を読み込み、そこに書かれた手順に沿って作業します。
スキルとは何か、どう使われるか
- 1つのスキルパッケージ = 必須の
SKILL.md+ 任意のテキストファイル、スクリプト。パッケージ全体で 20MB 以下、単一ファイルで 5MB 以下です。 - システムは毎ターン、モデルに「利用可能なスキル一覧」を1つ渡すだけで、名前と概要のみで本文は含みません。モデルはあるスキルが関連すると判断して初めて、その完全な
SKILL.md本文を読み込みます。 - スキルパッケージ内のファイルはスキル機構を通じてのみ読み取れ、いかなるローカルファイルシステム上にも存在しません(詳しくは後述のサンドボックスの説明を参照)。
- 1つの LoopAgent には最大 10 個のスキルを紐付けられます。
3つの提供元
| Agent プライベートスキル | 組織スキル | プラットフォームスキル | |
|---|---|---|---|
| 可視範囲 | 所属するこのエージェントのみ | 組織内でエージェントをまたいで再利用 | プラットフォーム公式ライブラリ。全組織に表示 |
| 作成 | エージェント内で「Skill を作成」し、自動的に紐付け | 「ツール › スキル」で作成 | プラットフォームが管理。組織は新規作成不可 |
| エージェント内で開いたとき | 編集可能 | 読み取り専用になる(変更するには「ツール › スキル」へ) | 読み取り専用 |
| 本文の変更がいつ反映されるか | エージェントの公開に伴う:保存はデバッグ版に入るだけで、エージェントを公開して初めて反映 | 即時かつグローバル:保存すれば、それを参照するすべてのエージェントに反映 | 編集不可 |
「取り外し/削除」の意味は提供元によって異なります:組織/プラットフォームスキルで「取り外し」をクリック = 紐付け解除のみで、スキル本体は残ります。Agent プライベートスキルで「削除」をクリック = 本体ごと削除されます。組織スキルの本体を完全に削除するには、「ツール › スキル」ページで操作する必要があります。
下書き、Debug、Production
スキルの本文(SKILL.md)が反映されるまでの過程は、ペルソナと同じく3つの状態に分かれます。注意点:スキルエディタには「保存」ボタンしかなく、「公開」ボタンはありません——公開の操作は別の場所で行います。
| 状態 | 何か | 誰が読めるか |
|---|---|---|
| 下書き Draft | エディタで入力中に自動保存される内容 | 編集者本人のみ。いかなる対話(デバッグチャットを含む)でも読めません |
| 保存 / Debug | 「保存」をクリックした後に書き込まれる正式な本文 | デバッグチャットが即座に読み込みます(保存すればデバッグ版に反映) |
| 公開 / Production | 顧客が実際に読む本文 | 対外チャネル。スキルの提供元に応じて更新タイミングが決まります(下記参照) |
反映のされ方は、スキルの提供元によって2種類に分かれます。
- Agent プライベートスキル:本文は LoopAgent の公開に伴って反映されます。エディタで保存をクリックしてもデバッグ版にしか反映されず、この LoopAgent を公開して初めて、最後に保存したバージョンが反映されます(ペルソナと同じロジック)。
- 組織/プラットフォームスキル:本文は即時かつグローバルです。保存をクリックすると、それを参照するすべてのエージェント(デバッグ版+オンライン)に即座に反映され、エージェントを公開する必要はありません。
最もよくある落とし穴:編集中の下書きはデバッグチャットからも読めません。デバッグチャットで変更を検証したい場合は、まず「保存」をクリックする必要があります。そうしないと、読み込まれるのは前回保存した本文のままです。
もう1つの落とし穴:Agent プライベートスキルは保存をクリックしてもデバッグ版までしか反映されず、顧客が見るのは依然として公開版です——反映するには、忘れずに LoopAgent を公開してください。
補足が2点:
- 新規作成後すぐに読める:スキルを新規作成すると最小限の本文が自動的に書き込まれます(フォームでの新規作成 = 名前+概要を合成、パッケージのアップロード = パッケージ内の
SKILL.mdを読み込み)。そのため、初回の公開前でもモデルが読み込めます。 - 複数人編集の競合:複数人や複数タブで同じスキルを同時に編集していると、保存時に「スキルの内容が他の人によって更新されました」と表示されることがあります。再読み込みしてから改めて保存すれば解決します。
Python スクリプトと実行サンドボックス
スキルパッケージには Python スクリプトを同梱できます(scripts/ ディレクトリに置くのは慣例で、必須ではありません)。正確な計算、フォーマット変換、特定ライブラリの呼び出しが必要なステップをコードとして書き、モデルが必要に応じて実行します。
実行の仕組み:
- スクリプトは隔離サンドボックス内で実行されます(独立した Linux 環境+Python 3.11)。あなたのサーバー上でも、モデルのローカル上でも実行されません——本質的に隔離されており、互いに影響しません。
- モデルは必要に応じてパッケージ内のスクリプトをサンドボックスに投入して実行し、結果を受け取ります。スキルパッケージ内のファイルもスキル機構を通じてのみ読み取れ、
bashでcat/findすることはできません(スキルパッケージはローカルファイルシステム上に存在しません)。
エディタ内の「テスト実行」=実際のサンドボックス実行:
- スキルエディタで
.pyスクリプトに対して「テスト実行」をクリックするのは、実際のバックエンドサンドボックス実行であり、フロントエンドのシミュレーションではありません。モデルの実行時と同じサンドボックスを使うため——エディタでテストが通れば、モデルの実行時にも通ります。 - スクリプト自体のエラー ≠ API の失敗:スクリプト内部で例外が発生した場合、出力とエラースタックを伴って正常に返されます(調査しやすくするため)。これは実行 API が落ちたことを意味しません。API の失敗となるのは、サンドボックス層に問題がある場合(その環境にサンドボックスが未デプロイなど)だけです。
- テスト時にチャネル/セッション変数が取得できない:編集中は実際の対話コンテキストがないため、チャネル属性(WhatsApp/Telegram 関連など)やセッション属性は空値になります。実際の対話の実行時にのみ値が入ります。したがって、テスト中にこれらの変数が空になるのは正常です。
bashツール:すべての LoopAgent にはbashツールが1つ付属しており、スキルドキュメントに記載された API 呼び出しを駆動するために使われます(SKILL.mdの説明に従ってコマンドを組み立てます)。ただし、スキルパッケージ内の Python スクリプトはサンドボックス実行であり、bashではありません。
スキルが反映されないときの切り分け
スキルがモデルに読み込まれるには各段階をクリアする必要があります。順番に自己点検してください。
- スキルモジュールのメインスイッチがオンになっているか。
- そのスキルの紐付けエントリが有効になっているか。
- スキル本体が有効になっているか。
- スキルの本文が空でないか(空の本文は破棄され、モデルは読めません)。
- 別のスキルと同名でないか(スキル名は大文字・小文字を区別し、同名の場合は先に紐付けたものだけが残ります)。
スキルの紐付けスイッチを変更すると、次のメッセージで利用可能なスキル一覧に表示/非表示が反映され、エージェントを保存し直す必要はありません。
