Claude Agent SDKとは?自社アプリにAIエージェントを組み込む

公開 更新 著者 永上裕之マルチエージェント
自社のアプリの中にAIエージェントの部品をはめ込むイメージ

この記事の要点

  • Agent SDKは、Claude Codeと同じ道具・作業の進め方・権限の仕組みを、PythonやTypeScriptのプログラムから使える部品
  • ターミナルで人が使うのがCLI、自社のアプリに組み込むのがAgent SDK、APIを直接呼ぶのがClient SDK
  • 認証はAPIキーで行う。自社の製品に claude.ai のログインを使うことは、事前の承認がない限り認められていない

Claude Code をしばらく使うと、「この作業の進め方を、社内のツールや自社のサービスの中でも動かしたい」と考える場面が出てきます。たとえば、毎晩の点検を自社の管理画面のボタンから始めたい、問い合わせの下書きを自社のシステムの中で作らせたい、といった使い方です。

そのための部品が Claude Agent SDK です。この記事では、公式ドキュメント(2026年10月31日確認)にもとづいて、何ができるのか、ほかの手段とどう違うのか、最初の動かし方をまとめます。

結論:Claude Code の中身を、自分のプログラムから呼び出せる部品

公式ドキュメントでは、エージェントを「自分で手順を考え、ファイルを読む・コマンドを動かす・コードを直すといった道具を呼び出して仕事を終わらせるアプリ」と説明しています。Agent SDK は、Claude Code を動かしているのと 同じ道具・同じ作業の進め方(エージェントループ)・同じ会話の管理 を、Python と TypeScript から使えるようにしたものです。

つまり、Claude Code を一から作り直さなくても、自社のプログラムの中に「Claude Code と同じように働くAI」を入れられる ということです。

ほかの手段との違い

Claude には似た名前の手段がいくつかあります。公式ドキュメントの比較を、目的ごとに並べ直すと次のとおりです。

やりたいこと使うもの中身
ターミナルで人が対話しながら使うClaude Code(CLI)ふだん使う画面そのもの
自社のアプリの中でエージェントを動かすAgent SDKClaude Code の本体を部品として動かす。道具・権限・会話・フックが付いてくる
自分のコードから Claude の API を直接呼ぶClient SDKAPI を呼ぶだけ。道具を呼ぶ繰り返しは自分で書く
エージェントの実行場所ごと任せるManaged AgentsAnthropic 側でエージェントを動かす。API から設定する

Python や TypeScript 以外の言語から同じ動きをさせたい場合は、CLI を -p 付きで呼び出し、結果を JSON で受け取る方法も案内されています。この方法は Claude Codeのヘッドレスモード で詳しく解説しています。

Agent SDK で使える Claude Code の機能

公式ドキュメントでは、次の機能が SDK でも使えるとされています。

ふだん Claude Code で育てた スキル や CLAUDE.md を、そのまま自社のプログラム側でも生かせるのが大きな利点です。

最初の動かし方(Python の例)

公式のクイックスタートの流れは、次の4段階です。

  1. 部品を入れる:pip install claude-agent-sdk(TypeScript なら npm install @anthropic-ai/claude-agent-sdk)
  2. API キーを環境変数 ANTHROPIC_API_KEY に入れる(キーはコードに直接書かない)
  3. 小さなプログラムを書く
  4. 実行して、AI が道具を使いながら進める様子を見る

プログラムの骨組みは次のような形です。公式の例を、読みやすいように短くしています。

import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions

async def main():
    async for message in query(
        prompt="utils.py に落ちる原因がないか調べて、あれば直して",
        options=ClaudeAgentOptions(
            allowed_tools=["Read", "Edit", "Glob"],
            permission_mode="acceptEdits",
        ),
    ):
        print(message)

asyncio.run(main())

ポイントは options です。allowed_tools で 確認なしで使ってよい道具 を、permission_mode で 権限の動き方 を決めます。最初は読む・探す・直すの3つ程度に絞り、コマンドの実行は確認制のままにしておくのが安全です。

仕事での使いどころ

どれも、人が画面で毎回打っていた依頼を、プログラムの側から同じ条件で出す という考え方です。

使うときの約束ごと

まとめ

出典

永上裕之

ユニコスクール株式会社 代表取締役。AIエージェント専門のスクール&コミュニティを運営しています。

この記事はAIを使って下書きし、著者が事実確認・加筆しています。ツールの機能や料金は変わることがあるため、最新の情報は各社の公式ページでご確認ください。

関連する記事