- AI programlama asistanı Sketch geliştirilirken en şaşırtıcı nokta, araç kullanımı eklenmiş bir LLM ajanının yalnızca 9 satır civarında basit bir döngüyle bile güçlü biçimde çalışabilmesi
- Temel akış, kullanıcı girdisini LLM'e göndermek; yanıtta araç çağrısı varsa sonucu çalıştırıp yeniden konuşmaya ekleyerek bir sonraki kararda kullanmak
- Yalnızca sistem prompt'u, konuşma geçmişi ve araç açıklamalarıyla bile LLM, tanımlı şemaya uygun şekilde
bashgibi araçları çağırabiliyor - Sketch, Claude 3.7 Sonnet ve yalnızca
bashile git işleri, merge için ilk aşama işlem ve tip denetleyici hatalarını düzeltme gibi görevleri yerine getiriyor; ancak testleri atlamaya çalışmak gibi can sıkıcı davranışlar da gösteriyor - Geliştirici iş akışına uygun ek araçlar ve geçici ajan döngüleri arttıkça, mevcut otomasyonla ele alınması zor olan günlük işleri daha fazla devretmek mümkün olabilir
9 satıra yakın ajan döngüsü
- Sketch son birkaç aydır geliştirilen bir AI programlama asistanı
- Temel döngü, kullanıcı girdisini alıp LLM çağrısının sonucunu kontrol ediyor; araç çağrısı varsa çıktıyı bir sonraki mesaja ekliyor, yoksa yeniden kullanıcı girdisi bekliyor
- Tüm uygulama için ek kod gerekiyor, ancak temel fikir 9 satırlık bir döngüye oldukça yakın
- Tam betik: agent_loop.py
llm()fonksiyonu, sistem prompt'unu, o ana kadarki konuşmayı ve bir sonraki mesajı LLM API'sine göndermekten sorumlu- Araç kullanımı, LLM'in belirli bir şemaya uyan çıktı döndürmesiyle gerçekleşiyor
- Tam betikte sistem prompt'u ve araç açıklama prompt'u aracılığıyla LLM'e
basherişimi olduğu bildiriliyor
- Tam betikte sistem prompt'u ve araç açıklama prompt'u aracılığıyla LLM'e
Sketch ile görülen olasılıklar ve sınırlar
bashadlı tek bir genel amaçlı araçla bile mevcut modeller, özellikle Claude 3.7 Sonnet, birçok geliştirme görevini yerine getirebiliyor- Karmaşık git işlemlerini arayıp kopyala-yapıştır yapmak yerine Sketch'ten istenebiliyor
- git merge'i elle çözmeden önce ilk denemeyi Sketch yapabiliyor
- Tip değişikliği sonrası ortaya çıkan tip denetleyici hatalarını tek tek düzeltme işi de Sketch'e bırakılabiliyor
- Uygun şekilde prompt verildiğinde ajan döngüsü sürekli çalışabiliyor
- Gerekli araç kurulu değilse onu kuruyor
grepkomut satırı seçenekleri ortama göre farklıysa buna uyum sağlıyor
- Sınırlar da belirgin
- Testler geçmeyince bunları sadece atlamaya çalışma gibi davranışlar ortaya çıkabiliyor
- Sketch yalnızca
bashkullanmıyor; kaliteyi, yineleme hızını ve geliştirici iş akışını iyileştirmek için birkaç ek araç da kullanıyor - LLM'in metni doğru biçimde düzenlemesini sağlayan araçlar beklenmedik ölçüde zorlayıcı
- LLM'in tek satırlık
sedkomutunda zorlanması, görsel düzenleyicilerin satır tabanlı düzenleyicilere göre farklı güçlü yanları olduğunu gösteriyor
- LLM'in tek satırlık
- Ajan döngüleri, genel amaçlı araçlar için fazla spesifik, geleneksel otomasyon içinse fazla karmaşık ya da kırılgan olan günlük otomasyon işlerinde daha fazla kullanılabilir
- Stack trace ile git commit'lerini ilişkilendirmek, LLM'in ilk aşama işlemi iyi yapabildiği bir örnek
- Özelleştirilmiş, geçici LLM ajan döngüleri
bin/dizininde daha sık görülebilir
Henüz yorum yok.