Alasan OpenAI Membangun Symphony dan Membagikannya Secara Gratis

BBetter Stack
Computing/SoftwareManagementInternet Technology

Transcript

00:00:00Ini adalah OpenAI Symphony, sebuah alat sumber terbuka untuk mengatur agen yang berjalan lama menggunakan
00:00:05pelacak masalah yang sudah ada seperti Linear untuk membantu agen Anda menyelesaikan tugas secara mandiri tanpa
00:00:10pengawasan manusia. Tapi mengapa agen tidak perlu membangunnya dari awal sebelum Anda bisa menggunakannya?
00:00:14Apakah ini hanya mendukung Codex CLI? Dan apakah ini awal dari lebih banyak
00:00:18alat sumber terbuka dari OpenAI? Klik subscribe dan mari kita cari tahu.
00:00:25Symphony hanya ada karena OpenAI mengalami hambatan atensi manusia, yang berarti para insinyur
00:00:30hanya bisa mengawasi 3-5 sesi Codex secara bersamaan sebelum perpindahan konteks mulai
00:00:35mempengaruhi produktivitas secara negatif. Hal ini tentu saja tidak akan berkembang luas. Jadi tebak bagaimana OpenAI memperbaiki
00:00:41masalah agen-cepat-manajer-lambat ini? Mereka menyingkirkan manajer manusia. Kurang lebih.
00:00:47Karena dengan Symphony, manusia menempatkan tugas di papan, agen baru akan dijalankan untuk menyelesaikan tugas tersebut,
00:00:52dan agen tersebut hanya akan melibatkan manusia jika ada sesuatu yang perlu ditinjau.
00:00:55Namun bagaimana perbandingan Symphony dengan alat serupa seperti Multica dan Conductor? Nah,
00:00:58tonton demonya dan semuanya akan menjadi sangat jelas. Namun sebelum kita mulai, saya hanya ingin mengatakan
00:01:03Symphony memiliki proses instalasi teraneh yang pernah saya lihat seumur hidup saya. Atau mungkin itu
00:01:07cara paling jenius untuk menginstal sesuatu. Kita akan membahasnya nanti.
00:01:10Pertama, mari kita pelajari contoh dasarnya. Jadi saya sudah menjalankan Symphony,
00:01:14memeriksa tugas di Linear untuk dikerjakan. Dan di Linear, saya akan membuat masalah baru,
00:01:18yaitu membangun aplikasi Hello World menggunakan TypeScript dan BUN.
00:01:22Saat ini, Symphony tidak dikonfigurasi untuk mengerjakan tugas backlog. Jadi saya akan mengubah statusnya menjadi To-Do
00:01:27dan menekan Create Issue. Ingat ID tugasnya, yaitu SYN7.
00:01:31Setelah beberapa saat, Symphony mendeteksi ID tugas tersebut. Dan beberapa detik kemudian,
00:01:36kita mendapatkan kesalahan validasi GraphQL, yang bukan masalah besar dan sangat mudah diperbaiki oleh Codex.
00:01:41Namun setelah itu, kita dapat melihat bahwa Codex telah menyelesaikan pekerjaannya, mengubah masalah
00:01:45dari To-Do menjadi Done, dan meninggalkan komentar di sini dari Symphony. Yang berarti jika kita pergi ke
00:01:49direktori ruang kerja Symphony kita, kita akan membicarakan itu lebih lanjut nanti, kita bisa melihat ada
00:01:53ruang kerja baru dengan ID yang sama dengan masalah kita. Dan jika kita masuk ke ruang kerja tersebut, kita memiliki daftar
00:01:58file yang dibuat untuk aplikasi Hello World TypeScript BUN. Dan jika kita masuk ke direktori source,
00:02:04kita dapat melihat bahwa kode untuk aplikasinya ada di sini. Dan itulah inti dari Symphony.
00:02:08Sekarang mari kita bahas cara mengaturnya. Ada dua cara untuk menginstal Symphony
00:02:12menurut repo ini. Opsi kedua, yang biasa kita lakukan, kita menyiapkan Elixir,
00:02:16mengklon repo, lalu mem-build kodenya dan menjalankannya menggunakan file alur kerja yang sudah ada.
00:02:20Opsi pertama, bagaimanapun, adalah cara yang mungkin paling aneh atau paling visioner untuk menginstal sesuatu.
00:02:25Anda cukup memberikan prompt ini kepada agen pengodean Anda, dan ia akan membaca file spesifikasi,
00:02:30yang panjangnya lebih dari 2000 baris. Tapi pada dasarnya ini memberikan instruksi mendetail
00:02:34kepada agen Anda tentang cara membangun Symphony, yang luar biasa karena jika semua orang menempuh rute ini,
00:02:39tidak akan ada dua versi Symphony yang terlihat sama. Beberapa orang akan memiliki fitur berbeda dalam
00:02:43bahasa yang berbeda, yang akan menjadi kekacauan bagi OpenAI untuk memelihara dan mendukungnya.
00:02:47Tapi ini juga jenius karena jika Anda membangun versi Symphony Anda sendiri,
00:02:51Anda akan merasa bertanggung jawab atas hal itu. Anda akan memperbaiki bug, menambah fitur,
00:02:55dan pada dasarnya memeliharanya. Dan jika Anda tidak ingin Symphony menggunakan Linear atau
00:02:59Codex, maka itu terserah Anda. Seseorang membangun Symphony versi Go yang berjalan di Charm CLI,
00:03:04dan orang lain membangun yang ditenagai oleh Claude SDK. Saya tidak se-kreatif itu,
00:03:09jadi saya memasukkan prompt default ke Codex menggunakan GPT 5.5 Low Effort, dan itu memberi saya versi Python
00:03:15dari Symphony, yang masuk akal karena LLM sangat bagus dalam Python. Namun setelah itu selesai,
00:03:19Anda akan memerlukan kunci API pribadi Linear, yang bisa Anda dapatkan dari security and access,
00:03:23dan Anda dapat membuatnya dengan mengklik di sini. Kemudian Anda harus menambahkan kunci itu ke profil kerja Anda,
00:03:28yaitu file yang memberi tahu Symphony cara melakukan tugasnya, yang berisi beberapa YAML front matter,
00:03:32yang tentu saja memiliki kunci API, status aktif agar agen tahu kapan ia bisa mengerjakan tugas,
00:03:37serta root ruang kerja dan perintah Codex, yang merupakan perintah shell yang digunakan Symphony
00:03:42untuk meluncurkan agen pengodean. Dan di bawahnya adalah prompt markdown yang dikirim ke agen pengodean
00:03:46untuk setiap masalah. Anda dapat mengakses workflow.yaml OpenAI dari repo mereka jika Anda tertarik.
00:03:51Namun untuk saat ini, alur kerja ini belum cocok untuk proyek nyata. Katakanlah saya ingin mengubah
00:03:56aplikasi emulasi film yang sedang saya kerjakan. Saya perlu menambahkan hook create-after, yang berjalan
00:04:01setelah Symphony membuat ruang kerja untuk sebuah masalah, dan hook ini pertama-tama akan mengklon repo ke
00:04:06direktori ruang kerja, lalu berpindah ke branch baru di repo tersebut. Saya juga menambahkan hook run-after,
00:04:10yang berjalan setelah Codex selesai mengerjakan masalah tersebut. Jadi ini akan melakukan staging file, lalu
00:04:15membuat commit baru sebelum mendorong branch dan membuat pull request baru dengan nilai-nilai ini.
00:04:20Jadi sekarang jika saya menjalankan Symphony menggunakan UV, yang juga diakuisisi oleh OpenAI, tapi itu topik untuk
00:04:25video lain, ia akan memeriksa masalah baru. Jadi sekarang jika saya membuat masalah baru untuk memperbarui readme, tepatnya
00:04:30di bagian yang menunjukkan pemrosesan batch, untuk menggunakan wildcard alih-alih menunjukkan banyak file, sekali lagi,
00:04:35saya akan mengubahnya dari backlog menjadi to-do, lalu tekan create issue. Sekarang Symphony telah mendeteksi
00:04:40masalah tersebut. Dan jika saya melihat direktori ruang kerja Symphony, kita bisa melihat ada folder baru yang cocok
00:04:45dengan ID masalah kita, yang berisi proyek yang telah diklon. Dan sekarang setelah Symphony selesai mengerjakan
00:04:49masalah tersebut, statusnya berubah menjadi done dan telah dibuat PR baru dengan tautan ke tiket Linear
00:04:54dan perubahan tepat seperti yang saya minta. Sekarang, tentu saja, saya bisa mengubah kode Symphony saya untuk menambahkan
00:04:59deskripsi PR yang lebih baik dan menempatkan tautan ke PR di komentar, tapi saya yakin itu sangat mudah bagi
00:05:04Codex untuk dilakukan. Jadi itulah gambaran singkat tentang Symphony. Jika Anda sudah terbiasa dengan atau bekerja di
00:05:08perusahaan yang menggunakan Linear, maka Anda akan merasa familiar dengan antarmukanya. Dan jika Anda pengguna Codex,
00:05:13maka Anda dapat menggunakan keahlian Anda, alat MCP, dan plugin yang sudah Anda instal. Saya pribadi tidak
00:05:18menggunakan Codex, tapi saya bisa melihat visi yang ingin dicapai OpenAI dengan Symphony. Bayangkan
00:05:22Anda memiliki tim pengembang yang semuanya mengerjakan proyek yang sama dengan AI. Alih-alih memiliki
00:05:28harness pribadi dengan alur kerja masing-masing, bisa ada agen pusat dengan keahlian pusat, alat pusat,
00:05:33alur kerja pusat, dan plugin. Dan setiap pengembang dapat berkomunikasi dengan itu dengan memberikan
00:05:37tugas dan mereka dapat melihat apa yang dikerjakan pengembang lain, prompt apa yang mereka gunakan, dan dapat
00:05:41melihat sekilas fitur lain apa yang mungkin memengaruhi fitur yang sedang mereka kerjakan. Meskipun
00:05:46sangat sulit untuk membuat fitur yang tidak akan menyentuh bagian lain dari kode yang sedang dikerjakan
00:05:49orang lain. Namun sehebat apa pun Symphony, menurut saya, Multica bekerja lebih baik karena
00:05:54lebih mudah diatur, dibuat, dan ditambahkan agen yang berbeda, dan Anda bahkan dapat menjadwalkan tugas. Namun,
00:05:59saya benar-benar melihat tempat bagi Symphony. Ini semacam versi dasar dari Multica di mana Anda
00:06:04dapat menambahkan fitur tepat yang Anda inginkan alih-alih memiliki produk yang sudah jadi untuk Anda. Jadi anggaplah
00:06:08Symphony seperti Pi harness dan alat lain seperti Multica atau Conductor sebagai Claude Code. Dan jika
00:06:13Anda tidak tahu apa-apa tentang Multica, silakan tonton video ini, yang membahas semua yang
00:06:18perlu Anda ketahui tentangnya.

Key Takeaway

OpenAI Symphony menghilangkan hambatan atensi manusia dengan mengintegrasikan agen AI langsung ke dalam alur kerja pelacak masalah Linear, memungkinkan penyelesaian tugas pengodean mandiri melalui instruksi spesifikasi setebal 2000 baris.

Highlights

  • Symphony adalah alat sumber terbuka dari OpenAI yang mengotomatiskan agen AI menggunakan pelacak masalah seperti Linear untuk menyelesaikan tugas tanpa pengawasan manusia.

  • Sistem ini mengatasi hambatan produktivitas di mana insinyur manusia hanya mampu mengawasi maksimal 5 sesi Codex sebelum mengalami gangguan perpindahan konteks.

  • Proses instalasi unik Symphony melibatkan pemberian prompt sepanjang 2000 baris kode spesifikasi kepada agen pengodean untuk membangun versi alatnya sendiri.

  • Pengguna dapat menyesuaikan alur kerja menggunakan hook create-after dan run-after untuk otomatisasi tugas seperti kloning repositori, pembuatan branch, dan pengiriman pull request.

  • Symphony mendukung berbagai bahasa dan SDK, terbukti dengan adanya implementasi dalam bahasa Go menggunakan Charm CLI serta versi yang ditenagai oleh Claude SDK.

  • Integrasi dengan Linear memerlukan kunci API pribadi yang ditempatkan dalam file profil YAML untuk mengontrol status aktif agen dan perintah peluncuran shell.

Timeline

Solusi untuk Hambatan Atensi Manusia

  • Insinyur manusia hanya efektif mengawasi 3 hingga 5 sesi agen secara bersamaan.
  • Symphony memungkinkan manusia menugaskan pekerjaan melalui papan tugas sementara agen mengeksekusinya secara mandiri.
  • Agen hanya melibatkan manusia ketika ada kode atau hasil yang memerlukan peninjauan manual.

Keterbatasan kapasitas manusia dalam menangani banyak konteks sekaligus menjadi alasan utama pengembangan Symphony. Dengan sistem ini, agen bertindak sebagai pelaksana cepat sementara manusia beralih dari peran manajer aktif menjadi peninjau hasil. Hal ini memperbaiki ketidakseimbangan antara kecepatan eksekusi agen AI dan kecepatan manajemen manusia.

Demonstrasi Integrasi Linear dan Codex

  • Symphony mendeteksi masalah baru di Linear segera setelah status diubah menjadi To-Do.
  • Sistem secara otomatis membuat ruang kerja lokal dengan ID yang sesuai dengan ID tugas di Linear.
  • Kesalahan validasi GraphQL atau bug kecil lainnya dapat diperbaiki secara mandiri oleh Codex selama proses eksekusi.

Dalam pengujian pembuatan aplikasi Hello World menggunakan TypeScript dan BUN, Symphony berhasil mengidentifikasi tugas SYN7 dari Linear. Setelah menyelesaikan pengodean, alat ini memperbarui status tugas menjadi Done dan meninggalkan komentar otomatis. File hasil kerja tersimpan secara terorganisir dalam direktori ruang kerja yang mencerminkan struktur proyek asli.

Metode Instalasi Visioner Melalui Prompt AI

  • Instalasi dapat dilakukan dengan memberikan file spesifikasi 2000 baris kepada agen pengodean.
  • Metode ini menghasilkan versi Symphony yang unik bagi setiap pengguna tergantung pada model bahasa yang digunakan.
  • Konfigurasi utama melibatkan file YAML yang berisi kunci API Linear, status aktif, dan perintah shell untuk meluncurkan agen.

Pendekatan instalasi ini memaksa pengguna untuk membangun sendiri alat mereka, yang mendorong rasa kepemilikan dan kemudahan pemeliharaan secara mandiri. Meskipun tersedia opsi build manual menggunakan Elixir, metode berbasis prompt memungkinkan pembuatan versi dalam berbagai bahasa seperti Python atau Go. Pengguna hanya perlu menghubungkan kunci API pribadi dari pengaturan keamanan Linear ke dalam profil kerja mereka.

Otomatisasi Alur Kerja Proyek Nyata

  • Hook create-after mengotomatiskan proses kloning repositori dan pembuatan branch baru.
  • Hook run-after menangani staging file, commit, push branch, hingga pembuatan pull request.
  • Symphony dapat dijalankan menggunakan alat manajemen paket UV untuk memantau masalah baru secara real-time.

Untuk penggunaan profesional, penambahan hook memungkinkan integrasi penuh dengan siklus pengembangan perangkat lunak. Contoh pembaruan file README menunjukkan bahwa Symphony mampu melakukan perubahan kode, mendorongnya ke repositori jarak jauh, dan menautkan tiket Linear di dalam pull request secara otomatis. Hal ini mengurangi beban administratif pengembang secara signifikan.

Visi Kolaborasi Tim dan Perbandingan Alat

  • Symphony berfungsi sebagai pusat agen dengan keahlian, alat, dan plugin yang tersentralisasi untuk seluruh tim.
  • Setiap pengembang dapat memantau prompt dan kemajuan fitur yang dikerjakan oleh rekan tim melalui satu antarmuka.
  • Multica menawarkan kemudahan pengaturan yang lebih baik dan fitur penjadwalan dibandingkan Symphony.

Visi jangka panjang alat ini adalah menciptakan lingkungan di mana AI bertindak sebagai rekan kerja yang transparan di dalam tim. Pengembang dapat melihat bagaimana AI menyelesaikan masalah tertentu dan mencegah konflik kode lebih awal. Meskipun alat lain seperti Multica atau Conductor mungkin lebih matang sebagai produk jadi, Symphony memberikan fleksibilitas bagi pengguna untuk membangun fitur spesifik sesuai kebutuhan mereka sendiri.

Community Posts

View all posts