登録して招待リンクを共有すると、動画再生報酬と紹介報酬を獲得できます。

cv usk
@cv_usk
AI / Software Research Notes AI Agent, LLMOps, MLOps, Software Architecture 投稿は個人の意見です。
参加 May 2026
286 フォロー中    469 ファン
# Claude Agent SDKの便利だけど知られていない機能 🌍 エージェントの応答を待つ間、画面が真っ白で不安になったことはありませんか?リアルタイムストリーミングで解決です! `include_partial_messages` を有効にすれば、テキストやツール呼び出しが生成される様子をリアルタイムで受信できます。 📌 タイトル:リアルタイム部分メッセージ 🔗 URL: 🧩 概要 `include_partial_messages`(Python)/ `includePartialMessages`(TypeScript)を `True` に設定すると、通常の `AssistantMessage` に加えて `StreamEvent` メッセージが送信されます。`StreamEvent` にはClaude APIの生のストリーミングイベント(`content_block_delta` の `text_delta` や `input_json_delta` など)が含まれ、テキストの断片やツール入力のチャンクをリアルタイムで受信できます。これにより、タイピング風のテキスト表示やツール実行中のステータス表示など、応答性の高いUIを構築できます。 🛠 使い方 ```python # Python - テキストチャンクをリアルタイム表示 from claude_agent_sdk import query, ClaudeAgentOptions from claude_agent_sdk.types import StreamEvent options = ClaudeAgentOptions(include_partial_messages=True) async for message in query(prompt="データベースの仕組みを説明してください", options=options): if isinstance(message, StreamEvent): event = message.event if event.get("type") == "content_block_delta": delta = event.get("delta", {}) if delta.get("type") == "text_delta": print(delta.get("text", ""), end="", flush=True) ``` ```typescript // TypeScript - ツール呼び出しのストリーミング表示 import { query } from "@anthropic-ai/claude-agent-sdk"; let currentTool: string | null = null; for await (const message of query({ prompt: "Read the README.md file", options: { includePartialMessages: true } })) { if (message.type === "stream_event") { const event = message.event; if (event.type === "content_block_start" && event.content_block.type === "tool_use") { currentTool = event.content_block.name; process.stdout.write(`\n[Using ${currentTool}...]`); } else if (event.type === "content_block_delta" && === "text_delta") { process.stdout.write( } else if (event.type === "content_block_stop" && currentTool) { console.log(" done"); currentTool = null; } } } ``` 🏗 本番システムへの組み込み方 ・チャットUIで `text_delta` を受信するたびにメッセージバブルにテキストを追加し、タイピング風の表示を実現します ・`content_block_start`(type: `tool_use`)でツール名を検知し、「実行中...」のスピナーを表示します ・`message_start`/`message_stop` イベントでメッセージの開始・完了を追跡します ・テキストデルタは自分で結合する必要があるため、アキュムレータを用意します 💡 ユースケース 💬 ChatGPT風のリアルタイムタイピング表示をカスタムUIに実装する 🔧 エージェントが使用中のツール名とその進捗をステータスバーに表示する 📝 長文の分析結果を、完成を待たずに部分的に表示開始する ⚠️ 注意点 ・`StreamEvent` のイベントは生のClaude APIイベントであり、蓄積済みテキストではありません。テキストデルタを自分で結合する必要があります ・構造化出力(`structured_output`)はストリーミングデルタでは送信されず、最終の `ResultMessage` にのみ含まれます ・ツール実行中(`in_tool` フラグ)はテキストストリーミングを一時停止するなど、UIの状態管理が必要です ✨ 「処理中です、お待ちください...」だけの画面はもう卒業。部分メッセージでユーザーとエージェントの距離を縮めましょう! #ClaudeAgentSDK# #AIAgent#
もっと見る