メインコンテンツへスキップ

Documentation Index

Fetch the complete documentation index at: https://docs.replit.com/llms.txt

Use this file to discover all available pages before exploring further.

Claude Agent SDKは、ライブラリとしてのClaude Codeです。Claude Codeを動かすのと同じエージェントをプログラムで作成し、コードとして実行できます。繰り返し作業を自動化されたワークフローに変え、Replitで公開しましょう。 このチュートリアルでは、Todoistの受信トレイを整理するエージェントを作成します。タスクの取得、ラベルの適用、プロジェクトへの振り分けを行い、スケジュール実行できるように公開します。

学習内容

  • Claude Agent SDKの仕組みと使いどころ
  • 主要なプリミティブ: エージェント、ツール、MCPサーバー、スキル、パーミッション
  • ReplitのIntegrationsを使ったタスク自動化エージェントの構築方法
  • Scheduled Deploymentsを使ったスケジュール実行への公開方法

前提条件

  • Replitアカウント(Deploymentsにはコアまたはプロプランを推奨)
  • Anthropic APIキー
  • Todoistアカウント(または自動化したい他のサービス)

Claude Agent SDKの仕組み

エージェントはループで動作します。プロンプトを送ると、エージェントは実行するツールを選び、結果を観察し、タスクが完了するまで繰り返します。 プロンプトを提供するのはあなたです。ループの処理はSDKが行います。 さらにSDKは、オーケストレーターエージェントが専門化されたサブエージェントにタスクを委任するマルチエージェントアーキテクチャの構築もサポートします。各サブエージェントは独自のツールとコンテキストウィンドウを持ちます。
マルチエージェントアーキテクチャにより、各エージェントの役割を絞り込めます。サブエージェントには必要なツールとコンテキストだけが渡されるため、コンテキストの肥大化を防ぎ、パフォーマンスが向上します。

主要なプリミティブ

プリミティブ説明
クエリループ基本動作: プロンプト→ツール選択→実行→観察→繰り返し
エージェント独自のツールと指示を持つ専門化された設定
ツールエージェントが実行できるアクション(コマンド実行、API呼び出し、ファイル編集など)
MCPサーバーツールのコレクションを公開する外部プロセス(コンテキスト負荷が高く、起動時に読み込まれる)
スキルエージェントに作業方法を教えるMarkdown指示ファイル(コンテキスト効率が高く、必要時に読み込まれる)
パーミッション各エージェントがアクセス・実行できる内容を細かく制御する設定

スキルとMCPサーバーの違い

エージェントを拡張する主な方法は2つあります: スキルはエージェントが従う指示が書かれたMarkdownファイルです。呼び出されるまでは簡単な説明のみが読み込まれるため、コンテキストウィンドウをスリムに保てます。スキルの用途:
  • ワークフローや規約(「デプロイ方法」「コードレビューチェックリスト」など)
  • 参照資料(APIパターン、スタイルガイド)
  • 名前で呼び出す再利用可能なプロンプト
MCPサーバーはツールを公開するプロセスです。すべてのツールの説明が起動時に読み込まれるため、コンテキスト負荷が高くなります。MCPサーバーの用途:
  • 外部サービスへの接続(Notion、Linear、データベースなど)
  • APIアクセスが必要なアクション(タスクの作成、データのクエリなど)
  • 指示を与えるだけでなく、_実際に何かを行う_ツール
スキルはエージェントがどのように動くべきかを定義します。MCPサーバーはエージェントが何にアクセスできるかを定義します。どちらもコーディングエージェント(Replit Agentなど)およびSDKで作成するエージェントで使用できます。

SDKとAPIの使い分け

ユースケース選択
複数ステップのタスクの自動化Claude Agent SDK
マルチエージェントワークフローClaude Agent SDK
シンプルなチャットアプリAnthropic API
単発のタスクAnthropic API

Todoist整理エージェントを作成する

このウォークスルーでは、Claude Agent SDKプロジェクトに適切な構造(エージェント、ツール、MCPサーバー、スキル、パーミッションのディレクトリがすでに用意されている)をスキャフォールドするReplitテンプレートを使用します。

ステップ1: テンプレートをリミックスする

1

テンプレートを開く

ReplitでClaude Agent SDKテンプレートを開き、Remixを選択して自分用のコピーを作成します。
2

プロジェクト名を付ける

わかりやすい名前(例: “My Todoist Agent”)を付け、Use Templateを選択します。
3

プロジェクト構造を確認する

環境が読み込まれたら、ファイルサイドバーを開きます。完全な構造を表示するには、Show Hidden Filesを切り替えてください:
  • .agents/skills/ — Replit AgentにClaude Agent SDKアプリの作成方法を教えるスキル
  • src/agents/ — エージェントの定義
  • src/mcpServers/ — MCPサーバーの設定
  • src/permissions/ — パーミッションの定義
  • src/skills/ — エージェント用スキル(Markdownファイル)
  • src/tools/ — カスタムツールの定義
テンプレートには、Replit AgentにClaude Agent SDKアプリの作成方法を教えるスキルが含まれています。そのため、Agentにプロンプトを入力する際、AgentはすでにこのフレームワークをAについて把握しています。

ステップ2: Replit IntegrationsでTodoistを接続する

Agentにプロンプトを入力する前に、エージェントが連携するサービスを接続します。
  1. Replitアカウントでreplit.com/integrationsにアクセスします。
  2. Todoistを探してアカウントを接続します。
  3. ReplitがTodoistデータにアクセスすることを認証します。
Replit IntegrationsはOAuthと認証を代わりに処理します。エージェントはトークンを直接管理せずにTodoist APIにアクセスできます。これは、独自のOAuthフローが必要な別のMCPサーバーを設定するよりも簡単です。

ステップ3: エージェントを作成するようAgentにプロンプトを入力する

最良の結果を得るには、Replit AgentをPlan Modeに切り替えてください。ビルド前にプランを確認し、アプローチを検証する機会が得られます。
このプロンプトの最後の2段落は、デバッグ後に追加されました。認証方法(ReplitのIntegrations、MCPのOAuthではない)と最終的な状態(受信トレイを完全に空にする)を具体的に指定することで、試行錯誤の時間を節約できます。

ステップ4: プランを確認してビルドする

Agentがプランを提示したら、以下が含まれていることを確認します:
  1. カスタムツール — Todoist API用(TodoistのMCPサーバーは使わない)
  2. オーガナイザーエージェント — タスク、ラベル、プロジェクトを取得する
  3. 適切なパーミッション — エージェントが必要とするツールにスコープされている
  4. エントリポイント — ワークフローをトリガーする
確認できたらプランを承認し、Agentをhigh autonomyに設定してビルドを開始します。

ステップ5: Anthropic APIキーを追加する

Claude Agent SDKがClaudeを呼び出すにはAnthropicのAPIキーが必要です。
  1. Project EditorでSecretsペインを開きます。
  2. ANTHROPIC_API_KEYという名前のシークレットに、APIキーの値を追加します。
ReplitのSettingsにあるvaultにAnthropicのAPIキーを保存している場合、すべてのプロジェクトで自動的に使用できます。

ステップ6: テストとデバッグ

エージェントを実行し、Todoistの受信トレイが正しく処理されることを確認します。よくある問題として注意すべき点:
  • 受信トレイが空でないのに「Inbox is empty」と表示される — 受信トレイのタスクを検出するAPIレスポンス形式の調整が必要な場合があります。エージェントが受信トレイのプロジェクトでタスクをフィルタリングしているか(別のプロパティではなく)を確認してください。
  • タスクにラベルは付くがプロジェクトに移動しない — エージェントが利用可能なプロジェクトを取得し、各タスクにプロジェクトを割り当てるよう、プロンプトに明示的に指定してください。
  • 認証エラー — Replit IntegrationsでTodoistの接続が完了しているか、エージェントのコードがそれを使用しているか(独自のOAuthフローではなく)を確認してください。
デバッグはAIを使った開発の一部です。うまくいかない場合は、出力を確認し、エージェントが期待と_どこで_異なる動作をしたかを特定し、より具体的なプロンプトを入力してください。修正のたびに、次回最初から含めるべき内容が分かってきます。

エージェントを公開する

エージェントが正しく動作したら、自動実行できるように公開します。
1

Publishタブを開く

Project EditorでPublishタブを選択します。
2

Scheduled Deploymentを選ぶ

時間ベースの自動化にはScheduled Deploymentを選択します。希望するスケジュール(例: “Every day at 5pm PST”)を入力します。
3

設定を確認する

実行コマンドがメインエントリポイントファイルを指していること、およびANTHROPIC_API_KEYシークレットがデプロイのシークレットに含まれていることを確認します。
4

公開する

Publishを選択します。エージェントが公開され、スケジュールに従って実行されます。
イベント(Webhook、受信メッセージ)に応答する必要があるエージェントには、代わりにReserved VM Deploymentを使用してください。

エージェントを拡張する

基本的な動作が確認できたら、Replit上でさらに高度なエージェントを構築できます:
  • 永続的なメモリを追加するReplit Databaseを使って実行間の状態を保存する
  • ファイルを保存するApp Storageでファイルベースのデータを管理する
  • さらにサービスを接続するIntegrations(Slack、Linear、GitHub、Notionなど)を追加してマルチサービスのワークフローを構築する
  • スキルを使う — Markdownのスキルファイルを追加してエージェントに専門知識と指示を与える

次のステップ