Ini adalah seri 10 bagian yang menceritakan bagaimana Apidog mengembangkan Apidog CLI, sebuah alat baris perintah untuk pengujian API dan manajemen siklus hidup API. Bacalah secara berurutan atau lompat ke postingan mana pun yang menarik minat Anda:
| Judul | Fokus | |
|---|---|---|
| 1 | Kami Membuat 126 Alat MCP. Tapi Itu Bukan Solusi Terbaik untuk Agen | Penemuan masalah |
| 2 | Mengapa Kami Mengembangkan Apidog CLI yang Benar-benar Baru | Pengembangan arsitektur |
| 3 | Aturan Emas: CLI Menghasilkan Fakta, Model Bertindak Berdasarkan Fakta | Filosofi inti |
| 4 | agentHints: Mengajari CLI untuk Berbicara dengan Agen |
Output terstruktur |
| 5 | SKILL: Mengirim Pengalaman Operasional sebagai Kode | Pengalaman operasional |
| 6 | Angka Tidak Berbohong: 30% Lebih Sedikit Panggilan Alat, 25% Lebih Sedikit Token | Hasil kuantitatif |
| 7 | Dari PRD hingga Lingkaran Pengujian: Alur Kerja Agen Lengkap dengan Apidog CLI | Tutorial praktis |
| 8 | Mengapa Kompatibilitas CI/CD Tidak Dapat Dinegosiasikan untuk Alat Agen | Perspektif DevOps |
| 9 | Cabang AI: Perubahan Proyek yang Lebih Aman dengan Agen AI | Lapisan keamanan |
| 10 | Spec-First Adalah Kemarin. Selamat Datang di Skill-First. | Visi & masa depan |
Ketika Agen memodifikasi sumber daya proyek, keamanan dan kemampuan tinjauan menjadi penting. Cabang AI menyediakan lingkungan pengeditan yang terisolasi—perubahan masuk ke cabang target hanya setelah konfirmasi manusia.
Tantangan Keamanan
Ketika Agen AI berpartisipasi dalam pengembangan dan pengujian API, mereka dapat membuat, memperbarui, dan menghapus sumber daya proyek melalui perintah CLI.
Kekuatan ini datang dengan risiko.
| Risiko | Apa yang Bisa Terjadi |
|---|---|
| Output yang tidak terduga | Agen menulis konten yang tidak diharapkan |
| Kesalahan bidang | Asersi salah, parameter hilang |
| Pergeseran cakupan | Agen memodifikasi sumber daya di luar tugas |
| Tidak ada jejak tinjauan | Perubahan muncul langsung di cabang utama |
| Gangguan tim | Cabang kolaborasi bersama tiba-tiba berubah |
Bagaimana Anda membiarkan Agen bekerja pada proyek nyata tanpa mempertaruhkan cabang utama?
Cabang AI: Lapisan Keamanan
Cabang AI adalah jenis khusus dari Cabang Sprint yang dirancang khusus untuk operasi AI dan CLI eksternal.

Konsep utama:
Semua operasi pengeditan yang dimulai dari Apidog CLI diperlakukan sebagai diinisiasi oleh AI / Agen AI secara default.
Cabang AI menyediakan Agen AI dengan cabang pengeditan yang terisolasi. Perubahan tetap berada di Cabang AI sampai manusia meninjau dan menggabungkannya.
Agen membuat perubahan via CLI
↓
Perubahan disimpan di Cabang AI (terisolasi)
↓
Pengguna meninjau perbedaan
↓
Pengguna mengonfirmasi cakupan sumber daya
↓
Gabungkan ke cabang target (langsung atau permintaan gabungan)Cabang utama tetap tidak tersentuh sampai Anda menyetujuinya.
Mengapa Cabang AI Dibutuhkan
Pengeditan yang diinisiasi oleh AI bisa tidak terduga. Apidog CLI menyediakan berbagai kemampuan pengeditan—titik akhir, skema, skenario pengujian, suite pengujian, dan lainnya.
Cabang AI dirancang untuk operasi pengeditan yang diinisiasi AI dengan risiko lebih tinggi ini.
Ini memungkinkan Agen AI untuk mengedit sumber daya proyek dalam cakupan yang terkontrol:
| Tanpa Cabang AI | Dengan Cabang AI |
|---|---|
| Agen menulis langsung ke utama | Agen menulis ke cabang terisolasi |
| Perubahan muncul segera | Perubahan menunggu tinjauan |
| Tidak ada jaring pengaman | Konfirmasi manusia diperlukan |
| Risiko modifikasi yang tidak disengaja | Cakupan terbatas pada sumber daya tertentu |
Apa Itu Cabang AI?
Cabang AI adalah cabang sprint khusus dengan karakteristik spesifik:
Karakteristik Utama
| Karakteristik | Deskripsi |
|---|---|
| Pengeditan terisolasi | Perubahan disimpan di Cabang AI, tidak memengaruhi cabang utama atau sumber |
| Sumber jelas | Tidak dapat dibuat di klien—harus berasal dari CLI/MCP; mencatat cabang sumber |
| Konfirmasi manusia | Perubahan harus dikonfirmasi sebelum digabungkan |
| Tidak ada batas kuantitas | Buat Cabang AI sebanyak yang dibutuhkan untuk berbagai tugas |
| Pengarsipan otomatis | Cabang tanpa perbedaan diarsipkan setiap 24 jam |
Cara Kerjanya
| Operasi | Di Mana Terjadi |
|---|---|
| AI membuat titik akhir | Di Cabang AI |
| AI memperbarui skenario pengujian | Di Cabang AI |
| Tim meninjau perubahan | Di pratinjau klien atau CLI |
| Pengguna menyetujui penggabungan | Tindakan pengguna, bukan AI |
| Perubahan masuk ke cabang target | Setelah konfirmasi |
Pengeditan normal di klien oleh pengguna masih mengikuti izin anggota proyek dan aturan perlindungan cabang.
Kasus Penggunaan
Cabang AI cocok ketika AI perlu berpartisipasi dalam pemeliharaan proyek sambil mempertahankan isolasi cabang dan konfirmasi manusia.
| Skenario | Bagaimana Cabang AI Membantu |
|---|---|
| Hasilkan draf API dari kode | AI membuat titik akhir di Cabang AI; pengguna mengonfirmasi sebelum menggabungkan |
| Atur sumber daya API secara massal | AI menyesuaikan folder, deskripsi, model tanpa memengaruhi cabang kolaborasi |
| Hasilkan draf pengujian otomatis | AI membuat skenario/kasus pengujian di Cabang AI untuk tinjauan penguji |
| Isi celah dalam dokumentasi API | AI melengkapi bidang yang hilang berdasarkan laporan bug atau implementasi |
| Penulisan massal di CI/CD | Alur kerja otomatis menulis ke Cabang AI, menunggu penggabungan pengguna |
Alur Kerja Dasar
Alur kerja Cabang AI yang khas:
┌─────────────────────────────────────────────────────────────────┐
│ ALUR KERJA CABANG AI │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Langkah 1: Buat Cabang AI │
│ ┌───────────────────────────────────────────┐ │
│ │ apidog branch create --type ai │ │
│ │ --name "ai/20260312-from-main-feature" │ │
│ │ --from main │ │
│ └───────────────────────────────────────────┘ │
│ ↓ │
│ Langkah 2: Impor atau Buat Sumber Daya │
│ ┌───────────────────────────────────────────┐ │
│ │ apidog branch pick-to (impor yang sudah ada) │ │
│ │ ATAU │ │
│ │ apidog endpoint create (buat yang baru) │ │
│ └───────────────────────────────────────────┘ │
│ ↓ │
│ Langkah 3: AI Memodifikasi Sumber Daya │
│ ┌───────────────────────────────────────────┐ │
│ │ Agen menggunakan CLI untuk memperbarui titik akhir,│ │
│ │ skema, skenario pengujian, dll. │ │
│ │ (--parameter --branch menentukan Cabang AI) │ │
│ └───────────────────────────────────────────┘ │
│ ↓ │
│ Langkah 4: Pengguna Meninjau Perbedaan │
│ ┌───────────────────────────────────────────┐ │
│ │ apidog merge-request preview │ │
│ │ ATAU │ │
│ │ Lihat di klien Apidog │ │
│ └───────────────────────────────────────────┘ │
│ ↓ │
│ Langkah 5: Gabungkan ke Cabang Target │
│ ┌───────────────────────────────────────────┐ │
│ │ Penggabungan langsung (cabang tidak terlindungi)│ │
│ │ ATAU │ │
│ │ Permintaan penggabungan (cabang terlindungi) │ │
│ └───────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘Buat Cabang AI
Gunakan branch create --type ai:
apidog branch create \
--project 123456 \
--type ai \
--name "ai/20260312-from-main-userRegister" \
--from mainRekomendasi penamaan: ai/YYYYMMDD-from-sourceBranch-featureOrModule
| Perintah | Tujuan |
|---|---|
branch create --type ai |
Buat Cabang AI |
branch list --type ai |
Lihat Cabang AI di proyek |
branch list --type all |
Lihat semua jenis cabang |
branch get --type ai |
Lihat detail Cabang AI |
Edit Sumber Daya di Cabang AI
Ketika CLI menulis sumber daya proyek, gunakan parameter --branch untuk menulis ke Cabang AI:
| Sumber Daya | Contoh Perintah |
|---|---|
| Titik akhir HTTP | apidog endpoint create --project <id> --branch <aiBranchName> --file ./endpoint.json |
| Model data | apidog schema update <schemaId> --project <id> --branch <aiBranchName> --file ./schema.json |
| Skenario pengujian | apidog test-scenario update <scenarioId> --project <id> --branch <aiBranchName> --file ./scenario.json |
| Suite pengujian | apidog test-suite create --project <id> --branch <aiBranchName> --file ./suite.json |
Alur kerja yang direkomendasikan:
# 1. Dapatkan skema
apidog cli-schema get endpoint-create
# 2. Validasi sebelum menulis
apidog cli-schema validate endpoint-create --file ./endpoint.json
# 3. Tulis ke Cabang AI (bukan utama)
apidog endpoint create \
--project 123456 \
--branch "ai/20260312-from-main-userRegister" \
--file ./endpoint.jsonImpor Sumber Daya yang Ada
Untuk memodifikasi sumber daya yang ada, impor terlebih dahulu dari cabang sumber:
apidog branch pick-to \
--project 123456 \
--from main \
--to "ai/20260312-from-main-userRegister" \
--endpoint-ids 1001,1002Ini memastikan AI bekerja dengan versi dasar yang benar.
Tinjau Perubahan Sebelum Menggabungkan
Sebelum menggabungkan, pratinjau perbedaannya:
apidog merge-request preview \
--project 123456 \
--from "ai/20260312-from-main-userRegister" \
--to mainAtau lihat perbedaan lengkap di klien Apidog.
| Perintah | Tujuan |
|---|---|
merge-request preview |
Pindai perubahan kandidat |
branch get --type ai |
Lihat info Cabang AI |
Gabungkan Cabang AI
Setelah ditinjau, gabungkan perubahan:
Penggabungan Langsung (Cabang Tidak Terlindungi)
apidog branch merge \
--project 123456 \
--from "ai/20260312-from-main-userRegister" \
--to main \
--endpoint-ids 1001,1002Permintaan Penggabungan (Cabang Terlindungi)
apidog merge-request create \
--project 123456 \
--from "ai/20260312-from-main-userRegister" \
--to main \
--reviewer-ids 20001,20002 \
--endpoint-ids 1001,1002
| Perintah | Tujuan |
|---|---|
branch merge |
Penggabungan langsung ke cabang yang tidak terlindungi |
merge-request create |
Buat permintaan penggabungan untuk tinjauan |
merge-request approve |
Setujui permintaan penggabungan |
merge-request reject |
Tolak permintaan penggabungan |
Penting: Perintah penggabungan hanya memproses daftar sumber daya yang disediakan secara eksplisit. Konfirmasikan dependensi (direktori, model, komponen respons, pengujian) sebelum menggabungkan.
Arsip dan Hapus
Setelah perubahan digabungkan atau tidak lagi diperlukan:
# Arsipkan
apidog branch archive "ai/20260312-from-main-userRegister" \
--project 123456 --type ai
# Hapus (setelah mengarsipkan)
apidog branch delete "ai/20260312-from-main-userRegister" \
--project 123456 --type aiIzin Edit AI Eksternal
Secara default, CLI menulis ke Cabang AI. Ini menjaga perubahan yang dihasilkan AI terisolasi sampai konfirmasi pengguna.
Untuk mengaktifkan pengeditan langsung cabang utama:
Pengaturan Proyek → Pengaturan Fitur → Pengaturan Fitur AI → Izin Edit AI Eksternal
| Izin | Apa yang Diizinkan |
|---|---|
| Edit langsung cabang utama | CLI langsung menulis ke utama (memintas Cabang AI) |
| Edit langsung cabang sprint standar | CLI langsung menulis ke cabang sprint |
| Edit langsung cabang umum | CLI langsung menulis ke cabang umum |
| Edit langsung Cabang AI | CLI menulis ke Cabang AI (biasanya tetap diaktifkan) |
Rekomendasi: Jaga isolasi Cabang AI tetap aktif. Aktifkan edit langsung hanya ketika alur kerja otomatisasi jelas membutuhkannya.
Praktik Terbaik
| Praktik | Mengapa |
|---|---|
| Satu Cabang AI per tugas | Cakupan jelas: API pendaftaran pengguna, dokumen modul pesanan, pengujian pembayaran |
| Impor sebelum mengedit | Gunakan pick-to untuk sumber daya yang ada—hindari kebingungan sumber |
| Validasi sebelum menulis | Gunakan cli-schema validate untuk menangkap kesalahan sebelum Cabang AI |
| Pratinjau sebelum menggabungkan | Gunakan merge-request preview atau tampilan perbedaan klien |
| Cakupan penggabungan eksplisit | Konfirmasi titik akhir, model, direktori, pengujian secara bersamaan |
| Pertahankan tinjauan manusia | Definisi API, skrip pengujian harus ditinjau sebelum digabungkan |
| Arsip dengan segera | Jaga daftar cabang tetap bersih setelah penggabungan atau pengabaian |
Cabang AI dalam Alur Kerja CLI + SKILL
Cabang AI terintegrasi secara alami dengan CLI + SKILL:
| Tahap | CLI + SKILL + Cabang AI |
|---|---|
| Baca | endpoint get dari cabang mana pun |
| Hasilkan | Agen membuat JSON |
| Validasi | cli-schema validate secara lokal |
| Tulis | endpoint create --branch <namaCabangAI> ke Cabang AI |
| Tinjau | merge-request preview |
| Gabungkan | Pengguna mengonfirmasi, lalu branch merge |
| Verifikasi | apidog run pada sumber daya yang digabungkan |
Setiap penulisan melewati Cabang AI → tinjauan manusia → penggabungan.
Ringkasan Keamanan
| Lapisan | Perlindungan |
|---|---|
cli-schema validate |
Menangkap kesalahan struktural sebelum menulis |
agentHints |
Mengarahkan Agen ke langkah-langkah aman berikutnya |
| Cabang AI | Mengisolasi perubahan dari cabang utama |
| Tinjauan manusia | Mengonfirmasi konten sebelum digabungkan |
| Cakupan penggabungan | Pengguna memilih sumber daya mana yang akan digabungkan |
Bersama-sama, lapisan-lapisan ini menciptakan siklus yang lebih aman untuk perubahan proyek yang digerakkan oleh Agen.
Apa Selanjutnya
Dengan Cabang AI yang menyediakan lapisan keamanan, semua bagian sudah tersedia:
- MCP untuk koneksi alat (Bagian 1)
- CLI + SKILL untuk eksekusi alur kerja (Bagian 2-5)
- Hasil validasi (Bagian 6)
- Alur kerja praktis (Bagian 7)
- Dasar CI/CD (Bagian 8)
- Cabang AI untuk keamanan (Bagian 9)
Sekarang saatnya untuk visi.
Pada Bagian 10, Spec-First Adalah Kemarin. Selamat Datang di Skill-First., kami akan menguraikan bagaimana pengembangan API berkembang dengan Agen AI—dan apa yang harus dilakukan tim selanjutnya.
Poin-Poin Penting
- Cabang AI menyediakan pengeditan terisolasi untuk operasi AI/CLI
- Perubahan tidak memengaruhi cabang utama sampai konfirmasi manusia
- Buat dengan
branch create --type ai, tulis dengan parameter--branch - Impor sumber daya yang ada dengan
branch pick-tosebelum mengedit - Pratinjau dengan
merge-request preview, lalu gabungkan atau buat permintaan penggabungan - Izin edit langsung dapat memintas Cabang AI—gunakan dengan hati-hati
- Praktik terbaik: satu Cabang AI per tugas, validasi sebelum menulis, tinjau sebelum menggabungkan
Unduh Apidog untuk mendesain, membuat mock, menguji, dan mendokumentasikan API dalam satu ruang kerja. Pelajari lebih lanjut tentang Apidog CLI untuk pengujian API baris perintah, otomatisasi CI, dan alur kerja Agen AI.
