Simulasi sistem operasi neural dengan Gemini 2.5 Flash-Lite

25 JUNI 2025
D Shin Senior Staff Software Engineer
Ali Eslami Research Scientist
Madhavi Sewak Technical Director

Dalam komputasi tradisional, antarmuka pengguna sudah ditentukan sebelumnya. Setiap tombol, menu, dan jendela dikodekan dengan cermat oleh developer. Namun, bagaimana jika antarmuka bisa dibuat secara real time, menyesuaikan diri dengan konteks pengguna dengan setiap interaksi? Kami mengeksplorasi pertanyaan ini dengan membangun sebuah prototipe riset (lihat aplikasi demo di Google AI Studio) untuk menciptakan pengalaman komputer generatif yang tanpa batas.

Prototipe kami menyimulasikan sistem operasi dengan setiap layar dibuat secara real time oleh model bahasa besar. Model ini menggunakan Gemini 2.5 Flash-Lite, sebuah model dengan latensi rendah yang sangat penting untuk menciptakan interaksi responsif yang terasa instan. Alih-alih menavigasi sistem file statis, pengguna berinteraksi dengan lingkungan yang dibangun model dan dibangun kembali dengan setiap klik. Postingan ini menguraikan konsep teknis inti di balik prototipe ini.

Mengondisikan model untuk pembuatan UI secara real time

Untuk membuat UI secara real time, model perlu diberi struktur dan konteks yang jelas untuk setiap permintaan. Kami merancang prompt dengan membagi input model menjadi dua bagian: “konstitusi UI” dan “interaksi UI”.

Konstitusi UI adalah prompt sistem yang berisi serangkaian aturan tetap untuk pembuatan UI. Aturan-aturan ini menentukan elemen-elemen yang konsisten, seperti pengaturan gaya visual tingkat OS, format layar utama, serta logika untuk menyematkan elemen seperti peta.

Interaksi UI adalah objek JSON yang menangkap tindakan terbaru pengguna, seperti klik mouse pada ikon. Objek ini berfungsi sebagai kueri spesifik yang memicu model untuk menghasilkan layar berikutnya. Sebagai contoh, mengklik ikon “Save Note” di dalam aplikasi Notepad akan menghasilkan objek seperti berikut:

{
  // `id`: The unique ID from the button's `data-interaction-id` attribute.
  id: 'save_note_action',
 
  // `type`: The interaction type from `data-interaction-type`.
  type: 'button_press',
 
  // `value`: Because the button has a `data-value-from` attribute, the system
  // retrieves the content from the textarea with the ID 'notepad_main_textarea'.
  value: 'Meeting notes\n- Discuss Q3 roadmap\n- Finalize budget',
 
  // `elementType`: The HTML tag of the element that was clicked.
  elementType: 'button',
 
  // `elementText`: The visible text inside the button.
  elementText: 'Save Note',
 
  // `appContext`: The ID of the application the user is currently in.
  // This comes from the `activeApp` state in `App.tsx`.
  appContext: 'notepad_app'
}
JSON

Pendekatan pengaturan konteks dua bagian ini memungkinkan model mempertahankan tampilan dan nuansa yang konsisten saat menghasilkan layar baru berdasarkan input pengguna yang spesifik secara real-time.


Menggunakan pelacakan interaksi untuk kesadaran kontekstual

Interaksi tunggal memberikan konteks langsung, tetapi rangkaian interaksi menyampaikan narasi yang lebih kaya. Prototipe kami bisa menggunakan rekam jejak dari N interaksi sebelumnya untuk menghasilkan layar yang lebih relevan secara kontekstual. Sebagai contoh, konten yang dihasilkan aplikasi kalkulator dapat berbeda tergantung apakah pengguna sebelumnya mengunjungi keranjang belanja atau aplikasi pemesanan perjalanan. Dengan menyesuaikan panjang rekam jejak ini, kami bisa mengatur keseimbangan antara akurasi konteks dan variasi UI.


Streaming UI untuk pengalaman responsif

Untuk membuat sistem terasa cepat, kami tidak bisa menunggu model menghasilkan seluruh layar UI sebelum rendering. Prototipe kami memanfaatkan streaming model dan parser native browser untuk mengimplementasikan rendering progresif. Ketika model menghasilkan kode HTML dalam potongan kecil, kami terus menambahkannya ke status komponen kami. React kemudian merender ulang konten, sehingga browser dapat menampilkan elemen HTML yang valid segera setelah diterima. Bagi pengguna, hal ini menciptakan pengalaman antarmuka yang muncul di layar hampir secara instan.


Mencapai statefulness dengan grafik UI generatif

Secara default, model kami membuat layar baru dari awal untuk setiap input pengguna. Ini berarti mengunjungi folder yang sama dua kali dapat menghasilkan konten yang sama sekali berbeda. Pengalaman stateless non-deterministik ini mungkin tidak selalu disukai karena GUI yang biasa kita gunakan bersifat statis. Untuk memperkenalkan statefulness pada prototipe, sistem demo kami memiliki opsi untuk membangun cache dalam memori guna memodelkan grafik UI khusus sesi. Ketika pengguna membuka layar yang telah dibuat, sistem akan menyajikan versi grafik yang tersimpan, tanpa perlu kueri ulang ke Gemini. Ketika pengguna meminta layar baru yang tidak ada dalam cache, grafik UI akan bertambah secara bertahap. Metode ini memberikan status tanpa mengorbankan kualitas output generatif, yang bisa menjadi efek samping hanya dengan menurunkan suhu pengambilan sampel model.


Aplikasi potensial untuk UI generatif yang tepat waktu

Meskipun ini adalah prototipe konseptual, framework yang mendasarinya bisa diterapkan pada kasus penggunaan yang lebih praktis.

  • Pintasan kontekstual: Sistem bisa mengamati pola interaksi pengguna dan menghasilkan panel UI sementara untuk mempercepat penyelesaian tugas. Misalnya, saat pengguna membandingkan penerbangan di beberapa situs web, sebuah widget mengambang dapat muncul secara tepat waktu, menyajikan tombol-tombol yang dihasilkan secara dinamis untuk membandingkan harga atau langsung memesan penerbangan, sehingga beberapa langkah pengguna dapat dipersingkat.

  • “Mode generatif” dalam aplikasi yang sudah ada: Developer bisa menambahkan “mode generatif” ke dalam aplikasi mereka. Di Google Kalender, misalnya, pengguna dapat mengaktifkan mode ini untuk melihat UI yang muncul tepat saat dibutuhkan. Ketika memindahkan undangan kalender, alih-alih dialog standar, sistem bisa menghasilkan layar yang menampilkan pilihan waktu alternatif terbaik sebagai serangkaian tombol yang langsung dapat diklik berdasarkan jadwal peserta. Ini akan menciptakan pengalaman hybrid ketika elemen UI generatif dan statis berpadu secara mulus dalam satu aplikasi.


Menjelajahi konsep-konsep baru seperti ini membantu kami memahami bagaimana paradigma baru dalam interaksi manusia dan komputer terus berevolusi. Seiring dengan model yang semakin cepat dan kemampuannya terus berkembang, kami percaya bahwa antarmuka generatif merupakan bidang yang sangat menjanjikan untuk riset dan pengembangan di masa depan.