2 poin oleh chunbak 6 jam lalu | Belum ada komentar. | Bagikan ke WhatsApp

Belakangan ini saya mengerjakan sebagian besar coding bersama agen terminal. Di dalam VS Code, saya membuka Claude Code, Codex, dan Gemini CLI berdampingan; implementasi dasar saya serahkan ke Claude, lalu ketika butuh sudut pandang eksternal seperti keamanan atau regresi, saya meminta Codex meninjaunya. Akibatnya, setiap kali berganti model, saya harus menjelaskan lagi apa tujuannya, apa yang tidak boleh rusak, dan apa yang baru saja dicoba lalu gagal oleh model sebelumnya. Pada akhirnya, saya menjadi clipboard manusia yang menghubungkan tiga terminal itu.

Saat mencari alat serupa, ternyata sudah ada banyak. Mulai dari cockpit yang menampilkan beberapa agen dalam satu jendela (sejenis Claude Squad, Orch term), proxy yang memungkinkan satu harness memanggil model lain (sejenis opencodex, oh-my-free-models), hingga orchestrator yang membagi peran dan mendistribusikan pekerjaan (sejenis Oh My OpenCode). Namun masalah yang sebenarnya saya alami—membuat pekerjaan itu sendiri tidak terputus meski berganti model—ternyata jarang dibahas secara langsung. Kebanyakan arahnya adalah “membuat handoff lebih baik”.

Framein memilih bukan membuat handoff lebih baik, melainkan membuat handoff tidak perlu menjadi langkah terpisah. Ini bukan IDE baru, bukan cockpit, bukan proxy, dan bukan harness tambahan. Ini adalah lapisan status kerja (work-state) lokal yang tipis, yang berada di bawah agen yang sudah Anda gunakan. Karena tiga agen membaca kontrak kerja, catatan keputusan, dan hasil verifikasi yang sama di dalam repo, tindakan “menyerahkan” pekerjaan tidak lagi menjadi langkah terpisah. Model berikutnya membaca fakta itu sendiri, bukan ringkasan fakta dari saya.

Loop-nya terdiri dari empat kata kerja. Di sini, “lead” mengacu pada model yang sedang benar-benar menangani implementasi. Istilah ini dipakai untuk membedakannya dari model yang bertugas meninjau.

  • start : Mengunci permintaan menjadi kontrak kerja (tujuan, kriteria penerimaan, area yang harus dilindungi, non-goal) sebelum implementasi mulai goyah.
  • challenge : Meminta model lain memberikan sanggahan dengan cakupan sempit, lalu membiarkan lead merespons hanya sekali sebelum saya memutuskan. Ketika satu model dengan percaya diri berkata “implementasi sudah selesai semua”, ini adalah tempat bagi model lain yang membaca kontrak dan diff yang sama untuk bertanya, “risiko apa yang terlewat dalam rencana ini?”
  • capsule : Menyiapkan fakta yang akan dibaca lead berikutnya (kontrak, diff, verifikasi, ADR, ledger).
  • ship : Menutup pekerjaan bukan karena model berkata “selesai”, melainkan melalui gate build/test/risiko yang nyata.

Framein bisa dipanggil langsung dari terminal, di dalam Claude/Gemini melalui perintah slash /fr:, dan di Codex melalui skill $fr-. Dari mana pun dipanggil, semuanya membaca dan menulis engine lokal yang sama serta status yang sama. Strukturnya membiarkan harness, skill pack, dan persona yang sudah ada tetap seperti semula, lalu hanya menambahkan kontrak, ledger, dan gate di bawahnya.

Bagian yang secara khusus diperhatikan dalam desainnya:

  • Catatan keputusan (ADR) bersifat append-only. Tidak ada pengubahan atau penghapusan; hanya diganti dengan catatan baru. Saya menganggap catatan keputusan yang bisa diam-diam ditulis ulang menjadi tidak bernilai begitu model kedua mempercayainya.
  • Tidak mengumpulkan kredensial. Tidak ada relay token, pooling langganan, atau scraping input/output terminal. Autentikasi tetap dipegang masing-masing CLI resmi, dan hanya dipanggil secara lokal saat diperlukan. (Karena itu, ini berada di lapisan yang berbeda dari kategori proxy.)
  • Dependensi runtime-nya 0. Hanya memakai node:sqlite bawaan Node 22 dan test runner bawaan. SQLite store adalah cache, sedangkan sumber kebenarannya adalah snapshot JSON yang ramah git, sehingga instalasi tidak akan rusak setengah tahun kemudian karena perubahan dependensi.

Saat ini versi pre-release v0.0.6, dengan core (store, proyeksi CLAUDE.md/AGENTS.md/GEMINI.md, kontrak kerja, gate verify/risk/ship, wrapper /fr:·$fr-, server MCP) sudah diimplementasikan dan telah lolos 249 test. Yang masih sedang dipoles adalah jalur code signing Windows, distribusi executable yang ditandatangani dan dinotariskan, verifikasi instalasi di mesin bersih, serta workflow multi-developer.

Anda bisa menginstalnya dengan npm install -g framein (memerlukan Node 22.5+), dan lisensinya MIT. Namanya diambil dari istilah film. Ketika subjek menghilang dari sudut pandang kamera, itu frame-out; membawanya kembali ke dalam layar adalah frame-in. Nama ini dibuat dengan makna membawa tiga agen yang tersebar kembali ke dalam satu frame.

Meski Anda sudah menggunakan cockpit, proxy, atau harness, jika Anda merasa status kerja terus bocor di lapisan bawahnya, atau jika Anda bekerja sambil berpindah di antara dua atau lebih agen coding, saya ingin mendapat masukan apakah Framein bisa mengisi celah itu.

Situs web : https://www.framein.dev/ko
GitHub : https://github.com/framein-dev/framein
Catatan developer (mengapa dibuat) : https://www.framein.dev/ko/why

Belum ada komentar.

Belum ada komentar.