ai-agents-for-beginners

Bilgisayar Kullanım Ajanları (CUA) Oluşturma

Bilgisayar kullanım ajanları, bir kişi gibi web siteleriyle etkileşime girebilir: bir tarayıcı açarak, sayfayı inceleyerek ve gördüklerinden sonraki en iyi işlemi yaparak. Bu derste, Airbnb’de arama yapan, yapılandırılmış liste verilerini çıkaran ve Stockholm’deki en ucuz konaklamayı belirleyen bir tarayıcı otomasyon ajanı oluşturacaksınız.

Ders, AI destekli gezinme için Browser-Use, tarayıcı kontrolü için Playwright ve Chrome DevTools Protocol (CDP), görme özellikli akıl yürütme için Azure OpenAI ve yapılandırılmış çıkarım için Pydantic’i birleştirir.

Giriş

Bu ders şunları kapsayacak:

Öğrenme Hedefleri

Bu dersi tamamladıktan sonra, şunları bileceksiniz:

Kod Örneği

Bu derste bir not defteri eğitimi bulunmaktadır:

Önkoşullar

Kurulum

Not defterinde kullanılan paketleri yükleyin:

pip install browser_use playwright python-dotenv
playwright install chromium

Not defteri tarafından kullanılan Azure OpenAI ortam değişkenlerini ayarlayın:

AZURE_OPENAI_ENDPOINT=...
AZURE_OPENAI_API_KEY=...
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME=...
# İsteğe bağlı: Atlandığında varsayılan olarak en son API sürümünü kullanır
AZURE_OPENAI_API_VERSION=...

Mimari Genel Bakış

Not defteri hibrit bir tarayıcı otomasyon iş akışını gösterir:

  1. Chrome, hem Playwright hem de Browser-Use’un aynı tarayıcı oturumunu paylaşabilmesi için CDP etkin olarak başlar.
  2. Bir Browser-Use ajanı, Airbnb’yi açmak, açılır pencereleri kapatmak ve Stockholm’de arama yapmak gibi açık uçlu gezinme görevlerini yönetir.
  3. Aktif sayfa, listelerin başlıklarını, gecelik fiyatları, değerlendirmeleri ve URL’leri çıkarmak için yapılandırılmış bir Pydantic şeması ile incelenir.
  4. Python mantığı çıkarılan listeleri karşılaştırır ve en ucuz sonucu vurgular.

Bu yaklaşım, Browser-Use’ın iyi olduğu esnek, görmeye dayalı akıl yürütmeyi korurken ihtiyacınız olduğunda kesin tarayıcı kontrolü sağlar.

Temel Çıkarımlar ve En İyi Uygulamalar

Ajan ve Aktör kullanımı için ne zaman

Senaryo Ajan Kullan Aktör Kullan
Dinamik düzenler Evet, AI sayfa değişikliklerine uyum sağlar Hayır, kırılgan seçiciler bozulabilir
Bilinen yapı Hayır, ajan doğrudan kontrolden daha yavaştır Evet, hızlı ve hassas
Öğeleri bulma Evet, doğal dil iyi çalışır Hayır, kesin seçiciler gereklidir
Zamanlama kontrolü Hayır, daha az öngörülebilir Evet, beklemeler ve denemeler üzerinde tam kontrol
Karmaşık iş akışları Evet, beklenmeyen UI durumlarını yönetir Hayır, açık dallanma gerekir

Browser-Use En İyi Uygulamalar

  1. Keşif ve dinamik gezinme için bir ajanla başlayın.
  2. Etkileşim öngörülebilir olduğunda doğrudan sayfa kontrolüne geçin.
  3. Çıkarılan verinin doğrulandığı ve tip güvenli olduğu yapılandırılmış çıktı modelleri kullanın.
  4. Görünür UI değişikliklerini tetikleyen işlemlerden sonra stratejik gecikmeler ekleyin.
  5. Hata ayıklamayı kolaylaştırmak için yineleme sırasında ekran görüntüleri alın.
  6. Web sitelerinin değişmesini bekleyin ve açılır pencereler ile düzen değişiklikleri için yedek stratejiler tasarlayın.
  7. Esneklik ve doğruluk için ajan ve aktör kalıplarını harmanlayın.

Tarayıcı Ajanları için Güvenlik Önlemleri

Tarayıcı ajanları canlı web sitelerinde çalıştığından, yalnızca bilinen bir API çağıran bir betikten daha sıkı sınırlar gerekir. Bir not defteri demosundan gerçek iş akışına geçmeden önce, ajanın ne görebileceği, neye tıklayabileceği ve neyi gönderebileceği konusunda kontroller tanımlayın.

  1. Gezinme ortamını kapsamlı belirleyin. Ajanı, görev için gereken etki alanları ile sınırlı özel bir tarayıcı profili veya kum havuzunda çalıştırın.
  2. Gözlem ile eylemi ayırın. Ajana önce arama yapma, okuma ve veri çıkarma izni verin; formları gönderme, mesaj gönderme, seyahat rezervasyonu yapma, satın alma, kayıt silme veya hesap ayarlarını değiştirme gibi işlemler için açık onay adımı gerektir.
  3. Şifreleri ve gizli bilgileri istemlere ve izlere koymayın. Parolalar, ödeme bilgileri, oturum çerezleri veya ham kişisel verileri model bağlamına koymayın. Kimlik doğrulama için kullanıcıyı devralmaya izin verin ve günlüklerden hassas alanları sansürleyin.
  4. Sayfa içeriğini güvenilmez giriş olarak değerlendirin. Bir web sitesi, kullanıcı için değil agent için talimat içerebilir. Ajan, hedefini değiştirmesini isteyen, verileri ifşa eden, korumaları devre dışı bırakan veya ilgisiz siteleri ziyaret etmeye zorlayan sayfa metinlerini görmezden gelmelidir.
  5. Riskli adımlar için belirleyici kontroller kullanın. Nihai adımı kullanıcının onaylamasını istemeden önce mevcut URL, sayfa başlığı, seçilen öğe, fiyat, alıcı ve eylem özetini kod ile doğrulayın.
  6. Bütçeleri ve durdurma koşullarını belirleyin. Ajanın kullanabileceği işlem, deneme, sekme ve dakika sayılarını sınırlayın. Sayfa durumu belirsizse tıklamaya devam etmek yerine durdurun.
  7. Her şeyi değil faydalı kanıtları kaydedin. Başarı özetleri, zaman damgaları, URL’ler, seçilen öğe açıklamaları ve ekran görüntüsü referanslarını tutarak hataların incelenmesini sağlayın, gereksiz hassas sayfa içeriğini saklamaktan kaçının.

Airbnb örneğinde varsayılan güvenli işlem, listelerde arama yapıp fiyatları çıkarmaktır. Giriş yapma, ev sahibiyle iletişim veya rezervasyon tamamlama ayrı, kullanıcı onaylı işlem olmalıdır.

Gerçek Dünya Uygulamaları

Gerçek Dünya Örneği: Microsoft Project Opal

Bu derste oluşturduğunuz ajan, bir bilgisayar kullanım ajanı (CUA)’nın küçük, yerel bir versiyonudur — bir kişinin kullandığı şekilde tarayıcıyı yöneten bir program. Microsoft aynı fikri, Microsoft 365 Copilot’taki bir özellik olan Project Opal (Frontier) ile kurumsal ortama getiriyor.

Project Opal ile bir görevi tanımlarsınız ve ajan, kuruluşunuzun tarayıcı tabanlı uygulamaları, siteleri ve verileri üzerinde Windows 365 Bulut PC’de güvenli bilgisayar kullanımı ile sizin adınıza çalışır. Arka planda asenkron çalışır ve istediğiniz zaman işi yönlendirebilir veya kontrolü üstlenebilirsiniz. Örnek işler arasında:

Opal, üretim kalitesinde, güvenilir bir bilgisayar kullanım ajanının nasıl göründüğüne dair yararlı bir referans sunar — ve önceki derslerdeki kavramları pekiştirir:

Bu kurstaki kavram Project Opal uygulaması
İnsan döngüde (Ders 06) Opal giriş bilgileri, hassas veriler veya belirsiz talimatlar için duraklar ve asla şifre girmez veya formları göndermek için açık onay olmadan işlem yapmaz. Görev sırasında Kontrolü Üstlenebilir ve Kontrolü Geri Verebilirsiniz.
Güvenilir ve güvenli ajanlar (Dersler 06 & 18) İzole edilmiş bir Windows 365 Bulut PC’de çalışır, varsayılan olarak yalnızca tarayıcı erişimine izin verir (diğer bilgisayar erişimi Intune ile engellenir), kendi kimliğinizi kullanır, sadece yetkinizle erişime izin verir ve tüm eylemleri denetlenebilirlik için kaydeder.
Planlama ve üstbiliş (Dersler 07 & 09) Opal önce işi için bir plan oluşturur, sonra kendi akıl yürütmesini adım adım denetler ve şüpheli etkinlik fark ederse duraklar.
Yeniden kullanılabilir yetenekler / araçlar (Ders 04) Beceriler tekrarlanabilir işler için talimat yazmanıza (bir .md dosyasından içe aktarılabilir veya Opal ile oluşturulabilir) ve bunları konuşmalar arasında yeniden kullanmanıza olanak tanır.

Erişilebilirlik: Project Opal şu anda Microsoft 365 Copilot aboneliğiyle Frontier erken erişim programı kullanıcılarına sunulmaktadır ve yöneticinizin kurulumu tamamlaması gerekir. Deneysel bir Frontier özelliği olduğundan, özellikler zamanla değişebilir.

Bilgi Kontrolü

Bir sonraki derse geçmeden önce anlayışınızı test edin.

1. Bir tarayıcı tabanlı bilgisayar kullanım ajanı, yalnızca API iş akışına göre ne zaman daha uygundur?

Cevap Görev web UI'da görünenlere bağlıysa, site gerekli API'yi sunmuyorsa veya sayfa sık değişiyorsa (sabit API veya seçici mantığı kırılgan olur), tarayıcı ajanı kullanın. Aynı görev için stabil bir API varsa, genellikle daha hızlı, test edilmesi kolay ve güvenli olduğu için API tercih edilmelidir.

2. Hibrit iş akışında, hangi kısımlar ajan tarafından, hangi kısımlar doğrudan Playwright kodu tarafından yönetilmelidir?

Cevap Ajana açık uçlu gezinme ve dinamik UI durumları gibi işleri bırakın, örneğin doğru sayfayı bulma veya beklenmeyen açılır pencereleri kapatma. Sayfa yapısı bilindiğinde ve işlem hassasiyet, deneme, bekleme veya belirleyici doğrulama gerektirdiğinde doğrudan Playwright kontrolüne geçin.

3. Airbnb örneği, kullanıcının rezervasyon yapmak isteyebileceği bir liste bulur. İş akışı oturum açmadan, ev sahibi ile iletişim kurmadan veya rezervasyon yapmadan önce ne olmalıdır?

Cevap İş akışı durmalı ve açık kullanıcı onayı istemelidir. Öncesinde, seçilen liste, mevcut URL, fiyat, tarih ve yapılacak işlem açıkça özetlenmelidir. Arama yapmak ve fiyat çıkarmak bağımsız olabilir; hesap erişimi, mesajlar, satın alımlar ve rezervasyonlar kullanıcı onaylı olmalıdır.

4. Bir web sayfası, ajanı özgün talimatlarını görmezden gelmeye, başka bir siteye gitmeye ve kayıtlı kimlik bilgilerini açığa çıkarmaya çağırıyor. Ajan bu metni nasıl değerlendirmelidir?

Cevap Bunu güvenilmez sayfa içeriği olarak değerlendirin, geliştirici veya kullanıcı talimatı olarak değil. Ajan izin verilen etki alanı ve görev kapsamı içinde kalmalı, sırları ifşa etmeyi reddetmeli ve hedefi değiştiren, korumaları devre dışı bırakan veya ilgisiz sitelere gönderen metni takip etmemelidir.

5. Bir tarayıcı ajanı çalışırken hangi kanıtlar tutulmalı ve nelerden kaçınılmalıdır?

Cevap İşlem özetlerini, zaman damgalarını, URL'leri, seçilen öğe açıklamalarını, doğrulama sonuçlarını ve ekran görüntüsü referanslarını saklayın ki işlemler incelenebilsin. Parolalar, ödeme bilgileri, oturum çerezleri, ham kişisel veriler veya tüm sayfa içerikleri yalnızca belirli bir saklama ve gizlilik nedeni varsa saklanmalıdır.

Ek Kaynaklar

Önceki Ders

Microsoft Agent Framework’ü Keşfetme

Sonraki Ders

Ölçeklenebilir Ajanların Dağıtımı


Feragatname: Bu belge, AI çeviri hizmeti Co-op Translator kullanılarak çevrilmiştir. Doğruluk için çaba sarf etsek de, otomatik çevirilerin hata veya yanlışlık içerebileceğini lütfen unutmayınız. Orijinal belge, kendi dilinde yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımı sonucu ortaya çıkabilecek yanlış anlamalardan veya yanlış yorumlamalardan sorumlu değiliz.