「Claude Codeのあの エージェントっぽい賢い動き を、自分のアプリに組み込みたい」 — Slackボット、社内自動化、CIエージェント、いろんな場面で出てくる発想です。

これを叶えるのが Claude Agent SDK。Claude Codeの中身が TypeScriptとPythonのライブラリとして公開 されていて、自分のコードから直接呼べる。

「Claude Codeを開かずに、Claude Codeの脳みそを使う」イメージ。今日はこの正体と最小サンプルを整理します。

Claude Code(CLI)との関係

「Claude Code」と「Claude Agent SDK」は 同じエンジンの2つの顔

Claude Code

Claude Agent SDK

形式

コマンドラインツール

TypeScript / Python ライブラリ

使い方

ターミナルで対話

自分のコードから呼ぶ

共通点

同じツール語彙(Bash/Read/Edit)・同じツール承認の仕組み

用途

個人の開発支援

アプリ・自動化・サービス組込

つまり、 Claude Codeで覚えた感覚がそのまま SDKでも通じる。「あのコマンドどうやって呼ぶんだっけ」と迷わない。

これがSDKを触る最大のメリットだと感じています。

インストールと最小サンプル(TypeScript)

Node.js環境で1行。

npm install @anthropic-ai/claude-agent-sdk

これで query 関数が使えるようになります。最小コードはこれだけ。

import { query } from "@anthropic-ai/claude-agent-sdk";

for await (const message of query({
  prompt: "今のディレクトリのpackage.jsonを読んで、依存関係を要約して",
})) {
  if (message.type === "result") {
    console.log(message.result);
  }
}

実行すると、Claudeが 自動でReadツールを使ってpackage.jsonを開き、要約を返す。Claude Codeでターミナルから話しかけているのと、同じ挙動。

これがSDKを触る最初の感動でした。 「ChatGPT API的な単発呼び出し」ではなく、エージェントが自分でツールを使って動く のが実感できる。

Python版もある

Python派なら、

pip install claude-agent-sdk

で入ります。使い方は同じ感覚。

import anyio
from claude_agent_sdk import query

async def main():
    async for message in query(prompt="今のディレクトリの構造を要約して"):
        if hasattr(message, "result"):
            print(message.result)

anyio.run(main)

データサイエンス文脈で使うならPython、Webサービスに組むならTypeScript、という使い分けが自然。

ツールの語彙が同じ

SDKを触って「やっぱりすごい」と感じるのが、ツールの設計が Claude Codeとそのまま同じ こと。

  • Bash — シェルコマンド実行
  • Read — ファイル読み取り
  • Edit — ファイル編集
  • Write — 新規ファイル作成
  • Glob — ファイル検索
  • Grep — 文字列検索
  • WebFetch — URL取得

これら全部が、SDK経由でも 同じ名前・同じ承認フロー で動く。Claude Codeで使った設定(.claude/settings.json の permissions など)もそのまま読み込めます。

つまり、 個人で蓄積したClaude Codeのカスタマイズ資産がSDKでも生きる

実用シーン3つ

私や周辺で実際に動いている用例。

1つ目 — Slackボット化

「特定のチャンネルでメンションされたら、リポジトリを調査してサマリを返す」というSlackボットを、Claude Agent SDK + Slack Bolt で組む。

ChatGPT APIで作るのと違うのは、 ボットが自律的にgit cloneやReadを使って情報を集める こと。指示が抽象的でも、必要なファイルを自分で探して読む。

2つ目 — 社内ナレッジ自動更新

「社内のNotionページとGitHubリポジトリを定期的に突き合わせて、ドキュメントの食い違いを検出する」用途。SDKをcron的に回して、差分があればSlack通知。

これは Claude Codeを開きっぱなしにしておく必要がない SDKの強み。サーバー上で勝手に動く。

3つ目 — CIエージェント(プルリク自動レビュー)

GitHub Actionsから claude-agent-sdk を呼んで、PRの差分をレビューさせる。 ultrareview ライクな仕組みを 自前で組める

私の知り合いは、この用途でSDKを2025年末から本番投入していて、 月のセキュリティバグ検出が3-4件 安定して出ているそうです。

Skills・Hooksとの連携

Claude Codeで使っている Skills(.claude/skills/)や Hooks(settings.json)も、SDK経由でそのまま機能します。

  • Skills — タスクに応じてSDKが自動でMarkdownを読み込む
  • Hooks — ツール実行時に自分のコールバックが走る

「Claude Codeで作ったスキルを、Slackボットからも呼び出したい」が普通に動く。 資産が二重管理にならない のが大きい。

コスト感の現実

ここは要注意。SDKは API課金 で動きます(Claude Code CLIの月額プランとは別経路)。

私の体感目安。

  • 軽いタスク(ファイル数個読む程度) — 1回数セント
  • 中規模(リポジトリ全体読み込み) — 1回20-50セント
  • 大規模(複雑な調査・複数ファイル編集) — 1回1-5ドル

cronで毎日100回回すと、 月100-500ドル に膨らむ規模感。「個人で雑に組み込み」より、 業務での具体的な ROI 計算 が前提のツールです。

逆に 時給換算で割が合うなら、ものすごく安い。1人法人で「月3時間の作業がSDK化で完全自動」なら、月10ドル使ってもペイ。

まとめ

  • Claude Agent SDKは Claude Codeのコア機能をライブラリ化 したもの
  • TypeScript / Python の両方で使える
  • インストールは npm install @anthropic-ai/claude-agent-sdk 1行
  • ツールの語彙は CLIと同じまま(Bash/Read/Edit など)
  • 実用シーンは Slackボット / 自動化 / CIレビュー
  • Skills・Hooks の資産も そのまま使える
  • コストは API課金、月100-500ドル規模になる用例もあるので ROI 計算前提

「Claude Codeで動いた仕組みを、人がいない時間にも動かしたい」と思った時が、SDK化のタイミング。今日はまず、 npm install してREADMEのサンプルを動かしてみるところから始めてみてください。