AI

Agentic Project Management入門——Claude Code・Cursor・Copilotを束ねるOSSフレームワーク

LLMのコンテキスト制限を克服するOSSフレームワーク「Agentic Project Management(APM)」を使い、複数のAIコーディングツールをプロジェクトメンバーとして統合管理する方法をハンズオンで解説します。

2026年2月13日
APMClaude CodeCursorGitHub Copilotプロジェクト管理AIエージェント
Agentic Project Management入門——Claude Code・Cursor・Copilotを束ねるOSSフレームワーク

はじめに

Claude Code、Cursor、GitHub Copilot——いまやAIコーディングツールを1つだけ使っているエンジニアのほうが少数派かもしれません。しかし、複数ツールを併用すると新たな課題が生まれます。

課題具体例
コンテキストの分断Cursorで議論した設計方針を、Claude Codeが知らない
セッションの寿命長い実装でコンテキストウィンドウが溢れ、途中から精度が落ちる
進捗の散逸どのツールでどこまで終わったのか把握できない

「AIエージェントを"チーム"として管理する仕組みがほしい」——その答えが Agentic Project Management(APM) です。

GitHub上で2,000スター超を獲得しているOSSフレームワークで、Claude Code・Cursor・GitHub Copilotなど10以上のAIツールをプロジェクトメンバーとして束ねます。本記事では、架空の業務システム「KanriPro」を題材に、APMの導入から実際のタスク実行までをハンズオンで体験します。

この記事を読むとできるようになること:

  • APMをプロジェクトに導入し、複数のAIツールを統合管理できる
  • セットアップフェーズでプロジェクトの全体像をAIに正しく伝えられる
  • タスク実行フェーズでエージェントに役割を分担させて並列開発できる

APMとは何か

APMは「LLMのコンテキストウィンドウ制限」という根本的な課題を解決するために生まれたフレームワークです。

核心的な設計思想

APMの核心は「コンテキストをLLMのメモリではなく、プロジェクトのファイルに保存する」というアプローチです。

要素従来APM
プロジェクト状態LLMのコンテキストウィンドウ内.apm/ ディレクトリのMarkdownファイル
タスク管理チャット内の口頭指示構造化されたタスクリスト
エージェントの記憶セッション終了で消失ファイルに永続化・次セッションで復元
マルチツール連携ツールごとに独立共通のプロジェクトファイルを参照

4つのエージェントロール

APMでは4種類の専門化されたエージェントがプロジェクトを進めます。

対応AIツール

APMは各ツールのネイティブなコマンド構造に統合されます。

AIツールディレクトリ形式
Claude Code.claude/commandsMarkdown
Cursor.cursor/commandsMarkdown
GitHub Copilot.github/promptsMarkdown
Windsurf.windsurf/workflowsMarkdown
Roo Code.roo/commandsMarkdown

つまり、どのツールからでも同じAPMコマンドを呼び出せるのがポイントです。

事前準備

APM CLIのインストール

# グローバルインストール
npm install -g agentic-pm

# またはプロジェクトローカル
yarn add -D agentic-pm

動作確認

apm --version
# v0.5.4

ハンズオン 1: APMをプロジェクトに導入する

架空の業務システム「KanriPro」にAPMを導入します。KanriProはNext.js + Firestore + TypeScriptで構築された営業・経理管理システムです。

プロジェクトの初期化

cd kanri-pro
apm init

対話形式でAIアシスタントの選択を求められます。

? Select your AI assistant:
  ❯ Claude Code
    Cursor
    GitHub Copilot
    Windsurf
    Roo Code
    (more...)

ここでは Claude Code を選択します。すると、以下のファイルが自動生成されます。

kanri-pro/
├── .apm/                          # APMのガイドとアセット
│   ├── guides/
│   │   ├── 01-introduction.md
│   │   ├── 02-getting-started.md
│   │   ├── 03-agent-types.md
│   │   ├── 04-workflow-overview.md
│   │   └── ...
│   └── assets/
├── .claude/
│   └── commands/                  # Claude Code用のスラッシュコマンド
│       ├── apm-1-initiate-setup.md
│       ├── apm-2-execute-task.md
│       └── ...
└── (既存のプロジェクトファイル)

複数ツールを使う場合は、初期化時に複数選択するか、あとから追加できます。

# Cursorのコマンドも追加
apm init --assistant cursor

これで .cursor/commands/ にも同じAPMコマンドが生成されます。どのツールからも同じワークフローで作業できるようになりました。

ハンズオン 2: セットアップフェーズ——プロジェクトの全体像をAIに伝える

APMのワークフローは「セットアップフェーズ」と「タスク実行フェーズ」の2段階で構成されます。まずはセットアップフェーズから始めます。

セットアップの開始

Claude Codeを起動し、スラッシュコマンドを実行します。

/apm-1-initiate-setup

APMのプロジェクトマネージャーエージェントが起動し、プロジェクトの調査を開始します。

プロジェクト情報の入力

PMエージェントが質問してくるので、プロジェクトの情報を伝えます。

PMエージェント: プロジェクトの概要を教えてください。

あなた: KanriProは中小企業向けの営業・経理管理システムです。
技術スタック:
- Next.js 15 App Router + TypeScript
- Firestore(データベース)
- Tailwind CSS(スタイリング)
- GitHub Issues(タスク管理)

現在のモジュール構成:
- 営業管理: 顧客管理、案件管理、見積作成
- 経理: 請求書管理、入金管理
- 帳票: PDF出力

次のスプリントで追加する機能:
- 営業管理: FAX送信、地図マッピング、承認ワークフロー
- 経理: インボイス対応、小口現金、自動仕訳
- 在庫管理: CTI連携(新規モジュール)

PMエージェントはこの情報をもとに .apm/ ディレクトリにプロジェクト定義ファイルを生成します。

生成されるファイル

.apm/
├── project-definition.md    # プロジェクト概要、技術スタック
├── task-list.md             # 構造化されたタスクリスト
├── architecture.md          # アーキテクチャの理解
└── context/
    ├── current-sprint.md    # 現在のスプリント情報
    └── decisions.md         # 技術的な意思決定の記録

ここがAPMの真価です。これらのファイルは、コンテキストウィンドウが溢れて新しいセッションを開始しても、次のセッションでファイルを読み込むだけでプロジェクトの全文脈を復元できます。

ハンズオン 3: タスク実行フェーズ——エージェントにタスクを委譲する

セットアップが完了したら、タスク実行フェーズに進みます。

タスクの実行

/apm-2-execute-task

PMエージェントがタスクリストから次のタスクを選び、適切なエージェントに委譲します。

具体例: 経理モジュールのインボイス対応

PMエージェント: 次のタスクは「KP-101: インボイス対応(仕入先マスタ拡張)」です。
デベロッパーエージェントに委譲します。

デベロッパーエージェント:
.apm/project-definition.md と .apm/architecture.md を確認しました。
Next.js App Router + Firestore + TypeScript で実装します。

以下のファイルを作成・修正します:
- src/types/supplier.ts(型定義の拡張)
- src/app/accounting/suppliers/page.tsx(一覧画面)
- src/app/accounting/suppliers/actions.ts(Server Actions)

デベロッパーエージェントは .apm/ のファイルを参照するため、セットアップフェーズで共有した「Firestoreを使う」「Server Actionsで書き込む」といったプロジェクトルールを正確に守ります。

コンテキストが溢れたときの引き継ぎ

長時間の開発でコンテキストウィンドウが限界に近づいたら、新しいセッションを開始します。

# 新しいClaude Codeセッション
claude

# タスク実行を再開
/apm-2-execute-task

PMエージェントは .apm/task-list.md を読んで「どこまで終わったか」を把握し、次のタスクから再開します。チャット履歴が消えても、プロジェクトの文脈は完全に保持されています。

ハンズオン 4: マルチツール運用——Claude CodeとCursorを同時に使う

APMの最大の強みは、異なるAIツールが同じプロジェクト状態を共有できることです。

使い分けの戦略

実践例: 経理モジュールの並列開発

# ターミナル1: Claude Codeでバックエンド
claude
> /apm-2-execute-task
> KP-105(自動仕訳生成ロジック)のServer Actionsと
> Firestoreクエリを実装して

# ターミナル2: CursorでUI
# Cursorのコマンドパレットから
> /apm-2-execute-task
> KP-103(支払一覧画面)のUIコンポーネントを実装して

両方のツールが .apm/task-list.md を更新するため、Claude Codeで完了したタスクをCursor側でも把握でき、その逆も同様です。

APMとClaude Codeエージェントチームの使い分け

既存記事で紹介したClaude Codeのエージェントチーム機能とAPMは、競合ではなく補完関係にあります。

比較項目Claude Code エージェントチームAPM
スコープClaude Code単体複数ツール横断
コンテキスト管理セッション内で完結ファイルに永続化
適した場面1セッションで完結する並列実装複数日にまたがるプロジェクト
セットアップ環境変数1つapm init + セットアップフェーズ
学習コスト低い中程度

おすすめの組み合わせ:

APMで全体の進行管理を行い、個別バッチの並列実装にはエージェントチームを使う——このハイブリッド構成が現時点での最適解です。

Tips・注意点

トークン消費を抑えるコツ

コツ説明
セットアップフェーズを丁寧に最初にプロジェクト情報を正確に伝えるほど、タスク実行時の手戻りが減る
タスクの粒度を適切に「経理モジュール全体を作って」ではなく、機能単位に分解する
.apm/ ファイルを手動で補足AIが生成したファイルに、人間の知見(設計判断の理由など)を追記する

注意点

  • APMはフレームワークであり、AIモデルではない。あくまでプロジェクト管理の構造を提供するものです
  • .apm/ ディレクトリはGitにコミットすることを推奨。チームメンバーもAIの文脈を共有できます
  • セットアップフェーズを飛ばさない。ここを省略すると、タスク実行フェーズの精度が大幅に低下します
  • ライセンスはMPL-2.0です。商用利用可能ですが、APMのコアファイルを改変した場合はその部分の公開が必要です

まとめ

ポイント内容
APMの核心コンテキストをLLMのメモリではなくファイルに永続化する
2つのフェーズセットアップ(プロジェクト理解)→ タスク実行(エージェント委譲)
マルチツール対応Claude Code・Cursor・Copilotなど10以上のツールで同じ状態を共有
エージェントチームとの併用APMで全体管理、エージェントチームで並列実装が最適解

「コンテキストが溢れて最初からやり直し」を繰り返しているなら、APMの導入を検討してみてください。apm init ひとつで、AIとの開発体験が大きく変わります。

# まずはここから
npm install -g agentic-pm
cd your-project
apm init

参考リンク: