APMとは何か — npm/pipのAIエージェント版が登場した背景
AIエージェントの実用化が進む2026年、Microsoft APM(Agent Package Manager)はAIエージェントの依存パッケージを一元管理するオープンソースツールだ。npm が JavaScript の依存関係を管理し、pip が Python パッケージを管理するように、APM は AIエージェントの instructions・skills・prompts・agents・hooks・plugins・MCP サーバーを管理する。
GitHub で 1.5kスターを獲得し、MIT License で公開されている microsoft/apm は、Python 95.3% で実装されている。
なぜAPMが必要なのか
AIコーディングエージェントが実用段階に入り、チーム開発で以下の問題が顕在化している。
| 課題 | 具体例 |
|---|---|
| 設定の属人化 | Aさんの Claude Code には MCP サーバーが設定済み、Bさんは未設定 |
| 再現性ゼロ | 新メンバーが git clone しても、エージェント設定は手動で1から構築 |
| バージョン不整合 | skills の古いバージョンを使い続けて動作が違う |
| セキュリティ未検証 | 第三者のprompts/skillsを検証なしで利用 |
APM はこれらを「apm.yml に宣言 → apm install で再現」というワークフローで解決する。
# apm.yml — プロジェクトルートに配置
name: your-project
version: 1.0.0
dependencies:
apm:
- anthropics/skills/skills/frontend-design
- github/awesome-copilot/plugins/context-engineering
- github/awesome-copilot/agents/api-architect.agent.md
- microsoft/apm-sample-package#v1.0.0
npmの
package.json がJSライブラリの依存関係を宣言するように、APMの apm.yml はAIエージェントのskills・prompts・MCPサーバーの依存関係を宣言する。チームメンバーは git clone → apm install だけで、全員同じエージェント環境を再現できる。
AIエージェントフレームワーク比較2026年版で紹介した各フレームワークとも、APM を通じてパッケージ管理を統一できる。
インストールと初期設定 — macOS/Linux/Windows全対応
APM は複数のインストール方法を提供している。環境に合わせて選択する。
macOS / Linux
最もシンプルな方法はワンライナーインストールだ。
# 推奨:ワンライナーインストール
curl -sSL https://aka.ms/apm-unix | sh
# Homebrew(macOS / Linux)
brew install microsoft/apm/apm
# pip(Python環境がある場合)
pip install apm-cli
Windows
# PowerShell ワンライナー
irm https://aka.ms/apm-windows | iex
# Scoop パッケージマネージャー
scoop bucket add apm https://github.com/microsoft/scoop-apm
scoop install apm
インストール確認と初回セットアップ
# バージョン確認
apm --version
# 出力例: apm 0.8.11
# プロジェクトで初期化(apm.yml を生成)
cd your-project
apm init
# 既存の apm.yml からパッケージをインストール
apm install
apm install を実行すると、apm.yml に記載された依存パッケージが解決され、.github/ ディレクトリ以下にエージェント設定ファイルが配置される。推移的依存関係(transitive dependencies)も自動で解決されるため、パッケージAがパッケージBに依存している場合、Bも自動的にインストールされる。
git clone + apm install"] -->B["apm.yml
依存パッケージ宣言"] B -->C["APM CLI
依存関係解決エンジン"] C -->D["GitHub / GitLab
Azure DevOps / Bitbucket"] D -->E["パッケージ取得
+ 推移的依存解決"] E -->F["セキュリティスキャン
隠しUnicode検出"] F -->G[".github/ に配置
instructions / skills / prompts"] G -->H["Claude Code / Copilot
Cursor / OpenCode / Codex"]
対応するGitホスティングは GitHub・GitLab・Bitbucket・Azure DevOps・GitHub Enterprise で、プライベートリポジトリからのインストールもトークン設定で対応できる。
apm.ymlの書き方 — マニフェスト構造・依存パッケージ種別・実践例
apm.yml はAPMの中核となるマニフェストファイルだ。プロジェクトルートに配置し、エージェントが必要とするすべての依存関係を宣言する。
基本構造
# apm.yml
name: my-web-app
version: 1.0.0
dependencies:
apm:
# スキル:特定のタスクを実行するための専門知識
- anthropics/skills/skills/frontend-design
- anthropics/skills/skills/code-review
# プラグイン:エージェントの能力を拡張する機能
- github/awesome-copilot/plugins/context-engineering
# エージェント定義:特定の役割を持つエージェント設定
- github/awesome-copilot/agents/api-architect.agent.md
# フルパッケージ:instructions/skills/prompts/hooksを含む
- microsoft/apm-sample-package#v1.0.0
# カスタムGitソースからの取得
- git: https://gitlab.example.com/team/agent-config.git
path: skills/security-review
ref: v2.0.0
依存パッケージの7つの種別
APMが管理できるエージェント設定の種別は以下の通りだ。
| 種別 | 説明 | 配置先の例 |
|---|---|---|
| instructions | エージェントへの基本指示(AGENTS.md等) | .github/instructions/ |
| skills | 特定タスクの専門知識(SKILL.md) | .github/skills/ |
| prompts | 再利用可能なプロンプトテンプレート | .github/prompts/ |
| agents | エージェント定義ファイル(.agent.md) | .github/agents/ |
| hooks | イベント駆動の自動実行スクリプト | .github/hooks/ |
| plugins | 機能拡張プラグイン(plugin.json) | .github/plugins/ |
| MCP servers | Model Context Protocol サーバー設定 | .github/mcp/ |
バージョン固定とソース指定
dependencies:
apm:
# セマンティックバージョニングでピン留め
- microsoft/apm-sample-package#v1.0.0
# ブランチ指定
- org/repo#main
# 特定コミットのハッシュ指定
- org/repo#abc1234
# サブディレクトリの特定パッケージを指定
- org/monorepo/packages/security-skills
パッケージAが内部でパッケージBに依存している場合、APMはBも自動的にインストールする。npmの
node_modules ツリーと同様の仕組みで、開発者は直接の依存関係だけを宣言すればよい。
実践例:フルスタックWebアプリのapm.yml
name: fullstack-saas-app
version: 1.0.0
dependencies:
apm:
# フロントエンド開発スキル
- anthropics/skills/skills/frontend-design
- anthropics/skills/skills/react-patterns
# API設計エージェント
- github/awesome-copilot/agents/api-architect.agent.md
# セキュリティレビュープラグイン
- github/awesome-copilot/plugins/security-review
# 社内共通のコーディング規約(プライベートリポ)
- myorg/agent-standards#v3.1.0
# MCPサーバー連携設定
- myorg/mcp-configs/servers/database-mcp
この構成で apm install を実行すると、フロントエンド・バックエンド・セキュリティの各skillsが一括でセットアップされ、チーム全員が同じエージェント環境で開発を開始できる。
主要コマンド — install/audit/pack/marketplace
APM CLIは直感的なコマンド体系を持つ。npm/pip経験者であればすぐに馴染める設計だ。
apm install — 依存パッケージのインストール
# apm.yml に基づいて全依存パッケージをインストール
apm install
# 特定パッケージを直接インストール(apm.yml にも追記される)
apm install microsoft/apm-sample-package#v1.0.0
# プライベートリポジトリからインストール(トークン必要)
apm install myorg/private-skills
apm install の実行後、.github/ ディレクトリに以下のような構造でファイルが配置される。
.github/
├── instructions/
│ └── coding-standards.instructions.md
├── skills/
│ ├── frontend-design/
│ │ └── SKILL.md
│ └── code-review/
│ └── SKILL.md
├── agents/
│ └── api-architect.agent.md
├── prompts/
│ └── pr-review.prompt.md
└── plugins/
└── context-engineering/
└── plugin.json
apm audit — セキュリティスキャン
# 全パッケージのセキュリティ監査
apm audit
# 出力例:
# Scanning 12 packages...
# ✓ No hidden Unicode characters detected
# ✓ No compromised packages found
# ✓ All packages verified
# Audit complete: 12 packages, 0 issues
apm audit は隠しUnicode文字の検出と、侵害されたパッケージのブロックを自動で行う。サプライチェーン攻撃の手法として知られる「目に見えないUnicode文字を仕込んでpromptを改変する」攻撃を検出できる。
apm pack — パッケージのバンドル
# 現在のインストール済みパッケージをアーカイブに圧縮
apm pack
# 特定のエージェント向けにバンドル
apm pack --target copilot
# プラグイン形式で出力(plugin.json + 必要ファイル)
apm pack --format plugin
apm pack で生成されたアーカイブは、CI/CDパイプラインでの配布や、オフライン環境へのデプロイに利用できる。
apm marketplace — キュレーションレジストリ
# マーケットプレイスを登録
apm marketplace add github/awesome-copilot
# マーケットプレイスからパッケージをインストール
apm install azure-cloud-development@awesome-copilot
# 利用可能なマーケットプレイスを一覧
apm marketplace list
apm update — パッケージ更新
# 全パッケージを最新バージョンに更新
apm update
# 特定パッケージのみ更新
apm update microsoft/apm-sample-package
apm install = npm install(依存解決+インストール)apm audit = npm audit(セキュリティスキャン)apm pack = npm pack(配布用アーカイブ作成)apm update = npm update(バージョン更新)npm経験者はコマンド体系がほぼ同じため、学習コストが極めて低い。
対応ツールとの連携 — Claude Code/Cursor/Copilot/MCP/agentrc
APM の強みは「One Manifest, Every Agent」というコンセプトにある。1つの apm.yml で、異なるAIエージェントツールすべてに対応した設定を配布できる。
対応AIエージェントツール一覧
| ツール | 開発元 | APM連携 |
|---|---|---|
| GitHub Copilot | GitHub / Microsoft | instructions, skills, agents が .github/ から自動読み込み |
| Claude Code | Anthropic | CLAUDE.md, skills, agents をAPMで管理可能 |
| Cursor | Anysphere | .cursorrules, prompts の配布に対応 |
| OpenCode | OSS | AGENTS.md ベースの統一フォーマットに準拠 |
| Codex | OpenAI | instructions の配布に対応 |
Claude Code との連携
Claude Codeのベストプラクティスで解説した CLAUDE.md やスキル定義を、APM パッケージとしてチーム全体に配布できる。
# apm.yml — Claude Code向けスキル配布
name: team-claude-config
version: 1.0.0
dependencies:
apm:
# フロントエンド設計スキル
- anthropics/skills/skills/frontend-design
# コードレビュースキル
- anthropics/skills/skills/code-review
# 社内共通のCLAUDE.md設定
- myorg/claude-team-config#v2.0.0
agentrc との連携
agentrc はコードベースを解析して、最適なエージェント指示を自動生成するツールだ。APMとagentrcは .instructions.md フォーマットを共有しており、以下のワークフローが可能になる。
# 1. agentrc でコードベースを解析、instructions を自動生成
agentrc analyze
# 2. 生成された instructions を APM パッケージとしてバンドル
apm pack
# 3. チーム全体にパッケージを配布
# → 他メンバーは apm install するだけで同じ instructions を取得
MCPサーバーとの連携
MCPサーバーの作り方完全ガイドで解説した MCP サーバー設定も、APM パッケージとして管理できる。
# MCP サーバー設定をAPMで管理する例
dependencies:
apm:
- myorg/mcp-configs/servers/database-mcp
- myorg/mcp-configs/servers/search-mcp
- myorg/mcp-configs/servers/analytics-mcp
MCPサーバーの接続設定(エンドポイント、認証情報のテンプレート)をパッケージ化すれば、チームメンバーは apm install 一発で全MCPサーバーとの接続設定が完了する。
APM は AGENTS.md 仕様、Agent Skills フレームワーク、Model Context Protocol(MCP)の3つのオープン標準の上に構築されている。特定のベンダーにロックインされない設計のため、対応ツールが今後増えても
apm.yml の書き換えは不要だ。
セキュリティ・ガバナンス・CI/CD — apm-policy.yamlとGitHub Action
エンタープライズ環境でAPMを導入する際、セキュリティとガバナンスは最重要課題だ。APMは3つのレイヤーでこれに対応している。
レイヤー1:apm audit によるパッケージスキャン
前述の apm audit コマンドに加え、apm install 時にも自動でセキュリティチェックが実行される。侵害されたパッケージはインストール自体がブロックされる。
# インストール時の自動ブロック例
$ apm install suspicious/package
Error: Package 'suspicious/package' has been flagged for hidden Unicode characters.
Installation blocked. Run 'apm audit' for details.
レイヤー2:apm-policy.yaml によるガバナンス
組織レベルのポリシーを apm-policy.yaml で定義し、マーケットプレイスでのパッケージ公開や利用を制御できる。
# apm-policy.yaml — 組織のセキュリティポリシー
policy:
# 許可するパッケージソース
allowed_sources:
- github.com/microsoft/*
- github.com/anthropics/*
- github.com/myorg/*
# 必須のセキュリティスキャン
require_audit: true
# バージョン固定を必須にする
require_version_pin: true
# 承認されたマーケットプレイスのみ許可
allowed_marketplaces:
- github/awesome-copilot
レイヤー3:GitHub Actions による CI/CD 統合
Microsoft公式の microsoft/apm-action を使えば、CI/CDパイプラインにAPMを組み込める。
# .github/workflows/agent-setup.yml
name: Agent Configuration
on: [push, pull_request]
jobs:
setup-agents:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# ワンライン設定:apm.yml を読んで自動インストール
- uses: microsoft/apm-action@v1
# セキュリティ監査レポート(SARIF形式でGitHub Code Scanningに連携)
- uses: microsoft/apm-action@v1
with:
audit-report: 'sarif'
# AGENTS.md ドキュメント自動生成
- uses: microsoft/apm-action@v1
with:
compile: 'true'
audit-report: 'sarif' を設定すると、セキュリティスキャン結果がGitHub Code Scanningダッシュボードに自動で表示される。PRごとにエージェント設定のセキュリティチェックが自動実行される運用が実現する。
CI/CDでのpack + restore パターン
複数ジョブでエージェント設定を共有する場合、pack と restore の組み合わせが効果的だ。
jobs:
# ジョブ1: パッケージをインストールしてバンドル
agent-config:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: microsoft/apm-action@v1
with:
pack: 'true'
target: 'copilot'
- uses: actions/upload-artifact@v4
with:
name: agent-bundle
path: ./bundle.tar.gz
# ジョブ2: バンドルを展開して利用
deploy:
needs: agent-config
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: agent-bundle
- uses: microsoft/apm-action@v1
with:
bundle: './bundle.tar.gz'
このパターンにより、全ジョブでバイト単位で同一のエージェント設定が保証される。
isolated: 'true' — apm.yml を無視してインライン指定の依存のみインストールapm-version: '0.8.11' — APM CLIのバージョンを固定github-token: secrets.APM_PAT — プライベートリポ・クロスオーガニゼーション対応compile: 'true' — AGENTS.md ドキュメントを自動生成
APM vs 従来の手動管理 — Before/After比較とnpmとの概念対応
最後に、APM導入前後の変化と、npm エコシステムとの概念的な対応関係を整理する。
Before / After 比較
| 項目 | Before(手動管理) | After(APM導入) |
|---|---|---|
| 新メンバーのオンボーディング | READMEを読みながら手動設定(1〜2時間) | apm install で完了(1分) |
| エージェント設定の共有 | Slackで設定ファイルを送り合う | apm.yml をコミットするだけ |
| バージョン管理 | 「最新版にしておいて」と口頭伝達 | #v1.0.0 でピン留め、apm update で一括更新 |
| セキュリティ検証 | 目視確認(見落としリスク大) | apm audit で自動スキャン |
| CI/CDとの統合 | カスタムスクリプトを自作 | microsoft/apm-action@v1 の1行追加 |
| マルチツール対応 | ツールごとに設定ファイルを用意 | apm.yml 1ファイルで全ツール対応 |
| 推移的依存関係 | 手動で全パッケージをリスト | 自動解決(開発者は直接の依存だけ宣言) |
npm / pip との概念対応表
npmやpipに馴染みのある開発者向けに、APMとの概念対応を整理する。
| npm (JavaScript) | pip (Python) | APM (AI Agent) |
|---|---|---|
package.json |
requirements.txt |
apm.yml |
npm install |
pip install -r |
apm install |
npm audit |
pip-audit |
apm audit |
npm pack |
python -m build |
apm pack |
npm update |
pip install --upgrade |
apm update |
node_modules/ |
site-packages/ |
.github/ |
npmjs.com |
pypi.org |
apm marketplace |
package-lock.json |
requirements.txt (pinned) |
バージョンピン #v1.0.0 |
2026年のAI開発では、コードだけでなく「エージェントの設定」もチームの資産になった。APMは「エージェント設定のバージョン管理・共有・セキュリティ検証」を、npmやpipと同じ感覚で実現するツールだ。AGENTS.md・Agent Skills・MCPというオープン標準の上に構築されているため、特定ベンダーへのロックインもない。
導入判断のチェックリスト
APMの導入が特に効果的なケースを整理する。
- チーム3人以上で同じリポジトリのエージェント設定を使っている
- 新メンバーのオンボーディングでエージェント設定に30分以上かかる
- GitHub Copilot・Claude Code・Cursorを併用しているメンバーがいる
- 第三者のskills/promptsを利用しており、セキュリティが気になる
- CI/CDでエージェント設定の検証を自動化したい
上記に2つ以上該当するなら、APMの導入コスト(apm.yml の作成 + チームへの周知)に対して十分なリターンが見込める。
まとめ:APMはAIエージェント開発のインフラになるか
Microsoft APM は「AIエージェントの依存管理」という、2026年に急速に顕在化した課題に正面から取り組んだツールだ。
- npm/pipと同じ思想 —
apm.yml1ファイルで宣言、apm installで再現 - マルチツール対応 — Copilot・Claude Code・Cursor・OpenCode・Codexの設定を統一管理
- セキュリティ組み込み —
apm auditで隠しUnicode検出、apm-policy.yamlで組織ポリシー適用 - CI/CD対応 — GitHub Action 1行でパイプラインに組み込み
- オープン標準準拠 — AGENTS.md・Agent Skills・MCPの上に構築、ベンダーロックインなし
現時点ではバージョン 0.8.11(2026年4月リリース)と初期段階だが、Microsoftが公式に開発を主導し、エコシステムの拡大が期待される。AIエージェントが個人ツールからチーム標準へと移行するこのタイミングで、APMのようなインフラツールの重要性は増すばかりだ。
参照ソース
- microsoft/apm - GitHub — APM公式リポジトリ(README、CLI仕様、ドキュメント)
- microsoft/apm-action - GitHub — APM公式GitHub Action(CI/CD統合ガイド)
- APM Documentation — APM公式ドキュメントサイト(Quick Start、CLI Reference)