Managed Deep Agents 0.10: tarayıcı kullanımı ve async subagent'lar
LangChain'in Managed Deep Agents ürünü v0.10 ile public beta'da iki yenilik getiriyor: LangSmith sandbox'ında çalışan gerçek bir tarayıcı ve orchestrator'ı bloke etmeyen async subagent'lar. Sürüm ayrıca connectors.mcp() düzenini kaldırıyor; MCP sunucu tanımlarının tools/mcp.ts veya tools/mcp.py dosyalarına taşınması gerekiyor.
Kilit noktalar
- Tarayıcı ayrı bir LangSmith sandbox'ında çalışıyor ve ajana browser_snapshot, browser_run, browser_screenshot, browser_handoff tool'ları otomatik ekleniyor.
- scope="thread" her konuşmaya turlar boyunca yeniden kullanılan temiz bir tarayıcı verir; scope="user" ise kişi başına tek tarayıcı tutup site girişlerinin konuşmalar arasında korunmasını sağlar.
- browser_handoff login duvarında ve iki adımlı doğrulamada pencereyi insana devrediyor; kimlik bilgileri modele ya da trace'lere gitmiyor, bağlantılar 15 dakika sonra geçersiz oluyor.
- Subagent tanımında "async": True kullanmak orchestrator'ı bloke etmiyor; ajan görevleri async task tool'ları ile başlatıp kontrol ediyor ve polling yapmadan bildirim alıyor.
- Kırıcı değişiklik: connectors.mcp() ve connectors/ klasörü kaldırıldı, MCP sunucuları tools/mcp.ts veya tools/mcp.py içinde tanımlanıyor; sandbox scope seçeneği de kalktı.
- Async subagent'lar ajanın sandbox'ını paylaştığı için önce yazılan dosyaları görüyor; run'ları LangSmith'te ajanın run'ı altında listeleniyor.
LangChain'in hosted agent runtime'ı Managed Deep Agents, v0.10 sürümüyle public beta'da. Öne çıkan yenilik browser use: ajan artık API'si olmayan sitelerde de işlem yapabiliyor. Proje kökünde define_browser() tanımlamak, LangSmith sandbox'ı içinde bir tarayıcı başlatıyor ve ajana dört tool ekliyor: browser_snapshot, browser_run, browser_screenshot ve browser_handoff. scope ayarı, her konuşmanın temiz bir tarayıcı almasını (thread) ya da kişi başına tek tarayıcıda girişlerin konuşmalar arasında korunmasını (user) belirliyor.
Subagent'lar artık "async": True ile işaretlenebiliyor; uzun devredilen işler kendi thread'inde çalışırken orchestrator kullanıcıyla konuşmaya devam ediyor. Ajan bu görevleri async task tool'ları ile başlatıyor, kontrol ediyor ve iptal ediyor, polling yapmadan bildirim alıyor. Kırıcı değişiklik: connectors.mcp() ve connectors/ düzeni kaldırıldı, MCP sunucuları tools/mcp.ts veya tools/mcp.py dosyalarına taşınıyor.
Gerçek dünyada kullanımı
- API'si olmayan bir portalda abonelik iptali veya masraf formu dolduran, şifre ve 2FA adımında pencereyi browser_handoff ile kullanıcıya bırakan ajan.
- Build sonrası uygulamayı tarayıcıda açıp UI değişikliğinin gerçekten render edildiğini, render öncesi HTML ile uğraşmadan doğrulayan coding agent.
- Kullanıcı Slack'te soruyu netleştirmeye devam ederken uzun araştırma görevlerini arka planda paralel yürüten orchestrator.
- scope="user" kullanan bir Slack destek ajanı: kişi tüm konuşmalarında siteye yalnızca bir kez giriş yapıyor.
Neden önemli
Girişler için insan devri ve bloke etmeyen subagent'lar, hosted ajanları demo seviyesinde tutan iki engeli kaldırıyor: login duvarları ve devredilen işin bitmesini uzun uzun beklemek.