مهاجرت به Claude Agent SDK
مرورِ کلی
Section titled “مرورِ کلی”Claude Code SDK به Claude Agent SDK تغییرِ نام داده و مستنداتش بازسازماندهی شده است. این تغییر بازتابِ قابلیتهای گستردهترِ SDK برای ساختنِ ایجنتهای AI فراتر از صرفِ کارهای کدنویسی است.
چه چیزی عوض شده
Section titled “چه چیزی عوض شده”| جنبه | قدیم | جدید |
|---|---|---|
| نامِ پکیج (TS/JS) | @anthropic-ai/claude-code | @anthropic-ai/claude-agent-sdk |
| پکیجِ Python | claude-code-sdk | claude-agent-sdk |
| مکانِ مستندات | مستنداتِ Claude Code | API Guide → بخشِ Agent SDK |
گامهای مهاجرت
Section titled “گامهای مهاجرت”برای پروژههای TypeScript/JavaScript
Section titled “برای پروژههای TypeScript/JavaScript”۱. پکیجِ قدیمی را حذف کن:
npm uninstall @anthropic-ai/claude-code۲. پکیجِ جدید را نصب کن:
npm install @anthropic-ai/claude-agent-sdk۳. importهایت را بهروز کن:
همهی importها را از @anthropic-ai/claude-code به @anthropic-ai/claude-agent-sdk تغییر بده:
// Beforeimport { query, tool, createSdkMcpServer } from "@anthropic-ai/claude-code";
// Afterimport { query, tool, createSdkMcpServer } from "@anthropic-ai/claude-agent-sdk";۴. وابستگیهای package.json را بهروز کن:
اگر پکیج را در package.jsonِ خودت فهرست کردهای، آن را بهروز کن:
قبل:
{ "dependencies": { "@anthropic-ai/claude-code": "^0.0.42" }}بعد:
{ "dependencies": { "@anthropic-ai/claude-agent-sdk": "^0.2.0" }}۵. تغییراتِ ناسازگار (breaking changes) را مرور کن
هر تغییرِ کدی که برای تکمیلِ مهاجرت لازم است انجام بده.
برای پروژههای Python
Section titled “برای پروژههای Python”۱. پکیجِ قدیمی را حذف کن:
pip uninstall claude-code-sdk۲. پکیجِ جدید را نصب کن:
pip install claude-agent-sdk۳. importهایت را بهروز کن:
همهی importها را از claude_code_sdk به claude_agent_sdk تغییر بده:
# Beforefrom claude_code_sdk import query, ClaudeCodeOptions
# Afterfrom claude_agent_sdk import query, ClaudeAgentOptions۴. نامهای type را بهروز کن:
مقدارِ ClaudeCodeOptions را به ClaudeAgentOptions تغییر بده:
# Beforefrom claude_code_sdk import query, ClaudeCodeOptions
options = ClaudeCodeOptions(model="claude-opus-4-7")
# Afterfrom claude_agent_sdk import query, ClaudeAgentOptions
options = ClaudeAgentOptions(model="claude-opus-4-7")۵. تغییراتِ ناسازگار (breaking changes) را مرور کن
هر تغییرِ کدی که برای تکمیلِ مهاجرت لازم است انجام بده.
تغییراتِ ناسازگار (Breaking changes)
Section titled “تغییراتِ ناسازگار (Breaking changes)”Python: تغییرِ نامِ ClaudeCodeOptions به ClaudeAgentOptions
Section titled “Python: تغییرِ نامِ ClaudeCodeOptions به ClaudeAgentOptions”چه چیزی عوض شد: typeِ ClaudeCodeOptions در Python SDK به ClaudeAgentOptions تغییرِ نام داده است.
مهاجرت:
# BEFORE (claude-code-sdk)from claude_code_sdk import query, ClaudeCodeOptions
options = ClaudeCodeOptions(model="claude-opus-4-7", permission_mode="acceptEdits")
# AFTER (claude-agent-sdk)from claude_agent_sdk import query, ClaudeAgentOptions
options = ClaudeAgentOptions(model="claude-opus-4-7", permission_mode="acceptEdits")چرا این عوض شد: نامِ type اکنون با برندِ «Claude Agent SDK» جور درمیآید و سازگاری را در سراسرِ قراردادهای نامگذاریِ SDK فراهم میکند.
system prompt دیگر پیشفرض نیست
Section titled “system prompt دیگر پیشفرض نیست”چه چیزی عوض شد: SDK دیگر بهصورتِ پیشفرض از system promptِ Claude Code استفاده نمیکند.
مهاجرت:
import { query } from "@anthropic-ai/claude-agent-sdk";
// BEFORE (v0.0.x) - Used Claude Code's system prompt by defaultconst before = query({ prompt: "Hello" });
// AFTER (v0.1.0) - Uses minimal system prompt by default// To get the old behavior, explicitly request Claude Code's preset:const presetResult = query({ prompt: "Hello", options: { systemPrompt: { type: "preset", preset: "claude_code" } }});
// Or use a custom system prompt:const customResult = query({ prompt: "Hello", options: { systemPrompt: "You are a helpful coding assistant" }});# BEFORE (v0.0.x) - Used Claude Code's system prompt by defaultasync for message in query(prompt="Hello"): print(message)
# AFTER (v0.1.0) - Uses minimal system prompt by default# To get the old behavior, explicitly request Claude Code's preset:from claude_agent_sdk import query, ClaudeAgentOptions
async for message in query( prompt="Hello", options=ClaudeAgentOptions( system_prompt={"type": "preset", "preset": "claude_code"} # Use the preset ),): print(message)
# Or use a custom system prompt:async for message in query( prompt="Hello", options=ClaudeAgentOptions(system_prompt="You are a helpful coding assistant"),): print(message)چرا این عوض شد: کنترل و جداسازیِ بهتری برای برنامههای SDK فراهم میکند. اکنون میتوانی ایجنتهایی با رفتارِ سفارشی بسازی بدونِ اینکه دستورالعملهای CLI-محورِ Claude Code را به ارث ببری.
پیشفرضِ Settings sources
Section titled “پیشفرضِ Settings sources”این پیشفرض بهطورِ مختصر در v0.1.0 عوض شد و سپس بازگردانده شد، پس هیچ اقدامِ مهاجرتی لازم نیست.
رفتارِ کنونی: حذفِ settingSources روی query() تنظیماتِ فایلسیستمیِ user، project و local را بارگذاری میکند، مطابقِ CLI. این شاملِ ~/.claude/settings.json، .claude/settings.json، .claude/settings.local.json، فایلهای CLAUDE.md و دستورهای سفارشی است.
برای اجرای جداشده از تنظیماتِ فایلسیستم، یک آرایهی خالی پاس بده:
import { query } from "@anthropic-ai/claude-agent-sdk";
const isolatedResult = query({ prompt: "Hello", options: { settingSources: [] // No filesystem settings loaded }});
// Or load only specific sources:const projectOnlyResult = query({ prompt: "Hello", options: { settingSources: ["project"] // Only project settings }});from claude_agent_sdk import query, ClaudeAgentOptions
async for message in query( prompt="Hello", options=ClaudeAgentOptions(setting_sources=[]), # No filesystem settings loaded): print(message)
# Or load only specific sources:async for message in query( prompt="Hello", options=ClaudeAgentOptions( setting_sources=["project"] # Only project settings ),): print(message)جداسازی بهویژه برای pipelineهای CI/CD، برنامههای مستقرشده، محیطهای آزمایش و سیستمهای چندتننتی اهمیت دارد، جایی که سفارشیسازیهای محلی نباید نشت کنند.
چرا تغییرِ نام؟
Section titled “چرا تغییرِ نام؟”Claude Code SDK ابتدا برای کارهای کدنویسی طراحی شده بود، اما به یک framework قدرتمند برای ساختنِ همهنوع ایجنتِ AI تکامل یافته است. نامِ جدید «Claude Agent SDK» قابلیتهای آن را بهتر بازتاب میدهد:
- ساختنِ ایجنتهای کسبوکار (دستیارهای حقوقی، مشاوران مالی، پشتیبانیِ مشتری)
- خلقِ ایجنتهای کدنویسیِ تخصصی (باتِ SRE، بازبینهای امنیتی، ایجنتهای code review)
- توسعهی ایجنتهای سفارشی برای هر حوزه با tool use، یکپارچگیِ MCP و بیشتر
دریافتِ کمک
Section titled “دریافتِ کمک”اگر در حینِ مهاجرت با مشکلی برخوردی:
برای TypeScript/JavaScript:
- بررسی کن همهی importها به استفاده از
@anthropic-ai/claude-agent-sdkبهروز شدهاند - تأیید کن package.jsonِ تو نامِ پکیجِ جدید را دارد
- برای اطمینان از بهروزشدنِ وابستگیها
npm installرا اجرا کن
برای Python:
- بررسی کن همهی importها به استفاده از
claude_agent_sdkبهروز شدهاند - تأیید کن requirements.txt یا pyproject.tomlِ تو نامِ پکیجِ جدید را دارد
- برای اطمینان از نصبِ پکیج
pip install claude-agent-sdkرا اجرا کن
گامهای بعدی
Section titled “گامهای بعدی”- مرورِ کلیِ Agent SDK را کاوش کن تا با قابلیتهای در دسترس آشنا شوی
- مرجعِ TypeScript SDK را برای مستنداتِ تفصیلیِ API ببین
- مرجعِ Python SDK را برای مستنداتِ مخصوصِ Python مرور کن
- دربارهی ابزارهای سفارشی و یکپارچگیِ MCP بیاموز