Skip to content

ClassCat® AI Research

クラスキャット – Hermes Agent, assistant-ui, AG-UI, Agno, LangChain/LangGraph

Menu
  • ホーム
    • ClassCat® AI Research ホーム
    • クラスキャット・ホーム
  • OpenAI API
    • OpenAI Python ライブラリ 1.x : 概要
    • OpenAI ブログ
      • GPT の紹介
      • GPT ストアの紹介
      • ChatGPT Team の紹介
    • OpenAI platform 1.x
      • Get Started : イントロダクション
      • Get Started : クイックスタート (Python)
      • Get Started : クイックスタート (Node.js)
      • Get Started : モデル
      • 機能 : 埋め込み
      • 機能 : 埋め込み (ユースケース)
      • ChatGPT : アクション – イントロダクション
      • ChatGPT : アクション – Getting started
      • ChatGPT : アクション – アクション認証
    • OpenAI ヘルプ : ChatGPT
      • ChatGPTとは何ですか?
      • ChatGPT は真実を語っていますか?
      • GPT の作成
      • GPT FAQ
      • GPT vs アシスタント
      • GPT ビルダー
    • OpenAI ヘルプ : ChatGPT > メモリ
      • FAQ
    • OpenAI ヘルプ : GPT ストア
      • 貴方の GPT をフィーチャーする
    • OpenAI Python ライブラリ 0.27 : 概要
    • OpenAI platform
      • Get Started : イントロダクション
      • Get Started : クイックスタート
      • Get Started : モデル
      • ガイド : GPT モデル
      • ガイド : 画像生成 (DALL·E)
      • ガイド : GPT-3.5 Turbo 対応 微調整
      • ガイド : 微調整 1.イントロダクション
      • ガイド : 微調整 2. データセットの準備 / ケーススタディ
      • ガイド : 埋め込み
      • ガイド : 音声テキスト変換
      • ガイド : モデレーション
      • ChatGPT プラグイン : イントロダクション
    • OpenAI Cookbook
      • 概要
      • API 使用方法 : レート制限の操作
      • API 使用方法 : tiktoken でトークンを数える方法
      • GPT : ChatGPT モデルへの入力をフォーマットする方法
      • GPT : 補完をストリームする方法
      • GPT : 大規模言語モデルを扱う方法
      • 埋め込み : 埋め込みの取得
      • GPT-3 の微調整 : 分類サンプルの微調整
      • DALL-E : DALL·E で 画像を生成して編集する方法
      • DALL·E と Segment Anything で動的マスクを作成する方法
      • Whisper プロンプティング・ガイド
  • Gemini API
    • Tutorials : クイックスタート with Python (1) テキスト-to-テキスト生成
    • (2) マルチモーダル入力 / 日本語チャット
    • (3) 埋め込みの使用
    • (4) 高度なユースケース
    • クイックスタート with Node.js
    • クイックスタート with Dart or Flutter (1) 日本語動作確認
    • Gemma
      • 概要 (README)
      • Tutorials : サンプリング
      • Tutorials : KerasNLP による Getting Started
  • Keras 3
    • 新しいマルチバックエンド Keras
    • Keras 3 について
    • Getting Started : エンジニアのための Keras 入門
    • Google Colab 上のインストールと Stable Diffusion デモ
    • コンピュータビジョン – ゼロからの画像分類
    • コンピュータビジョン – 単純な MNIST convnet
    • コンピュータビジョン – EfficientNet を使用した微調整による画像分類
    • コンピュータビジョン – Vision Transformer による画像分類
    • コンピュータビジョン – 最新の MLPモデルによる画像分類
    • コンピュータビジョン – コンパクトな畳込み Transformer
    • Keras Core
      • Keras Core 0.1
        • 新しいマルチバックエンド Keras (README)
        • Keras for TensorFlow, JAX, & PyTorch
        • 開発者ガイド : Getting started with Keras Core
        • 開発者ガイド : 関数型 API
        • 開発者ガイド : シーケンシャル・モデル
        • 開発者ガイド : サブクラス化で新しい層とモデルを作成する
        • 開発者ガイド : 独自のコールバックを書く
      • Keras Core 0.1.1 & 0.1.2 : リリースノート
      • 開発者ガイド
      • Code examples
      • Keras Stable Diffusion
        • 概要
        • 基本的な使い方 (テキスト-to-画像 / 画像-to-画像変換)
        • 混合精度のパフォーマンス
        • インペインティングの簡易アプリケーション
        • (参考) KerasCV – Stable Diffusion を使用した高性能画像生成
  • TensorFlow
    • TF 2 : 初級チュートリアル
    • TF 2 : 上級チュートリアル
    • TF 2 : ガイド
    • TF 1 : チュートリアル
    • TF 1 : ガイド
  • その他
    • 🦜️🔗 LangChain ドキュメント / ユースケース
    • Stable Diffusion WebUI
      • Google Colab で Stable Diffusion WebUI 入門
      • HuggingFace モデル / VAE の導入
      • LoRA の利用
    • Diffusion Models / 拡散モデル
  • クラスキャット
    • 会社案内
    • お問合せ
    • Facebook
    • ClassCat® Blog
Menu

Hermes エージェント☤ 入門 : 機能 – スキル・システム

Posted on 07/27/2026 by Masashi Okumura

スキルとは、エージェントが必要に応じてロードできるオンデマンドのナレッジ・ドキュメントです。トークン使用量を最小限に抑えるため、段階的な情報開示パターンに従っており、agentskills.io 標準仕様と互換性があります。

Hermes エージェント☤ 入門 : 機能 – コア : スキル・システム

作成 : Masashi Okumura (@classcat.com)
作成日時 : 07/27/2026
バージョン : Hermes Agent v0.19.0 (2026.7.20) — The Quicksilver Release

* 本記事は hermes-agent.nousresearch.com/docs の以下のページを参考にしています :

  • Features – Core : Skills System

* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。

 

 

Hermes エージェント☤ 入門 : 機能 – コア : スキル・システム

スキルとは、エージェントが必要に応じてロードできるオンデマンドのナレッジ・ドキュメントです。トークン使用量を最小限に抑えるため、段階的な情報開示 パターンに従っており、agentskills.io 標準仕様と互換性があります。

すべてのスキルは `~/.hermes/skills/` に格納されます – プライマリディレクトリであり真の情報源です。新規インストール時には、バンドルされたスキルがリポジトリからコピーされます。ハブによってインストールされたスキルやエージェントによって作成されたスキルもここに格納されます。エージェントは、任意のスキルを変更または削除できます。

Hermes に 外部スキルディレクトリ をポイントさせることもできます – ローカルのものと並行してスキャンされる追加のフォルダです。See External Skill Directories below.

See also:

  • Bundled Skills Catalog

  • Official Optional Skills Catalog

 

まっさらな状態から始める

デフォルトでは、すべてのプロファイルにはバンドルされたスキルカタログが初期設定されており、Hermes の更新ごとに新しくバンドルされたスキルが追加されます。バンドルされたスキルが一切含まれていない プロファイルを望む場合には – そして更新後も空の状態を維持したい場合 – 次の 3 つの方法があります :

インストール時 (デフォルトの ~/.hermes プロファイルに適用) :

curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -s -- --no-skills

プロファイル作成時 (名前付きプロファイル) :

hermes profile create research --no-skills

既にインストールされているプロファイル (デフォルトまたは名前付き) において、実行時に切り替えます :

hermes skills opt-out            # stop future seeding — nothing on disk is touched
hermes skills opt-out --remove   # also delete UNMODIFIED bundled skills (confirms first)
hermes skills opt-in --sync      # undo: remove the marker and re-seed now

いずれの方法でも、プロファイルディレクトリに `.no-bundled-skills` というマーカーが書き込まれます。このマーカーが存在する間は、インストーラー、`hermes update`、およびスキル同期のいずれも、そのプロファイルのバンドル-スキルのシード処理をスキップします。再度有効にするには、マーカーを削除 (または `hermes skills opt-in` を実行) します。

 

スキルの使用

インストール済みのスキルはすべて、スラッシュコマンドとして自動的に使用できます :

# In the CLI or any messaging platform:
/gif-search funny cats
/axolotl help me fine-tune Llama 3 on my dataset
/github-pr-workflow create a PR for the auth refactor
/plan design a rollout for migrating our auth provider

# Just the skill name loads it and lets the agent ask what you need:
/excalidraw

 

1 つのコマンドで複数のスキルを組み合わせる

スラッシュコマンドを先頭に連結することで、単一のメッセージで複数のスキルを呼び出すことができます – 先頭の /skill トークン(最大 5 つ)がロードされ、残りの部分が指示として使用されます :

/github-pr-workflow /test-driven-development fix issue #123 and open a PR

解析 (parsing) はインストール済みのスキルではない最初のトークンで停止するため、(ファイルパスのような) 偶々 / で始まる引数は決して無視されません :

/ocr-and-documents /tmp/scan.pdf extract the tables   # loads one skill; /tmp/scan.pdf is the argument

繰り返し使用する組み合わせには、スキルバンドル がおすすめです。短いコマンド一つで同じ効果が得られます。

バンドルされている `plan` スキルが良い例です。`/plan [request]` を実行すると、スキルの指示がロードされ、必要に応じてコンテキストを検査し、タスクを実行する代わりにマークダウン形式の実装プランを作成し、アクティブなワークスペース/バックエンド作業ディレクトリからの相対パスで `.hermes/plans/` に結果を保存するように Hermes に指示します。

You can also interact with skills through natural conversation:

hermes chat --toolsets skills -q "What skills do you have?"
hermes chat --toolsets skills -q "Show me the axolotl skill"

 

ソースからスキルを習得する (/learn)

/learnは、既にユーザが知っていること – あるいは大量の参考資料 – を、SKILL.md を手書きすることなく、再利用可能なスキルに素早く変換できる方法です。それはオープンエンド (自由形式) です: 汎用性が高く、記述できるものであれば何でも指定でき、エージェントは、既に搭載されているツールを使って資料を収集し、社内作成基準(≤60 文字の説明、標準的なセクション順序、Hermes ツールによる構成、独自コマンドの不使用) に準拠したスキルを作成します。

# ローカルの SDK または doc ディレクトリ — read_file / search_files で読み取る
/learn the REST client in ~/projects/acme-sdk, focus on auth + pagination

# オンライン・ドキュメントページ (web_extract で取得)
/learn https://docs.example.com/api/quickstart

# あなたがこの会話でエージェントに説明したワークフロー
/learn how I just deployed the staging server

# 貼り付けられたメモ/説明された手順
/learn filing an expense: open the portal, New > Expense, attach the receipt, submit

ライブエージェントが情報取得を行うため、/learn は CLI、メッセージング・ゲートウェイ、TUI、ダッシュボード – そしてどのターミナルバックエンド (ローカル、Docker、リモート) でも同じように機能します、これは、個別の情報取得エンジンが存在しないためです。ダッシュボード において、「スキル」ページには “Learn a skill” ボタンがあり、これはディレクトリ・フィールド、URL フィールド、自由形式のテキストボックスを含むパネルが開きます; これは /learn リクエストを作成し、チャットで実行します。

モデルツールのフットプリントは存在しません: /learn は標準規格に準拠したプロンプトを作成し、通常のターンとしてエージェントに渡します。エージェントは結果を skill_manage ツールで保存するため、書き込み承認ゲートが有効になっている場合は適用されます。

 

段階的開示 (Progressive Disclosure)

スキルはトークン効率の良いローディング (読み込み) パターンを使用します :

Level 0: skills_list()           → [{名前, 説明, カテゴリー}, ...]   (~3k トークン)
Level 1: skill_view(name)        → コンテンツ全体 + メタデータ       (varies)
Level 2: skill_view(name, path)  → 特定の参照ファイル       (varies)o

エージェントは、実際に必要になった場合にのみ、スキルコンテンツ全体を読み込みます。

 

SKILL.md 形式

---
name: my-skill
description: Brief description of what this skill does
version: 1.0.0
platforms: [macos, linux]     # Optional — restrict to specific OS platforms
metadata:
  hermes:
    tags: [python, automation]
    category: devops
    fallback_for_toolsets: [web]    # Optional — conditional activation (see below)
    requires_toolsets: [terminal]   # Optional — conditional activation (see below)
    config:                          # Optional — config.yaml settings
      - key: my.setting
        description: "What this controls"
        default: "value"
        prompt: "Prompt for setup"
---

# Skill Title

## When to Use
Trigger conditions for this skill.

## Procedure
1. Step one
2. Step two

## Pitfalls
- Known failure modes and fixes

## Verification
How to confirm it worked.

 

ロード時のセキュアなセットアップ

スキルは、検出から消えることなく、必要な環境変数を宣言できます :

required_environment_variables:
  - name: TENOR_API_KEY
    prompt: Tenor API key
    help: Get a key from https://developers.google.com/tenor
    required_for: full functionality

値が欠落している場合、Hermes はローカル CLI でスキルが実際にロードされたときにのみ、安全な方法でその値を要求します。セットアップをスキップしてスキルをそのまま使用することもできます。メッセージングではチャットで秘密情報を要求することはありません – 代わりに、ローカルで `hermes setup` または ~/.hermes/.env を使用するように指示されます。

一度設定されると、宣言された環境変数は execute_code およびターミナルサンドボックスに自動的に渡されます – スキルのスクリプトは $TENOR_API_KEY を直接使用できます。非スキルの環境変数については、terminal.env_passthrough config オプションを使用してください。See Environment Variable Passthrough for details.

 

スキル Config 設定

スキルは、config.yaml に保存される非秘密の config 設定 (パス、プリファレンス) を宣言することもできます :

metadata:
  hermes:
    config:
      - key: myplugin.path
        description: Path to the plugin data directory
        default: "~/myplugin-data"
        prompt: Plugin data directory path

設定は config.yaml 内の skills.config 下に保存されます。hermes config migrate コマンドは未設定の設定を促し、hermes config show コマンドはそれらを表示します。スキルがロードされると、解決された設定値がコンテキストに注入されるため、エージェントは設定済みの値を自動的に認識します。

See Skill Settings and Creating Skills — Config Settings for details.

 

スキル・ディレクトリ構造

~/.hermes/skills/                  # Single source of truth
├── mlops/                         # Category directory
│   ├── axolotl/
│   │   ├── SKILL.md               # Main instructions (required)
│   │   ├── references/            # Additional docs
│   │   ├── templates/             # Output formats
│   │   ├── scripts/               # Helper scripts callable from the skill
│   │   ├── examples/              # Referenced example outputs
│   │   └── assets/                # Supplementary files
│   └── vllm/
│       └── SKILL.md
├── devops/
│   └── deploy-k8s/                # Agent-created skill
│       ├── SKILL.md
│       └── references/
├── .hub/                          # Skills Hub state
│   ├── lock.json
│   ├── quarantine/
│   └── audit.log
└── .bundled_manifest              # Tracks seeded bundled skills

サードパーティの URL および GitHub からのインストールには、SKILL.md に加えて、references/, templates/, scripts/, assets/, そして examples/ ディレクトリ下にある参照先のローカルファイルが含まれます。参照されていないリポジトリファイルはコピーされません。Hermes は隔離されたバンドル全体をスキャンし、ソース URL、正確なコンテンツハッシュ、スキャナーバージョン、検出結果、タイムスタンプ、および fresh-or-cached ステータスを skills/.hub/lock.json に記録します。

 

外部スキル・ディレクトリ

Hermes の外側でスキルを保守している場合 – 例えば、複数の AI ツールで共有されている ~/.agents/skills/ ディレクトリ – Hermes にそれらのディレクトリもスキャンするように指示できます。

~/.hermes/config.yaml の skills セクションに external_dirs を追加してください :

skills:
  external_dirs:
    - ~/.agents/skills
    - /home/shared/team-skills
    - ${SKILLS_REPO}/skills

パスは ~ 展開と ${VAR} 環境変数の置換をサポートします。

 

How it works

  • ローカルで作成、その場で更新: エージェントが作成した新しいスキルは ~/.hermes/skills/ に書き込まれます。既存のスキルは、external_dirs 下のスキルも含め、エージェントが patch、edit、write_file、remove_file、delete などの skill_manage アクションを実行すると、その場所で変更されます。

  • 外部ディレクトリは書き込み保護の境界ではありません: 外部スキルディレクトリが Hermes プロセスによって書き込み可能になっている場合、エージェントが管理するスキル更新によってそのディレクトリ内のファイルは変更される可能性があります。共有外部スキルを読み取り専用にする必要がある場合は、ファイルシステムのアクセス許可を使用するか、分離されたプロファイル/ツールセットのセットアップをしてください。

  • ローカルの優先順位: 同じスキル名がローカルディレクトリと外部ディレクトリの両方に存在する場合、ローカルバージョンが優先されます。

  • 完全な統合: 外部スキルは、システムプロンプトのインデックス, skills_list, skill_view, および /skill-name スラッシュコマンドとして表示され、ローカルスキルと違いはありません。

  • 存在しないパスは警告なしにスキップされます: 設定されたディレクトリが存在しない場合、Hermes はエラーを表示せずにそれを無視します。これは、すべてのマシンに存在するとは限らないオプションの共有ディレクトリの場合に有用です。

 

例

~/.hermes/skills/               # Local (primary, read-write)
├── devops/deploy-k8s/
│   └── SKILL.md
└── mlops/axolotl/
    └── SKILL.md

~/.agents/skills/               # External (shared, mutable if writable)
├── my-custom-workflow/
│   └── SKILL.md
└── team-conventions/
    └── SKILL.md

4つのスキルすべてがスキル・インデックスに表示されます。ローカルで my-custom-workflow という名前の新しいスキルを作成すると、外部のバージョンを覆い隠します。

 

スキルバンドル

スキルバンドルは、複数のスキルを単一のスラッシュコマンドでグループ化した小さな YAML ファイルです。/<bundle-name> を実行すると、バンドルにリストされているすべてのスキルが一度にロードされます – これは、特定のタスクで常に同じスキルセットが役立つ場合に便利です。

 

簡単な例

# Create a bundle for backend feature work
hermes bundles create backend-dev \
  --skill github-code-review \
  --skill test-driven-development \
  --skill github-pr-workflow \
  -d "Backend feature work — review, test, PR workflow"

Then in the CLI or any gateway platform:

/backend-dev refactor the auth middleware

エージェントは、ロードされた 3 つのスキルすべてを 1 つのユーザーメッセージとして受け取ります、スラッシュコマンド以降の任意のテキストはユーザー指示として添付されます。

 

YAML スキーマ

バンドルは ~/.hermes/skill-bundles/<slug>.yaml に格納され、以下のようになります :

name: backend-dev
description: Backend feature work — review, test, PR workflow.
skills:
  - github-code-review
  - test-driven-development
  - github-pr-workflow
instruction: |
  Always start by writing failing tests, then implement.
  Open the PR through the standard workflow with co-author tags.

フィールド:

  • name (オプション — デフォルトはファイル名ステム (拡張子を除いたファイル名)) — バンドルの表示名。スラッシュコマンド用にハイフンスラッグに正規化されます (例: Backend Dev → /backend-dev)。

  • description (オプション) — /bundles および `hermes bundles list` で表示される短いテキスト。

  • skills (必須、空でないリスト) — スキル名、または skills ディレクトリからの相対パス。/<skill-name> に渡すのと同じ識別子を使用します。

  • 指示(オプション)— ロードされたスキルコンテンツの先頭に追加されるガイダンス。”how we always use these together.” (これらは常にセットで使う) というルールを定義するのに役立ちます。

 

バンドルの管理

# List all installed bundles
hermes bundles list

# Inspect one bundle
hermes bundles show backend-dev

# Create a bundle interactively (omit --skill flags to enter them one per line)
hermes bundles create research

# Overwrite an existing bundle
hermes bundles create backend-dev --skill ... --force

# Delete a bundle
hermes bundles delete backend-dev

# Re-scan ~/.hermes/skill-bundles/ and report changes
hermes bundles reload

チャットセッション内から、/bundles はインストールされているすべてのバンドルとそのスキルを一覧表示します。

 

動作

  • スラッグが衝突する場合、スキルバンドルは個々のスキルよりも優先されます。例えば、バンドルに research という名前を付け、かつ research というスキルがある場合、/research はバンドルを呼び出します。これは意図的な動作です – バンドルに名前を付けることで、そのバンドルを有効にしたことを意味しています。

  • 欠落しているスキルはスキップされますが、致命的なエラーにはなりません。バンドルに skill-foo が含まれていてそれがインストールされていない場合、バンドルは解決可能なスキルをロードし、エージェントにはスキップされたスキルの一覧が表示されます。

  • バンドルはあらゆるサーフェスで動作します – インタラクティブな CLI、TUI、ダッシュボードチャット、およびすべてのゲートウェイ・プラットフォーム (Telegram、Discord、Slack 等) – これは、ディスパッチが個々のスキルコマンドと同じ場所に一元化されているためです。

  • バンドルはプロンプトキャッシュを無効化しません。/<skill-name> と同様に、呼び出し時に新しいユーザーメッセージを生成します – システムプロンプトの変更は発生しません。

 

バンドルが、各スキルを手動でインストールするよりも優位な場合

以下のような場合にバンドルを使用してください :

  • 繰り返し行うタスク (/backend-dev、/release-prep、/incident-response) で常に同じスキルを組み合わせる場合。

  • /skill コマンドを複数回連続して入力するよりも、1 文字だけ短いメンタルモデルを望む場合。

  • バンドルの YAML を共有ドットファイル・リポジトリにチェックし、~/.hermes/skill-bundles/ にシンボリックリンクを作成することで、チーム全体で使用できる「タスクプロファイル」を公開したい場合。

バンドルは単なる YAML エイリアスでです – スキルをインストールするものではありません。スキル自体は既に存在している必要があります (~/.hermes/skills/ または外部のスキルディレクトリ内)。そうでない場合、バンドルの呼び出しは欠落しているスキルをスキップします。

 

以上




クラスキャット

最近の投稿

  • Hermes エージェント☤ 入門 : 機能 – スキル・システム
  • Hermes エージェント☤ 入門 : 機能 – ツール & ツールセット
  • Hermes エージェント☤ 入門 : 機能概要 & Nous ツールゲートウェイ
  • Hermes エージェント☤ 入門 : ユーザガイド – モデル設定
  • Hermes エージェント☤ 入門 : ユーザガイド – デスクトップ App

タグ

AG2 (14) Agno (46) Agno 2.x (22) assistant-ui (19) AutoGen (13) ClassCat Press Release (20) ClassCat TF/ONNX Hub (11) Cursor (20) DGL 0.5 (14) Edward (17) FLUX.1 (16) Gemini (20) HuggingFace Transformers 4.5 (10) HuggingFace Transformers 4.29 (9) Keras 2 Examples (98) Keras 2 Guide (16) Keras 3 (10) Keras Release Note (17) Kubeflow 1.0 (10) LangChain (45) LangChain v1.0 (10) LangGraph (24) LangGraph 0.5 (9) MediaPipe 0.8 (11) Model Context Protocol (16) NNI 1.5 (16) OpenAI Cookbook (13) OpenAI platform (10) OpenAI platform 1.x (10) TensorFlow 2.0 Advanced Tutorials (33) TensorFlow 2.0 Advanced Tutorials (Alpha) (15) TensorFlow 2.0 Advanced Tutorials (Beta) (16) TensorFlow 2.0 Guide (10) TensorFlow 2.0 Guide (Alpha) (16) TensorFlow 2.0 Guide (Beta) (9) TensorFlow 2.0 Release Note (12) TensorFlow 2.0 Tutorials (20) TensorFlow 2.0 Tutorials (Alpha) (14) TensorFlow 2.0 Tutorials (Beta) (12) TensorFlow 2.4 Guide (24) TensorFlow Probability (9) TensorFlow Programmer's Guide (22) TensorFlow Release Note (18) TensorFlow Tutorials (33) TF-Agents 0.4 (11)
2026年7月
月 火 水 木 金 土 日
 12345
6789101112
13141516171819
20212223242526
2728293031  
« 6月    
© 2026 ClassCat® AI Research | Powered by Minimalist Blog WordPress Theme