Agent'lar
Hafıza ve bağlam
Koşular arasında ders taşınır, ham geçmiş taşınmaz. Bir agent çalışırken tam olarak neyi görür?
Bu, Orbi'yi ilk kullananların en çok şaşırdığı konudur ve bilinçli bir tasarım kararıdır.
Taşınan ders, taşınmayan geçmiş
Bir agent, geçen hafta başka bir görevde ne yaptığını ya da dün hangi raporu yazdığını hatırlamaz. Her koşu temiz başlar.
Buna karşılık o koşulardan damıtılan kısa notlar taşınır ve kapsamdaki notların tamamı her yeni koşunun başında agent'a kendiliğinden hatırlatılır. Bu notlar çoğu zaman kendi kendine oluşur, siz bir düzeltmeyi bir kez yaparsınız ve sistem onu ders olarak saklar (Workspace hafızası). Yani hatırlanan şey geçmişin kendisi değil, geçmişten çıkan derstir.
Ham geçmiş şu yüzden taşınmaz. Her koşuya bütün geçmişi koymak iki şeyi birden bozar. Bağlam sınırsız büyür, yani maliyet ve gecikme artar. Bir de agent, alakası olmayan eski bilgiyi mevcut işe karıştırmaya başlar ve bunu sessizce yapar. Orbi bunun yerine iki ayrı kanal kullanır, kalıcı dersler için hafıza notları ve o işe özgü bilgi için açık referans.
Referans: mention
Bir şeye işaret etmek için mention kullanılır.
@collection.icerik_fikirleri koleksiyonundaki son 10 kaydı incele,
@task.142'deki geri bildirimi dikkate al ve @file.marka-rehberi
dosyasındaki ses tonuna uy.Tam liste: Mention söz dizimi.
Mention bir işaretçidir, kopya değil
Mention edilen şeyin içeriği bağlama otomatik enjekte edilmez. Agent yalnızca "böyle bir şey var ve adı bu" bilgisini alır, içeriğe ihtiyaç duyduğunda kendi aracıyla çeker.
| Mention | Agent'ın kullandığı araç |
|---|---|
@task.<no> |
read_task |
@collection.<ad> |
read_collection |
@collection.<ad>.<id> |
read_record |
@file.<ad> |
read_file |
@agent.<ad> |
read_agent_config |
Sebebi token ekonomisidir. 500 kayıtlı bir koleksiyonu mention ettiğinizde tümü bağlama kopyalansa hem pahalı olurdu hem de model asıl işi kalabalıkta kaybederdi. Bu şekilde agent, ihtiyacı olan kısmı seçerek okur.
Bir agent çalışırken tam olarak neyi görür?
Sırayla şunları görür.
flowchart TB W["Workspace bağlamı"] --> P["Proje açıklaması"] P --> D["Bugünün tarihi"] D --> T["Task: başlık · açıklama<br/>öncelik · etiket · durum"] T --> C["Workspace'teki koleksiyon listesi"] C --> CL["Checklist güncel durumu"] CL --> S["Genel özet (overall summary)"] S --> CM["Tüm yorumlar (kronolojik)"] CM --> M["Kapsamdaki hafıza notları"]
Bu katmanların her biri bir işe yarar.
- Workspace bağlamı ve proje açıklaması "bu iş kimin için, hangi bağlamda" sorusunu cevaplar. Proje açıklamasını boş bırakmak buradaki en büyük kalite kaybıdır. İkisinin de uzunluk sınırı vardır: workspace bağlamı en fazla 4000 karakter, proje açıklaması en fazla 2000 karakter olabilir. Sayaç kalın yazı, başlık ve mention işaretlerini de sayar, çünkü agent'a giden metin odur. Sınırı aşan metin kaydedilmez ve sayaç kaç karakter fazla olduğunu söyler.
- Bugünün tarihi gerekir, çünkü modeller kendi eğitim tarihini "bugün" sanar ve bu satır olmadan "son çeyrek" gibi ifadeler yanlış hesaplanır. Tarih ve saatler workspace'in saat diliminde verilir: agent'lar yorum ve dosya damgalarını sizin saatinizle okur ve sizinle sizin saatinizden konuşur. Workspace ilk açıldığında bu dilim tarayıcınızdan alınır; Ayarlar → Genel bölümünden değiştirilebilir.
- Koleksiyon listesi, agent aynı amaçla yeni bir koleksiyon açmasın ve mevcudu kullansın diye verilir.
- Checklist durumu nerede kalındığını gösterir, böylece tamamlanmış adım tekrar edilmez.
- Genel özet, uzun görevlerde önceki cycle'ların damıtılmış halidir.
- Yorumlar insan geri bildirimini ve diğer agent'ların notlarını taşır.
- Hafıza notları koşular arasında öğrenilen kalıcı dersleri taşır. Blok en sonda durur, yani veri talimattan sonra gelir.
Alt-agent'lar daha az görür
Orchestrator'ın çağırdığı alt-agent'lar daraltılmış bir brief alır ve checklist, yorumlar ve hafıza bloğu bu brief'e girmez. Sebebi hem token ekonomisi hem odaklanmadır, çünkü "üçüncü rakibin fiyatlandırmasını çıkar" işini yapan bir agent'ın tüm tartışma geçmişine ihtiyacı yoktur. Alt-agent hafızaya ihtiyaç duyarsa onu kendi aracıyla sorgular.
Kalıcı bilgi nereye konur?
Bir bilginin görevler arasında yaşamasını istiyorsanız dört doğru yer vardır.
| Yer | Ne için |
|---|---|
| Proje açıklaması | Her çalıştırmada geçerli olan kalıcı kurallar, yani marka sesi, hedef kitle ve kaçınılacaklar |
| Agent'ın görev tanımı | O agent'ın her zaman uyacağı davranış ve çıktı biçimi |
| Koleksiyon | Birikmesi ve sorgulanması gereken veri, yani geçmiş çıktılar, kararlar ve kayıtlar |
| Hafıza notu | Koşulardan öğrenilen kısa dersler ve tercihler, çoğu kez kendiliğinden oluşur (Workspace hafızası) |
Sohbet geçmişinin kendisi bunlardan biri değildir. Bir sohbette konuşulanlar sonraki göreve taşınmaz, taşınan tek şey o sohbetten damıtılan hafıza notudur.
Akışlar için de geçerli
Zamanlanmış bir iş de öğrendiği dersleri yanında taşır, ama önceki çalışmasının çıktısını hatırlamaz. "Dün ne yazdığımı bilsin" istiyorsanız yol storage'dan geçer. İş çıktısını bir koleksiyona yazar, sonraki çalıştırma o koleksiyonu okur. Bu aynı zamanda tekrar yazımı önleyen mekanizmayı da devreye sokar, ayrıntısı semantik duplicate önleme sayfasındadır.