前回の記事では、NotebookLM を使って「20人の専門家チーム」を構築する方法を紹介しました。この記事では、同じ考え方を Claude Code や Cowork で実現する方法を解説します。
NotebookLM と Claude Code の発想の違い
NotebookLM は「入れた資料だけを根拠に回答する」ことが強みです。テーマごとにノートブックを分けることで、各ノートブックが「専門家」として機能します。
Claude Code でも同じアプローチが取れます。さらに、コード実行・ファイル編集・外部ツール連携ができるため、「相談する」だけでなく「調査して、コードを書いて、PR を作成する」ところまで一気通貫で任せられます。
| 観点 | NotebookLM | Claude Code |
|---|---|---|
| 専門家の定義 | ノートブック + ソース | .claude/agents/ + ナレッジ |
| 知識の投入 | PDF / Web / Fast Research | MCP / ローカルファイル / WebSearch |
| 同時相談 | 手動で切替 | Cowork / Agent Teams で並行実行 |
| 引用元表示 | 自動リンク | ファイルパス・行番号 |
| 強み | 非技術者でも簡単 | コード実行・ファイル編集が可能 |
方法1: カスタムエージェント(.claude/agents/)
最もシンプルで NotebookLM の「専門家ノート」に直接対応する方法です。
カスタムエージェントの仕組み
.claude/agents/ ディレクトリに Markdown ファイルを置くだけで、専門エージェントが定義できます。各ファイルにはそのドメインの専門知識・指示・参照先を書きます。
| |
エージェント定義ファイルの書き方
Markdown ファイルの先頭に YAML フロントマターでメタ情報を定義し、本文にシステムプロンプトを書きます。詳細は 公式ドキュメント を参照してください。
| |
ポイント:
toolsで使えるツールを制限できる(読み取り専用にもできる)- ユーザーレベル(
~/.claude/agents/)に置けば全プロジェクトで共有できる - プロジェクトレベル(
.claude/agents/)に置けばチームで共有できる
カスタムエージェントの呼び出し方
Claude Code はタスクの内容から自動的にマッチするエージェントを選択します。Agent ツールの subagent_type にエージェント名を指定して明示的に呼び出すこともできます。
| |
また、別の Claude Code セッション(メインの会話)から Agent ツールを使ってサブエージェントとして起動することも可能です。この場合、サブエージェントは独自のコンテキストウィンドウで動作し、結果だけがメインに返されます。
方法2: Cowork / Agent Teams — 複数の専門家を同時に動かす
NotebookLM ではノートブックを手動で切り替える必要がありましたが、Claude Code の Agent Teams では複数の専門家を並行して動かせます。
Agent Teams の構成例
| |
例えば「新サービスの立ち上げ計画」のような複合的な課題に対して、4人の専門家が同時に調査し、チームリードが結果を統合します。Agent Teams の詳細は 公式ドキュメント を参照してください(現在は実験的機能)。
Agent Teams の実績:10万行の C コンパイラ構築
Anthropic のエンジニアリングチームは、16のエージェントを並行して稼働させ、約2,000セッションで10万行の Rust 製 C コンパイラを構築しました(事例記事)。
Claude Cowork(デスクトップ版)
Claude Code がターミナルベースの開発者向けツールであるのに対し、Cowork はデスクトップ UI のナレッジワーカー向けツールです。ローカルファイルやアプリケーションに接続し、マルチステップのタスクを実行できます。Cowork の基本的な使い方はこちらの記事も参考になります。
方法3: MCP サーバーでナレッジを接続
NotebookLM の強みは「入れた資料だけを根拠に回答する」点でした。Claude Code で同等のことを実現するのが、MCP(Model Context Protocol)サーバーによる外部ナレッジの接続です。
.mcp.json の設定例
.mcp.json でプロジェクト単位の MCP サーバーを定義できます。以下は構成の例です(実際の MCP サーバーの構築方法は 公式ドキュメント を参照)。
| |
MCP サーバーの活用パターン
- Notion MCP サーバー: 社内ドキュメントを直接参照
- データベース MCP: 業務データに基づいた回答
- カスタム MCP: 自社のナレッジベースを検索可能にする
エージェント定義で tools: [mcp__knowledge__search] のように接続先を指定すれば、そのエージェントは特定のナレッジソースだけを参照して回答します。MCP の実践例として、freee MCP × Claude Code の連携記事も参考になります。
実践例: Hugo ブログに Claude Code 専門家チームを構築する
この技術ブログ自体を例に、どんな専門家エージェントが有用かを考えてみます。
テクニカルライター エージェント
| |
SEO アドバイザー エージェント
| |
トレンドリサーチャー エージェント
| |
実践レポート: この記事自体をエージェントでレビューした結果
ここまで紹介した方法を、実際にこのブログプロジェクトで実装しました。4つのカスタムエージェントを作成し、この記事自体を SEO アドバイザーとテクニカルライターの2つのエージェントで同時にレビューした経緯と結果を報告します。
実装したエージェント
Hugo ブログの運用に必要な4つの専門家を .claude/agents/ に定義しました。
| エージェント | 役割 | 主な tools |
|---|---|---|
| fact-checker | ツール名・コマンド・URL・バージョンの事実検証 | WebSearch, Bash, Read |
| seo-advisor | タイトル改善、タグ提案、内部リンク分析 | WebSearch, Read, Grep |
| tech-writer | 構成・読みやすさ・日本語品質のレビュー | Read, Grep, Glob |
| trend-researcher | 技術トレンド調査と記事ネタ提案 | WebSearch, Read |
2つのエージェントを並行実行してレビュー
記事の初稿を書いた後、SEO アドバイザーとテクニカルライターを Agent ツールで並行起動しました。
| |
2つのエージェントが独立したコンテキストウィンドウでそれぞれ分析を行い、結果がメインセッションに自動で通知されます。所要時間はそれぞれ約2分で、合計ではなく並行で処理されました。
SEO アドバイザーの指摘(抜粋)
SEO アドバイザーは以下のような分析レポートを返しました。
タイトル(65/100点):
タイトルが39文字で、Google 検索結果の表示上限(約32文字)を超えている。末尾の「活用法」が切れる可能性が高い。
見出し構造(60/100点):
H3 レベルの見出しが「仕組み」「呼び出し方」「設定例」のように汎用的すぎる。「カスタムエージェントの仕組み」のようにキーワードを含めるべき。
内部リンク(30/100点):
関連する既存記事(Cowork スターターパック、freee MCP 連携、AI チーフ・オブ・スタッフ等)への相互リンクがゼロ。リンク追加で回遊率と SEO 評価を改善できる。
タグ最適化:
promptタグよりclaude、anthropicの方が検索クエリとの一致度が高い。
テクニカルライターの指摘(抜粋)
テクニカルライターは総合評価 4/5 で、以下を指摘しました。
最大の改善ポイント — 「呼び出し方」セクション:
本文が1文のみで具体的なコマンド例がない。読者が「どうやって使うのか」が分からないまま次のセクションに進んでしまう。これは記事全体で最も大きな欠落点。
読みやすさ:
「NotebookLM が『入れた資料だけを根拠に回答する』のに相当するのが」は一文が長く、主語と述語の距離が遠い。文を分割すべき。
日本語品質:
「NotebookLM は情報提供まで。」が体言止めで、前後の「です・ます」調と不整合。
コードブロック:
ディレクトリツリーのコードブロックに言語指定がない。
textまたはplaintextを指定すべき。
指摘を反映した改善内容
両エージェントの指摘をもとに、以下を修正しました。
| 指摘元 | 修正内容 |
|---|---|
| SEO | H3 見出し5箇所にキーワード追加(「仕組み」→「カスタムエージェントの仕組み」等) |
| SEO | タグを ["claude-code", "claude", "anthropic", "agent", "mcp"] に変更 |
| SEO | 内部リンク5件追加(Cowork、MCP、Chief of Staff 記事等) |
| SEO | 公式ドキュメントへの外部リンク追加 |
| Tech Writer | 「呼び出し方」にコマンド例とサブエージェント起動の説明を追加 |
| Tech Writer | 長文を分割(MCP セクションの冒頭等) |
| Tech Writer | 体言止めを修正(「情報提供まで。」→「情報提供までですが」) |
| Tech Writer | コードブロックに text 言語指定を追加 |
実装で得られた知見
うまくいったこと:
- 2つのエージェントの並行実行により、異なる専門性の観点から同時にレビューを受けられた
- SEO とライティングで指摘が重複せず、補完的な改善ができた
- エージェント定義ファイルを Git 管理することで、レビュー基準がチームで共有可能になった
注意が必要だったこと:
- ファイルパスの制約: サブエージェントはメインセッションとは独立した権限で動作するため、
/tmp配下のファイルにアクセスできなかった。レビュー対象ファイルはプロジェクトディレクトリ内に配置する必要がある - ブランチ上のファイル: PR ブランチにしか存在しないファイルは、main をチェックアウトしているサブエージェントからは見えない。
git showで一時的にエクスポートするか、worktree 内のパスを指定する必要がある - セッション起動タイミング:
.claude/agents/に定義したカスタムエージェントは、セッション起動時に読み込まれる。同一セッション中に作成した場合はgeneral-purposeエージェントにプロンプトを渡す形で代用できる
NotebookLM から Claude Code に移行するメリット
- 「調べる」から「実行する」へ: NotebookLM は情報提供までですが、Claude Code は調査結果をもとにコードを書き、ファイルを編集し、PR を作成するところまで自動化できる
- バージョン管理: エージェント定義を
.claude/agents/に置けば Git で管理でき、チームで共有できる - 並行実行: Agent Teams で複数の専門家を同時に動かし、結果を統合できる
- ツール連携: MCP でデータベース、API、社内ツールに直接接続できる
まとめ
NotebookLM の「テーマごとにノートブックを分けて専門家を作る」というアイデアは、Claude Code ではカスタムエージェント(.claude/agents/)として実装できます。さらに Cowork / Agent Teams で並行実行、MCP でナレッジ接続と、より強力な専門家チームを構築できます。
まずは1つのエージェント定義ファイルを作るところから始めてみてください。AI チーフ・オブ・スタッフの構築記事も、実践の参考になります。