Migrasi ke Claude Agent SDK
Panduan untuk migrasi Claude Code TypeScript dan Python SDKs ke Claude Agent SDK
Ringkasan
Claude Code SDK telah diubah namanya menjadi Claude Agent SDK dan dokumentasinya telah diorganisir ulang. Perubahan ini mencerminkan kemampuan SDK yang lebih luas untuk membangun agen AI di luar sekadar tugas pengkodean.
Apa yang Berubah
| Aspek | Lama | Baru |
|---|---|---|
| Nama Paket (TS/JS) | @anthropic-ai/claude-code |
@anthropic-ai/claude-agent-sdk |
| Paket Python | claude-code-sdk |
claude-agent-sdk |
| Lokasi Dokumentasi | Dokumentasi Claude Code | API Guide → Bagian Agent SDK |
Perubahan Dokumentasi: Dokumentasi Agent SDK telah dipindahkan dari dokumentasi Claude Code ke API Guide di bawah bagian Agent SDK yang didedikasikan. Dokumentasi Claude Code sekarang fokus pada alat CLI dan fitur otomasi.
Langkah-Langkah Migrasi
Untuk Proyek TypeScript/JavaScript
1. Uninstall paket lama:
npm uninstall @anthropic-ai/claude-code
2. Install paket baru:
npm install @anthropic-ai/claude-agent-sdk
3. Perbarui impor Anda:
Ubah semua impor dari @anthropic-ai/claude-code ke @anthropic-ai/claude-agent-sdk:
// Sebelumnya
import { query, tool, createSdkMcpServer } from "@anthropic-ai/claude-code";
// Sesudahnya
import { query, tool, createSdkMcpServer } from "@anthropic-ai/claude-agent-sdk";
4. Perbarui dependensi package.json:
Jika Anda memiliki paket yang terdaftar di package.json Anda, perbarui:
Sebelumnya:
{
"dependencies": {
"@anthropic-ai/claude-code": "^0.0.42"
}
}
Sesudahnya:
{
"dependencies": {
"@anthropic-ai/claude-agent-sdk": "^0.2.0"
}
}
5. Tinjau perubahan yang merusak
Buat perubahan kode apa pun yang diperlukan untuk menyelesaikan migrasi.
Untuk Proyek Python
1. Uninstall paket lama:
pip uninstall claude-code-sdk
2. Install paket baru:
pip install claude-agent-sdk
3. Perbarui impor Anda:
Ubah semua impor dari claude_code_sdk ke claude_agent_sdk:
# Sebelumnya
from claude_code_sdk import query, ClaudeCodeOptions
# Sesudahnya
from claude_agent_sdk import query, ClaudeAgentOptions
4. Perbarui nama tipe:
Ubah ClaudeCodeOptions menjadi ClaudeAgentOptions:
# Sebelumnya
from claude_code_sdk import query, ClaudeCodeOptions
options = ClaudeCodeOptions(model="claude-opus-4-7")
# Sesudahnya
from claude_agent_sdk import query, ClaudeAgentOptions
options = ClaudeAgentOptions(model="claude-opus-4-7")
5. Tinjau perubahan yang merusak
Buat perubahan kode apa pun yang diperlukan untuk menyelesaikan migrasi.
Perubahan yang merusak
Untuk meningkatkan isolasi dan konfigurasi eksplisit, Claude Agent SDK v0.1.0 memperkenalkan perubahan yang merusak bagi pengguna yang bermigrasi dari Claude Code SDK. Tinjau bagian ini dengan hati-hati sebelum bermigrasi.
Python: ClaudeCodeOptions diubah nama menjadi ClaudeAgentOptions
Apa yang berubah: Tipe Python SDK ClaudeCodeOptions telah diubah nama menjadi ClaudeAgentOptions.
Migrasi:
# SEBELUMNYA (claude-code-sdk)
from claude_code_sdk import query, ClaudeCodeOptions
options = ClaudeCodeOptions(model="claude-opus-4-7", permission_mode="acceptEdits")
# SESUDAHNYA (claude-agent-sdk)
from claude_agent_sdk import query, ClaudeAgentOptions
options = ClaudeAgentOptions(model="claude-opus-4-7", permission_mode="acceptEdits")
Mengapa ini berubah: Nama tipe sekarang cocok dengan branding "Claude Agent SDK" dan memberikan konsistensi di seluruh konvensi penamaan SDK.
Prompt sistem tidak lagi default
Apa yang berubah: SDK tidak lagi menggunakan prompt sistem Claude Code secara default.
Migrasi:
import { query } from "@anthropic-ai/claude-agent-sdk";
// SEBELUMNYA (v0.0.x) - Menggunakan prompt sistem Claude Code secara default
const before = query({ prompt: "Hello" });
// SESUDAHNYA (v0.1.0) - Menggunakan prompt sistem minimal secara default
// Untuk mendapatkan perilaku lama, secara eksplisit minta preset Claude Code:
const presetResult = query({
prompt: "Hello",
options: {
systemPrompt: { type: "preset", preset: "claude_code" }
}
});
// Atau gunakan prompt sistem kustom:
const customResult = query({
prompt: "Hello",
options: {
systemPrompt: "You are a helpful coding assistant"
}
});
# SEBELUMNYA (v0.0.x) - Menggunakan prompt sistem Claude Code secara default
async for message in query(prompt="Hello"):
print(message)
# SESUDAHNYA (v0.1.0) - Menggunakan prompt sistem minimal secara default
# Untuk mendapatkan perilaku lama, secara eksplisit minta preset Claude Code:
from claude_agent_sdk import query, ClaudeAgentOptions
async for message in query(
prompt="Hello",
options=ClaudeAgentOptions(
system_prompt={"type": "preset", "preset": "claude_code"} # Gunakan preset
),
):
print(message)
# Atau gunakan prompt sistem kustom:
async for message in query(
prompt="Hello",
options=ClaudeAgentOptions(system_prompt="You are a helpful coding assistant"),
):
print(message)
Mengapa ini berubah: Memberikan kontrol dan isolasi yang lebih baik untuk aplikasi SDK. Anda sekarang dapat membangun agen dengan perilaku kustom tanpa mewarisi instruksi yang berfokus pada CLI dari Claude Code.
Default sumber pengaturan
Default ini secara singkat diubah di v0.1.0 dan kemudian dikembalikan, jadi tidak ada tindakan migrasi yang diperlukan.
Perilaku saat ini: Menghilangkan settingSources pada query() memuat pengaturan pengguna, proyek, dan sistem file lokal, cocok dengan CLI. Ini termasuk ~/.claude/settings.json, .claude/settings.json, .claude/settings.local.json, file CLAUDE.md, dan perintah kustom.
Untuk menjalankan terisolasi dari pengaturan sistem file, teruskan array kosong:
import { query } from "@anthropic-ai/claude-agent-sdk";
const isolatedResult = query({
prompt: "Hello",
options: {
settingSources: [] // Tidak ada pengaturan sistem file yang dimuat
}
});
// Atau muat hanya sumber tertentu:
const projectOnlyResult = query({
prompt: "Hello",
options: {
settingSources: ["project"] // Hanya pengaturan proyek
}
});
from claude_agent_sdk import query, ClaudeAgentOptions
async for message in query(
prompt="Hello",
options=ClaudeAgentOptions(setting_sources=[]), # Tidak ada pengaturan sistem file yang dimuat
):
print(message)
# Atau muat hanya sumber tertentu:
async for message in query(
prompt="Hello",
options=ClaudeAgentOptions(
setting_sources=["project"] # Hanya pengaturan proyek
),
):
print(message)
Isolasi sangat penting untuk pipeline CI/CD, aplikasi yang diterapkan, lingkungan pengujian, dan sistem multi-tenant di mana kustomisasi lokal tidak boleh bocor.
SDK v0.1.0 secara singkat default ke tidak ada pengaturan yang dimuat; ini dikembalikan dalam rilis berikutnya. Python SDK 0.1.59 dan lebih awal memperlakukan daftar kosong sama dengan menghilangkan opsi, jadi upgrade sebelum mengandalkan setting_sources=[]. Lihat Apa yang settingSources tidak kontrol untuk input yang dibaca bahkan ketika settingSources adalah [].
Mengapa Pengubahan Nama?
Claude Code SDK awalnya dirancang untuk tugas pengkodean, tetapi telah berkembang menjadi kerangka kerja yang kuat untuk membangun semua jenis agen AI. Nama baru "Claude Agent SDK" lebih mencerminkan kemampuannya:
- Membangun agen bisnis (asisten hukum, penasihat keuangan, dukungan pelanggan)
- Membuat agen pengkodean khusus (bot SRE, pengulas keamanan, agen tinjauan kode)
- Mengembangkan agen kustom untuk domain apa pun dengan penggunaan alat, integrasi MCP, dan banyak lagi
Mendapatkan Bantuan
Jika Anda mengalami masalah apa pun selama migrasi:
Untuk TypeScript/JavaScript:
- Periksa bahwa semua impor diperbarui untuk menggunakan
@anthropic-ai/claude-agent-sdk - Verifikasi bahwa package.json Anda memiliki nama paket baru
- Jalankan
npm installuntuk memastikan dependensi diperbarui
Untuk Python:
- Periksa bahwa semua impor diperbarui untuk menggunakan
claude_agent_sdk - Verifikasi bahwa requirements.txt atau pyproject.toml Anda memiliki nama paket baru
- Jalankan
pip install claude-agent-sdkuntuk memastikan paket terinstal
Langkah Berikutnya
- Jelajahi Ringkasan Agent SDK untuk mempelajari fitur yang tersedia
- Lihat Referensi SDK TypeScript untuk dokumentasi API terperinci
- Tinjau Referensi SDK Python untuk dokumentasi khusus Python
- Pelajari tentang Custom Tools dan Integrasi MCP