mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-10-30 20:35:22 +08:00
git-subtree-dir: docs git-subtree-mainline:0582d1b3d4git-subtree-split:51dddcb3f8
102 lines
5.9 KiB
Plaintext
102 lines
5.9 KiB
Plaintext
---
|
||
title: "スキル (Skills)"
|
||
description: "LangBot の Skills を活用し、専門知識を必要に応じて読み込み。コンテキストを圧迫せず AI Agent を拡張。"
|
||
---
|
||
|
||
Skill は**必要時に起動する**指示パックです。ユーザーのリクエストが該当する内容になると、Agent が `activate` ツールを呼び出してその Skill の指示をコンテキストに取り込み、それに従ってタスクを完了させます。起動されていない Skill はコンテキストを消費しません。
|
||
|
||
Agent に**専門的なワークフロー、テンプレート、スクリプト**を一つ追加するのに向いています。たとえば「Python プロジェクトの解析」「PDF フォーム入力」「コードレビュー」など。System Prompt に全部詰め込む必要はありません。
|
||
|
||
## プラグイン・MCP との違い
|
||
|
||
| やりたいこと | 使うもの |
|
||
|------|------|
|
||
| 必要時に起動する一連のワークフロー(スクリプトやテンプレート付き可) | Skill |
|
||
| 既存の MCP ツールサービスに接続 | MCP サーバー |
|
||
| 長期常駐機能、設定画面、イベント、ナレッジベース | プラグイン |
|
||
|
||
詳細は[ランタイムと拡張機能の関係](../sandbox/runtime-relationships)を参照。
|
||
|
||
## Skill のインストール
|
||
|
||
<Note>
|
||
Skill はサンドボックスに依存します。`box.enabled` が `true` で、Docker / Nsjail / E2B のいずれかが利用可能なときのみ、Skill のインストール、起動、編集ができます。詳細は[サンドボックス設定](../sandbox/config)を参照。
|
||
</Note>
|
||
|
||
### LangBot Space から(推奨)
|
||
|
||
[LangBot Space](https://space.langbot.app) は LangBot 公式のマーケットプレイスで、すぐに使える Skill が多数掲載されています。WebUI の Skills ページから閲覧して 1 クリックでインストールでき、`SKILL.md` の作成やリソースファイルの準備は不要です。
|
||
|
||
ほとんどのケースはこれで十分です。独自のワークフローが必要な場合は下記の方法を使ってください。
|
||
|
||
### 自分で作る
|
||
|
||
**WebUI** — Skills ページで新規作成、zip アップロード、GitHub からのインポートが可能。
|
||
|
||
**サンドボックス + `register_skill`**:
|
||
1. サンドボックスの `/workspace` 配下にディレクトリと `SKILL.md` を準備
|
||
2. Agent に `register_skill(path="/workspace/my-skill")` を呼び出させる
|
||
|
||
いずれの方法でも Box Runtime が管理する skill store に書き込まれます。
|
||
|
||
## パイプラインで有効化
|
||
|
||
Skill をインストールしたあと、パイプラインの拡張設定で Agent から見える Skill を決めます:
|
||
|
||
- 「すべての Skill を有効化」をオンにする、または
|
||
- 指定した Skill のみをバインドする
|
||
|
||
バインドは `<available_skills>` 一覧(Agent が選択肢として認識する対象)にのみ影響します。完全な指示は常に `activate` が呼ばれた後に注入されます。
|
||
|
||
## SKILL.md を書く
|
||
|
||
Skill はディレクトリと `SKILL.md` 1 つで構成されます。frontmatter にメタデータを書き、本文は Agent が起動後に受け取る指示です:
|
||
|
||
```markdown
|
||
---
|
||
name: code-reviewer
|
||
display_name: コードレビューアシスタント
|
||
description: コードをレビューして改善提案を行う。ユーザーが review、レビュー、コード改善に言及したときに起動
|
||
---
|
||
|
||
## 実行手順
|
||
|
||
1. `read` で関連ファイルをざっと確認
|
||
2. 可読性、潜在的なバグ、セキュリティ問題をチェック
|
||
3. 優先度順に改善提案を提示
|
||
```
|
||
|
||
LangBot は現在、以下の 3 つのフィールドを読み取ります:
|
||
|
||
| フィールド | 必須 | 説明 |
|
||
|------|------|------|
|
||
| `name` | 作成/登録時 | 一意の識別子、1–64 文字 |
|
||
| `description` | 強く推奨 | Agent はこれをもとに起動可否を判断する——具体的なほど選ばれやすい |
|
||
| `display_name` | 任意 | UI 表示名 |
|
||
|
||
`description` は Agent が Skill を選ぶ唯一の手がかりです。**機能・適用シーン・想定されるトリガーワード**を具体的に書きましょう。
|
||
|
||
完全な仕様は [agentskills.io](https://agentskills.io/home) を参照してください。その他のフィールド(`license`、`metadata` など)は将来の互換のために残せますが、現在は読み取られません。
|
||
|
||
**リソースを伴う Skill** では `SKILL.md` と同じ階層に `scripts/`、`templates/` などを置きます。起動後、Agent は `/workspace/.skills/{skill-name}/` でこれらにアクセスできます。
|
||
|
||
### Agent が使えるツール
|
||
|
||
| ツール | 用途 |
|
||
|------|------|
|
||
| `activate` | Agent が該当を判断したときに自動で呼び出し、SKILL.md をコンテキストに取り込む |
|
||
| `register_skill` | サンドボックスに用意したディレクトリを新しい Skill として登録 |
|
||
|
||
## よくある問題
|
||
|
||
| 症状 | 確認項目 |
|
||
|------|--------|
|
||
| Skill 一覧が空 | `box.enabled`、Box Runtime の状態、`box.local.skills_root` |
|
||
| Agent が Skill を起動しない | `description` が具体的か、パイプラインでバインドされているか、モデルが関数呼び出しに対応しているか |
|
||
| 起動後にファイルが見つからない | ファイルは Skill パッケージ内に置く必要があり、パスは `/workspace/.skills/{skill-name}/` |
|
||
| `register_skill` がエラー | パスは `/workspace` 配下である必要があり、ディレクトリまたは 2 階層以内のサブディレクトリに `SKILL.md` が必要 |
|
||
|
||
<Note>
|
||
Skills は現在、組み込み Agent 向けで、関数呼び出しとサンドボックスバックエンドに依存します。外部 Runner(Dify、n8n、Langflow、Coze など)では各プラットフォームの同等機構を利用してください。
|
||
</Note>
|