Chrome’da Gemini Becerileriyle Akıllı İş Akışları Oluşturmak Mümkün Mü?
Dijital dünyada her geçen gün artan bilgi yoğunluğu ve tekrarlayan görevler, hepimizin zamanını ve enerjisini tüketen birer yük haline gelebiliyor. Web sayfaları arasında gezinmek, belirli bilgileri toplamak, verileri karşılaştırmak veya basit formları doldurmak gibi rutin işler, manuel olarak yapıldığında verimliliği ciddi anlamda düşürüyor. Peki ya tarayıcınız, bu görevleri sizin adınıza akıllıca yürüten, kendi kendine karar verebilen ve hedeflere ulaşmak için adımlar atabilen bir dijital asistan haline gelseydi? İşte bu noktada, Google’ın gelişmiş yapay zeka modeli Gemini’nin becerilerini Chrome tarayıcısının güçlü altyapısıyla birleştirerek “Agentic İş Akışları” oluşturma fikri devreye giriyor. Bu makalede, Gemini’nin yeteneklerini kullanarak Chrome’da nasıl otonom ve akıllı iş akışları tasarlayabileceğinizi, adım adım örneklerle ve pratik ipuçlarıyla keşfedeceğiz. Gelin, dijital asistanınızla tanışın ve web deneyiminizi baştan aşağı dönüştürelim.
Dijital Asistanınızla Tanışın: Agentic İş Akışları ve Web’in Geleceği
Günümüzün hızla değişen dijital ortamında, web tarayıcıları sadece içerik görüntüleme araçları olmaktan çok daha fazlasını sunuyor. Tarayıcılar, iş akışlarımızın merkezi haline gelmiş durumda ve bu durum, tekrarlayan görevlerin otomasyonu için büyük bir potansiyel taşıyor. Bir e-ticaret sitesinde ürün araştırması yapmak, birden fazla kaynaktan haberleri özetlemek, finansal verileri takip etmek veya sosyal medya etkileşimlerini yönetmek gibi pek çok işlem, genellikle manuel müdahale gerektiriyor. Bu da hem zaman kaybına yol açıyor hem de insan hatası riskini artırıyor. İşte bu problemin çözümünde, yapay zekanın “agentic” (ajanik) yaklaşımı kilit bir rol oynuyor. Agentic yapay zeka sistemleri, belirli bir hedefe ulaşmak için kendi başlarına kararlar alabilen, plan yapabilen ve bu planları uygulayabilen otonom varlıklar olarak tanımlanabilir. Geleneksel otomasyon kurallara dayalı ve statikken, agentic sistemler dinamik, duruma duyarlı ve adaptiftir.
Google Gemini gibi çok modlu ve gelişmiş dil modelleri, bu agentic sistemlerin beyni olma potansiyelini taşıyor. Gemini’nin doğal dil anlama, akıl yürütme ve özellikle “function calling” (fonksiyon çağırma) yeteneği, tarayıcı ortamında gerçek dünya etkileşimlerini simüle etmemizi sağlıyor. Örneğin, Gemini’ye bir web sayfasındaki belirli bir bilgiyi bulmasını ve ardından bu bilgiyi kullanarak başka bir işlem yapmasını söyleyebiliriz. Bu, sadece bir metin üretme veya soru cevaplama yeteneğinin ötesinde, dış dünya ile etkileşime giren, eyleme dönük bir yapay zeka anlamına geliyor. Chrome tarayıcısı ise bu agentic zekayı hayata geçirmek için mükemmel bir platform sunuyor. Güçlü uzantı (extension) API’ları sayesinde, tarayıcının DOM (Belge Nesne Modeli) yapısına erişebilir, web sayfalarıyla etkileşime geçebilir ve kullanıcı arayüzünü özelleştirebiliriz. Gemini’nin zekasıyla birleşen bu tarayıcı yetenekleri, web’deki iş akışlarımızı daha önce hiç olmadığı kadar akıllı, verimli ve otonom hale getirme fırsatı sunuyor. Bu makale boyunca, bu sinerjinin nasıl kurulacağını ve günlük dijital yaşamınızda nasıl devrim yaratabileceğini adım adım inceleyeceğiz. Agentic iş akışları, web’in geleceğini şekillendiren bir teknoloji olarak kapımızı çalıyor ve biz de bu kapıyı aralamaya hazırız.
Temel Kavramlar: Agentic Yapay Zeka Nedir ve Gemini Becerileri Neleri Kapsar?
Agentic yapay zeka, son yıllarda yapay zeka alanında en çok ilgi çeken konulardan biridir ve geleneksel yapay zeka sistemlerinden önemli farklılıklar gösterir. Geleneksel sistemler genellikle belirli bir girdiye dayalı olarak önceden tanımlanmış bir çıktıyı üretmeye odaklanırken, agentic sistemler daha otonom, hedefe yönelik ve adaptiftir. Bir “agent” (ajan), çevresini algılayabilen, bu algılarına dayanarak akıl yürütebilen, bir hedef belirleyebilen, bu hedefe ulaşmak için bir plan oluşturabilen ve bu planı uygulamak üzere eylemler gerçekleştirebilen bir varlıktır. Bu süreç, genellikle bir geri bildirim döngüsü (feedback loop) içerir; yani ajan, eylemlerinin sonuçlarını gözlemleyerek planını veya hedefini revize edebilir. Bu, robotik, oyun yapay zekası ve elbette web otomasyonu gibi alanlarda büyük avantajlar sağlar. Agentic sistemler, karmaşık ve dinamik ortamlarda daha esnek ve etkili çözümler sunar. Örneğin, bir web sayfasındaki bir butona tıklamak gibi basit bir otomasyon yerine, bir agentic sistem, “X ürününü en uygun fiyata bul ve sepete ekle” gibi daha yüksek seviyeli bir hedefi gerçekleştirmek için birden fazla adımı kendi başına planlayabilir ve uygulayabilir.
Bu agentic yapının merkezinde, Google’ın gelişmiş yapay zeka modeli Gemini yer alıyor. Gemini, çok modlu (multimodal) bir model olup, sadece metinleri değil, aynı zamanda görselleri, sesleri ve videoları da anlayabilir ve işleyebilir. Bu yetenek, onu web ortamındaki çeşitli veri türleriyle etkileşime geçmek için ideal bir aday yapar. Gemini’nin temel becerileri şunları kapsar:
* Doğal Dil Anlama ve Üretme: İnsan dilini yüksek doğrulukla anlayabilir ve bağlama uygun, tutarlı metinler üretebilir. Bu, kullanıcı komutlarını yorumlamak ve eylemlerin sonuçlarını kullanıcıya açıklamak için kritik öneme sahiptir.
* Akıl Yürütme ve Problem Çözme: Karmaşık senaryoları analiz edebilir, mantıksal çıkarımlar yapabilir ve sorunlara yaratıcı çözümler üretebilir. Bu, bir hedefe ulaşmak için birden fazla adımı içeren bir plan oluşturmak için gereklidir.
* Çok Modluluk (Multimodality): Metin, görsel, ses gibi farklı veri türlerini aynı anda işleyebilme yeteneği. Örneğin, bir web sayfasının ekran görüntüsünü analiz ederek görsel öğelerin konumunu veya işlevini anlayabilir.
* Function Calling (Fonksiyon Çağırma): Bu, Gemini’nin en kritik agentic becerilerinden biridir. Gemini, belirli bir senaryoda harici araçları veya API’ları çağırması gerektiğine karar verebilir. Örneğin, “hava durumunu öğren” komutuna karşılık, bir hava durumu API’sını çağırmak için gerekli parametreleri üretebilir ve bu API’dan gelen cevabı yorumlayabilir. Web bağlamında, bu, Gemini’nin bir Chrome uzantısı aracılığıyla web sayfasında belirli bir JavaScript fonksiyonunu çalıştırmasını veya tarayıcı API’larını kullanmasını sağlayabilir.
Gemini’nin bu “function calling” yeteneği, onu pasif bir bilgi işlemciden aktif bir aracıya dönüştürür. Bir Chrome uzantısı geliştirdiğimizde, Gemini’ye belirli web etkileşimlerini (örneğin, bir elemente tıklama, bir metin alanına yazma, bir sayfanın HTML içeriğini çekme) gerçekleştirecek araçlar (fonksiyonlar) tanımlayabiliriz. Gemini, kullanıcının isteği veya belirlenen hedef doğrultusunda, hangi aracı ne zaman ve hangi parametrelerle kullanması gerektiğine kendisi karar verebilir. Bu sayede, Gemini, tarayıcı içinde adeta bir “beyin” görevi görerek, web’deki karmaşık görevleri otonom bir şekilde tamamlayabilir. Bu temel yeteneklerin birleşimi, Chrome’da gerçekten akıllı ve eyleme dönük agentic iş akışları oluşturmamızın önünü açar.
Uygulamalı Kısım: Chrome Ortamında Gemini Destekli İş Akışı Nasıl Tasarlanır?
Chrome ortamında Gemini destekli agentic iş akışları tasarlamak, temel olarak bir Chrome uzantısı (extension) geliştirmek ve bu uzantı aracılığıyla Gemini API ile etkileşim kurmak üzerine kuruludur. Bu süreç, tarayıcıyı Gemini’nin “gözleri” ve “elleri” haline getirmek anlamına gelir. Aşağıda, bu entegrasyonu adım adım nasıl gerçekleştirebileceğinizi ve basit bir agentic görevi nasıl tasarlayacağınızı inceleyeceğiz.
Adım 1: Gemini API’ye Erişim ve Kimlik Doğrulama
İlk olarak, Gemini API’ye erişim sağlamanız ve bir API anahtarı edinmeniz gerekir. Google AI Studio veya Google Cloud Console üzerinden Gemini API’ye kaydolabilir ve projeniz için bir API anahtarı oluşturabilirsiniz. Bu anahtar, uygulamanızın Gemini hizmetlerine güvenli bir şekilde bağlanmasını sağlar.
Adım 2: Bir Chrome Uzantısı Temeli Oluşturma
Bir Chrome uzantısı, temel olarak bir manifest.json dosyası ve bir veya daha fazla JavaScript dosyası içerir. Bu dosyalar, uzantınızın davranışını, izinlerini ve kullanıcı arayüzünü tanımlar.
manifest.json Dosyası
Bu dosya, uzantınızın kimliğini ve yeteneklerini tanımlar. Gemini ile etkileşim kuracak bir uzantı için, manifest.json dosyanız aşağıdaki gibi görünebilir:
{
"manifest_version": 3,
"name": "Gemini Agentik Yardımcı",
"version": "1.0",
"description": "Gemini AI ile akıllı web iş akışları oluşturur.",
"permissions": [
"activeTab",
"scripting",
"storage"
],
"host_permissions": [
"<all_urls>"
],
"action": {
"default_popup": "popup.html",
"default_icon": {
"16": "images/icon16.png",
"48": "images/icon48.png",
"128": "images/icon128.png"
}
},
"background": {
"service_worker": "background.js"
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["content.js"]
}
]
}
* "permissions": activeTab (kullanıcının aktif sekmesine erişim), scripting (programlı olarak betik ekleme), storage (uzantı verilerini saklama) gibi izinler, web sayfalarıyla etkileşim ve API anahtarı gibi bilgileri güvenli bir şekilde depolamak için gereklidir.
* "host_permissions": "", uzantınızın tüm web sitelerinde çalışmasına izin verir. Bu, agentic iş akışları için genellikle gereklidir.
* "action": Uzantının tarayıcı araç çubuğundaki düğmesini ve tıklandığında açılacak popup.html dosyasını tanımlar.
* "background": Uzantının arka planda sürekli çalışan betiğidir (service_worker). Gemini API çağrıları ve karmaşık mantık burada yürütülebilir.
* "content_scripts": Web sayfalarına enjekte edilen betiklerdir (content.js). Bu betikler, web sayfasının DOM’una doğrudan erişebilir ve manipüle edebilir.
Arka Plan Betiği (background.js) ve İçerik Betiği (content.js) Rolleri
* background.js (Service Worker): Bu betik, uzantının ana mantığını barındırır. Gemini API ile iletişim kurar, kullanıcı arayüzünden gelen istekleri işler ve web sayfalarına komutlar gönderir. API anahtarınız gibi hassas bilgileri burada saklayabilir ve doğrudan ağ istekleri (fetch) yapabilirsiniz.
* content.js: Bu betik, ziyaret edilen her web sayfasına enjekte edilir. Sayfanın HTML yapısını okuyabilir, form alanlarını doldurabilir, butonlara tıklayabilir veya sayfanın içeriğini değiştirebilir. background.js ile mesajlaşma yoluyla iletişim kurar.
Adım 3: Gemini ile Etkileşim Kurma (Function Calling)
Şimdi, Gemini’nin “function calling” yeteneğini kullanarak tarayıcıda bir agentic görevi nasıl gerçekleştirebileceğimize dair basit bir senaryo oluşturalım: Bir web sayfasının başlığını ve ana içeriğini çekip Gemini’den bu içeriği özetlemesini isteyeceğiz.
content.js (Web sayfasından veri çekme)
// content.js
chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
if (request.action === "getPageContent") {
const title = document.title;
const bodyText = document.body.innerText.substring(0, 2000); // İlk 2000 karakteri al
sendResponse({ title: title, content: bodyText });
}
});
Bu content.js betiği, arka plan betiğinden gelen getPageContent isteğine yanıt verir ve sayfanın başlığını ile gövde metninin bir kısmını döndürür.
background.js (Gemini API ile etkileşim)
// background.js
import { GoogleGenerativeAI } from "@google/generative-ai";
const API_KEY = "YOUR_GEMINI_API_KEY"; // Kendi API anahtarınızı buraya girin
const genAI = new GoogleGenerativeAI(API_KEY);
// Gemini modelini başlat
const model = genAI.getGenerativeModel({ model: "gemini-pro" });
// Gemini'nin kullanabileceği araçları tanımla
const tools = [
{
functionDeclarations: [
{
name: "getPageContent",
description: "Aktif web sayfasının başlığını ve metin içeriğini çeker.",
parameters: {
type: "OBJECT",
properties: {},
},
},
],
},
];
chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
if (request.action === "summarizePage") {
chrome.tabs.query({ active: true, currentWindow: true }, async (tabs) => {
const activeTab = tabs[0];
try {
// content.js'e sayfa içeriğini çekme isteği gönder
const pageContent = await chrome.tabs.sendMessage(activeTab.id, { action: "getPageContent" });
// Gemini'ye özetleme isteği gönder
const prompt = Aşağıdaki web sayfasının başlığı "${pageContent.title}" ve içeriği:\n\n${pageContent.content}\n\nBu içeriği Türkçe olarak kısa ve öz bir şekilde özetler misin?;
const result = await model.generateContent(prompt);
const response = await result.response;
const text = response.text();
sendResponse({ summary: text });
} catch (error) {
console.error("Gemini veya sayfa içeriği çekme hatası:", error);
sendResponse({ error: "Özetleme sırasında bir hata oluştu." });
}
});
return true; // Asenkron yanıtı belirtmek için
}
});
Bu background.js betiği:
1. Gemini API’yi başlatır ve API anahtarınızı kullanır.
2. getPageContent adında bir “tool” (araç) tanımlar. Bu, Gemini’ye bir web sayfasının içeriğini çekebileceğini söyler. Ancak bu örnekte, Gemini’nin doğrudan bu aracı çağırmasından ziyade, biz background.js içinde manuel olarak content.js‘i çağırıyoruz. Daha gelişmiş senaryolarda, Gemini’nin kendisi bu araçları ne zaman kullanacağına karar verebilir.
3. Uzantının popup’ından gelen summarizePage isteğini dinler.
4. Aktif sekmeye getPageContent eylemini göndererek sayfa içeriğini ister.
5. Gelen sayfa içeriğini kullanarak Gemini’ye bir özetleme istemi (prompt) gönderir.
6. Gemini’den gelen özeti uzantının popup’ına geri gönderir.
popup.html ve popup.js (Kullanıcı Arayüzü)
Kullanıcı, tarayıcı araç çubuğundaki uzantı simgesine tıkladığında açılan popup.html ve onun JavaScript dosyası popup.js, Gemini ile etkileşimi başlatmak için basit bir arayüz sağlar.
“`html
Web Sayfasını Özetle
