4 puan yazan GN⁺ 2024-10-25 | 1 yorum | WhatsApp'ta paylaş
  • Skyvern, web sitesi tabanlı manuel iş akışlarını LLM ve bilgisayarlı görü ile otomatikleştirir; Playwright uyumlu bir SDK ve kodsuz iş akışı oluşturucu sunar
  • Mevcut tarayıcı otomasyonları DOM ayrıştırma ve XPath’e dayandığı için düzen değişikliklerine karşı kırılganken, Skyvern Vision LLM ile ekran öğelerini anlar ve gerekli eylemleri planlayıp yürütür
  • Skyvern, ilk kez gördüğü web sitelerinde bile görsel öğeleri eylemlerle eşleştirebildiğini ve önceden tanımlı XPath ya da seçiciler olmadan aynı iş akışını birden fazla web sitesine uygulayabildiğini belirtiyor
  • SDK; page.act, page.extract, page.validate, page.prompt ve page.agent komutlarını sağlar; mevcut Playwright eylemlerine doğal dil prompt tabanlı öğe bulma ekler
  • Yerel çalıştırma, Docker Compose, Skyvern Cloud, mevcut Chrome’u kontrol etme, tarayıcı tünelleme, WebBench’te %64,4 doğruluk, AGPL-3.0 lisansı ve yönetilen bulutun antibot özellikleri istisnası birlikte sunuluyor

Skyvern’in çözmeye çalıştığı sorun

  • Skyvern, tarayıcı tabanlı iş akışlarını LLM ve bilgisayarlı görü ile otomatikleştiren bir projedir
  • Playwright üzerine yapay zeka özellikleri ekleyen Playwright uyumlu bir SDK sağlar
  • Teknik ve teknik olmayan kullanıcıların herhangi bir web sitesindeki manuel iş akışlarını otomatikleştirebilmesi için kodsuz iş akışı oluşturucu da sunar
  • Mevcut tarayıcı otomasyonları çoğu zaman web sitesine özel betiklere, DOM ayrıştırmaya ve XPath tabanlı etkileşimlere dayanır; web sitesi düzeni değiştiğinde bozulabilir
  • Skyvern, yalnızca kodla tanımlanmış XPath etkileşimlerini kullanmak yerine web sitesini Vision LLM ile öğrenir ve onunla etkileşime girer

Çalışma şekli ve tasarım

  • Skyvern, BabyAGI ve AutoGPT tarafından popülerleştirilen görev odaklı otonom ajan tasarımından ilham alır
  • Buna Playwright gibi tarayıcı otomasyon kütüphaneleriyle web siteleriyle etkileşime girme yeteneğini ekler
  • Web sitesini anlamak, eylemleri planlamak ve yürütmek için birden fazla ajandan oluşan bir swarm kullanır
  • Bu yaklaşımın avantajları üç başlıkta özetlenir
    • Özel kod olmadan görsel öğeleri gerekli eylemlerle eşleştirerek ilk kez görülen web sitelerinde çalışabilir
    • Gezinme sırasında aranan önceden tanımlı XPath ya da seçiciler olmadığı için web sitesi düzen değişikliklerine karşı daha dayanıklıdır
    • Tek bir iş akışını birden fazla web sitesine uygulayabilir ve her sitede gereken etkileşimleri çıkarımlayabilir
  • Skyvern 2.0 teknik raporu Skyvern 2.0: State-of-the-art web navigation with 85.8 on WebVoyager eval adresinden görülebilir

Çalıştırma yöntemleri

  • Skyvern Cloud, altyapıyı doğrudan yönetmeden Skyvern’i çalıştırmayı sağlayan yönetilen bulut sürümüdür
  • Skyvern Cloud birden fazla Skyvern örneğini paralel çalıştırabilir; antibot algılama karşıtı mekanizmalar, proxy ağı ve CAPTCHA solver içerir
  • Yerel çalıştırma pip install "skyvern[all]" sonrası skyvern quickstart ile başlatılabilir
  • skyvern quickstart ve skyvern run server varsayılan olarak ~/.skyvern/data.db konumundaki SQLite veritabanını kullanır
    • Yerel Postgres container’ı kullanmak için --postgres iletilir
    • Mevcut bir veritabanını kullanmak için --database-string iletilir
    • Docker Compose, birlikte gelen Postgres servisini kullanır
  • Docker Compose ile çalıştırma Postgres, API ve UI’ı tamamen container’laştırır; .env içinde LLM API anahtarları ayarlandıktan sonra docker compose up -d ile başlatılır
  • UI’a varsayılan olarak http://localhost:8080 üzerinden erişilir

SDK ve yapay zeka tabanlı Playwright genişletmesi

  • Skyvern SDK, Playwright’a yapay zeka tabanlı tarayıcı otomasyonu ekleyen bir genişletmedir
  • Kurulum yöntemi kullanım şekline göre ayrılır
    • Python SDK / cloud API: pip install skyvern
    • Yerel sunucu ve paket UI: pip install "skyvern[all]" sonrası skyvern quickstart
    • Postgres kullanan yerel sunucu ve UI: pip install "skyvern[all]" sonrası skyvern quickstart --postgres
    • Mevcut API’ye bağlanan paket UI: pip install "skyvern[ui]" sonrası skyvern run ui --api-url <api-url> --api-key <api-key>
    • TypeScript: npm install @skyvern/client
  • Sayfa nesnesine dört AI komutu eklenir
    • page.act(prompt): “giriş düğmesine tıkla” gibi doğal dille eylem yürütme
    • page.extract(prompt, schema): isteğe bağlı JSON schema ile yapılandırılmış veri çıkarma
    • page.validate(prompt): sayfa durumunu doğrulayıp bool döndürme
    • page.prompt(prompt, schema): isteğe bağlı yanıt schema’sı ile LLM’e serbest prompt gönderme
  • page.agent daha üst düzey iş akışı komutları sağlar
    • page.agent.run_task(prompt): karmaşık çok adımlı görev yürütme
    • page.agent.login(credential_type, credential_id): Skyvern, Bitwarden, 1Password’te saklanan kimlik bilgileriyle kimlik doğrulama
    • page.agent.download_files(prompt): gezinmeden sonra dosya indirme
    • page.agent.run_workflow(workflow_id): önceden oluşturulmuş iş akışını çalıştırma
  • Mevcut Playwright eylemleri isteğe bağlı prompt parametresiyle AI tabanlı öğe bulmayı destekler
    • page.click("#btn") yerine page.click(prompt="Click login button")
    • page.fill("#email", "a@b.com") yerine page.fill(prompt="Email field", value="a@b.com")
    • page.select_option("#country", "US") yerine page.select_option(prompt="Country dropdown", value="US")
    • page.upload_file("#file", "doc.pdf") yerine page.upload_file(prompt="Upload area", files="doc.pdf")
  • Üç etkileşim modu vardır
    • Mevcut Playwright: CSS/XPath seçicileri kullanır
    • AI tabanlı: doğal dil kullanır
    • AI fallback: önce seçiciyi dener, başarısız olursa AI’a geçer

Gelişmiş tarayıcı kontrolü

  • Skyvern kullanıcının mevcut Chrome tarayıcısını kontrol edebilir
  • Bu yöntem mevcut çerezleri, oturumları ve eklentileri olan tarayıcıyı olduğu gibi kullanır
  • Chrome uzaktan hata ayıklama chrome://inspect/#remote-debugging adresinden etkinleştirilebilir
  • skyvern init browser komutu uzaktan hata ayıklama sayfasını açabilir, kullanıcı etkinleştirene kadar bekleyip ayarları kaydedebilir
  • Skyvern Cloud, yerel makinede çalışan Chrome’u da kontrol edebilir
    • skyvern browser serve --tunnel komutu Chrome’u başlatmayı ve Skyvern Cloud’a tünel oluşturmayı tek seferde yapar
    • Zaten giriş yapılmış ya da VPN arkasındaki siteleri otomatikleştirirken kullanışlıdır
  • Tarayıcıyı tünel üzerinden açarken her zaman --api-key kullanılmalıdır
    • API anahtarı olmadan açılırsa URL’ye sahip herkes tarayıcıyı tamamen kontrol edebilir
    • İlgili bilgiler browser tunneling security docs içinde yer alır

Performans ve değerlendirme

  • Skyvern, WebBench benchmark’ında %64,4 doğrulukla SOTA performans kaydettiğini belirtiyor
  • Teknik rapor ve değerlendirme Web Bench: A new way to compare AI browser agents adresinden görülebilir
  • WRITE görevlerinde de en yüksek performanslı ajan olduğunu belirtiyor
    • WRITE görevi örnekleri form doldurma, giriş yapma, dosya indirme gibi işlerdir
    • Bu kategori ağırlıklı olarak RPA’ya yakın görevlerde kullanılır

Tasks ve Workflows

  • Task, Skyvern içindeki temel yapı taşıdır
  • Her Task, bir web sitesinde gezinip belirli bir hedefe ulaşmaya yönelik tekil bir istektir
  • Task için url ve prompt gerekir
  • İsteğe bağlı olarak data schema ve error codes içerebilir
    • data schema, çıktının belirli bir schema’yı izlemesini sağlamak için kullanılır
    • error codes, belirli durumlarda Skyvern çalışmasını durdurmak için kullanılır
  • Workflow, birden fazla Task’ı birbirine bağlayarak tek bir iş birimi oluşturma yöntemidir
  • Örnek iş akışları
    • 1 Ocak sonrasındaki tüm faturaları indirmek için fatura sayfasına gitme, tarihe göre filtreleme, hedef fatura listesini çıkarma ve her faturayı indirme sırasıyla kurgulanabilir
    • E-ticaret satın alma otomasyonu ürün sayfasına gitme, sepete ekleme, sepet durumunu doğrulama ve checkout sırasıyla kurgulanabilir
  • Desteklenen iş akışı özellikleri arasında Browser Task, Browser Action, Data Extraction, Validation, For Loops, File parsing, Sending emails, Text Prompts, HTTP Request Block, Custom Code Block ve block storage’a dosya yükleme yer alır
  • Conditionals “Coming soon” olarak gösterilir

Başlıca özellikler

  • Livestreaming, Skyvern’in web’de ne yaptığını görebilmeniz için tarayıcı viewport’unu yerel makineye gerçek zamanlı aktarır
    • Hata ayıklama, etkileşimleri anlama ve gerektiğinde müdahale için yararlıdır
  • Form Filling, web sitesindeki form input’larını varsayılan olarak doldurabilir
    • Bilgiler navigation_goal ile aktarıldığında Skyvern içeriği anlar ve formu doldurur
  • Data Extraction, web sitesinden veri çıkarır
    • data_extraction_schema ana prompt içinde jsonc formatında belirtilirse çıktı bu schema yapısını izler
  • File Downloading, web sitesinden dosya indirir
    • İndirilen dosyalar block storage yapılandırılmışsa otomatik yüklenir ve UI’dan erişilebilir
  • Authentication, giriş arkasındaki görevleri otomatikleştirmeyi kolaylaştırmak için çeşitli kimlik doğrulama yöntemlerini destekler
  • 2FA desteği çeşitli yöntemlerle sağlanır
    • QR tabanlı 2FA, örn. Google Authenticator, Authy
    • E-posta tabanlı 2FA
    • SMS tabanlı 2FA
    • İlgili dokümantasyon 2FA support adresindedir
  • Parola yöneticisi entegrasyon durumu
    • Destekleniyor: Bitwarden
    • Destekleniyor: Custom Credential Service, HTTP API
    • Desteklenmiyor: 1Password
    • Desteklenmiyor: LastPass

Entegrasyonlar ve desteklenen LLM’ler

  • Skyvern, Model Context Protocol(MCP) desteğiyle MCP destekleyen LLM’lerin kullanılmasını sağlar
  • MCP dokümantasyonu MCP server documentation adresindedir
  • Zapier, Make.com, N8N entegrasyonlarını destekler
  • Desteklenen LLM sağlayıcıları şöyledir
    • OpenAI: GPT-5.5, GPT-5.4, GPT-5, GPT-4.1, o3, o4-mini
    • Anthropic: Claude 4.7 Opus, Claude 4.6 Sonnet/Opus, Claude 4.5 Haiku/Sonnet/Opus
    • Azure OpenAI: Azure aboneliğine dağıtılmış tüm GPT modelleri
    • AWS Bedrock: Claude 4.7, Claude 4.6 Sonnet/Opus, Claude 4.5 Sonnet/Opus
    • Gemini: Gemini 3.1 Pro, Gemini 3 Flash, Gemini 2.5 Pro/Flash
    • Ollama: Ollama üzerinden yerel barındırılan modeller
    • OpenRouter: OpenRouter üzerinden model erişimi
    • OpenAI-compatible: liteLLM aracılığıyla OpenAI API formatını izleyen özel API endpoint’leri
  • Ayrıntılı LLM ayarları LLM Configuration docs içindedir

Gerçek kullanım örnekleri

  • Birden fazla web sitesinde fatura indirme otomasyonu
  • İş başvuru sürecini otomatikleştirme
  • Üretim şirketlerinde malzeme tedarikini otomatikleştirme
  • Kamu web sitelerinde hesap kaydı veya form doldurma
  • Rastgele contact us formlarını doldurma
  • Birden fazla dilde sigorta şirketi web sitelerinde sigorta teklifi arama

Sorun giderme ve operasyon komutları

  • pip install skyvern==1.0.31 için bilinen bir hata nedeniyle (sqlite3.OperationalError) table organizations already exists oluşabilir
    • Kalan SQLite dosyası ~/.skyvern/data.db silinip pip install --upgrade skyvern ile 1.0.32 veya üstüne yükseltildikten sonra skyvern quickstart çalıştırılır
    • 1.0.31’i korumak gerekiyorsa uv pip install skyvern kullanılabilir
  • pip install skyvern, ResolutionImpossible vererek başarısız oluyorsa 1.0.31’deki litellm / fastmcp bağımlılık çözümleme çakışması olabilir
    • 1.0.32 veya üstüne yükseltilir ya da uv pip install skyvern kullanılır
  • Hata ayıklamada yararlı komutlar
    • skyvern run server: Skyvern sunucusunu ayrı çalıştırır
    • skyvern run ui: Skyvern UI’ını çalıştırır
    • skyvern status: servis durumunu kontrol eder
    • skyvern stop all: tüm servisleri durdurur
    • skyvern stop ui: UI’ı durdurur
    • skyvern stop server: sunucuyu durdurur

Lisans ve telemetri

  • Skyvern varsayılan olarak kullanım istatistikleri toplayarak kullanım biçimlerini anlamak için değerlendirir
  • Telemetriyi kapatmak için SKYVERN_TELEMETRY ortam değişkeni false olarak ayarlanır
  • Skyvern açık kaynak deposu yönetilen bulut ile desteklenir
  • Çekirdek mantık bu açık kaynak deposunda AGPL-3.0 lisansıyla sunulur
  • Yönetilen bulut sunumuna dahil olan antibot önlemleri, açık kaynak deposunun çekirdek mantığına istisna olarak belirtilir

1 yorum

 
GN⁺ 2024-10-25
Hacker News yorumları
  • Anthropic’in kısa süre önce duyurduğu Claude’un computer use özelliğini nasıl gördüğünüzü merak ediyorum
    Claude’un computer use özelliği nispeten yeni çıkmışken, Skyvern’ün temel farklılaştırıcı noktalarının ne olduğunu bilmek isterim

    • Bu alanda çalışıyorum; Claude’un pikselleri sayıp ekranla kesin koordinatlar üzerinden etkileşime girme yeteneği, mevcut yaklaşımları iyileştirebilecek epey faydalı bir yenilik gibi görünüyor
      Mevcut yöntemler genelde etkileşime girilebilir öğelerin etrafına görünen sınırlayıcı kutular çizmek, LLM’den click('A12') gibi bir araç çağrısı üretmesini istemek, sonra da A12’yi gerçek HTML öğesine eşleyip Selenium/JS eylemini yürütmek şeklinde ilerliyor. Bu sınırlayıcı kutuları sezgisel kurallarla çizmek de zor; tıklama işleyicisi farklı bir DOM öğesine bağlıysa doğru eylemi gerçekleştirmek de güç olabiliyor
      Görsel öğeleri tekrar HTML öğelerine eşlemek yerine click(x, y) ya da type("foo") gibi üst düzey eylemleri doğrudan ekranda gerçekleştirmek, otomasyon senaryolarında daha etkili olabilir. Ancak şu anda LLM’e HTML’i bağlam olarak vermek, yalnızca saf görsel akıl yürütme kullanmaya kıyasla daha iyi performans verme eğiliminde. Bu yüzden Claude’un yaklaşımı konusunda daha iyimserim; özellikle görsel akıl yürütme gelişmeye devam ederse çok heyecan verici
    • Anthropic’in ürünü ve lansmanı gerçekten harika; yalnızca araç kullanımı + mikro ajanlar + ekran görüntüsü + koordinatlar ile web siteleriyle etkileşime girip pek çok işi başarabilmesi etkileyici
      Yine de rakiplerin benzer şeyler geliştirmeden yerinde durup durmayacağı soru işareti. xAI, Gemini, OpenAI, Mistral, MetaAI ekipleri sadece beklemeyecektir; bu alan geleceğin büyük eksenlerinden biri olma ihtimali yüksek olduğu için tek bir şirketin her şeyi alacağını sanmıyorum
      Ayrıca bu tür sistemlerde gerçek değerin nereden geldiği de önemli. Demolar ve kullanılabilir, havalı bir ürün muhtemelen tek başına yeterli olmayacak; çoğu kişi gerçek iş akışı otomasyonu istiyor. Kişisel kullanım için bu kadarı yeterli olabilir ama şirketler muhtemelen daha karmaşık şeyler isteyecektir
      Son olarak bunun yalnızca Claude’a optimize edilip edilmeyeceği de kritik. Kendi açık kaynak LLM’inizle çalıştırmak ya da piyasadaki en iyi modeli sürekli değiştirerek kullanmak istiyorsanız, büyük sağlayıcıların sunduğu çözümlerde bu esnekliği elde etmek zor olabilir. Çünkü Anthropic’in içeride Claude kullandırmak için teşviki var
      Bu son nokta umut verici. Skyvern’ün açık kaynak kullanıcıları istedikleri modeli seçebilir ve Claude’a bağlı kalmaz. Gemini, GPT-4O, Llama 3.2 gibi açık kaynak modellerde de çalıştırabilirler
  • Bu hafta Playwright üzerine çıkan ilk AI sarmalayıcısı da olmayacaktır, bu ayki ilk örnek de olmayabilir
    İş süreci otomasyonu açısından kullanım, test otomasyonundan daha ikna edici görünüyor. Test otomasyonu sürecin doğruluğuna ve tekrarlanabilirliğine çok daha fazla önem verirken, iş otomasyonunda sonuç doğruysa tuhaf bir yoldan ulaşılması çoğu zaman pek sorun olmayabilir
    Ancak örnek videoda çalıştırmak için epey büyük bir prompt yazılması gerekiyordu ve birkaç KB düzeyindeki payload verisinin de CSV yerine düz metin biçiminde girilmesi gerekiyordu. Beklenti, Playwright kod üretecini doğrudan kullanmak için fazla teknik bulup zorlanan kişilerin yerine geçmesi ise, birini yapıp diğerini yapamayan insanların o kadar çok olup olmadığından emin değilim
    Üstelik kullanıcıların web sitesi giriş bilgilerini ve kredi kartı bilgilerini bile düz metin olarak iletmesi gerekiyormuş gibi görünüyor. Kullanıcının Skyvern hesabı ele geçirilirse ciddi sonuçlardan kaçınmak için, hassas verileri işleme biçiminin çok sağlam olması gerekir
    LLM tabanlı Playwright sarmalayıcıları geliştirenlerin web sitesi yenilenme sıklığını abartma eğiliminde olduğunu da düşünüyorum. Özellikle eski siteler veya kamu siteleri hedeflendiğinde böyle. Örneğin kamu siteleriyle etkileşime giren uzun bir Playwright tarayıcı otomasyonu paketini yıllardır çalıştırdım; kurumun iş prosedürü değiştiğinde yalnızca bir kez bakım yaptım. Skyvern kullanmış olsaydım bile prosedür değiştiği için prompt ve payload’ı da değiştirmem gerekirdi
    Playwright otomasyonundan farkı, her adımın başarı/başarısızlık durumunu ve veri kayıtlarının doğruluğunu assert ifadeleriyle doğrulayabilmem ve böylece prosedür güncellemesi gerektiğini anlayabilmem. Skyvern’de böyle bir seçenek görünmüyor; prosedür değişikliğini kaçırıp yanlış veri girmeye ya da adımları atlamaya başlamasından endişe ediyorum

    • Mevcut prompt ve payload yapısının oldukça karmaşık tarafta olduğu doğru, ancak LLM kullanarak kullanıcı adına bu payload’ı oluşturmaya yardımcı olabiliyorduk
      Teknik kullanıcılar daha fazla öğrenip payload’ı kendileri oluşturmak istiyor; teknik olmayan kullanıcılar ise LLM’den nihai Skyvern prompt’unu oluşturmalarına yardım etmesini isteyerek başlıyor. Beklenmedik bir şeydi ama şaşırtıcı derecede doğal bir akış oldu
      1. aşama karmaşık bir yolla yapmak, yani Playwright; 2. aşama, karmaşık bir prompt ile Playwright’a karşılık gelen şeyi yapmak olan mevcut aşama; 3. aşama ise daha basit bir prompt ile Playwright’a karşılık gelen şeyi yapacak şeyi oluşturma aşaması. Her aşama, otomasyon oluşturmak için gereken teknik eşiği düşürüyor
        Web sitesi değişim sıklığının LLM tabanlı otomasyonun daha küçük değer önerisi olduğunu düşünüyorum. En büyük değer, çok dinamik durumlarla başa çıkabilmesi. Örneğin her hafta açılır teklifleri değişen bir e-ticaret sitesini otomasyona bağlarken Skyvern bunları pek umursamaz, ama Playwright script’i bozulabilir
        Geico örneğini sevmemin nedeni de eskiden otomatikleştirmesi çok zor olan noktayı iyi göstermesi. Form her çalıştırmada değişiyor, ama Skyvern bunu kolayca geçiyor
        Veri doğruluğu açısından, birden çok görevi zincirleyen iş akışı özelliğini yayıma alıyoruz. Bu özelliğin ilginç yanı, devam etmeden önce Skyvern’ün kendi sonucunu doğrulayacağı adımlar ekleyebilmeniz. Örneğin n adet ürünü sepete ekledikten sonra sepete gidip sepetin durumunu doğrulayabilirsiniz
        Tahmin edileceği gibi bu, başka ajanların bu tür araçları kullanarak daha basit prompt’larla kendi iş akışlarını oluşturabilmesi için temel oluyor. Özetle, LLM ile iş süreci otomasyonunu giderek kolaylaştırmaya yönelik uzun yolculuğun ilk adımı
  • Şu anda üçüncü taraf LLM üzerine startup kurmak için ya gerçekten çok cesur olmak ya da kısa vadeli gelir hedefleyen bir iş modeline sahip olmak gerekiyor gibi görünüyor.
    Zaman ufku birkaç ay değil de birkaç yılsa risk büyük. Anthropic dün bu alana girdi; OpenAI ve Google’ın da yakında peşinden gelmesi muhtemel.

    • Vercel, Supabase gibi pek çok şirket AWS’yi “saran” bir biçimde büyük işler kurdu.
      Kelimenin tam anlamıyla AWS ile rekabet ederken aynı zamanda kendi ürünlerini sunmak için AWS’yi kullanıyorlar. Bu pazar büyük ve farklı yaklaşımlara yer var.
      OpenAI, Anthropic ve Google’ın bu alanda büyük işler kuracağı kesin, ama başka birinin iyi bir fikir bulup büyük altyapı sağlayıcılarına dayanarak bunu hayata geçirmesini dışlamak için bir neden yok gibi görünüyor.
    • “Girdi” derken ne kastedildiğini bilmiyorum. Ne olduğunu pek bilmiyorum.
  • AGPL ile açık kaynak yapılmış olması ilginç.
    Belgelerde bunun cevabı zaten olabilir, ama kaynakta hızlıca arama yapınca LangChain kullanmadıklarını ve ileride o topluluğa sunabilmek için bir entegrasyon planlıyor gibi olduklarını gördüm. Skyvern’de düşünce/eylem zinciri mantığı oluşturulurken ne kullanıldığını, bugün sıfırdan başlanacak olsa LangChain/Graph yönünün değerlendirilip değerlendirilmeyeceğini merak ediyorum.

    • Başta AutoGPT framework kullanmıştık.
      Bunun izleri görevler ve adımlar gibi yerlerde hâlâ çokça duruyor, ama daha fazla ölçeklemek ve daha karmaşık işler yapmak isteyince framework’ün çok sınırlayıcı olduğunu gördük.
      Örneğin şu anda SVG analiz eden veya dinamik otomatik tamamlamaları dolduran mikro ajanların çalıştığı çok ajanlı bir mimari kullanıyoruz; böyle bir yapı mevcut framework’lerle gerçekten zor olurdu.
      LangChain gibi framework’ler ilk prototipleme için iyi, ama sınırları zorlamak istediğinizde fazla kısıtlayıcı oluyor.
  • “Tarayıcı otomasyonu” kafa karıştırıyorsa, Selenium benzeri şekilde hedef web sitesini bir programın kullanmasını sağlamak demek.
    Genelde başkasına ait hedef web sitesine klavye girdisi olayları ve fare hareketi/tıklama olayları göndererek sitenin bir şey yapmasını sağlama yöntemi. Bunu öğrendikten sonra açıklamanın kalanı anlaşılır oluyor.

  • Böyle LLM iş akışı otomasyon araçlarını her gördüğümde, her kullanım senaryosu ve uzun vadeli sonuçları hakkında birkaç soru aklıma geliyor.
    Birincisi, araçlar arası birlikte çalışabilirlik eksikliğinden doğan sürtünmeyi mi dolanıyor, merak ediyorum. Örneğin web sitesi sahibi bir REST servisi sunsaydı daha verimli olacak bir iş mi? Böyle araçlar var olduğunda, servis endpoint’i sunmanın makul olduğu durumlarda bile şirketler bunu sunmamaya başlar mı?
    İkincisi, güvenlik gibi nedenlerle servis endpoint’i olmamasının geçerli bir gerekçesi varsa, otomasyon iş akışı bu güvenlik önlemini aşmak için kullanılabilir. Kötü niyetli bir aktör bu aracı önemli servisleri devre dışı bırakmak için kullanabilir mi? Aracı yapan taraf böyle bir aktör olabilir mi? Bayiler, yüksek talep gören ürünleri normal tüketicilerin satın almasını engellemek için kullanabilir mi?
    Üçüncüsü, şirket içi araçların ve süreçlerin ertelenmiş bakımını dolanmak için kullanılırsa, bu tür araçların varlığı yönetime bakımı daha da ertelemek için bir gerekçe sağlayabilir. Sonunda destek ekibinin iş akışında kritik bağımlılık hâline de gelebilir.
    Dördüncüsü, web sitesi tasarımındaki antipattern’leri iyi niyetle dolanmak için kullanılırsa, web sitesi sahibinin o iş akışını bozmak için teşviki olur mu? Nihayetinde bu yalnızca bir silahlanma yarışının bir aşaması mı?
    Karmaşık süreçlerin üzerine yazılım koyup, temel süreci basitleştirmek yerine karmaşıklığın üstünü bir katman daha ekleyerek örttüğünü her gördüğümde bunları düşünüyorum. Projenin yararlı olacağı açık, ama uzun vadeli etkisini merak ediyorum.

    • API’si olmayan web siteleri genelde iki nedenden birine sahip. Biri LinkedIn gibi verilerini korumak istemeleri, diğeri de küçük web siteleri veya devlet portalları gibi API yapacak kaynaklarının olmaması ya da bununla uğraşmak istememeleri.
      Skyvern bu sorunu çözüyor, ama LLM maliyetleri düştükçe bu web sitelerinin API yapma ihtiyacını da ortadan kaldırabilir.
      Skyvern’ün, bu tür davranışları yasaklayan web sitelerinde kullanılmasını istemiyoruz. LinkedIn bunun başlıca örneği. Özellikle antibot veya captcha ile ilgili kodu açık kaynak yapmamamızın nedeni de “Reddit öneri manipülasyonu” gibi talepler almamız. Böyle kötü niyetli aktörleri desteklemek istemiyoruz.
      Yapay zeka tarayıcı otomasyonunun genel olarak net etkisinin olumlu olduğunu düşünüyorum. API ihtiyacı azalırsa hem API’yi hem UI’ı sürdürme gereği azalır, deneyim daha basit hâle gelir ve kod da azalarak sistem daha sadeleşir.
      Son kısımdan %100 emin değilim. Genelde şirketlerin API yapmama nedeninin bütçelerinin olmaması olduğunu varsayıyorum; yani kötü niyetli bir neden olmadığını düşünüyorum. LinkedIn gibi şirketler otomasyon girişimlerini engellemeye çalışacaktır, ama böyle bir kedi-fare oyununa katılmak istemiyoruz.
  • Skyvern’ün yapıları birbirinden farklı birden çok web sitesinden veri çekip tek bir CSV veya JSON dosyasında yapılandırılmış veri olarak birleştirip birleştiremeyeceğini merak ediyorum.
    Örneğin birden fazla banka sitesinden mevduat hesabı faizlerini çekip her hesap için banka adını, banka logosunu, ürün adını ve faiz oranını çıkarabilir ve kaydedilmiş sorguları günlük ya da haftalık gibi bir takvimle çalıştırabilir mi?

    • Teoride mümkün. İş akışı özelliğini kullanarak ayarlayıp, bilgileri toplamak için birden fazla görevi zincirlemek gerekir.
  • Skyvern’ü havayolu web sitelerinde çalıştırma deneyiminiz olup olmadığını merak ediyorum.
    Örneğin A noktasından B noktasına mil bileti için ödül koltuk müsaitliğini çıkarmak gibi. Havayolları sürekli ekranları değiştiriyor ve scraping karşıtı önlemleri de güçlü görünüyor.

    • Henüz tam olarak bu kullanım senaryosuna yardımcı olmadık, ama gerçek bir insanın yerine Alaska ve Southwest uçak bileti satın alımını otomatikleştirmek isteyen bir şirketle entegrasyon yapıyoruz.
      Bu, kredi kartı işlemlerini beta test etmek ve güvenilirliği doğrulamak için kullanılacak.
  • Daha küçük ölçekte benzer bir şey geliştiriyorum; bu alan oldukça umut verici görünüyor.
    Problem kapsamını tek sayfa etkileşimi/scraping ile sınırlayınca şirkette çok kararlı ve faydalı oldu. Yine de ajan tarzı otomasyon da ilginç görünüyor.

    • Özellikle çok dinamik durumlarda faydalı oldu.
      Örneğin yüzlerce web sitesindeki iletişim formlarını doldurmak, bu çeşitliliği normal kodla ele almak açısından gerçekten zor; ama bir yapay zeka ajanı için büyük bir sorun değil.
  • WebArena(https://webarena.dev) veya VisualWebArena(https://jykoh.com/vwa) metrikleri var mı, merak ediyorum.

    • Henüz yok. Dahili veri setimiz fazla yanlı olduğu için herkese açık paylaşmadık, ama birkaç hafta içinde çıkacak.