Sebuah perekam pita reel-to-reel mengalirkan pita kode bercahaya ke dalam laptop terbuka di bawah satu lampu rekaman merah.
Guides & Insights

Cara Merekam Sesi Claude Code, dan Setiap Agen Lain yang Tidak Mau Bekerja Sama: Panduan Lapangan Praktis

Penulis

Gideon Frost

Tanggal Terbit

Model terbaru · 20Lihat semua model
Benchmark: Artificial Analysis · diperbarui setiap hari
Kembali ke semua artikel

Ya: Anda dapat merekam sesi Claude Code hari ini, dan yang Anda dapatkan adalah semuanya (setiap giliran model, setiap panggilan alat, setiap file yang disentuh agen) dalam bentuk yang dapat Anda putar ulang. Itulah versi singkatnya, dan itu benar hari ini. Versi yang lebih panjang adalah bahwa kemampuan perekaman ditentukan per harness, melalui dua pertanyaan: dapatkah harness diarahkan ke proxy, dan apakah format wire-nya dipahami begitu lalu lintas tiba. Claude Code melewati keduanya, begitu juga Codex CLI yang masuk dengan kunci API. Agen dengan URL penyedia yang dikodekan keras dalam sumbernya, agen yang berjalan di dalam kontainer atau di VPS, dan harness yang masuk dengan langganan masing-masing mengambil jalur yang berbeda, dan satu di antaranya, hari ini, tidak tiba.

Yang berubah adalah bahwa agen-agen ini tidak lagi sekadar demo. Mereka berada di repositori Anda dengan akses shell, mengedit file, menjalankan test suite, dan membuka pull request. Ketika salah satu dari mereka melakukan sesuatu yang tidak Anda harapkan, entah itu menghapus file yang salah, terus-menerus mengulang pengujian gagal yang sama, atau menghabiskan satu sore penuh komputasi, scrollback terminal bukanlah bukti. Itu adalah rendering, dan yang tidak lengkap.

Yang Anda butuhkan adalah rekaman lengkapnya: apa yang sebenarnya dikirim ke model, apa yang sebenarnya diterima kembali, dan apa yang dilakukan agen di antara giliran-giliran. Catatan itu juga merupakan awal dari rangkaian evaluasi, karena sesi yang terekam adalah uji regresi yang dapat diputar ulang terhadap model berikutnya atau prompt berikutnya. Kendalanya adalah setiap harness menganggap ia berbicara langsung dengan penyedianya, dan hampir tidak ada yang membuat hal itu mudah diubah.

Apa yang menentukan apakah sebuah harness dapat direkam?

Setiap pertanyaan 'bisakah kamu merekamnya' bermuara pada dua pertanyaan yang sama.

Yang pertama: dapatkah harness diarahkan ke proxy? Ada empat rute untuk itu, diurutkan dari yang paling nyaman hingga yang kurang nyaman.

Variabel base-URL. Rute yang dibuat untuk ini: harness membaca variabel lingkungan base-URL, dan Anda menetapkannya.

Meluncurkan harness sendiri. Proses anak mewarisi lingkungan proses induknya, sehingga gateway yang meluncurkan agen pengodean juga ikut terpantau, tanpa kerja sama dari agen tersebut.

Intersepsi TLS. Untuk harness yang tidak membaca konfigurasi sama sekali, perekam meluncurkan agen dan Anda dapat memilih untuk ikut serta dalam intersepsi.

Lampirkan. Ketika agen berjalan di tempat yang tidak dapat diluncurkan oleh perekam, yang tersisa hanyalah melampirkan.

Jika tidak ada satu pun yang berlaku, lalu lintas tidak pernah mencapai perekam dan tidak ada yang perlu dibahas.

Kedua: begitu lalu lintas tiba, apakah format kawatnya dipahami? Menangkap byte bukanlah produknya. Perekam harus mengenali percakapan yang diwakilinya, termasuk bentuk panggilan alat, frame streaming, dan percobaan ulang, atau rekaman itu hanyalah pcap, bukan pemutaran ulang. Format yang dipahami perekam menghasilkan sesi yang dapat Anda putar ulang; dialek pribadi menghasilkan tangkapan yang hanya bisa Anda tatap.

Jawabannya berbeda-beda tergantung harness-nya, dan perbedaannya ada pada detail-detail yang mudah keliru: ini adalah pelajaran yang sama yang muncul dari membandingkan bagaimana harness DeepSeek berbeda dari Claude Code. Sisa artikel ini menunjukkan seperti apa kedua pertanyaan tersebut ketika Anda benar-benar menjalankan harness tersebut.

A three-card decision diagram running from "Pointed at a proxy?" through "Wire format known?" to a "Recordable" badge.

Claude Code, Codex CLI, dan Agents SDK

Claude Code adalah standar yang dipakai untuk mengukur semua hal lainnya, karena ia membaca ANTHROPIC_BASE_URL. Atur variabel itu ke perekam, jalankan agen, dan sesi akan mengalir selangkah demi selangkah: prompt-prompt, panggilan alat, suntingan berkas, serta balasan model di antara semuanya. Kami memvalidasinya ujung ke ujung terhadap perbaikan bug nyata (repositori nyata, defek nyata, sesi yang berjalan dari prompt pertama hingga perbaikan yang berhasil), dan agen nyata pertama itu merusak empat hal yang tidak dihasilkan oleh fixture apa pun. Keempat hal tersebut kemudian diperbaiki, yang merupakan cara jujur untuk mengatakan bahwa lalu lintas sintetis tidak menyiapkan Anda menghadapi apa yang dilakukan agen nyata ketika dibiarkan sendirian dengan basis kode.

Codex CLI, yang masuk dengan kunci API, juga sama saja melalui OPENAI_BASE_URL. Arahkan ke recorder dan Anda akan mendapatkan sesinya; tidak ada hal lain yang berubah dari cara Anda menggunakan harness.

Agen terprogram mewarisi jalur yang paling mudah. Sebuah proses anak mewarisi lingkungan proses induknya, sehingga gateway yang meluncurkan agen pengodean pun ikut tertangkap, tanpa kerja sama dari agen tersebut. Atur variabel base-URL sekali dalam proses yang melakukan peluncuran, dan setiap agen yang diluncurkannya akan tiba di perekam dengan sendirinya. Jika Anda menjalankan agen dari CI, dari orkestrator, atau melalui Agents SDK, inilah jalur yang memang sudah Anda tempuh.

Perekam dalam semua kasus ini adalah OrcaReplay. Perekam ini dipasang dengan npm i -g orcareplay, membutuhkan Node 20 atau lebih baru, dan tidak memiliki dependensi native: tidak ada yang perlu dikompilasi, tidak ada yang perlu dibangun. Perekam ini menangkap lalu lintas agen yang sama yang OrcaRouter merutekan melalui katalog model OrcaRouter.

The OrcaReplay GitHub repository page with its README showing the npm i -g orcareplay installation command.

Agen yang tidak membaca variabel base-URL

Beberapa harness meng-hardcode URL penyedia di dalam kode sumbernya. Tidak ada variabel lingkungan, tidak ada file konfigurasi, tidak ada flag. Menyetel ANTHROPIC_BASE_URL tidak berpengaruh apa pun, karena tidak ada yang membacanya. Jika perekam dapat meluncurkan agen, masih ada satu rute, dan rute itulah yang paling dikhawatirkan orang: intersepsi TLS.

Opt-in memang persis itu: Anda memilih untuk ikut serta; secara default, fitur ini nonaktif. Ketika Anda mengaktifkannya untuk sebuah proses, perekam menerbitkan otoritas sertifikat yang unik untuk proses tersebut, dan otoritas itu hanya dipercaya oleh agen yang diluncurkan perekam: otoritas itu diserahkan hanya kepada satu proses itu, tidak dipasang di keychain sistem Anda, tidak ditinggalkan untuk proses berikutnya. Ketika proses berakhir, otoritas tersebut dihapus. Agen terhubung ke host hardcoded-nya persis seperti yang selalu dilakukannya; perekam menjawab, dan sesi itu tiba seolah-olah URL tersebut sejak awal memang dapat dikonfigurasi.

Apa yang dengan sengaja ditolak rute sama pentingnya dengan apa yang dilakukannya. Rute itu hanya membaca host-host di dalam daftar izinnya, dan tidak membaca yang lain. Host di luar daftar izin diterowongkan tanpa dibaca dan dicatat sebagai alamat serta jumlah byte: bukti bahwa agen telah menghubungi sesuatu, tanpa satu byte pun dari apa yang dikatakan. Batas tersebut adalah keputusan desain, bukan keterbatasan yang belum sempat kami tangani; disiplin yang sama juga berlaku pada firewall agen OrcaRouter, yang di dalamnya justru daftar izin itulah produknya, bukan efek samping dari pencatatan.

The OrcaRouter agent firewall solutions page with its title and introduction visible.

Kendalanya adalah yang sama seperti pada pertanyaan pertama: intersepsi berfungsi ketika perekam meluncurkan agen. Agen yang sudah berjalan di dalam kontainer tidak pernah menerima otoritas sertifikat dari proses tersebut, dan ia tidak akan mempercayai jawaban perekam.

Agen yang tidak berada di mesin ini

Sebuah kontainer memiliki lingkungannya sendiri. Variabel base-URL yang Anda tetapkan di shell Anda tidak menjangkaunya, dan perekam di host tidak dapat meluncurkan proses yang sudah ada di tempat lain: di VPS, di CI, di sandbox yang dibuat oleh harness tanpa bertanya kepada Anda. Penangkapan berbasis peluncuran gagal di sini bukan karena agennya sulit, tetapi karena perekam tidak pernah bisa menyentuhnya.

Untuk kasus persis seperti ini ada orca attach: alat ini merekam agen yang tidak dapat diluncurkan oleh perekam, seperti agen di dalam kontainer atau di VPS. Arahnya terbalik: alih-alih perekam meluncurkan agen dan memberinya lingkungan, alat ini terhubung ke agen yang sudah berjalan dan merekamnya.

Yang tidak dilakukan attach adalah menjawab pertanyaan kedua untuk Anda. Ia menyelesaikan pengiriman lalu lintas ke perekam; apakah lalu lintas itu menjadi sesi yang dapat diputar ulang masih bergantung pada format wire yang dipahami. Attach agen yang berbicara dalam format yang dikenal perekam, dan Anda akan mendapatkan sesi yang dapat diputar ulang. Attach yang tidak, dan Anda telah menemukan dindingnya, yang lebih murah ditemukan dengan sengaja daripada di tengah insiden.

Apa yang diubah oleh login langganan?

Biner yang sama dapat direkam atau tidak, bergantung pada cara ia masuk. Codex CLI yang masuk dengan kunci API akan tertangkap melalui OPENAI_BASE_URL: arahkan ke perekam, dan selesai. Jika CLI yang sama masuk dengan langganan ChatGPT, ia berhenti sepenuhnya berbicara ke endpoint tersebut; ia berbicara ke backend-nya sendiri, terautentikasi sebagai Anda, dan tidak ada origin yang perlu ditulis ulang. Variabel base-URL tetap ada, tetapi apa pun yang Anda arahkan kepadanya tidak akan menjadi layanan yang benar-benar digunakan harness.

Inilah pertanyaan kedua yang gagal, bukan yang pertama. Byte-byte-nya dapat dibuat bergerak; perekam bahkan bisa melihatnya. Tetapi percakapan itu ditujukan ke backend yang tidak dapat digantikan oleh perekam, dalam alur yang bukan API yang digunakan perekam. Tidak ada pemutaran ulang yang dapat dihasilkan karena tidak ada asal yang dapat dijelmakan oleh perekam.

Jawaban yang jujur saat ini untuk harness yang masuk dengan langganan adalah bahwa harness tersebut tidak dapat direkam, dan pelajaran yang berguna adalah bahwa metode masuk ikut menentukan apakah sesi dapat direkam. Jika Anda memerlukan rekaman untuk evaluasi atau jejak audit, jalankan sesi yang terekam menggunakan kunci API dan gunakan langganan untuk pekerjaan interaktif — cara mengubah sesi yang terekam menjadi evaluasi regresimembahas alur tersebut dari awal hingga akhir. Dan sebelum Anda menetapkan standar pada harness apa pun, ajukan dua pertanyaan itu kepadanya terlebih dahulu; kami terus melakukan hal yang sama untuk setiap harness, yang terbaru dengan harness Prime Agent.

Intisarinya

Anda dapat merekam sesi Claude Code hari ini dengan satu perintah dan satu variabel lingkungan:

npm i -g orcareplay

• Arahkan ANTHROPIC_BASE_URL ke perekam

• Jalankan agen

Codex CLI dengan kunci API berada pada jarak yang sama. URL yang di-hardcode mengharuskan Anda menyetujui intersepsi TLS yang hanya membaca daftar izinnya (disiplin yang sama seperti yang ditegakkan oleh firewall agen OrcaRouter) dan melupakan sertifikatnya sendiri saat proses berakhir. Container atau VPS mengharuskan Anda menjalankan orca attach. Login berlangganan membuat Anda kehilangan rekaman itu sendiri: harness tersebut tidak akan direkam, dan tidak ada perubahan konfigurasi yang dapat mengubahnya hari ini.

Seluruh keputusan sekilas:

• Claude Code — Kunci API masuk vs rute ke perekam ANTHROPIC_BASE_URL vs dapat direkam hari ini Ya

• Codex CLI — Kunci API masuk vs Rute ke perekam OPENAI_BASE_URL vs Dapat direkam hari ini: Ya

• Harness dengan URL penyedia yang di-hardcode — Sign-in Any vs Rute ke perekam. Intersepsi TLS opsional, diluncurkan oleh perekam vs Recordable hari ini. Ya.

• Agen di dalam kontainer atau di VPS — Masuk dari mana saja vs Rute ke perekam orca attach vs Dapat direkam saat ini: Ya, jika format wire-nya diketahui

• Codex CLI — Masuk ke langganan ChatGPT vs Rute ke perekam Tidak ada vs Dapat direkam hari ini Tidak

Baris terakhir adalah satu-satunya kombinasi yang sama sekali tidak memiliki rute ke perekam.

Tanyakan dua pertanyaan itu sebelum Anda mengadopsi harness, bukan setelah insiden pertama Anda; jawabannya mudah diperoleh, dan jawaban-jawaban itu menentukan apakah sesi yang suatu hari nanti akan sangat Anda butuhkan benar-benar ada.

Catatan sumber: setiap perilaku dan angka dalam artikel ini (jalur penangkapan `ANTHROPIC_BASE_URL` dan `OPENAI_BASE_URL`, empat kerusakan pasca-fixture beserta perbaikannya, siklus hidup sertifikat TLS, perilaku allowlist dan tunnel, `orca attach`, dan persyaratan instalasi) berasal dari hasil validasi kami sendiri terhadap harness yang disebutkan, paling terakhir pada 2026-09-04. Kami tidak mengutip tolok ukur pihak ketiga karena kami tidak menjalankan satu pun.

© 2026 OrcaRouter

Untuk Penyedia

Mengoperasikan platform inferensi? Hadirkan model Anda di OrcaRouter.

providers@orcarouter.ai

Gabung komunitas kami

Discordsupport@orcarouter.aiXGitHubYouTube