20 poin oleh GN⁺ 2025-11-23 | Belum ada komentar. | Bagikan ke WhatsApp
  • Proses membangun agen masih kompleks, dan ada masalah ketika abstraksi SDK sering runtuh pada tahap penggunaan tool yang sebenarnya
  • Manajemen caching berbeda di tiap platform, sehingga pengelolaan manual lebih mudah diprediksi dan efisien, dengan pendekatan titik cache eksplisit dari Anthropic SDK yang lebih disukai
  • Reinforcement loop berperan penting dalam pelacakan status pekerjaan dan pemulihan kegagalan, dan kegagalan perlu diisolasi secara terpisah untuk mencegah loop runtuh
  • Manajemen status bersama membutuhkan hierarki mirip sistem file, yang digunakan sebagai fondasi pertukaran data antar tool eksekusi kode dan penalaran
  • Pemilihan output tool dan model masih rumit, dengan model Haiku, Sonnet, dan Gemini tetap menjadi opsi utama, menunjukkan kompleksitas desain agen yang terus berlanjut

Memilih SDK agen

  • Saat membangun agen, perlu memilih apakah akan langsung memakai SDK dasar seperti OpenAI dan Anthropic, atau memakai lapisan abstraksi tingkat tinggi seperti Vercel AI SDK atau Pydantic
    • Penulis menyebut bahwa dulu ia hanya memakai abstraksi provider dari Vercel AI SDK, tetapi kini tidak akan mengulang pilihan itu
  • Perbedaan antar model begitu besar sehingga perlu membangun lapisan abstraksi agen sendiri, dan abstraksi dari SDK yang ada tidak cukup cocok
    • Ada perbedaan halus dalam kontrol cache, kebutuhan reinforcement, dan prompt tool
  • Vercel SDK menimbulkan masalah pada penanganan tool di sisi provider
    • Ada kasus tool pencarian web Anthropic merusak riwayat pesan
    • Saat memakai Anthropic SDK secara langsung, pengelolaan cache dan pesan error lebih jelas
  • Kesimpulannya, saat ini pendekatan memakai SDK secara langsung tanpa lapisan abstraksi dinilai lebih menguntungkan

Pelajaran dari manajemen caching

  • Pendekatan caching berbeda di tiap platform, dan Anthropic mengenakan biaya untuk caching serta meminta pengelolaan eksplisit
    • Pengelolaan manual lebih disukai karena membuat biaya dan tingkat pemanfaatan cache lebih mudah diprediksi
  • Caching eksplisit memungkinkan eksekusi percabangan percakapan atau pengeditan konteks
    • Beberapa titik cache dapat ditempatkan setelah system prompt, pada bagian awal percakapan, dan seterusnya
  • Untuk menjaga cache, system prompt dan pemilihan tool dibuat statis, sementara informasi dinamis seperti waktu dikirim sebagai pesan setelahnya
  • Reinforcement loop dipakai aktif bersama cache untuk meningkatkan prediktabilitas biaya dan kontrol

Reinforcement di dalam loop agen

  • Saat menjalankan tool, bukan hanya hasil sederhana yang bisa dikembalikan, tetapi juga informasi seperti tujuan, status pekerjaan, dan penyebab kegagalan dapat disuntikkan kembali ke dalam loop
  • Tool self-reinforcement seperti tool todo write di Claude Code membantu jalannya loop
  • Saat lingkungan berubah atau perlu pemulihan dari kegagalan, informasi perubahan status disuntikkan untuk menjaga stabilitas loop
    • Contoh: saat mencoba ulang berdasarkan data yang rusak, pesan dapat disisipkan untuk mengarahkan kembali ke tahap sebelumnya

Mengisolasi kegagalan

  • Tugas yang diperkirakan akan gagal berulang kali dipisahkan ke subagent agar dijalankan terpisah, lalu hanya hasil yang berhasil dilaporkan ke loop utama
    • Ringkasan percobaan yang gagal dipakai sebagai bahan pembelajaran untuk tugas berikutnya
  • Di Anthropic SDK, catatan kegagalan bisa dihapus lewat fitur context editing
    • Tidak semua informasi kegagalan perlu dipertahankan; hanya bagian yang dibutuhkan yang disisakan
    • Namun, context editing dapat menyebabkan invalidasi cache dan meningkatkan biaya

Subagent dan sistem file bersama

  • Sebagian besar agen berbasis eksekusi dan generasi kode, sehingga membutuhkan penyimpanan data bersama
    • Untuk itu digunakan virtual file system (VFS)
  • Beragam tool seperti pembuatan gambar, kompresi, dan penalaran harus berbagi path file yang sama
    • Tool ExecuteCode dan RunInference harus bisa mengakses sistem file yang sama
  • Struktur seperti ini penting untuk menghilangkan bottleneck pertukaran data dan menangani pekerjaan beruntun di dalam loop

Output tool

  • Agen tidak bekerja sebagai sesi chat, melainkan sebagai loop pesan internal privat, dan komunikasi dengan luar dilakukan melalui output tool
    • Output tool menangani komunikasi eksternal seperti pengiriman email
  • Kontrol nada dan gaya penulisan pada output tool masih sulit, dan saat memakai LLM pendukung (Gemini 2.5 Flash) terjadi penurunan kualitas serta tambahan latensi
    • Tool bawahan tidak memiliki konteks yang cukup sehingga menghasilkan keluaran yang kurang akurat
  • Jika output tool tidak dipanggil saat loop berakhir, pesan reinforcement disisipkan untuk mendorong pemanggilan

Pemilihan model

  • Haiku dan Sonnet digunakan sebagai model loop utama karena performanya bagus dalam pemanggilan tool
  • Gemini 2.5 cocok untuk ringkasan dokumen besar, pemrosesan PDF, dan ekstraksi informasi gambar
    • Model Sonnet punya kelemahan karena cukup sering terkena filter keamanan
  • Model keluarga GPT tidak menunjukkan hasil besar di loop utama
  • Biaya total tidak bisa dinilai hanya dari biaya token
    • Model pemanggilan tool yang lebih baik bisa menyelesaikan pekerjaan yang sama dengan token lebih sedikit

Pengujian dan evaluasi (evals)

  • Otomatisasi pengujian dan evaluasi agen disebut sebagai masalah yang paling sulit
    • Tidak seperti prompt, evaluasi sederhana tidak bisa dilakukan hanya dari sistem eksternal
    • Diperlukan observability atau instrumentation berbasis data eksekusi nyata
  • Disebutkan bahwa hingga kini belum ditemukan metode evaluasi yang benar-benar memuaskan

Pembaruan agen coding

  • Perubahan terkait agen coding tidak terlalu besar
    • Baru-baru ini penulis sedang menguji agen Amp dan menilai tinggi struktur interaksi antara subagent Oracle dan loop utama
  • Amp dan Claude Code terasa dirancang berpusat pada developer yang benar-benar memakai tool mereka sendiri

Belum ada komentar.

Belum ada komentar.