原文(日本語に翻訳)
SDKを経由して画像付きメッセージを送信する際に、スキルリマインダーやその他のシステムコンテキストが削除されていた問題を修正しました。
原文(英語)
Fixed skill reminders and other system context being dropped when sending messages with images via the SDK
概要
Claude Code SDKを使用して画像を含むメッセージを送信する際、スキルのリマインダーや設定されたシステムコンテキストが失われてしまうバグがありました。画像付きメッセージではマルチモーダルコンテンツの処理の関係で、テキスト部分のシステムコンテキストが正しく伝達されていませんでした。v2.1.89でこの問題が修正され、画像送信時もシステムコンテキストが完全に保持されます。
基本的な使い方
typescript
// Claude Code SDK で画像付きメッセージを送信する例
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
const response = await client.messages.create({
model: "claude-opus-4-5",
max_tokens: 1024,
// スキルリマインダーやシステムコンテキストが設定されている場合
system: "あなたは画像分析の専門家です。...",
messages: [
{
role: "user",
content: [
{
type: "image",
source: {
type: "base64",
media_type: "image/jpeg",
data: "...", // base64エンコードされた画像
},
},
{
type: "text",
text: "この画像を分析してください",
},
],
},
],
});
// 修正後: systemコンテキストが正しく適用される実践例
スキルを使った画像分析
typescript
// スキルリマインダーを持つセッションで画像を送信する
const agentClient = new AnthropicAgentClient({
skills: ["image-analyzer"],
// スキルのリマインダーが設定される
});
// 修正前: 画像送信時にスキルのコンテキストが消えていた
// 修正後: スキルのコンテキストが保持される
const result = await agentClient.sendMessage({
content: [
{ type: "image", data: imageData, mediaType: "image/png" },
{ type: "text", text: "このスクリーンショットの問題を診断してください" },
],
});画像とシステムプロンプトの組み合わせ
python
# Python SDK での使用例
import anthropic
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-4-5",
max_tokens=1024,
system="You are an expert code reviewer. Always provide detailed feedback.",
messages=[
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "url",
"url": "https://example.com/screenshot.png",
},
},
{
"type": "text",
"text": "Review this code screenshot"
}
],
}
],
)
# 修正後: system プロンプトが画像付きメッセージでも正しく適用される注意点
- この問題はSDK経由での画像送信時にのみ発生していました(通常のテキストメッセージは影響なし)
- スキルリマインダーはClaude Codeのスキル機能で自動的に付与されるシステムコンテキストです
- 修正前にSDKで画像分析をしていた場合、スキルや設定が適用されていなかった可能性があります
- API直接呼び出しではなく、Claude Code SDKを使用している場合に影響があります