Browser Automation Tool Foundry Ajanlarına Tarayıcı Veriyor
Yapay zeka ajanları veriyi yorumluyor, API çağırıyor, karmaşık iş akışlarını koordine ediyor. Kurumsal süreçlerin büyük bölümü ise hala web arayüzlerine bağlı: iç portallar, yönetim konsolları, tedarikçi sistemleri, dashboard’lar, API kapsamı tam olmayan uygulamalar. Microsoft Foundry’deki Browser Automation Tool genel kullanıma (GA) açıldı ve hedefi tam olarak bu boşluğu kapatmak. Ajana yönetilen bir tarayıcı veriyor; ajan siteler arasında geziniyor, içerik inceliyor, form dolduruyor, doğal dil talimatlarıyla çok adımlı tarayıcı iş akışlarını yürütüyor.
Aracın altyapısında Playwright Workspaces var. Ölçeklenebilir tarayıcı altyapısı, kurumsal ağ bağlantısı, gözlemlenebilirlik ve insan denetimi böylece doğrudan Foundry deneyiminin içine taşınıyor.
Hangi ajan modelleriyle çalışıyor?
Browser Automation Tool, Foundry’de ajan geliştirmenin farklı yollarıyla uyumlu çalışacak şekilde konumlandırılmış:
- Prompt agents, talimatı, modeli ve araç yapılandırmasını tanımlayarak tarayıcı yetenekli bir ajan kurmanın en hızlı yolu.
- Hosted agents, tarayıcı otomasyonunu Microsoft Agent Framework veya başka bir çerçeveyle kurulan özel orkestrasyonla birleştirme imkanı veriyor.
- GitHub Copilot harness, karmaşık ve uzun süre çalışan ajanlar için yönetilen bir kurgu.
Ajan sayfalarla gözlemle ve eylem al (observe-and-act) döngüsü üzerinden etkileşime giriyor. Mevcut sayfayı inceliyor, uygun tarayıcı işlemini seçiyor, eylemi gerçekleştiriyor, devam etmeden önce ortaya çıkan durumu doğruluyor. Dinamik içeriğe, sayfa yeniden render’larına, diyalog kutularına ve değişen uygulama akışlarına uyum sağlamayı kolaylaştıran yaklaşım bu.
Ajan ortamının içine tarayıcı binary’leri kurmak ya da tarayıcı altyapısı işletmek gerekmiyor; izole bulut tarayıcı oturumlarını talep üzerine Playwright Workspaces sağlıyor ve yönetiyor. Tek şart, bu kaynağın ayrı bir Azure kaynağı olarak provisioning edilmesi.
Public web ve özel ağ: aynı iş akışında
Kurumsal iş akışları nadiren tamamen public internette yaşar. Kritik işler çoğu zaman iç uygulamaları, özel yönetim portallarını veya yalnızca bir sanal ağ üzerinden erişilebilen servisleri kapsar.
Browser Automation Tool ajanlara hem public web sitelerine hem de Azure sanal ağı arkasındaki özel uygulamalara erişim veriyor. Playwright Workspaces’in özel ağ bağlantısı sayesinde ajan, aynı iş akışı içinde public ve dahili sistemler arasında geçiş yapabiliyor, kurumun ağ sınırları da korunuyor. Önemli bir operasyonel ayrıntı var, özel ağ bağlantısının Playwright Workspace provisioning aşamasında eklenmesi gerekiyor.
Kaynakta öne çıkarılan senaryolar şunlar:
- İç ve dış iş portalları arasında bilgi işleme
- Çalışan onboarding ve IT yönetim akışlarının otomasyonu
- Tedarikçi sitelerinden veri alıp özel uygulamalara girme
- Müşteri sorunlarını public deneyimler ile dahili destek araçları üzerinden inceleme
- Modern API sunmayan legacy sistemlerin otomasyonu
Erişim tarafında Microsoft Entra kimlikleri ve Azure role-based access control (RBAC) kullanılarak ajana yalnızca ilgili iş yükü için gereken yetkiler verilebiliyor.
Toolbox üzerinden yerel remote MCP entegrasyonu
Araç, Microsoft Foundry’deki Toolboxes deneyimiyle doğrudan entegre. Toolbox, araçları derleyip yönetmek, yönetişim uygulamak ve birden fazla ajan arasında paylaşmak için yeniden kullanılabilir bir yapı. Geliştirici Browser Automation Tool’u bir toolbox’a ekliyor, yayımlıyor, MCP uyumlu uç nokta üzerinden Prompt agents ya da Hosted agents’a bağlıyor.
Kaynakta paylaşılan Python örneği, toolbox oluşturmayı ve onu MCP aracı olarak hosted agent’a bağlamayı gösteriyor:
import asyncio
from agent_framework import Agent
from agent_framework.foundry import FoundryChatClient, FoundryToolbox
from azure.ai.projects import AIProjectClient
from azure.ai.projects.models import (
BrowserAutomationToolboxTool,
BrowserAutomationToolParameters,
BrowserAutomationToolConnectionParameters,
)
from azure.identity import AzureCliCredential
PROJECT_ENDPOINT = "https://.services.ai.azure.com/api/projects/"
BROWSER_CONNECTION_ID = "your-browser-automation-connection-id"
async def main() -> None:
credential = AzureCliCredential()
# 1. Add the Browser automation tool to a toolbox. Using a toolbox is the recommended way
# to give agents tools: you curate tools once and reuse the toolbox across agents.
# See /azure/foundry/agents/concepts/toolbox-overview
project = AIProjectClient(endpoint=PROJECT_ENDPOINT, credential=credential)
tool = BrowserAutomationToolboxTool(
browser_automation=BrowserAutomationToolParameters(
connection=BrowserAutomationToolConnectionParameters(
project_connection_id=BROWSER_CONNECTION_ID,
)
)
)
toolbox = project.toolboxes.create_version(
name="browser-automation-toolbox",
description="Toolbox with the Browser Automation tool",
tools=[tool],
)
# 2. The toolbox exposes an MCP-compatible endpoint.
TOOLBOX_MCP_URL = (
f"{PROJECT_ENDPOINT}/toolboxes/{toolbox.name}"
f"/versions/{toolbox.version}/mcp?api-version=v1"
)
# 3. Attach the toolbox to the hosted agent as an MCP tool.
toolbox_tool = FoundryToolbox(credential, url=TOOLBOX_MCP_URL)
agent = Agent(
client=FoundryChatClient(credential=credential),
instructions=(
"You help with browser automation tasks. Use the Browser Automation tool "
"to navigate and read information from websites."
),
tools=[toolbox_tool],
)
result = await agent.run(
"Go to finance.yahoo.com, search for MSFT, click 'YTD' on the price chart, "
"and report the year-to-date percent change."
)
print(f"Agent: {result.text}")
if __name__ == "__main__":
asyncio.run(main())
Not: Blog yazısındaki örnek parçada 3. adımın hemen öncesinde eksik veya bozuk bir satır bulunuyor. Kodu uyarlarken resmi dokümantasyondaki quickstart’ı referans almak daha güvenli olur.
Bu mimarinin sağladıkları kaynakta şöyle sıralanıyor:
- Yerel tarayıcı kurulumu gerektirmeyen yönetilen uzak tarayıcı
- Standart MCP tabanlı araç keşfi ve çağrımı
- Birden çok ajan arasında yeniden kullanılabilir araç yapılandırmaları
- Merkezi kimlik ve bağlantı yönetimi
- Araç izin listeleri (allow list) ve onay kontrolleri
- Microsoft Foundry içinde tracing ve gözlemlenebilirlik
Pratik bir başlangıç stratejisi de öneriliyor. Önce yalnızca gezinme ve sayfa inceleme araçlarıyla başlanıyor; tıklama, yazma, form doldurma veya dosya yükleme gibi durum değiştiren yetenekler ise ancak senaryo gerektirdiğinde açılıyor.
Live View ve Take control: insanı akışta tutmak
Tarayıcı iş akışları zaman zaman beklenmedik uygulama durumlarıyla, belirsiz seçeneklerle veya insan muhakemesi gerektiren eylemlerle karşılaşır. Araç bu noktada iki mekanizma sunuyor:
- Live View, geliştirici ve operatörlerin aktif tarayıcı oturumunu gerçek zamanlı izlemesini sağlıyor. Ajanın nereye gittiği görülebiliyor, akışın neden tıkandığı anlaşılabiliyor, sorun tüm çalışmayı baştan üretmeden incelenebiliyor.
- Take control ile bir kişi tarayıcıyla geçici olarak doğrudan etkileşime girebiliyor. Beklenmedik bir sayfa durumu çözülebiliyor, denetimli bir adım tamamlanabiliyor ya da kontrol ajana geri verilmeden önce akış yönlendirilebiliyor.
Sorumlu AI, gözlemlenebilirlik ve yönetişim
Tarayıcı eylemleri gerçek sistemleri etkileyebildiği için araç, sınırları belirli ve denetlenebilir iş akışları kurmaya yönelik kontroller içeriyor. Kurumların uygulayabileceği denetimler:
- Hassas veya durum değiştiren işlemlerden önce onay zorunluluğu
- Ajanları yalnızca görev için gereken tarayıcı araçlarıyla sınırlama
- Her iş akışı için izole tarayıcı oturumları kullanma
- Live View ile tarayıcı etkinliğini inceleme, Take control ile yönlendirme
- Managed identity ve Azure RBAC ile en az ayrıcalık ilkesini uygulama
Web içeriği her zaman güvenilmez girdi olarak ele alınmalı; kaynakta altı çizilen temel güvenlik ilkesi bu. Sistem politikaları sayfa içeriğinden ayrı tutulmalı, hassas hedefler doğrulanmalı, sonuç doğuran eylemler için insan onayı istenmeli.
Gözlemlenebilirlik tarafında da bir uyarı var. Foundry trace’leri prompt’lar, model yanıtları, sistem talimatları ve araç çağrısı argümanları ile sonuçları dahil hassas bilgi içerebiliyor. Bu veriyi korumak isteyen ekiplere, hassas üretken yapay zeka içeriğini özel AppGenAIContent tablosuna yönlendirmeyi, tabloyu varsayılan olarak reddeden (deny-by-default) bir erişim modeliyle korumayı ve erişimi yalnızca yetkili kimliklere Azure RBAC üzerinden vermeyi anlatan rehber öneriliyor. Bu koruma akışı dokümantasyonda şu an preview yeteneği olarak belirtiliyor, üretimde kullanmadan önce gereksinimlerinin gözden geçirilmesi gerekiyor.
Nasıl başlanır?
Kaynaktaki başlangıç adımları oldukça kısa: bir Playwright Workspace oluşturun veya mevcut bir tanesini seçin, Browser Automation Tool’u Microsoft Foundry’de bir toolbox’a bağlayın, toolbox’ı ajanınıza ekleyin.
Duyurunun pratik karşılığı, iş akışı bir web arayüzüne geldiğinde ajanın durmak zorunda olmaması. Ajan public ve özel web üzerinde gezinebiliyor, eylem alabiliyor, sonucu doğrulayabiliyor, gerektiğinde insanla birlikte çalışabiliyor.
Kaynaklar ve İleri Okuma
- Browser automation tool in Microsoft Foundry is now GA — Microsoft Foundry Blog (orijinal yazı)
- Foundry ajanlarıyla tarayıcı görevlerini otomatikleştirme
- Tarayıcı otomasyonlu hosted agent dağıtımı (quickstart)
- Playwright Workspaces remote MCP sunucusunu kullanma
- Playwright Workspaces dokümantasyonu
- Microsoft Foundry trace’lerinde hassas içeriğe erişimi kısıtlama
- Quickstart dokümanının GitHub üzerindeki kaynağı
- Foundry Hosted Agents ile Microsoft Agent Framework’ü prod’a taşımak
- Foundry Hosted Agents’ta network egress denetimi







Yorum gönder