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
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 4
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 4
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 4
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 4
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 4
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 4
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 4
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 6
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 4
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 8
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 4
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 5
Blog Haritası