Mert Özen Her Satırda Daha İleri

Blog

Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.

Seriler
.NET Core Web API 36 Angular 31 JavaScript Temel 19 JavaScript Orta 18 JavaScript İleri 16 TypeScript Temel 14 TypeScript Orta 14 TypeScript İleri 12 Entity Framework Core 28 Dapper 16 Git & GitHub 29 Web Güvenliği (OWASP Top 10) 21 LLM Temelleri 20 C# Temelleri 20 C# ile Nesne Yönelimli Programlama 16 C# Koleksiyonlar ve Generics 11 LINQ 17 C# Asenkron Programlama 17 C# İleri Seviye 14 C# Sürümleri 6 Çözüm Desenleri 22 SOLID ve Design Principles 12 Clean Code 14 Design Patterns 25 UML ve Modeling 18 Mimariye Giriş 9 Clean, Onion ve Hexagonal Architecture 8 Vertical Slice Architecture 6 Domain-Driven Design 13 CQRS ve Event Sourcing 10 Messaging ve Event-Driven Architecture 9 Modular Monolith 3 Microservices 11 UI Mimari Pattern'leri 9 Architecture Decision'lar 7 System Design 15 Distributed Systems Temelleri 11 Background Job'lar ve Scheduled Job'lar 11 Message Queue'larla Çalışmak 14 .NET'te Logging 10 Caching 10 Real-time Uygulamalar 9 ASP.NET Core MVC ve Razor Pages 13 CI/CD Temelleri 8 GitHub Actions 16 Jenkins 12 Web Server'lar ve Hosting 12 Deployment Stratejileri 9 Kubernetes 19 Authentication ve Authorization 18 ASP.NET Core Güvenliği 8 Frontend Güvenliği 9 API Güvenliği (OWASP API Top 10) 11 .NET ile Yapay Zeka 14 RAG 13 AI Agent'ları ve MCP 14 Test Stratejisi 4 Unit Test 13 SDLC (Software Development Life Cycle) 6 Agile Mindset 6 Scrum 11 Kanban 7 Product Management'a Giriş 9 SEO Temelleri 7 Teknik SEO 12 GEO (Generative Engine Optimization) 7 Algoritmalar ve Data Structures 22 Debugging ve Problem Çözme 13
14 yazı bulundu
AI Agent Nedir? Workflow, Agent ve "Burada Agent Gerekmez" Kararı
Yapay Zeka SERİ 01

AI Agent Nedir? Workflow, Agent ve "Burada Agent Gerekmez" Kararı

Agent, kontrol akışını modelin yönettiği sistemdir; workflow'da yolu kod çizer. Bookstore'dan üç senaryoyu (sipariş durumu, iade, kitap bul ve sepete ekle) aynı kodla qwen3:4b üzerinde koşturup model çağrısı, token ve süreyi ölçüyor, agent'ın bedelini ve "burada agent gerekmez" kararının kriterlerini çıkarıyoruz.

8 Kas 2026 11 dk 1
Agent Loop'unu Sıfırdan Yazmak: Plan, Tool Çağrısı, Gözlem ve Durma Koşulu
Yapay Zeka SERİ 02

Agent Loop'unu Sıfırdan Yazmak: Plan, Tool Çağrısı, Gözlem ve Durma Koşulu

Bir agent loop'u framework'süz C# ile yazıyoruz: tool sonucunu ve hatasını modele geri vermek, adım/token/zaman bütçesi, tekrar eden çağrıyı engellemek ve her adımı trace'lemek. Gerçek koşuda token'ın turdan tura nasıl biriktiğini görüp aynı işi FunctionInvokingChatClient ve MAF ChatClientAgent ile yapıyor, neyin soyutlandığını karşılaştırıyoruz.

8 Kas 2026 12 dk 2
Agent'lar için Tool Tasarımı: İsim, Açıklama, Şema, Hata Mesajı ve Tool Sayısı
Yapay Zeka SERİ 03

Agent'lar için Tool Tasarımı: İsim, Açıklama, Şema, Hata Mesajı ve Tool Sayısı

API'yi birebir saran on iki CRUD tool'u ile iki iş odaklı tool'u aynı isteklerle qwen3:4b üzerinde karşılaştırıyoruz: on üç kat token, bulunamayan kitap ve yanlış kitabı ekleyip "eklendi" diyen agent. Şemanın doğrulama olmadığı, insan okunur çıktı, boş sonucun nedenini söyleyen mesaj, isim çakışması ve yan etkili tool'lar.

8 Kas 2026 13 dk 2
Context Engineering: Agent'ın Context'ini Yönetmek, Compaction ve Memory
Yapay Zeka SERİ 04

Context Engineering: Agent'ın Context'ini Yönetmek, Compaction ve Memory

Context bir bütçedir ve dolduğunda hata vermeden kesilebilir: 4.096 token'la yüklenmiş qwen3:4b, uzayan bir oturumda baştaki bütçe cümlesini kaybedip rakam uyduruyor. MAF CompactionProvider ile eski tool çıktılarını sıkıştırmak, AIContextProvider ile oturumlar arası tercih memory'si ve iş devredilen sub-agent'tan yalnızca özet almak, gerçek token sayılarıyla.

8 Kas 2026 11 dk 2
Agent Workflow Pattern'leri: Prompt Chaining, Routing, Parallelization, Orchestrator-Workers ve Evaluator-Optimizer
Yapay Zeka SERİ 05

Agent Workflow Pattern'leri: Prompt Chaining, Routing, Parallelization, Orchestrator-Workers ve Evaluator-Optimizer

Beş workflow pattern'ini Bookstore üzerinde koşturuyoruz: prompt chaining ve orchestrator-workers düz C# ile, routing, fan-out/fan-in ve writer-critic döngüsü MAF WorkflowBuilder ile. Küçük modelin "must read" ifadesini onayladığı, orchestrator'ın bütçeyi aştığı gerçek koşular, kod kapıları ve workflow'u AsAIAgent ile agent gibi dışarı açmak.

8 Kas 2026 14 dk 2
Multi-agent Sistemler: Handoff, Group Chat, Orchestration ve A2A
Yapay Zeka SERİ 06

Multi-agent Sistemler: Handoff, Group Chat, Orchestration ve A2A

Birden fazla agent uzmanlaşma, izolasyon ve paralellik getirir ama token çarpanı ve koordinasyon hatasıyla ödenir. MAF'ın sequential, concurrent, handoff, group chat ve Magentic orkestrasyonlarını Bookstore'da koşturuyor; uzmanın tool çağırmadan geri devrettiği handoff'u ve bitmeyen group chat'i gerçek çıktılarla görüyor, başka servisteki agent'a A2A ile iş veriyoruz.

8 Kas 2026 12 dk 2
Human-in-the-loop: Tool Onayı, Checkpoint ve Uzun Süren Agent'lar
Yapay Zeka SERİ 07

Human-in-the-loop: Tool Onayı, Checkpoint ve Uzun Süren Agent'lar

Yazma yapan tool'ları ApprovalRequiredAIFunction ile onaya bağlıyor, onay saatler sürdüğünde agent session'ını JSON'a yazıp başka bir process'te devam ediyoruz. Gerekçeli ret, onay cevabındaki argümanı değiştirme denemesi (approval-response binding) ve RequestPort ile workflow'u checkpoint'ten sürdürmek gerçek koşularla.

8 Kas 2026 10 dk 1
Model Context Protocol Nedir? Host, Client, Server ve 2026-07-28 Spec'i
Yapay Zeka SERİ 08

Model Context Protocol Nedir? Host, Client, Server ve 2026-07-28 Spec'i

MCP, tool ve veri kaynaklarını bir kez server olarak yazıp her AI uygulamasına standart bir client üzerinden bağlamanı sağlayan JSON-RPC tabanlı bir protokoldür. Host, client ve server rollerini, tools/resources/prompts primitive'lerini, stdio ve Streamable HTTP transport'larını ve el sıkışmasını kaldıran 2026-07-28 revizyonunu elle yazılmış JSON mesajlarıyla kabloda görüyoruz.

8 Kas 2026 10 dk 2
C# ile MCP Server: ModelContextProtocol SDK 2.x, [McpServerTool] ve stdio
Yapay Zeka SERİ 09

C# ile MCP Server: ModelContextProtocol SDK 2.x, [McpServerTool] ve stdio

C# ile MCP server'ı ModelContextProtocol 2.x paketi, Generic Host ve [McpServerTool] attribute'larıyla yazarsın; stdio transport'unda log'ları stderr'e yönlendirmek şarttır. Bookstore tool'larını DI'dan servis alarak, structured output, resource ve prompt tanımlarıyla kuruyor, MCP Inspector ile test ediyor ve stdout'u kirletmenin bir dakikalık timeout'a, culture ayarının bozuk tool çıktısına nasıl dönüştüğünü gerçek çıktılarla görüyoruz.

8 Kas 2026 12 dk 2
ASP.NET Core'da Remote MCP Server: Streamable HTTP, Stateless Mod, State Handle'ları ve Authorization
Yapay Zeka SERİ 10

ASP.NET Core'da Remote MCP Server: Streamable HTTP, Stateless Mod, State Handle'ları ve Authorization

ASP.NET Core'da remote MCP server'ı WithHttpTransport ve MapMcp ile kurar, stateless modda çalıştırır ve OAuth resource server olarak korursun: token yalnız bu server için verilmiş olmalı, state handle'ları kullanıcıya bağlanmalı. Protected resource metadata'yı, audience hatasını, iki instance ile stateless'ın bedelini, MRTR ile imzalı requestState kullanarak onay istemeyi ve Mcp-Method/Mcp-Name header doğrulamasını curl çıktılarıyla görüyoruz.

8 Kas 2026 13 dk 6
TypeScript ile MCP Server: Zod Şemaları, Tool/Resource Kaydı ve Node.js
Yapay Zeka SERİ 11

TypeScript ile MCP Server: Zod Şemaları, Tool/Resource Kaydı ve Node.js

TypeScript'te MCP server için 2026-07-28'i destekleyen v2 SDK'yı (@modelcontextprotocol/server 2.4.0) seçer, tool'ları Zod 4 schema'larıyla kaydeder, serveStdio ve createMcpHandler ile stdio ve Streamable HTTP'den sunarsın. Aynı Bookstore server'ını C# sürümüyle karşılaştırıp aynı girdiye farklı cevaplar veren schema'ları, Zod 3 uyumsuzluğunu, npx ile dağıtımı ve supply chain riskini gerçek çıktılarla görüyoruz.

8 Kas 2026 12 dk 2
MCP Client Yazmak: McpClient, Tool'ları IChatClient ve Agent'a Bağlamak, Elicitation
Yapay Zeka SERİ 12

MCP Client Yazmak: McpClient, Tool'ları IChatClient ve Agent'a Bağlamak, Elicitation

C#'ta MCP client'ı McpClient.CreateAsync ile stdio ya da HTTP transport üzerinden kurarsın; ListToolsAsync'in döndürdüğü McpClientTool bir AIFunction olduğu için doğrudan IChatClient'a ve MAF agent'ına verilebilir. İki server'daki aynı adlı tool'ları önekle ayırıyor, tool tanımlarını parmak iziyle pinliyor, yerel qwen3:4b ile gerçek tool çağrılarını ve server'ın onay isteğini SDK'nın MRTR turlarıyla nasıl karşıladığını görüyoruz.

8 Kas 2026 12 dk 2
Blog Haritası