Orkas Orkas
Beranda Blog Agen
Agen

Seorang Agen Yang Menjadi Lebih Baik Dengan Sendirinya: Di Dalam Evolusi Diri Orkas

Di dalam lingkaran evolusi diri lokal Orkas: sinyal ringan, refleksi latar belakang, keterampilan yang dapat dieksekusi, metrik keterampilan, dan pagar pembatas terhadap pembelajaran pelajaran yang salah.

Sebagian besar asisten AI "menggunakannya dan melupakannya." Perbaiki kebiasaan hari ini dan itu akan mengulangi kesalahan yang sama besok; ajari alur kerja khusus tim Anda minggu lalu dan minggu ini bertindak seolah-olah tidak pernah mendengarnya. Setiap percakapan dimulai dari nol - dan betapapun pintarnya modelnya, itu masih orang pintar dengan amnesia.

Orkas mengejar sesuatu yang lain: membiarkan agen belajar dari penggunaan sehari-harinya sendiri, menyaring pengalaman berulang sehingga dapat menerapkannya sendiri di lain waktu. Sederhananya — semakin berguna semakin Anda menggunakannya, dan "kegunaan" itu tumbuh ke arah Kamu, preferensi Anda, domain Anda, daripada sesuatu yang telah ditetapkan vendor model untuk semua orang.

Artikel ini menguraikan bagaimana mekanisme itu dibangun. Ini tidak sesederhana "membuat model mengingat percakapan" — di baliknya adalah lingkaran yang lengkap: amati dirinya sendiri → putuskan apakah akan merefleksikan → benar-benar merefleksikan → menulis kesimpulan ke dalam sesuatu yang dapat digunakan kembali → menggunakannya lagi lain kali. Kita akan membahasnya satu per satu.

Hal terpenting pertama: semua yang ada di bawah ini — semua "mengamati," "merekam," dan "mencerminkan" — terjadi sepenuhnya di perangkat Anda sendiri. Jalankan data, keterampilan, pemahaman agen tentang dirinya sendiri — semuanya hidup secara lokal sebagai file biasa. Tidak ada yang diunggah ke server Orkas, dan tidak ada yang digunakan untuk analisis lintas pengguna atau pelatihan model. "Evolusi diri" berarti program yang membaca catatan berjalannya sendiri secara lokal dan meningkatkan dirinya sendiri secara lokal — tidak mengumpulkan data Anda. Pengalaman ini tidak pernah meninggalkan mesin, dan hanya melayani Anda, pada satu mesin ini.

Versi pendek Agen yang mengedit agennya sendiri Evolusi diri berjalan di aplikasi desktop, di ruang kerja Anda, dan setiap perubahan yang dibuatnya terlihat oleh Anda sebelum bertahan.
Unduh Orkas — gratis

Lingkaran, ujung ke ujung

real use, over and over
      │  recorded locally: which tools were called, errors or not, corrected or not
      ▼
   signals accumulate
      │  signals extracted from the conversation in place, all kept on-device
      ▼
  decide whether to reflect
      │  weighted scoring across signals, fires only past a threshold; network hiccups don't count
      ▼
   reflect in the background
      │  not every turn — periodically, picking whichever agents qualify
      ▼
  distilled into two things
      │  ① reusable "skills"   ② an "understanding" of itself
      ▼
  carried in automatically next turn
      └──────────► back to the top, keep rolling

Setiap langkah dalam lingkaran ini memiliki kehalusannya. Tempat yang paling mudah untuk salah adalah dua langkah yang terasa paling sederhana sekilas: kapan harus merefleksikan, dan apa yang harus direkam setelah Anda melakukannya. Mari kita mulai dari depan.

Langkah 1: mengamati dirinya sendiri dengan biaya hampir nol

Untuk belajar dari pengalaman, pertama-tama Anda perlu "pengalaman" untuk dilihat. Pada akhir setiap menjalankan agen, program menghitung — secara lokal, di tempat — beberapa fakta ringan tentang lari: kira-kira berapa banyak alat yang dipanggil giliran ini, apakah ada yang salah, apakah itu kesalahan sementara (seperti masalah jaringan) atau yang nyata, dan apakah pengguna memperbaikinya di tempat. Hanya segelintir hitungan dan bendera, semuanya dihitung di mesin, tidak memanggil model dan dikirim ke mana pun.

Ini penting karena Tidak ada biaya dalam pengeluaran model. Ini dihitung langsung dari catatan percakapan giliran saat ini; tidak perlu membuat panggilan model tambahan hanya untuk "menganalisis dirinya sendiri." Jika setiap belokan membutuhkan panggilan model lain untuk introspeksi, biaya dan latensi akan tak tertahankan dan seluruh mekanisme tidak akan pernah dikirimkan.

Bagian "dikoreksi atau tidak" sedikit menarik. Ini adalah penilaian lokal murni heuristik, diperkirakan dengan mencocokkan beberapa frasa dalam pesan di perangkat Anda — Cina seperti "不对" / "应该是" / "重新," Inggris seperti wrong, actually, instead. Itu tidak bertujuan untuk menjadi tepat - itu hanya sebuah Sinyal, bukan putusan, dan positif palsu sesekali baik-baik saja, karena kemudian ditimbang bersama dengan sinyal lain; tidak ada yang diputuskan sendiri.

Langkah 2: kapan itu benar-benar layak untuk direnungkan

Ini adalah bagian dari keseluruhan mekanisme yang menurut saya menunjukkan keahlian paling banyak.

Pendekatan naifnya adalah "merefleksikan setelah Anda mengumpulkan N kejadian." Tapi itu kasar: tiga batas waktu jaringan berturut-turut dan tiga koreksi pengguna berturut-turut jelas bukan hal yang sama dan tidak boleh diperlakukan sama. Orkas menggunakan Penilaian multi-sinyal tertimbang: setiap fenomena penting adalah sinyal yang membawa bobot; jumlah bobot sinyal yang dipicu giliran ini, dan mencerminkan hanya jika totalnya melewati ambang batas (0,7 secara default).

Sinyal utamanya terlihat kira-kira seperti ini:

SinyalBeratKondisi pemicu
Koreksi pengguna0.9Koreksi pengguna terdeteksi pada giliran ini
Keterampilan tidak efektif0.85Sebuah keterampilan telah dimuat, namun giliran masih salah
Dipulihkan dari kesalahan0.8Salah, tetapi akhirnya menariknya kembali
Memukul kelemahan yang diketahui0.7Tugas mencapai titik lemah yang dicatat dalam penilaian diri
Kompleksitas tugas0.5Jumlah panggilan alat melebihi jumlah tertentu

Misalnya: giliran dengan koreksi pengguna (0,9) dan beberapa kompleksitas (0,5) berjumlah 1,4, melewati 0,7, jadi itu mencerminkan; giliran yang hanya sedikit rumit (0,5) gagal dan dilepaskan. Pembobotan juga mencerminkan panggilan penilaian - koreksi pengguna langsung mendapatkan bobot tertinggi, 0,9, karena ini adalah umpan balik sinyal-ke-bising tertinggi yang ada: pengguna dengan jelas mengatakan bahwa Anda salah, jadi sangat mungkin layak untuk dicatat.

Satu pengecualian penting itu

Dalam keseluruhan logika penilaian, ada satu aturan yang saya anggap penting apakah mekanisme ini "mempelajari hal yang benar": Kesalahan sementara tidak pernah dihitung.

Batas waktu jaringan, koneksi terputus, batas tarif — ini adalah masalah lingkungan, bukan kekurangan dalam kemampuan agen itu sendiri. Gagal mengecualikan mereka dan sesuatu yang buruk terjadi: kesalahan alat karena satu kemungkinan cegukan jaringan, dan mekanisme refleksi mencatatnya sebagai "alat ini tidak dapat diandalkan, kurangi gunakan" — atau bahkan merusak atau menghapus keterampilan yang sangat bagus. Sejak saat itu agen telah mempelajari sebuah Pelajaran yang salah, dan kesalahan itu mengikutinya.

Jadi sinyal "pulih dari kesalahan," "keterampilan tidak efektif," dan "menempu kelemahan yang diketahui" semuanya secara eksplisit mencegah kesalahan sementara murni. Permintaan refleksi juga mengulangi pengingat: kesalahan kelas jaringan bersifat lingkungan, jangan catat sebagai kelemahan, jangan menyentuh keterampilan terkait. Apa yang paling ditakuti oleh sistem peningkatan diri bukanlah belajar perlahan - itu belajar ke arah yang salah. Pengecualian ini adalah apa yang menjaga terhadap hal itu.

Langkah 3: pantulan berjalan di latar belakang, bukan di wajah Anda

Jebakan yang mudah: saat Anda mendeteksi "waktu untuk merefleksikan," berhenti dan merefleksikan di sana. Itu membuat agen merasa seperti gagap sesekali, mengembara untuk "merenungkan kehidupan" - pengalaman yang buruk.

Orkas memindahkan pantulan ke latar belakang, pada irama tetap. Aturan penjadwalan, kira-kira:

  • Mulai siklus refleksi sesering mungkin (katakanlah, dalam urutan selusin jam lebih).
  • Terapkan pendinginan minimum antara dua pantulan untuk agen yang sama (beberapa jam), sehingga tidak terlalu sering berjalan.
  • Tetapi jika itu tidak tercermin terlalu lama (katakanlah, lebih dari seminggu), paksa satu, sehingga tidak berlarut-larut tanpa batas waktu.
  • Batasi jumlah agen yang dipilih per siklus, sehingga tidak menyebar terlalu tipis sekaligus.

Ada desain kecil yang saya sukai yang disebut Gerbang kotor: ketika sebuah siklus dimulai, pertama-tama periksa apakah agen ini memiliki sesuatu yang baru sejak refleksi terakhirnya — sinyal baru, catatan percakapan yang diperbarui. Jika tidak ada gerakan sama sekali, lewati kali ini dan jangan sia-siakan refleksi (biaya model). Sederhana, tetapi menghemat banyak dalam praktik.

Langkah 4: bagaimana refleksi benar-benar bekerja

Ketika benar-benar saatnya untuk merefleksikan, alurnya adalah: pertama-tama atur aktivitas terbaru menjadi "paket," lalu pasangkan dengan petunjuk yang ditulis dengan hati-hati dan serahkan ke model untuk dibaca dan dirangkum.

Paket memiliki anggaran: ambil paling banyak beberapa percakapan baru-baru ini, tambahkan beberapa kelas peristiwa sistem, tinggalkan secara kronologis, dan batasi total di bawah batas token (katakanlah, sepuluh ribu lebih). Tidak seluruh sejarah disekop - itu tidak akan cocok, dan rasio sinyal terhadap kebisingan akan buruk.

Yang benar-benar diperhatikan adalah petunjuknya. Itu membutuhkan model untuk menghasilkan bukan "deskripsi" tetapi Imperatif yang dapat dieksekusi. Perbedaannya terlihat kecil dan sangat penting. Bandingkan:

✗ "Hasil agen terkadang terlalu bertele-tele; berhati-hatilah."

✓ "Saat menjawab pertanyaan kantor keluarga, jangan pernah melebihi 5 poin."

✗ "Pengguna tampaknya lebih menyukai output yang ringkas."

✓ "Saat menjawab dalam konteks kantor keluarga, selalu berikan intinya terlebih dahulu, kemudian alasannya."

Permintaan tersebut secara eksplisit mengarahkan model ke arah struktur "tidak pernah / selalu / kapan-kemudian" dengan kondisi pemicu konkret. Alasannya praktis: catatan yang mengatakan "berhati-hatilah untuk menjadi ringkas" memberi tahu agen bahwa tidak ada yang dapat ditindaklanjuti saat berikutnya ia membacanya, sedangkan "tidak pernah melebihi 5 poin" dapat diikuti secara langsung. Agar perbaikan diri bermanfaat, apa yang disuling harus berupa instruksi yang mendarat — bukan omong kosong yang benar.

Setelah merefleksikan, model dapat melakukan beberapa hal: membuat atau memodifikasi keterampilan, memperbarui pemahamannya tentang dirinya sendiri, atau - jika benar-benar tidak ada yang layak untuk merekam jendela ini - katakan saja "tidak ada yang perlu disimpan." Membiarkannya tidak melakukan apa-apa adalah pilihan desain yang penting: jangan memaksakan hasil pembelajaran, jangan sampai Anda menumpuk tumpukan kebisingan yang tidak berguna.

Disuling menjadi dua hal

Hasil refleksi mendarat di dua tempat.

Salah satunya adalah keterampilan. Setiap keterampilan adalah dokumen Markdown dengan metadata — blok materi depan yang merekam nama, deskripsi, waktu pembuatan, dan pembaruan, berapa kali telah ditambal, dan kapan terakhir kali digunakan — diikuti dengan langkah-langkah atau poin-poin penting yang sebenarnya:

---
name: "Weekly Report Export"
description: "Compile this week's data into the standard weekly-report format"
createdAt: "2025-01-01T00:00:00Z"
updatedAt: "2025-01-08T00:00:00Z"
patchCount: 2
lastUsedAt: "2025-01-09T10:00:00Z"
---

## Steps
1. ...
2. ...

Menyimpan keterampilan sebagai file adalah pilihan pragmatis: seseorang dapat membacanya secara langsung dan mengeditnya secara langsung — tidak terkunci dalam beberapa basis data yang buram.

Yang lainnya adalah pemahaman tentang dirinya sendiri. Bagian ini lebih seperti memo yang ditulis agen untuk dirinya sendiri, dalam dua bagian: satu catatan "apa yang saya kuasai dan di mana saya cenderung tersandung," catatan lainnya "permainan yang telah saya kerjakan untuk pengguna ini dan domain ini." Keduanya memiliki batas panjang, memaksa mereka untuk tetap ringkas — tidak lebih lama lebih baik, tetapi lebih benar lebih baik. Pada awal percakapan berikutnya, konten ini disuntikkan ke dalam prompt sistem, sehingga agen masuk dengan "pemahaman tentang dirinya sendiri."

Keterampilan tidak hanya untuk menulis

Hanya menciptakan keterampilan, dan Anda mengumpulkan tempat barang rongsokan dari waktu ke waktu. Jadi keterampilan memiliki siklus hidup penuh.

Di luar penciptaan, operasi yang lebih umum sebenarnya Menambal: mengubah rentang kecil dalam keterampilan yang ada daripada meruntuhkannya dan menulis ulang. Setiap tambalan menabrak penghitung dan menyegarkan waktu pembaruan. Hal ini memungkinkan keterampilan tumbuh secara bertahap dengan pengalaman, alih-alih ditulis ulang secara grosir di setiap belokan.

Ada langit-langit pada hitungan, juga. Jumlah total keterampilan dibatasi (katakanlah, 200); setelah penuh, menambahkan yang baru mengusir yang lama melalui LRU (yang paling tidak baru digunakan) Untuk memberi ruang. Penggusuran memiliki preferensi: mengusir yang tidak pernah digunakan sejak penciptaan pertama - keterampilan yang tidak pernah dibaca mungkin tidak pernah disuling dengan benar sejak awal, dan lebih baik memberi jalan.

Setiap kali agen membaca keterampilan, "waktu terakhir yang digunakan" akan diperbarui. Stempel waktu ini memberi makan keputusan penggusuran LRU dan membiarkan mekanisme lokal memberi tahu keterampilan mana yang benar-benar digunakan dan mana yang hanya mengambil ruang.

Bagaimana Anda mengetahui apakah suatu keterampilan benar-benar berguna

Ini adalah langkah yang dengan malas dilewati oleh banyak sistem "pembelajaran otomatis": ia mempelajari sesuatu - tetapi apakah itu bagus? Orkas mengubah ini menjadi beberapa metrik, secara lokal. Metrik ini dihitung untuk penggunaan mekanisme evolusi on-machine sendiri - memutuskan keterampilan mana yang akan direvisi atau dihapus - dan juga tidak pernah meninggalkan mesin ini.

Mekanismenya: pada awal setiap giliran, keterampilan yang tersedia muncul dalam indeks prompt sistem - itu adalah satu "kesan"; jika agen benar-benar membaca keterampilan yang berubah, itu adalah satu "panggilan." Bandingkan keduanya dan Anda akan mendapatkan metrik pertama —

  • Tingkat panggilan = doa / kesan. Keterampilan yang ada di sana hari demi hari tanpa pengambil memiliki tingkat pemanggilan yang rendah, yang berarti itu tidak berguna atau dijelaskan sehingga tidak ada yang tahu kapan harus menggunakannya.
  • Tingkat edit-setelah-hit = bagian dari waktu keterampilan dipanggil tetapi pengguna kemudian mengedit hasilnya dengan tangan. Tinggi berarti keterampilan yang dihasilkan tidak sesuai dengan selera pengguna.
  • Tingkat yang tidak efektif = bagian dari waktu keterampilan dipanggil tetapi giliran berakhir dengan kesalahan (non-transien). Tinggi menunjukkan ada sesuatu yang mungkin salah dengan keterampilan itu sendiri.

Di sini Anda melihat bayangan pengecualian itu lagi: ketika menghitung tingkat yang tidak efektif, kesalahan sementara tidak dihitung, dan juga tidak mengubah pengguna secara manual dihentikan setengah jalan - Anda tidak dapat menggantung tanda hitam pada keterampilan yang sangat baik atas satu cegukan jaringan.

Dengan beberapa angka ini, keterampilan mulai dari "mengumpulkan dalam kotak hitam" menjadi "sesuatu yang dapat dievaluasi dan dioptimalkan." Keterampilan mana yang harus direvisi atau dihapus bukan lagi panggilan firasat.

Menutup lingkaran

Merangkai hal-hal di atas bersama-sama, satu siklus penuh berjalan seperti ini:

Agen bekerja melalui tugas-tugas nyata, merekam data berjalan secara lokal dan menandai sinyal di tempat saat berjalan. Ketika siklus refleksi latar belakang tiba, itu memilih agen yang memiliki gerakan baru dan telah melewati cooldown mereka, mengatur aktivitas terbaru masing-masing ke dalam sebuah paket, dan meminta model meninjaunya terhadap pemahaman diri saat ini - menggabungkan apa yang harus digabungkan, mempensiunkan apa yang harus dipensiunkan, menyaring apa yang harus disuling menjadi keterampilan baru. Hasil ulasan menjadi keterampilan dan pemahaman diri. Pada percakapan berikutnya, keterampilan-keterampilan itu masuk ke dalam indeks prompt dan pemahaman diri masuk ke prompt sistem, dan agen berjalan kembali dengan membawa apa yang dipelajarinya di putaran terakhir. Kemudian putaran ini menghasilkan metrik dan sinyal baru, diumpankan kembali ke awal.

Lingkaran bergulir, putaran demi putaran. Tidak setiap putaran membawa lompatan dramatis, tetapi arahnya satu arah: menuju memahami Anda dengan lebih baik dan mengulangi lebih sedikit kesalahan yang sama.

Beberapa trade-off yang layak disebutkan

Melihat ke belakang, beberapa keputusan dalam mekanisme ini adalah kuncinya.

Introspeksi harus murah. Mengamati dirinya sendiri menggunakan metrik biaya model nol; refleksi yang benar-benar mahal dipindahkan ke latar belakang, jarang dijalankan, dan dipagari oleh pemeriksaan kotor terlebih dahulu. Jepit dengan keras pada bagian "mahal" dan seluruh mekanisme benar-benar dapat berjalan.

Lebih baik tidak belajar daripada belajar salah. Pengecualian kesalahan sementara, memungkinkan refleksi untuk "tidak menyimpan apa pun," menulis imperatif yang dapat dieksekusi alih-alih deskripsi yang tidak jelas - semuanya mengarah ke penilaian yang sama: untuk sistem peningkatan diri, belajar ke arah yang salah jauh lebih berbahaya daripada belajar perlahan.

Apa yang dipelajari harus terlihat, dapat diedit, dan ada di tangan Anda. Keterampilan adalah file teks biasa, pemahaman diri adalah memo teks biasa, efektivitas keterampilan dapat diperiksa melalui metrik - dan semua file ini ada di mesin Anda sendiri, bukan di cloud. Tidak ada kotak hitam di mana pun; manusia dapat membukanya dan mengubahnya kapan saja.

Rem pada pembelajaran. Hitung topi, penggusuran LRU, batas panjang - tanpa ini, "pembelajaran berkelanjutan" cepat atau lambat menjadi "kembungan berkelanjutan." Melupakan, menjatuhkan, dan memangkas sama pentingnya dengan mengingat.

Membungkus

Evolusi diri Orkas, pada intinya, menambahkan lingkaran lambat ke agen: lingkaran cepat adalah respons langsung dari setiap percakapan; lingkaran lambat secara berkala melihat ke belakang dan menyaring pengalaman menjadi sesuatu yang dapat digunakan di lain waktu. Bagian yang sulit bukanlah "membuat model mengingat" - ini adalah penilaian teknik yang mudah diabaikan: bagaimana mengetahui pengalaman mana yang layak untuk direkam, bagaimana tidak terlempar oleh kegagalan kebetulan, bagaimana membuat apa yang dipelajari benar-benar dapat dieksekusi, dan bagaimana memangkasnya sebelum membengkak.

Penilaian tersebut, secara bersama-sama, mengubah "semakin berguna semakin banyak Anda menggunakannya" dari jalur pemasaran menjadi mekanisme yang benar-benar berjalan. Seorang asisten yang belajar dari Anda - dan tidak akan mempelajari hal-hal yang salah - mungkin lebih dekat dengan apa yang sebenarnya diinginkan kebanyakan orang daripada yang hanya lebih pintar.

Untuk melihat agen spesialis yang dibangun di atas lingkaran lambat ini, telusuri Tim agen Orkas.