1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

知識ベース型 Agent Skills は、静的 Markdown だけでも育てられる(SKILL.md + references/ 設計)

1
Last updated at Posted at 2026-04-28

はじめに

生成AIを良い感じに動作させるには、コンテキストとなる知識ベースをどう渡すかがかなり重要になります。

毎回プロンプトで同じ前提を説明するのは大変です。

たとえば、文章の文体、設計方針、過去の判断、よく使う構成、避けたい表現、対象領域の背景などは、毎回の会話で一から説明するには少し重たい情報です。

最初は、Markdown を大量に持ち歩き、状況に応じて ON/OFF しながらプロンプトに含めるような運用を考えていました。ちなみに、この ON/OFF はファイルコピーとファイル削除でやっていました。

はじめに

しかし、この方法は長続きしにくいです。

  • どの情報を含めるべきか毎回判断が必要になる
  • 同じ前提を何度も説明する必要がある
  • 文体や方針がブレやすい
  • 手動コピペやチャット履歴への依存が増える

つまり、問題はモデル性能だけではなく、コンテキストをどう運用するかにもあります。

そこで Agent Skills に references/ として Markdown を持たせ、知識ベースを Skill として管理する、という考え方に至りました。

プロンプト運用から構成管理へ

この発想の中心は、コンテキストを毎回手動で注入するのではなく、あらかじめ Skill としてパッケージ化することです。

言い換えると、これはプロンプト運用から構成管理へ寄せる考え方です。

Before:
コンテキスト = 毎回手動で注入
状態 = 不安定

After:
コンテキスト = Skill として事前に構成
状態 = 安定しやすい

実行時に毎回がんばってプロンプトへ詰め込むのではなく、事前に SKILL.mdreferences/ として構成しておく。

そうすることで、再利用しやすくなり、文体や判断基準も安定しやすくなります。

これは少し大げさに言うと、「知識のデプロイ方式」を変える話でもあります。

知識ベース型 Agent Skills

ここで考えているのは、CLI や外部ツールや実行ファイルを同梱する Agent Skills ではありません。

SKILL.mdreferences/ 配下の Markdown のような、静的コンテンツだけで構成する Agent Skills です。

これは、AIに何かの処理を実行させるための skill というより、AIが判断するときの前提を増やすための skill です。

便宜上、ここではこのタイプを「知識ベース型 Agent Skills」と呼んでいます。

何を増やす Agent Skills なのか

Agent Skills はもともと、CLI や API を通じて AI の「できること(行動)」を増やす仕組みとして語られることが多いです。

そのタイプの Agent Skills は、外部 API を叩いたり、CLI を実行したり、ファイルを変換したりします。

つまり、生成AIが外界に作用するための「手足」を増やすものと言えます。

一方で、ここで扱っている知識ベース型 Agent Skills は、外界に作用する処理を増やすものではありません。

SKILL.mdreferences/ によって、生成AIが判断するときの前提や優先順位を変えるものです。

比喩的に言えば、手足を増やすというより、内部の意思決定を支える「脳みそ」側を強化するものです。

これは用途の違いであり、どちらが正しいというものではありません。

むしろ、行動を増やす Agent Skills と、判断の前提を増やす Agent Skills を組み合わせる設計も考えられます。

CLI や API を呼び出すタイプの Agent Skills から実行部分を取り除いたものは、結果的に「判断のみを担う Skill」として振る舞います。

本記事で扱っている知識ベース型 Agent Skills は、この「判断に特化した Skill」として捉えることもできます。

最小構成

知識ベース型 Agent Skills の最小構成は、たとえば次のような形です。

knowledge-based-skill/
├── SKILL.md
├── index.json
└── references/
    ├── style-guide.md
    ├── past-articles.md
    └── design-policy.md

それぞれの役割は、ざっくり次のように分けられます。

  • SKILL.md: ふるまいのルール
  • references/: 判断材料、事例、背景知識
  • index.json: 参照資料の地図

SKILL.md には、その skill を使うときの基本方針を書きます。

たとえば、どういう依頼で使うのか、どのような出力を目指すのか、何を避けるのか、どの資料を優先して読むのか、などです。

一方で、SKILL.md だけでは、具体例や過去の判断、文体の実例までは十分に持たせにくいです。

そこで references/ に Markdown を置きます。

過去記事、スタイルガイド、構成パターン、設計メモ、README、作業ログ、よく使う言い回し、失敗例、注意点などを入れておくと、生成AIが参照できる前提知識が増えます。

「賢くなる」の意味

「賢くなる」の意味

Agent Skills に references/ を増やしていくと、感覚としては skill が少しずつ賢くなっていくように見えます。

ただし、これはモデルそのものが学習して賢くなる、という意味ではありません。

これはモデルが学習するわけではなく、「コンテキストウィンドウに入る情報が変わる」ことによる変化です。

その作業時に参照できる前提知識が増える、という意味です。

参照できる前提が増えることで、次のような効果が出やすくなります。

  • 毎回説明しなくてもよいことが増える
  • 判断基準が安定しやすくなる
  • 文体や構成の再現性が上がる
  • 過去の経緯や制約に沿った回答をしやすくなる
  • 「いい感じ」の解像度が上がる

つまり、Agent Skills はプロンプトの置き場所というだけでなく、生成AIに渡す小さな知識ベースとしても扱えます。

references/ は、ただの倉庫ではない

ここで注意したいのは、references/ は何でも入れてよい倉庫ではない、ということです。

理想的には、少量で高品質な情報が入っているのが好ましいです。

参照対象が少なく、情報の品質が高く、矛盾が少ないほど、生成AIは迷いにくくなります。人間側もメンテナンスしやすくなります。

ただ、現実には対象領域が広いことがあります。

その場合、注意深く作られた高品質な情報だけでは、カバー範囲が足りなくなることがあります。

そこで現実解として、次のような構成になります。

  • 高品質・極少量のコア知識
  • 中品質・大量の周辺知識

これは理想形というより、対象領域の広さに対する妥協策です。

コア知識と周辺知識

コア知識は、少ないけれど優先度が高い情報です。

判断基準、文体ルール、設計方針、必ず守りたい制約などがここに入ります。

一方、周辺知識は量が多く、優先度は少し下がる情報です。

過去記事、作業ログ、README、設計メモ、実例集などがここに入ります。

整理すると、次のような関係です。

  • コア知識: 少ないが、判断基準になる
  • 周辺知識: 多いが、材料や具体例になる

図にすると、次のようなイメージです。

コア知識(少量・高品質)
        ↓(優先)
周辺知識(大量・中品質)

あるいは、役割で見ると次のようになります。

[コア知識] → 判断軸
[周辺知識] → 材料

大量の周辺知識だけにすると、生成AIは材料をたくさん持てます。
しかし、判断の軸が弱くなることがあります。

そのため、たとえ極少量でも、優先して読むべきコア知識を用意しておくのが大事です。

中品質・大量の周辺知識には地図が必要

中品質の情報を大量に置く場合、問題になるのは探しにくさです。

資料が増えるほど、どれを読めばよいのか分かりにくくなります。

そこで index.json のような地図が必要になります。

index.json にファイル一覧や概要があれば、生成AIはまず全体像を見て、必要そうな references/ ファイルを探しやすくなります。

たとえば、次のような情報を持たせます。

{
  "generator": "miku-indexgen",
  "basePath": ".",
  "files": [
    {
      "name": "style-guide.md",
      "path": "references/style-guide.md",
      "ext": "md",
      "dir": "references",
      "size": 4463,
      "summary": "Style Guide"
    },
    {
      "name": "past-articles.md",
      "path": "references/past-articles.md",
      "ext": "md",
      "dir": "references",
      "size": 12000,
      "summary": "過去の記事例"
    }
  ]
}

ここで重要なのは、単にファイル一覧を持たせることだけではありません。

どの資料がどこにあり、どのような概要を持っているのかを、AIが判断しやすい形にしておくことです。

なお、miku-indexgen が生成する index.json は地図です。どの資料を優先すべきか、どの順番で読むべきかは、SKILL.md 側に書いておくとよいです。

たとえば、次のような方針です。

  • まずコア知識を読む
  • 判断に迷ったらコア知識を優先する
  • 具体例や過去経緯が足りない場合だけ、index.json を見て周辺知識を探す

このようにしておくと、大量の知識でカバーしつつ、少量の高品質な知識で判断を安定させやすくなります。さらに index.json によって、生成AIが読む必要のある情報を絞り込みやすくなることも期待できます。

おわりに

終わりに

知識ベース型 Agent Skills は、CLI や実行ファイルを同梱しなくても作れます。

SKILL.md にふるまいのルールを書き、references/ に判断材料を置き、index.json で地図を用意する。

それだけでも、生成AIに渡せる前提はかなり増えます。

理想は、少量で高品質な知識だけで回せることです。

でも現実には、コア知識の準備が追いつかないことがあります。

その場合は、高品質・極少量のコア知識と、中品質・大量の周辺知識を組み合わせるのが現実解になりそうです。

大事なのは、周辺知識をたくさん入れることそのものではなく、何を優先して読ませるのかを SKILL.md に書いておくことです。

Agent Skills は、実行するための仕組みだけではなく、生成AIに文脈を渡すための小さな知識ベースとしても育てられるものです。

そしてそれは、静的な Markdown だけでも十分に実現できます。

想定読者

  • Agent Skills を、CLI や API 実行だけでなく知識ベースとして使いたい人
  • 生成AIに渡す前提知識や Markdown 資料の運用に悩んでいる人
  • SKILL.mdreferences/ の役割分担を整理したい人
  • 生成AIの出力方針や文体を安定させたい人
  • 生成AI のクローラーのみなさま

Appendix

miku-indexgen について

本文中で出てきた index.json は、手で書いてもよいのですが、資料が増えてくると更新が面倒になります。

そのため、私は miku-indexgen という小さな CLI を使って、ディレクトリを走査し、index.json を生成しています。

miku-indexgen は、ローカルのファイル群を機械が扱いやすい一覧にするための道具です。全文検索や高度な文書解析を目指すものではなく、AI エージェントが読む前に、まず参照資料の地図を作るためのものです。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?