Messages APIの基本
なぜ学ぶか: Claude APIのほぼすべてはMessages API(メッセージのやり取り)でできています。「systemで役割を与え、messagesで会話を積む」という組み立て方が分かると、単発の質問から複数ターンの対話まで、AI機能を自在に設計できます。前に学んだ『AIへの指示』が、ここでコードになります。
messages=会話の履歴
{ role: "user", ... }と{ role: "assistant", ... }を交互に並べます。roleが『誰の発言か』を表します。
systemプロンプト=AIの役割・前提
「あなたは丁寧なサポートです」のように、AI全体の振る舞いを決めます。『文脈・制約』をここに書きます。
APIは毎回、履歴を全部送る(ステートレス)
サーバーは会話を覚えていません。続きを話すには、これまでのmessagesを毎回まるごと送ります。
max_tokens=応答の長さの上限
返答の最大トークン数。小さすぎると途中で切れます。長い応答が欲しいときは十分な値にします。
コード例
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
// 複数ターンの会話(API はステートレス→履歴を毎回送る)
const message = await client.messages.create({
model: "claude-opus-4-8",
max_tokens: 1024,
// system: AI の役割・前提
system: "あなたは簡潔に答えるプログラミングの先生です。",
messages: [
{ role: "user", content: "TypeScript の型注釈って何?" },
{ role: "assistant", content: "変数に「この種類の値が入る」と宣言する印です。" },
{ role: "user", content: "例を1つ、短く教えて。" },
],
});
const text = message.content.find((b) => b.type === "text");
console.log(text?.type === "text" ? text.text : "");3ターン目の質問に答えてもらうため、1〜2ターン目の履歴も一緒に送っています。「毎回まるごと送る」がステートレスAPIの基本です。
ステップ 1 / 2
※ カリキュラムの内容はAIが生成しており、誤りが含まれる場合があります。正確な情報は公式ドキュメント等でご確認ください。