1 poin oleh GN⁺ 2025-05-20 | 1 komentar | Bagikan ke WhatsApp
  • Claude Code SDK menyediakan kemampuan untuk mengintegrasikan alat coding berbasis AI ke dalam aplikasi
  • Pengembang dapat menjalankan Claude Code dalam bentuk subprocess, dengan dukungan yang diprioritaskan untuk penggunaan command line
  • Termasuk fitur manajemen konteks percakapan interaktif, penentuan system prompt kustom, dan integrasi alat eksternal (MCP)
  • Mendukung beragam format output (teks, JSON, streaming JSON) serta pemanfaatan opsi CLI yang detail
  • Sebagai contoh penggunaan nyata, SDK ini menunjukkan kemungkinan integrasi ke workflow pengembangan nyata seperti code review otomatis dan pembuatan PR melalui GitHub Actions

Pengenalan

Claude Code SDK adalah alat pengembangan open-source yang memungkinkan fitur Claude Code diintegrasikan langsung ke aplikasi secara terprogram. SDK ini menjalankan Claude Code sebagai proses terpisah, sehingga memberi fleksibilitas untuk diterapkan pada berbagai workflow pengembangan seperti asisten kode berbasis AI, alat otomasi, dan sistem code review.

Saat ini SDK mendukung antarmuka berbasis command line (CLI), dan SDK untuk TypeScript serta Python akan segera dirilis.

Penggunaan SDK dasar

Claude Code SDK mendukung eksekusi non-interaktif. Misalnya, dari dalam kode program, Claude Code dapat dipanggil dengan argumen command line untuk secara otomatis memperoleh output yang diinginkan.

Penggunaan lanjutan

Melanjutkan sesi percakapan multi-turn

  • Saat melakukan percakapan dalam beberapa putaran, tersedia fitur untuk mempertahankan konteks percakapan dan melanjutkannya dengan memanfaatkan sesi sebelumnya atau session ID tertentu
  • Pengembang dapat melanjutkan percakapan dari sesi terbaru atau memuat sesi tertentu

System prompt kustom

  • Cara kerja default Claude dapat disesuaikan melalui system prompt kustom buatan pengembang
  • Dengan menambahkan instruksi tambahan ke system prompt bawaan, orientasi tugas dan cakupan perilaku assistant dapat diubah

Konfigurasi MCP (Model Context Protocol)

  • MCP adalah protokol integrasi server eksternal untuk memperluas kemampuan Claude Code
  • Melalui flag --mcp-config dan file konfigurasi JSON, dapat ditambahkan akses database, integrasi API, dan alat kustom yang disediakan server eksternal
  • Saat menggunakan alat MCP, hanya alat yang diizinkan secara eksplisit yang boleh digunakan (flag --allowedTools), dan pola namanya berbentuk mcp__<serverName>__<toolName>

Opsi CLI yang tersedia

Claude Code SDK memungkinkan pengaturan lingkungan eksekusi menggunakan berbagai flag command line

  • --print, -p : menjalankan mode non-interaktif
  • --output-format : memilih format output (teks, JSON, stream JSON, dll.)
  • --resume, -r : melanjutkan percakapan dengan session ID tertentu
  • --continue, -c : melanjutkan sesi terbaru
  • --verbose : menampilkan log terperinci
  • --max-turns : membatasi jumlah maksimum putaran percakapan dalam mode non-interaktif
  • --system-prompt : override system prompt
  • --append-system-prompt : menambahkan instruksi ke system prompt
  • --allowedTools : menentukan daftar alat yang diizinkan (termasuk alat MCP)
  • --disallowedTools : menentukan daftar alat yang dilarang
  • --mcp-config : memuat file konfigurasi server MCP
  • --permission-prompt-tool : menentukan alat MCP untuk menangani permission prompt

Untuk seluruh opsi yang tersedia dan contoh penggunaan, silakan lihat dokumentasi CLI resmi.

Format output

SDK mendukung berbagai format output

Output teks (default)

  • Hanya mengembalikan teks respons

Output JSON

  • Mengembalikan metadata dan data terstruktur sehingga lebih mudah untuk parsing secara terprogram
  • Pesan respons API mengikuti struktur tipe yang ketat, dan ke depannya definisi tipe juga direncanakan tersedia dalam format JSON Schema

Output streaming JSON

  • Setiap pesan dikirim sebagai stream secara real-time
  • Saat sesi percakapan berlangsung, objek JSON terpisah dikirim berurutan berupa pesan inisialisasi (init), pesan pengguna/assistant, dan pesan result terakhir yang berisi statistik

Skema pesan

  • Pesan respons JSON API disusun mengikuti skema yang akurat
  • Pembaruan skema dan pengelolaan versi akan dilakukan secara berkala

Contoh

  • Integrasi skrip sederhana
  • Pemrosesan file dengan Claude
  • Dukungan alur percakapan kompleks melalui manajemen sesi

Best practice

  1. Gunakan parsing respons dengan format output JSON
  2. Penanganan error: periksa exit code dan error stream
  3. Manajemen sesi: pertahankan konteks percakapan multi-putaran
  4. Pertimbangkan timeout: amankan stabilitas untuk pekerjaan berdurasi panjang
  5. Atur jeda antar permintaan: cegah pemanggilan berlebihan dan jaga stabilitas layanan

Contoh penerapan nyata

Claude Code SDK menyediakan kemampuan otomasi dan integrasi yang kuat di lingkungan pengembangan kerja nyata

  • Sebagai contoh utama, dengan digabungkan ke GitHub Actions, workflow pengembangan seperti code review otomatis, pembuatan PR, klasifikasi issue, dan lain-lain dapat diotomatisasi sepenuhnya

1 komentar

 
GN⁺ 2025-05-20
Opini Hacker News
  • Saya ingin menekankan bahwa arah yang dikejar Claude Code adalah bentuk filosofi "unix toolish" dari alat coding berbasis agent yang selama ini saya inginkan. Saya sudah memakai Claude Code sejak masa public preview awal dan mengikuti perkembangannya. Menurut saya, "tolok ukur emas" untuk coding agent adalah tingkat di mana kita bisa memasukkan permintaan fitur, misalnya tiket Jira, lalu menerima PR untuk saya review dan beri masukan sendiri. Cursor, windsurf, dan sejenisnya punya keterbatasan karena merupakan editor lokal sehingga sulit diintegrasikan ke lingkungan CI. Jika ingin mengoptimalkan codebase untuk AI seperti dengan MCP, rules, dan sebagainya, saya ingin menekankan bahwa kita harus menargetkan teknologi yang juga bisa dipakai secara headless. Claude Code bisa dipakai dengan sederhana bersama alat otomasi, jadi sekarang ini menjadi baseline saya ketika memikirkan coding agent. Saya juga memandang paket npm Codex dengan cara yang mirip. Sebagai catatan, saya memang bekerja membantu menyiapkan konfigurasi alat yang optimal seperti ini, jadi wajar bila saya cenderung menyukai tool yang mudah dikonfigurasi

    • "End state emas" yang saya inginkan adalah berada di tengah ruangan, dikelilingi AI agent untuk menulis kode, mendesain, dan menguji. Saya berada di tengahnya dan hampir tidak perlu menyentuh keyboard, hanya memberi arah, standar estetika, dan panduan lewat percakapan. Saya menantikan masa depan seperti itu

    • Saya ingin menyebut bahwa Anthropic hari ini mengumumkan versi beta dari fitur yang mirip dengan ini. Saya ingin membagikan dokumen terkait. https://docs.anthropic.com/en/docs/claude-code/github-actions

    • "End state emas" untuk coding agent menurut saya adalah situasi di mana saya memakai coding agent open source gratis yang bisa dijalankan bebas di komputer saya, atau di mana pun yang saya mau. Sama seperti terasa tidak masuk akal membayangkan harus membayar setiap kali menjalankan perintah seperti ls, ps, atau kill di terminal, saya merasa hal yang sama berlaku untuk LLM. Bukan berarti LLM proprietary harus "dilarang", tetapi saya berharap orang-orang yang disebut hacker di bidang ini menjadikan tool open source sebagai alat utama mereka

    • Anda menyoroti bahwa Cursor, windsurf, dan sejenisnya sulit dipakai di CI karena merupakan editor lokal, tetapi saya sudah mencoba ini dengan kombinasi Cursor dan MCP. Saya berhasil memakainya sepanjang hari, tetapi kemudian terkena rate limit dan pengalaman saya berubah menjadi model yang paling lambat dan paling bodoh. Saya juga mencobanya dengan Claude, tetapi tidak butuh waktu lama sampai kuotanya habis. Selain itu, hanya sekitar 25% PR yang benar-benar "siap pakai" dan sering kali lebih cepat mengerjakan sendiri daripada mencari tahu di mana AI membuat kesalahan

    • Bukankah otomatisasi berbasis CI seperti itu sebenarnya sudah bisa dilakukan? Jika Aider CLI didaftarkan sebagai GitHub Action agar berjalan otomatis saat issue dibuat, struktur seperti itu pada dasarnya sudah bisa diwujudkan

  • Claude Code adalah cara yang paling saya sukai untuk memanfaatkan LLM dalam coding. Tetapi yang benar-benar dibutuhkan adalah versi open source dari Claude Code. Kita butuh lingkungan tempat kita bisa menerapkan model yang kita inginkan dan membandingkan jawaban dari model yang berbeda secara langsung. Saya merasa alternatif lain seperti Aider belum memberi pengalaman setara Claude Code. Bisa diduga Anthropic tidak menginginkan pendekatan seperti ini, karena moat mereka jadi melemah. Tetapi dari sudut pandang konsumen, saya ingin memakai model terbaik dan tidak ingin terikat pada satu ekosistem. Saya menduga inilah ketakutan terbesar dari sudut pandang penyedia LLM

    • OpenAI codex adalah open source yang paling mendekati apa yang Anda maksud. Anda bisa memakai model dari provider mana pun yang diinginkan. Saat ini memang masih kalah dari Claude Code, tetapi saya rasa akan segera menyusul. https://github.com/openai/codex/tree/main

    • Anda bisa memakai Claude Code sebagai server MCP untuk membangun lingkungan yang kurang lebih seperti yang Anda inginkan

  • Aider sudah mendukung Python dan shell scripting sejak cukup lama. Baru-baru ini mereka juga membuat screencast yang memasukkan ad-hoc bash scripting aide sebagai bagian dari penambahan dukungan untuk 130 bahasa pemrograman baru. Anda akan bisa merasakan sendiri betapa kuatnya pendekatan bergaya scripting ini. https://aider.chat/docs/scripting.html, https://aider.chat/docs/recordings/tree-sitter-language-pack.html

    • Saya sangat suka Aider. Dukungan MCP juga akan segera hadir dan sedang diuji di branch pengembangan. Jika ini berhasil, end-to-end development nyata untuk PR, tiket, dan sebagainya hanya dengan model yang kita percaya akan benar-benar memungkinkan

    • Saya penasaran apakah Aider bisa dibawa ke tingkat yang membuat orang bisa menyukainya sebesar Claude Code. Saya suka UX Claude Code, tetapi saya lebih memilih Gemini 2.5 Pro sehingga tidak memakai Claude Code. Daya tariknya bagi saya bukan fitur seperti commit, melainkan UX-nya yang bagus. Saya ingin mendengar pendapat tentang ini

    • Saya pikir Aider bisa tumbuh sangat besar jika workflow integrasi GitHub Actions dibuat lebih polished. Cukup tambahkan satu file ke repo, lalu kita bisa berbicara dengan model yang diinginkan lewat issue

  • Saya ingin membagikan konteks tambahan yang dijelaskan langsung oleh tim Claude Code. http://latent.space/p/claude-code Ringkasan poin pentingnya: karyawan Anthropic dengan Claude tak terbatas rata-rata memakai sekitar 6 dolar per hari. Claude Code headless yang mirip utilitas "linux" untuk CI sangat menarik. Ada juga arah menuju platform pengguna yang dapat diperluas. Roadmap ke depan mencakup sandboxing, branching, dan fitur planning. Juga akan ada model agentic berkelanjutan bernama sonnet 3.7

    • Anda mengatakan "karyawan Anthropic rata-rata memakai Claude tak terbatas senilai $6 per hari", tetapi di artikel itu juga disebut ada engineer yang menghabiskan $1.000 dalam sehari. Saya jadi lebih penasaran dengan distribusi seperti P50, P75, dan P95 daripada rata-ratanya

    • Saya sudah beberapa kali mengalami biaya Claude Code melonjak melewati 20 dolar hanya dalam sekitar 2 jam pemakaian. Untuk proyek pribadi, ini terlalu mahal sehingga praktis tidak bisa saya pakai

    • Saya sangat menikmati podcast latent space baru-baru ini. Sangat jarang ada orang atau podcast yang bisa terus menghasilkan konten publik dengan produktivitas setinggi ini sambil menjaga SNR tetap tinggi. Sangat mengesankan bahwa mereka bisa mempertahankan keluaran publik sebesar ini sambil menjalankan beberapa bisnis sekaligus. Saya merasa akan bagus jika lebih banyak orang bisa mengalami gradient produktivitas seperti ini. Mereka memang membagikan rahasianya, tetapi jelas tidak mudah untuk benar-benar menirunya

  • Jika saya membuat AI code assistant, saya tidak akan pernah membuatnya bergantung pada provider foundation model tertentu. Strategi itu hanya masuk akal jika efektivitas model sudah hampir mencapai puncaknya, performa semuanya kurang lebih sama, dan yang tersisa hanya perbedaan kecil setingkat SDK yang sudah familiar

    • Saya rasa lock-in sebenarnya tidak terlalu parah karena yang berbeda hanya perintah dan argumennya. Pada akhirnya ini hanya fungsi input-output, jadi kita cukup mengganti atau membungkus bagian yang diperlukan. Secara struktural tidak ada yang terlalu rumit

    • Pada titik saat ini, menurut saya Claude Code memang menjadi pembeda di pasar agent-based coding. Saya sedang mengembangkan AI code assistant sendiri, dan integrasi Claude Code adalah hal pertama yang ingin saya coba. Saya merasa ini belum saatnya terlalu mengkhawatirkan lock-in di tahap awal. Pilih yang terbaik dulu lalu mulai membangun di atasnya

  • Saya ingin menekankan bahwa Claude Code sebenarnya sudah bisa dipakai dalam mode non-interactive, sehingga mudah diintegrasikan ke aplikasi lain seperti utilitas command line UNIX. SDK kali ini juga tampaknya hanya mendukung penggunaan via command line, jadi saya kurang paham apa bedanya secara mendasar dari yang sebelumnya. Saya penasaran apakah ada poin yang saya lewatkan

  • Mengutip ketentuan penggunaan Anthropic yang "melarang pengembangan, pelatihan, atau penjualan kembali produk atau layanan apa pun yang bersaing dengan kecerdasan umum". Jika hampir semua perangkat lunak bisa dianggap "bersaing" dengan kecerdasan umum, bukankah dengan tafsir ketat ini berarti tidak bisa dipakai untuk tujuan apa pun? Saya merasa bahasa hukum seperti ini terlalu kabur sehingga tidak bisa diterapkan. Katanya kita memiliki hasil keluaran AI tetapi tidak boleh bersaing dengan kecerdasan umum; saya jadi bertanya-tanya mengapa larangannya dibuat seluas itu. Apakah maksudnya tanggung jawab hukum sepenuhnya dibebankan ke pengguna? Banyak pertanyaan muncul

    • Inilah yang terjadi ketika pengacara menyusun aturan sesuka mereka
  • GitHub Action yang baru ditambahkan ini persis cocok dengan fitur yang saya cari, jadi saya sangat senang. https://docs.anthropic.com/en/docs/claude-code/github-action... Namun tampaknya saat ini belum ada cara untuk memakainya bersama Max plan Claude Code. Strukturnya hanya menerima api key, jadi agak disayangkan

  • Saya ingin menekankan bahwa integrasi GitHub Actions serta issue/PR inilah fitur yang selama ini saya inginkan. https://docs.anthropic.com/en/docs/claude-code/github-action...

  • Saya pasti akan mencobanya saat dukungan Claude hadir lewat copilot. Karena kebijakan perusahaan, saat ini saya belum bisa memakai tool lain di luar itu