Showing posts with label Agents. Show all posts
Showing posts with label Agents. Show all posts

Wednesday, January 21, 2026

Yapay Zeka Ajanları ve Model Context Protocol (MCP)


Yapay Zeka Ajanları Çağı ve Model Context Protocol (MCP): LLM'leri Dış Dünyaya Bağlamak

Merhaba arkadaşlar, Murat Karakaya Akademi'ye hoş geldiniz.

Bugün sizlerle birlikte Yapay Zeka (AI) dünyasında oyunun kurallarını değiştiren, özellikle geliştiriciler ve sistem mimarları için hayati önem taşıyan bir konuyu; Model Context Protocol (MCP) kavramını derinlemesine inceleyeceğiz. Büyük Dil Modelleri (LLM) artık sadece metin üreten "chatbot"lar olmaktan çıkıp, iş yapan, düşünen ve dış dünya ile etkileşime giren "Ajanlara" (Agents) dönüşüyor. Peki, bu dönüşümü standart ve güvenli bir şekilde nasıl sağlarız? İşte cevabımız MCP.

Büyük Dil Modellerinin (LLM) Sınırları ve "Grounding" İhtiyacı

Öncelikle problemi net bir şekilde ortaya koyalım. Bir LLM, ne kadar büyük olursa olsun (Gemini, GPT-4, Claude vb.), aslında "statik" bir bilgi deposudur. Eğitim verisi ne zaman kesildiyse (cut-off date), bilgisi orada kalır. Örneğin, bugün dolar kurunu veya en son çıkan bilimsel makaleyi sorduğunuzda, model ya "bilmiyorum" der ya da istatistiksel tahminlere dayalı olarak halüsinasyon görür.

Bizim bu modellerin ayaklarını yere bastırmamız, yani teknik terimle "Grounding" yapmamız gerekiyor. Modeli statik bir ansiklopedi olmaktan çıkarıp, dinamik verilere ulaşabilen bir asistana dönüştürmeliyiz. Bunun geleneksel yöntemi Function Calling (Araç Kullanımı) idi. Ancak her modelin API yapısı farklı olduğunda ve entegre edilecek araç sayısı arttığında, bu durum geliştiriciler için bir "entegrasyon cehennemine" dönüşüyordu.

Çözüm: Model Context Protocol (MCP) Nedir?

Anthropic tarafından 2024 sonlarında önerilen ve hızla bir endüstri standardı haline gelen MCP, AI modelleri ile dış dünya (veritabanları, API'lar, dosya sistemleri) arasında ortak bir dil oluşturmayı hedefler.

Eskiden her LLM için ayrı ayrı "adapter" yazmak zorundaydık (N x M problemi). MCP sayesinde, bir kez MCP Sunucusu yazıyoruz ve bu sunucuyu Claude, Gemini veya VS Code gibi herhangi bir MCP İstemcisi (Client) hiçbir kod değişikliği yapmadan kullanabiliyor. Tıpkı USB standardı gibi; farenizi hangi bilgisayara takarsanız takın çalışır, değil mi? MCP de AI araçları için bunu sağlıyor.

MCP Mimarisi: Nasıl Çalışır?

Videoda detaylıca kodladığımız bu mimari üç ana bileşenden oluşur:

  1. MCP Host (Ana Bilgisayar): Uygulamanızın (örneğin VS Code, Cursor veya kendi Python scriptiniz) çalıştığı yer.
  2. MCP Client (İstemci): LLM ile MCP sunucusu arasındaki köprüyü kuran, sunucudaki fonksiyonları (araçları) LLM'e tanıtan katman.
  3. MCP Server (Sunucu): Araçların (tools), kaynakların (resources) ve istemlerin (prompts) barındığı yer. Fonksiyonlarımızı burada tanımlıyoruz.

Uygulama Örneği: ArXiv Makale Ajanı

Eğitimimizde somut bir örnek üzerinden gittik. Amacımız şuydu: "Bana yapay zeka alanındaki son makaleleri bul, özetlerini çıkar ve bilgisayarıma bir rapor dosyası olarak kaydet."

Bunun için Python'da fastmcp kütüphanesini kullandık. Bu kütüphane işleri inanılmaz kolaylaştırıyor. Sadece fonksiyonunuzun başına bir dekoratör ekliyorsunuz:

from fastmcp import FastMCP

mcp = FastMCP("ArXiv Ajanı")

@mcp.tool()
def get_arxiv_papers(topic: str, max_results: int = 3):
    """Belirtilen konuda ArXiv'den makaleleri getirir."""
    # ... (ArXiv API çağrısı kodları) ...
    return paper_list
    

Bu kadar basit! Artık bu fonksiyon, Gemini veya başka bir model tarafından "görülebilir" ve "çağrılabilir" bir araç haline geldi. LLM, kullanıcının niyetini anlıyor, hangi aracın (tool) kullanılması gerektiğine karar veriyor, parametreleri dolduruyor ve sonucu alıp işliyor. İşte "Reasoning" (Muhakeme) yeteneği burada devreye giriyor.

Docker ile Dağıtım (Deployment)

Bir MCP sunucusu yazdınız ama bu sadece sizin bilgisayarınızda mı çalışacak? Hayır. Kurumsal bir yapıda, yazdığınız araçların tüm ekip tarafından kullanılmasını istersiniz. Videoda, hazırladığımız MCP sunucusunu nasıl Docker konteynerine çevireceğimizi ve bir web servisi (SSE - Server-Sent Events) olarak nasıl dışarıya açacağımızı da adım adım gösterdim.

Docker sayesinde, yazdığınız AI aracı, bağımlılık sorunları yaşamadan herhangi bir sunucuda veya bulut ortamında çalışabilir hale geliyor. Ekibinizdeki diğer geliştiriciler, sadece sunucunun IP adresini girerek sizin geliştirdiğiniz AI yeteneklerini kendi projelerine dahil edebilirler.

VS Code ve Cursor Entegrasyonu

MCP'nin en heyecan verici yanlarından biri de geliştirme ortamlarına (IDE) entegre olmasıdır. Videoda gösterdiğim gibi, VS Code veya Cursor kullanırken, arka planda çalışan bir MCP sunucusu sayesinde, yapay zeka asistanınız projenizin bağlamını, veritabanı şemanızı veya özel API dokümantasyonlarınızı anlayabilir. Bu, kod yazma verimliliğinizi katbekat artıracak bir gelişmedir.

Sonuç

Arkadaşlar, özetle; Büyük Dil Modellerini sadece sohbet etmek için kullanmak, süper bilgisayarı hesap makinesi olarak kullanmaya benzer. Onlara MCP ile el, kol ve göz (araçlar) verdiğimizde, gerçek dünyada iş yapan otonom ajanlara dönüşüyorlar. Bu standartlaşma, AI uygulamalarının geleceği için kritik bir adımdır.

Videoda tüm bu adımları; sunucu kurulumundan istemci kodlamasına, Docker deploy işleminden Gemini entegrasyonuna kadar satır satır kodladık. Mutlaka izlemenizi ve kendi bilgisayarınızda denemenizi öneririm. Kodlamadan korkmayın, hata yapa yapa en iyisini öğreneceğiz.

Murat Karakaya Akademi'ye Katılın!

Yapay Zeka, Derin Öğrenme ve Python dünyasındaki en güncel gelişmeleri, akademik derinlikten ödün vermeden ama herkesin anlayabileceği bir dille öğrenmek için kanala abone olmayı unutmayın. Sorularınızı videonun altına veya buraya yorum olarak yazabilirsiniz.

Birlikte öğrenmeye ve üretmeye devam edelim!

#MuratKarakayaAkademi #YapayZeka #MCP #ModelContextProtocol #Python #Docker #LLM #AIagents #SoftwareDevelopment

Modern yazılım geliştirme süreçlerinde GitHub Copilot ve VS Code etkileşimi.

VS Code + Copilot ile İleri Düzey Kod Geliştirme: Bağlam Mühendisliği ve Refactoring Rehberi

Murat Karakaya Akademi Özet Serisi
Karanlık modda satır satır kodların göründüğü profesyonel bir ekran

Modern yazılım geliştirme süreçlerinde GitHub Copilot ve VS Code etkileşimi.

Merhaba değerli arkadaşlar, Murat Karakaya Akademi YouTube kanalına hoş geldiniz. Bugün sizlerle, canlı yayında gerçekleştirdiğimiz ve oldukça yoğun teknik tartışmalara sahne olan "Çalışma Odası" serimizin bir bölümünü daha yazılı bir rehber haline getiriyoruz.

Bu bölümde, yapay zekayı sadece bir "soru-cevap" aracı olarak değil, projenin tüm dinamiklerine hakim bir "kıdemli iş ortağı" olarak nasıl konumlandıracağımızı inceledik. Odak noktamız; Bağlam Mühendisliği (Context Engineering), talimat dosyaları (.md) ve Copilot'un gelişmiş modlarıydı.

Bu Eğitimi Canlı İzleyin!

Kodun nasıl bozulduğunu, yapay zekanın nerelerde yanıldığını ve bu hataları canlı yayında nasıl düzelttiğimizi görmek, öğrenme sürecinin en değerli parçasıdır. Aşağıdaki videodan eğitimin tamamına ulaşabilirsiniz:

1. Bağlam Mühendisliği (Context Engineering) Neden Kritik?

Yazılım geliştirirken GitHub Copilot gibi araçları kullanırken yapılan en büyük hata, AI'yı projenin geri kalanından bağımsız düşünmektir. Eğer ona sadece o anki dosyayı gösterirseniz, size getireceği öneriler projenin genel mimarisine aykırı olabilir.

Context Engineering, yapay zekaya projenin "anayasasını" öğretmektir. Biz bu yayında, Copilot'a hangi dosyaları okuması gerektiğini, hangi kodlama standartlarına (naming conventions) uyması gerektiğini ve hangi dosyalara kesinlikle dokunmaması gerektiğini nasıl öğreteceğimizi tartıştık.

2. .github/copilot-instructions.md: Projenin Hafızası

Canlı yayında gösterdiğim en önemli araçlardan biri .github/copilot-instructions.md dosyasıydı. Bu dosya, Copilot için bir "rehber" görevi görür. İçerisine projenin amacını, kullandığı teknolojileri (Python, ChromaDB vb.) ve özel kısıtlamaları yazdığımızda; yapay zeka artık her önerisinde bu dosyayı referans alır.

# Proje Kuralları
- Asla 'run.py' dosyasını güncelleme.
- Yeni fonksiyonlar her zaman tip ipucu (type hints) içermeli.
- Docstring formatı Google stili olmalı.

Bu yöntem sayesinde, yapay zekaya her seferinde "Şu kütüphaneyi kullanıyorum, şu kurala uy" demekten kurtuluyoruz.

Makro çekim klavye ve odaklanmış yazılımcı ortamı

3. Refactoring Süreci: build_knowledge_base'i Parçalamak

Elimizdeki RekMK kütüphanesinde bir tasarım sorunu vardı: build_knowledge_base fonksiyonu hem yeni koleksiyon oluşturuyor hem de mevcut olanı yüklüyordu. Bu, "Single Responsibility" (Tek Sorumluluk) prensibine aykırıydı.

Yayında, bir prompt_file.md hazırlayarak Copilot'a bu fonksiyonu nasıl ikiye ayıracağını (Refactor) adım adım anlattık. İşte burada Edit Mode'un gücünü gördük. Edit Mode, AI'nın yaptığı değişiklikleri satır satır görmemize ve onaylamamıza olanak tanıyarak kontrolün bizde kalmasını sağlıyor.

4. Agent Mode: Büyük Güç, Büyük Sorumluluk

Eğitimin en heyecanlı ama bir o kadar da riskli kısmı Agent Mode kullanımıydı. Agent, terminale erişebilir, testleri çalıştırabilir ve hataları kendi kendine giderebilir. Ancak yayında gördüğümüz üzere; Agent bazen bir hatayı düzeltmeye çalışırken 2700 satır gereksiz kod yazabiliyor veya ana dosyalarınızı mahvedebiliyor.

"Agent Mode'u kullanmadan önce mutlaka Git commit'i yapın. Agent kontrolü kaybederse tek tuşla geri dönebilmelisiniz." - Murat Karakaya

5. Test Stratejisi: Manuel vs Otomatik

Değişiklikleri yaptıktan sonra iki tür test uyguladık. Önce Manuel (Smoke) Test ile sistemin temel işlevlerini (koleksiyon oluşturma, veri gömme) gözümüzle kontrol ettik. Ardından Otomatik Testler (pytest) ile Agent'ın yazdığı kodların diğer parçaları bozup bozmadığını denetledik. Yapay zekanın "Testler geçti" demesine güvenmeyip, terminal çıktılarını bizzat analiz etmenin önemini yayında açıkça gördük.

Sonuç

Yapay zeka araçları bizi tembelleştirmek için değil, daha karmaşık mimarileri daha hızlı inşa etmemiz için varlar. Ancak bu araçları yönetmek bir "orkestra şefliği" gerektiriyor. Doğru bağlamı sağlamazsanız, orkestra (AI) yanlış notalar çalmaya başlar.

Bu ve benzeri teknik içerikler için kanalımı takip etmeyi, sorularınızı muratkarakaya.net üzerinden veya YouTube yorumlarından sormayı unutmayın. Bir sonraki "Çalışma Odası" yayınında görüşmek üzere!

#MuratKarakayaAkademi #VSCode #GitHubCopilot #BağlamMühendisliği #ContextEngineering #Refactoring #Python #YazılımGeliştirme #CodingAgents #YapayZeka

Yapay Zeka İş Görenlerinde Yeni Dönem: Agent Skills ve VS Code Entegrasyonu

Yapay Zeka İş Görenlerinde Yeni Dönem: Agent Skills ve VS Code Entegrasyonu

Yapay Zeka İş Görenlerinde Modüler Yetenek Devrimi: Agent Skills ve VS Code Entegrasyonu

Murat Karakaya | 30 Aralık 2025 Çalışma Odası Özeti

Merhaba değerli okurlar ve Murat Karakaya Akademi takipçileri. 2025 yılının bu son "Çalışma Odası" yayınında, yapay zeka dünyasında çığır açan bir mimariyi, Anthropic tarafından önerilen ve artık standart VS Code sürümlerinde de tam destekle yerini alan Agent Skills (İş Gören Yetenekleri) protokolünü derinlemesine inceledik. Bu yazı, YouTube kanalımızda gerçekleştirdiğimiz modüler ajan mimarisi eğitiminin en güncel ve teknik detaylarını içeren kapsamlı bir özetidir.

Gelişme Notu: Agent Skills özelliği artık VS Code'un kararlı (stable) sürümünde kullanılabilir durumdadır. Bu yazıda, bu teknolojinin sadece nasıl kurulduğunu değil, arka plandaki çalışma mantığını ve neden geleceğin yazılım geliştirme standartı olacağını detaylandıracağız. Canlı uygulama adımlarını görmek için aşağıdaki videomuzu mutlaka izlemenizi öneririm.

Neden Agent Skills? "Spagetti Prompt" ve Bağlam Kayması Sorunu

Yapay zeka modelleriyle (LLM) çalışan geliştiricilerin en büyük kabusu, projenin büyümesiyle birlikte kontrol edilemez hale gelen talimat listeleridir. Model her yeni sohbette tüm proje kurallarını, kod standartlarını ve araç tanımlarını okumaya zorlandığında şu teknik darboğazlar oluşur:

  • Bağlam Kayması (Context Drift): Model, çok fazla talimat arasında asıl görevinden sapabilir.
  • Token İsrafı: Her istekte binlerce satırlık sistem talimatı göndermek maliyeti artırır ve hızı düşürür.
  • Statik Yapı: Geleneksel "Prompt"lar statiktir; modelin o anki ihtiyacına göre şekillenmezler.

Agent Skills, bu problemleri modülerlik ve dinamik keşif ile çözerek, yapay zekayı "her şeyi bilen ama kafası karışık" bir asistandan, "ihtiyacı olduğunda doğru araca ulaşan" kıdemli bir iş gören (agent) seviyesine taşır.

Modüler Yapay Zeka Yetenekleri ve Kod Blokları

Görsel: Yapay Zeka İş Görenlerinin Dinamik Yetenek Seçimini Temsil Eden Teknik Şema

Teknik Derinlik: Agent Skills Nasıl Çalışır?

Agent Skills protokolü, Aşamalı İfşa (Progressive Disclosure) prensibi üzerine kuruludur. Bu, modelin bilişsel yükünü optimize eden üç katmanlı bir süreçtir:

1. Dinamik Keşif (Metadata Layer)

Model, projenizdeki .github/skills dizinini tarar. Sadece skill.md dosyalarının en başındaki YAML metadata kısmını okur. Burada tanımlanan name ve description, ajanın hangi yeteneği ne zaman kullanacağına karar verdiği "etiket"lerdir.

2. Bağlamsal Yükleme (Activation Layer)

Kullanıcı "API'yi refactor et" dediğinde, ajan sadece bu işle ilgili yeteneğin talimatlarını hafızasına çeker. Diğer tüm yetenekler (UI tasarımı, veri analizi vb.) pasif kalır, böylece bağlam penceresi tertemiz kalır.

3. Kod Yürütme ve Araç Kullanımı (Execution Layer)

Bir yetenek sadece metin değildir. İçerisinde Python scriptleri veya komut satırı araçları (FFmpeg, Docker vb.) barındırabilir. Ajan, yetenek klasörü içindeki bu araçları yerel makinede güvenli bir şekilde çalıştırarak gerçek eylemler gerçekleştirir.

Bir Yeteneğin Anatomisi

Etkili bir skill.md dosyası oluşturmak için şu teknik yapı takip edilmelidir:

---
name: api_refactor_expert
description: "Express.js kodlarını Fastify mimarisine dönüştürmek ve performans optimizasyonu yapmak için kullanılır."
---

# Talimatlar
- Dönüşüm sırasında 'fastify-autoload' yapısını tercih et.
- Şema doğrulama için Joi yerine TypeBox kullan.

# Örnekler
[Girdi ve çıktı kod örnekleri buraya gelir]

Buradaki description alanı hayati önem taşır. Yapay zeka iş göreninin bu yeteneği seçmesi için bu açıklamanın çok net ve işlevsel olması gerekir.

VS Code Entegrasyonu ve Kurulum

Artık Insider sürümüne ihtiyaç duymadan, standart VS Code üzerinde Agent Skills yapısını kurabilirsiniz. Bunun için ana dizininizde şu yapıyı kurgulamanız yeterlidir:

  • .github/skills/
  • ├── pdf_manager/ (Yetenek Klasörü)
  • │   ├── skill.md (Talimatlar ve Metadata)
  • │   └── merge_pdf.py (Çalıştırılabilir Betik)
  • └── code_reviewer/
  •     └── skill.md

VS Code Settings (Ayarlar) kısmından "Chat: Use Agent Skills" aramasını yaparak özelliğin aktif olduğunu doğrulayabilirsiniz. Bu ayar aktif olduğunda, Copilot veya Claude tabanlı ajanlar otomatik olarak bu dizini taramaya başlar.

Neden Gelecek Bu Protokolde?

Agent Skills'i MCP (Model Context Protocol) ile kıyasladığımızda, en büyük avantajının "Sıfır Altyapı Maliyeti" olduğunu görüyoruz. MCP için bir sunucu yönetmeniz gerekirken, Agent Skills için sadece bir klasör yönetirsiniz.

Ayrıca, bu yetenekler projenizin bir parçası olduğu için Git (Versiyon Kontrol Sistemi) ile takip edilebilir. Takımınıza yeni katılan birine proje kurallarını anlatmak yerine, ona Agent Skills içeren bir depo (repository) teslim edersiniz ve yapay zeka asistanı o kuralları saniyeler içinde öğrenir.

Son Söz: Akıllı Asistandan Akıllı İş Görene

Agent Skills, yapay zeka ile etkileşimimizi kökten değiştiriyor. Artık modelleri sadece metinlerle beslemiyoruz; onlara gerçek dünyada iş yapabilecekleri birer "yetkinlik seti" kazandırıyoruz. VS Code'un bu protokolü standart hale getirmesi, bireysel geliştiriciler ve büyük yazılım ekipleri için verimlilikte devasa bir sıçrama anlamına geliyor.

Eğitimin tüm teknik detayları ve canlı uygulama demosu için YouTube videomuzu izlemeyi unutmayın!

Daha fazla teknik derinlik ve yapay zeka eğitimi için takipte kalın.

#MuratKarakayaAkademi #AgentSkills #VSCode #AIProgramming #YapayZekaİşGörenleri #AnthropicClaude #ModülerYazılım #KodlamaEğitimi