رفتن به محتوا

مرورِ کلیِ Agent SDK

ساخت ایجنت‌های هوش‌مصنوعیِ آماده‌ی محصول، با Claude Code به‌عنوان یک کتابخانه

ایجنت‌های هوش‌مصنوعی بساز که خودمختار فایل‌ها را می‌خوانند، دستورها را اجرا می‌کنند، در وب جست‌وجو می‌کنند، کد را ویرایش می‌کنند و خیلی کارهای دیگر. Agent SDK همان ابزارها، حلقه‌ی ایجنت و مدیریت کانتکستی را که Claude Code را پیش می‌برند در اختیارت می‌گذارد، قابل‌برنامه‌نویسی در Python و TypeScript.

import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions
async def main():
async for message in query(
prompt="Find and fix the bug in auth.py",
options=ClaudeAgentOptions(allowed_tools=["Read", "Edit", "Bash"]),
):
print(message) # Claude reads the file, finds the bug, edits it
asyncio.run(main())
import { query } from "@anthropic-ai/claude-agent-sdk";
for await (const message of query({
prompt: "Find and fix the bug in auth.ts",
options: { allowedTools: ["Read", "Edit", "Bash"] }
})) {
console.log(message); // Claude reads the file, finds the bug, edits it
}

Agent SDK ابزارهای داخلیِ آماده‌ای برای خواندن فایل‌ها، اجرای دستورها و ویرایش کد دارد، پس ایجنت تو می‌تواند بی‌درنگ کار را شروع کند، بی‌آنکه مجبور باشی اجرای ابزار را خودت پیاده‌سازی کنی. سری به شروعِ سریع بزن یا ایجنت‌های واقعیِ ساخته‌شده با SDK را کاوش کن:

شروعِ سریع

یک ایجنتِ رفع‌باگ را در چند دقیقه بساز

ایجنت‌های نمونه

دستیار ایمیل، ایجنت پژوهش و بیشتر

نصب SDK

Terminal window
npm install @anthropic-ai/claude-agent-sdk

کلید API را تنظیم کن

یک کلید API از Console بگیر، سپس آن را به‌عنوان یک متغیر محیطی تنظیم کن:

Terminal window
export ANTHROPIC_API_KEY=your-api-key

SDK احراز هویت از طریق ارائه‌دهنده‌های API شخصِ ثالث را هم پشتیبانی می‌کند:

  • Amazon Bedrock: متغیر محیطی CLAUDE_CODE_USE_BEDROCK=1 را تنظیم کن و اعتبارنامه‌های AWS را پیکربندی کن
  • Claude Platform on AWS: CLAUDE_CODE_USE_ANTHROPIC_AWS=1 و ANTHROPIC_AWS_WORKSPACE_ID را تنظیم کن، سپس اعتبارنامه‌های AWS را پیکربندی کن
  • Google Vertex AI: متغیر محیطی CLAUDE_CODE_USE_VERTEX=1 را تنظیم کن و اعتبارنامه‌های Google Cloud را پیکربندی کن
  • Microsoft Azure: متغیر محیطی CLAUDE_CODE_USE_FOUNDRY=1 را تنظیم کن و اعتبارنامه‌های Azure را پیکربندی کن

برای جزئیات، راهنماهای راه‌اندازیِ Bedrock، Claude Platform on AWS، Vertex AI یا Azure AI Foundry را ببین.

اولین ایجنتت را اجرا کن

این مثال یک ایجنت می‌سازد که با استفاده از ابزارهای داخلی، فایل‌های دایرکتوریِ جاری‌ات را فهرست می‌کند.

import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions
async def main():
async for message in query(
prompt="What files are in this directory?",
options=ClaudeAgentOptions(allowed_tools=["Bash", "Glob"]),
):
if hasattr(message, "result"):
print(message.result)
asyncio.run(main())
import { query } from "@anthropic-ai/claude-agent-sdk";
for await (const message of query({
prompt: "What files are in this directory?",
options: { allowedTools: ["Bash", "Glob"] }
})) {
if ("result" in message) console.log(message.result);
}

آماده‌ی ساختنی؟ برای ساخت ایجنتی که در چند دقیقه باگ‌ها را پیدا و رفع می‌کند، شروعِ سریع را دنبال کن.

هر چیزی که Claude Code را قدرتمند می‌کند، در SDK هم در دسترس است:

ایجنت تو می‌تواند بدون هیچ تنظیم اضافی فایل‌ها را بخواند، دستورها را اجرا کند و کدبیس‌ها را جست‌وجو کند. ابزارهای کلیدی شامل این‌هاست:

ابزارچه می‌کند
Readخواندن هر فایلی در دایرکتوریِ کاری
Writeساخت فایل‌های جدید
Editاعمال ویرایش‌های دقیق روی فایل‌های موجود
Bashاجرای دستورهای ترمینال، اسکریپت‌ها، عملیات git
Monitorتماشای یک اسکریپتِ پس‌زمینه و واکنش به هر خط خروجی به‌عنوان یک رویداد
Globیافتن فایل‌ها بر اساس الگو (**/*.ts, src/**/*.py)
Grepجست‌وجوی محتوای فایل با regex
WebSearchجست‌وجوی وب برای اطلاعاتِ روز
WebFetchواکشی و تجزیه‌ی محتوای صفحه‌ی وب
AskUserQuestionپرسیدن سؤال‌های شفاف‌کننده از کاربر با گزینه‌های چندگزینه‌ای

این مثال یک ایجنت می‌سازد که کدبیست را برای کامنت‌های TODO جست‌وجو می‌کند:

import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions
async def main():
async for message in query(
prompt="Find all TODO comments and create a summary",
options=ClaudeAgentOptions(allowed_tools=["Read", "Glob", "Grep"]),
):
if hasattr(message, "result"):
print(message.result)
asyncio.run(main())
import { query } from "@anthropic-ai/claude-agent-sdk";
for await (const message of query({
prompt: "Find all TODO comments and create a summary",
options: { allowedTools: ["Read", "Glob", "Grep"] }
})) {
if ("result" in message) console.log(message.result);
}

SDK پیکربندیِ مبتنی بر فایل‌سیستمِ Claude Code را هم پشتیبانی می‌کند. با گزینه‌های پیش‌فرض، SDK این‌ها را از پوشه‌ی .claude/ در دایرکتوریِ کاری‌ات و از ~/.claude/ بارگذاری می‌کند. برای محدودکردن منابعی که بارگذاری می‌شوند، در گزینه‌هایت setting_sources (در Python) یا settingSources (در TypeScript) را تنظیم کن.

قابلیتتوضیحمکان
Skillsقابلیت‌های تخصصی که Claude خودکار استفاده می‌کند یا تو با /name فراخوانی‌شان می‌کنی.claude/skills/*/SKILL.md
Commandsدستورهای سفارشی در قالب قدیمی. برای دستورهای سفارشیِ جدید از skills استفاده کن.claude/commands/*.md
Memoryکانتکست و دستورالعمل‌های پروژهCLAUDE.md یا .claude/CLAUDE.md
Pluginsگسترش با skills، agents، hooks و سرورهای MCPبرنامه‌ای، از طریق گزینه‌ی plugins

مقایسه‌ی Agent SDK با دیگر ابزارهای Claude

Section titled “مقایسه‌ی Agent SDK با دیگر ابزارهای Claude”

Claude Platform چند راهِ مختلف برای ساختن با Claude پیش روی تو می‌گذارد. جایگاه Agent SDK در میان آن‌ها این‌گونه است:

Anthropic Client SDK دسترسیِ مستقیم به API می‌دهد: تو پرامپت می‌فرستی و اجرای ابزار را خودت پیاده‌سازی می‌کنی. Agent SDK به تو Claude را همراه با اجرای داخلیِ ابزار می‌دهد.

با Client SDK، تو یک حلقه‌ی ابزار را پیاده‌سازی می‌کنی. با Agent SDK، Claude خودش از پسش برمی‌آید:

# Client SDK: You implement the tool loop
response = client.messages.create(...)
while response.stop_reason == "tool_use":
result = your_tool_executor(response.tool_use)
response = client.messages.create(tool_result=result, **params)
# Agent SDK: Claude handles tools autonomously
async for message in query(prompt="Fix the bug in auth.py"):
print(message)
// Client SDK: You implement the tool loop
let response = await client.messages.create({ ...params });
while (response.stop_reason === "tool_use") {
const result = yourToolExecutor(response.tool_use);
response = await client.messages.create({ tool_result: result, ...params });
}
// Agent SDK: Claude handles tools autonomously
for await (const message of query({ prompt: "Fix the bug in auth.ts" })) {
console.log(message);
}

برای دیدن changelogِ کامل به‌همراه به‌روزرسانی‌های SDK، رفع‌باگ‌ها و قابلیت‌های جدید:

اگر با باگ یا مشکلی در Agent SDK روبه‌رو شدی:

برای شرکای یکپارچه‌کننده‌ی Claude Agent SDK، استفاده از برندِ Claude اختیاری است. هنگام ارجاع به Claude در محصولت:

مجاز:

  • «Claude Agent» (ترجیحی برای منوهای کشویی)
  • «Claude» (وقتی درون منویی هستی که از پیش با برچسب «Agents» نام‌گذاری شده)
  • «{YourAgentName} Powered by Claude» (اگر نامِ ایجنتِ موجودی داری)

مجاز نیست:

  • «Claude Code» یا «Claude Code Agent»
  • هنرِ ASCII با برندِ Claude Code یا عناصر بصری‌ای که Claude Code را تقلید کنند

محصول تو باید برندینگ خودش را حفظ کند و نباید چنان به نظر برسد که انگار Claude Code یا هر محصول دیگری از Anthropic است. برای پرسش درباره‌ی پایبندی به برندینگ، با تیم فروش‌ِ Anthropic تماس بگیر.

استفاده از Claude Agent SDK تابع شرایط تجاریِ خدماتِ Anthropic است، از جمله هنگامی که از آن برای پیش‌بردنِ محصولات و خدماتی استفاده می‌کنی که در اختیار مشتریان و کاربران نهاییِ خودت می‌گذاری، مگر تا حدی که یک مؤلفه یا وابستگیِ خاص تحت مجوز دیگری باشد، آن‌گونه که در فایل LICENSE آن مؤلفه ذکر شده است.

شروعِ سریع

ایجنتی بساز که در چند دقیقه باگ‌ها را پیدا و رفع می‌کند

ایجنت‌های نمونه

دستیار ایمیل، ایجنت پژوهش و بیشتر

TypeScript SDK

مرجع کامل API و مثال‌های TypeScript

Python SDK

مرجع کامل API و مثال‌های Python