2 poin oleh GN⁺ 2025-04-08 | Belum ada komentar. | Bagikan ke WhatsApp
  • Ketika sistem berskala besar dan kode yang dibuat cepat oleh AI makin sulit terus dibaca dan dipahami manusia, Glamorous Toolkit mengarah pada Moldable Development Environment yang membantu memahami sistem melalui alat konteks deterministik
  • Untuk setiap pertanyaan, pendekatannya adalah membuat alat konteks yang memampatkan irisan sistem yang dibutuhkan, lalu menempelkannya pada objek atau situasi terkait agar aktif hanya saat diperlukan
  • Agent harness bawaan memungkinkan konteks percakapan, alat, dan keluaran terstruktur didefinisikan lewat skrip, dan dapat digunakan bersama OpenAI, Anthropic, Ollama, atau penyedia kustom
  • Cakupan penggunaannya meluas dari analisis sistem legacy ke penemuan domain, eksplorasi API·data·log, dokumentasi, pemodelan domain, penulisan ulang kode, percakapan AI, hingga inspeksi runtime
  • Ini adalah open source gratis berlisensi MIT, berpusat pada Smalltalk berbasis Pharo namun dapat diperluas ke Rust serta analisis berbagai bahasa dan runtime

Moldable Development Environment untuk memahami sistem dan AI

  • Tujuan Glamorous Toolkit adalah mengoptimalkan cara memperoleh informasi tentang sistem dengan lebih baik
  • Sistem terlalu besar, dan AI menghasilkan kode terlalu cepat, sehingga pendekatan memahami hanya dengan membaca kode menjadi bottleneck
  • Alih-alih pendekatan yang berpusat pada pembacaan, ia memakai alat konteks deterministik yang memampatkan sistem di sekitar masalah
  • Alat-alat ini membantu manusia dan AI menjelajahi sistem lebih cepat, dan bisa dibuat langsung di dalam satu lingkungan terpadu atau dibuat bersama AI
  • Pertanyaan tentang sistem yang sudah ada dapat dijawab melalui narasi yang tersusun dari alat konteks

Agent harness bawaan

  • Agen yang dapat diprogram

    • Konteks percakapan, alat, dan keluaran terstruktur dapat didefinisikan lewat skrip
  • Memori agen yang dapat diperluas

    • Konteks didefinisikan sebagai penjelasan yang dapat dieksekusi dan terhubung ke kode serta contoh
    • Memori agen dapat diperluas ke objek arbitrer dengan memanfaatkan tampilan konteks
  • Perilaku agen yang dapat dijelaskan

    • Alih-alih menerima begitu saja apa yang dikatakan AI telah dilakukannya, kita dapat memahaminya secara deterministik melalui tampilan konteks
  • Objek, bukan teks

    • Objek live dapat dikirim ke percakapan dan objek terstruktur dapat diterima kembali
    • Setiap objek memiliki tampilan konteks yang bisa dijelajahi manusia dan AI
    • Dapat digunakan bersama OpenAI, Anthropic, dan Ollama, serta memungkinkan pembuatan penyedia kustom

Mengapa alat konteks diperlukan

  • Perangkat lunak tidak memiliki bentuk, dan apa pun di dalam sistem perangkat lunak tidak dapat dipersepsi tanpa melalui alat
  • Alat memberi bentuk pada perangkat lunak, sehingga dengan mengendalikan alat, persepsi dan pemahaman juga dapat dikendalikan
  • Perangkat lunak sangat bergantung pada konteks, sehingga alat pun harus memiliki konteks agar efektif
  • Tidak ada satu representasi tunggal untuk sebuah sistem perangkat lunak
    • Bahkan bentuk teks dari kode hanyalah bentuk kebetulan dari media input
    • Representasi yang berbeda dibutuhkan tergantung masalahnya
  • Untuk menampung banyak alat konteks yang sulit diprediksi, Glamorous Toolkit dirancang seperti bahasa yang tersusun dari operator interaktif dan visual
    • Micro-tool dapat diprogram dan dikombinasikan dengan biaya rendah
    • Alat dapat dibuat dengan berbagai cara di dalam lingkungan live

Alat, kompresi, dan inversi kontrol

  • Alat adalah antarmuka untuk berinteraksi dengan komputasi
    • Bisa berupa editor konfigurasi, debugger runtime, atau pemeriksa API
    • Bisa berupa alat yang kompleks, atau alat sederhana yang fokus pada satu pertanyaan
    • Bisa visual atau berbasis teks biasa
    • Bisa umum, atau berupa alat konteks yang hanya relevan untuk masukan yang sempit
  • Alat umum dapat diterapkan luas, tetapi ada biaya karena membuat semuanya tampak serupa
  • Karena nilai sistem perangkat lunak selalu spesifik, alat konteks dapat menyampaikan nilai itu dengan lebih efisien dan lebih nyaman
  • Memahami sistem pada akhirnya adalah proses menjawab pertanyaan
    • Jawabannya ada di dalam artefak sistem, tetapi artefak itu terlalu besar untuk dibaca
    • Alat mengodekan cara memperoleh jawaban secara deterministik
    • Hasil alat bekerja seperti kompresi sistem untuk pertanyaan tersebut
  • Untuk menjawab semua pertanyaan dengan alat konteks deterministik, tiap sistem memerlukan ribuan alat
  • Alih-alih meminta pengguna memanggil alat secara eksplisit, Glamorous Toolkit menghubungkannya ke konteks yang relevan agar aktif hanya saat konteks itu berinteraksi
    • Konteks ini bisa berupa unit dasar seperti objek individual

Alur Moldable Development yang khas

  • Mulai dari pertanyaan yang spesifik
  • Jika belum ada alat yang relevan, buat yang baru
  • Tafsirkan jawabannya dan ambil keputusan
  • Ulangi proses ini

Tampilan objek dan narasi

  • Tampilan yang terhubung ke objek menjadi unit dokumentasi
  • Jika objek dibuat dan diuji sebagai contoh otomatis, kita dapat membuat narasi terdefinisi yang menyampaikan konsep yang bertahan lama, dari tutorial hingga batasan arsitektur dan proses bisnis
  • Narasi ini dapat dirancang untuk manusia maupun AI
  • Karena komponen yang sama terintegrasi ke seluruh pengalaman pengembangan, pengujian otomatis dan refactoring bersama kode menjadi mungkin
  • Narasi terdefinisi adalah fragmen yang dapat digunakan ulang, tetapi karena sifat kontekstual perangkat lunak, narasi dinamis juga dibutuhkan untuk menjawab pertanyaan yang lebih besar sesuai permintaan
    • Investigasi performa klaster
    • Eksplorasi struktur sistem COBOL
  • Narasi dapat menangani objek apa pun yang mewakili berbagai aspek sistem, termasuk domain
  • Narasi dapat ditujukan kepada pemangku kepentingan dengan latar belakang dan minat berbeda, sehingga lingkungan ini memediasi percakapan antar-pemangku kepentingan sistem

Penyuntingan konteks

  • Kontekstualisasi meluas ke semua interaksi dengan sistem, termasuk penyuntingan
  • Sistem tersusun dari banyak aspek
    • Teknologi
    • Aturan domain
    • Konvensi
    • Library
    • Antarmuka
    • Pengujian
    • Artefak hasil generasi
    • Perilaku runtime
  • Penyuntingan bukan sekadar memasukkan teks, melainkan tindakan yang memengaruhi sebagian aspek tersebut
  • Setiap perubahan terjadi di dalam konteks yang menentukan maknanya
  • Editor umum meratakan konteks ini dan memaksa pengguna bekerja pada level editor
  • Editor konteks mengangkat interaksi ke level yang sesuai dengan model mental pengguna

Cakupan penggunaan dan batasan

  • Glamorous Toolkit terutama digunakan untuk membuat alat, tampilan, penjelasan, dan workflow guna memahami serta mengubah sistem
  • Ini bukan platform aplikasi pengganti
  • Dapat digunakan untuk sistem legacy besar, tetapi juga mencakup banyak skenario lain
    • Penemuan domain
    • Eksplorasi API
    • Eksplorasi data
    • Memahami log
    • Dokumentasi
    • Pemodelan domain
    • Penulisan ulang kode
    • Percakapan AI
    • Inspeksi runtime
  • Alat standar berguna untuk masalah umum
  • Untuk pertanyaan spesifik yang muncul di dalam sistem tertentu, dibutuhkan alat konteks

Ringkasan AI dan alat deterministik

  • Sebagian besar pertanyaan tentang sistem memerlukan jawaban deterministik yang berbasis pada informasi sistem
  • Ringkasan AI mungkin praktis, tetapi tidak diketahui apakah akurat atau representatif, dan juga tidak dapat dijelaskan
  • Untuk tujuan engineering, akurasi, representativitas, dan keterjelasan sangat penting
  • Alat konteks deterministik juga bisa memiliki bias, tetapi bias itu dapat diperiksa sebelum menafsirkan output
  • Detail lebih lanjut dapat dilihat di Rewilding Software Engineering Bab 6

Implementasi dan teknologi pendukung

  • Dengan Glamorous Toolkit, alat konteks dapat dibuat tanpa terlalu sulit
  • Lingkungan ini dibangun seperti bahasa yang tersusun dari operator visual dan interaktif, sehingga alat mudah diprogram dan digabungkan dalam berbagai cara
  • Saat membuka Glamorous Toolkit, Anda dapat melihat lebih dari 6.000 alat konteks yang digunakan selama proses pengembangan
  • Untuk memanfaatkan potensi alat sepenuhnya, pemrograman tetap diperlukan, dan pendekatan utamanya adalah Pharo di dalam Smalltalk
  • Alasan utama memakai Smalltalk adalah karena ia menyediakan sistem reflektif yang memungkinkan lingkungan diubah secara live bahkan saat sedang digunakan
  • Saat ini, sebagian besar Glamorous Toolkit juga diimplementasikan dalam Rust dan bekerja bersama berbagai teknologi
  • Dukungan untuk Pharo sangat matang, tetapi sistem ini dirancang agar dapat diperluas ke teknologi dan bahasa lain
    • Contoh source yang dapat dianalisis: Rust, Java, C#, Ruby/Rails, Python, TypeScript, JavaScript, React, COBOL
    • Contoh runtime yang dapat digunakan bersama: GraphQL, Python, JavaScript, Gemstone
  • Dukungan ini tersedia secara bawaan, dan juga bisa dipandang sebagai contoh yang dapat dibuat sendiri pengguna untuk tiap bahasa dan teknologi

Lisensi dan materi

Belum ada komentar.

Belum ada komentar.