<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Murat Süzen</title>
    <description>The latest articles on DEV Community by Murat Süzen (@muratsuzen).</description>
    <link>https://dev.to/muratsuzen</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F450169%2F694af9ae-0f51-46fa-b8fd-617c435a7b28.jpg</url>
      <title>DEV Community: Murat Süzen</title>
      <link>https://dev.to/muratsuzen</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/muratsuzen"/>
    <language>en</language>
    <item>
      <title>.NET AI Architect Laboratory: Making AI Work and Execute Tools (Phase 2)</title>
      <dc:creator>Murat Süzen</dc:creator>
      <pubDate>Wed, 20 May 2026 10:54:55 +0000</pubDate>
      <link>https://dev.to/muratsuzen/net-ai-architect-laboratory-making-ai-work-and-execute-tools-phase-2-aid</link>
      <guid>https://dev.to/muratsuzen/net-ai-architect-laboratory-making-ai-work-and-execute-tools-phase-2-aid</guid>
      <description>&lt;p&gt;In Phase 1 of this project, we built a type-safe “Brain” using .NET 10 and Google Vertex AI. In Phase 2, we successfully gave hands and feet to our AI substrate. By connecting Microsoft Semantic Kernel, we created an autonomous agent that can read real local project files, think independently, and detect security vulnerabilities or performance bottlenecks.&lt;/p&gt;

&lt;p&gt;Here is a quick summary of what I accomplished and the critical technical lessons I learned during Phase 2.&lt;/p&gt;

&lt;p&gt;🛠️ Key Accomplishments&lt;/p&gt;

&lt;p&gt;Autonomous Tool Execution: The AI agent now receives a high-level goal (e.g., “Find architectural patterns and security bugs”). It automatically runs native C# plugins like ListProjectFiles and ReadCodeFile to explore and analyze the workspace without manual guidance.&lt;/p&gt;

&lt;p&gt;Dynamic Provider Routing: I implemented a dynamic runtime pipeline. The system can switch between Gemini 2.5 Flash and Groq (Llama 3.3 / Llama 3.1) on the fly based on user selection, completely decoupling the business logic from a single AI vendor.&lt;/p&gt;

&lt;p&gt;Angular 19 Cyber-Dashboard: Built a modern interface using Angular Signals and Tailwind CSS v3 to visualize the agent’s real-time analysis results, complexity scores, and strategic recommendation logs.&lt;/p&gt;

&lt;p&gt;🧠 Important Technical Lessons Learned&lt;/p&gt;

&lt;p&gt;The .NET Scope Trap: Trying to resolve request-scoped Semantic Kernel instances directly from the root IServiceProvider container crashes the Kestrel server. I resolved this runtime boundary issue by shifting keyed service lookups to HttpContext.RequestServices to keep the kernel container safely isolated per HTTP request.&lt;/p&gt;

&lt;p&gt;Enforcing Deterministic JSON: Small models like Llama 3.1 8B love to output conversational text or messy “thought chains” instead of clean data. Prompt engineering alone is too brittle. I fixed this by forcing strict ChatResponseFormat.Json settings at the API gateway level to mechanically guarantee valid JSON parsing.&lt;/p&gt;

&lt;p&gt;The Token Bleeding Filter: Forcing an LLM to output rigid JSON payloads while explaining complex source code in Turkish can confuse the token selection matrix, leaking weird characters (like Russian or Chinese letters). Instead of wasting prompt tokens, I added a simple Whitelist Regex Sanitizer inside the client-side Angular signal flow to clean them up instantly.&lt;/p&gt;

&lt;p&gt;🖥️ Dashboard Interface Preview&lt;/p&gt;

&lt;p&gt;Here is how the live cyber-panel looks when a Llama-driven autonomous agent evaluates local C# source code:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpw52wh4cw32kwj4oxvwq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpw52wh4cw32kwj4oxvwq.png" alt=" " width="799" height="391"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🚀 What’s Next? (Phase 3: Enterprise Memory)&lt;/p&gt;

&lt;p&gt;Now that our type-safe brain can execute tools and display results perfectly, the next challenge is context retention. Fitting massive codebases into a single prompt window is expensive and degrades model accuracy.&lt;/p&gt;

&lt;p&gt;Next, we start Phase 3: Enterprise Memory (RAG). I will integrate PostgreSQL/pgvector into the gateway to give our agent a permanent memory substrate of project histories and engineering standards.&lt;/p&gt;

&lt;p&gt;🔗 Explore the Code&lt;/p&gt;

&lt;p&gt;The complete blueprint, architecture blueprints, and step-by-step implementation files for Phase 2 are fully open-source. Feel free to explore, clone, or follow along as the laboratory evolves:&lt;/p&gt;

&lt;p&gt;👉 GitHub Repository: github.com/muratsuzen/dotnet-ai-lab&lt;/p&gt;

</description>
      <category>ai</category>
      <category>semantickernel</category>
      <category>tutorial</category>
      <category>llm</category>
    </item>
    <item>
      <title>.NET AI Architect Laboratory: My Architectural Experiments and Learning Journey in the AI Ecosystem (Phase 1)</title>
      <dc:creator>Murat Süzen</dc:creator>
      <pubDate>Wed, 20 May 2026 10:52:04 +0000</pubDate>
      <link>https://dev.to/muratsuzen/net-ai-architect-laboratory-my-architectural-experiments-and-learning-journey-in-the-ai-ecosystem-22ja</link>
      <guid>https://dev.to/muratsuzen/net-ai-architect-laboratory-my-architectural-experiments-and-learning-journey-in-the-ai-ecosystem-22ja</guid>
      <description>&lt;p&gt;n an era where artificial intelligence technologies are advancing at breakneck speed, the best way to truly grasp new libraries and paradigms is to roll up your sleeves and get into the kitchen. As a software developer, I launched the .NET AI Architect Laboratory project to pull back the curtain on the underlying mechanics of integrating LLMs into our applications, and to explore the absolute boundaries of building flexible, modular architectures.&lt;/p&gt;

&lt;p&gt;For me, this laboratory is far from a commercial endeavor; it is a personal learning journey where I discover new technologies, document my findings, and build a sandbox grounded in enterprise-grade architectural standards.&lt;/p&gt;

&lt;p&gt;🎯 Why This Lab?&lt;/p&gt;

&lt;p&gt;My primary motivation in this project is to look past standard “quick-start” documentation and truly master the engineering philosophy behind AI integration. The core goals I established for this laboratory include:&lt;/p&gt;

&lt;p&gt;Understanding the Kitchen: Going beyond basic API calls to deeply comprehend the architectural costs and mechanics of treating LLMs as plug-and-play engines.&lt;/p&gt;

&lt;p&gt;Forging My Own Standards: Handcrafting and testing the cleanest, most sustainable design patterns for AI integration within the .NET ecosystem.&lt;/p&gt;

&lt;p&gt;Preparing for Tomorrow’s Tech: Moving past being a passive consumer of ready-made libraries, and reaching a level of competency where I can design end-to-end AI data flows, orchestration, and security from scratch.&lt;/p&gt;

&lt;p&gt;🧠 How My Learning Journey is Progressing&lt;/p&gt;

&lt;p&gt;This process has been an incredibly rewarding, educational, and discovery-filled experience. A few highlights from this journey so far:&lt;/p&gt;

&lt;p&gt;Adapting to an Evolving Ecosystem: Experiencing live version upgrades, shifting method names, and breaking changes in highly nascent libraries like Microsoft.Extensions.AI and the newest official vendor SDKs (such as Google.GenAI) has been a phenomenal learning experience.&lt;/p&gt;

&lt;p&gt;Marrying the Rigid and the Fluid: I learned how to build a translation bridge between the strict, type-safe world of .NET and the highly fluid, unpredictable nature of generative AI outputs.&lt;/p&gt;

&lt;p&gt;Learning through Failure: Encountering role-matching discrepancies, authentication hurdles, and schema alignment issues during development allowed me to gain a much deeper understanding of how these libraries operate under the hood.&lt;/p&gt;

&lt;p&gt;🛠️ What I Accomplished in Phase 1&lt;/p&gt;

&lt;p&gt;The first phase of the lab focused entirely on building a clean “Brain” architecture, completely insulated from external vendor lock-in:&lt;/p&gt;

&lt;p&gt;Enterprise Setup &amp;amp; Security: I built the foundation using a .NET 10 Minimal API. Instead of passing brittle API keys through code, I established enterprise security standards by leveraging Google Vertex AI via IAM and Service Account (vertex-key.json) mechanics through Application Default Credentials (ADC).&lt;/p&gt;

&lt;p&gt;Abstraction via the Adapter Pattern: To prevent the API endpoint from tightly coupling with the native Google SDK, I developed a custom adapter (GoogleGenAIChatClient) that implements Microsoft’s standard IChatClient interface.&lt;/p&gt;

&lt;p&gt;Type-Safe JSON Management: To ensure that raw AI outputs could be safely and directly deserialized into C# objects (ArchitectureReview), I enforced strict schema controls. By fine-tuning parameters like Temperature (down to 0.2f) and setting the response MIME type, I successfully locked down the model’s output format.&lt;/p&gt;

&lt;p&gt;Dynamic Provider Routing: I designed an elegant Dependency Injection (DI) structure capable of switching between different underlying AI engines at runtime simply by modifying a single line in appsettings.json (e.g., SelectedProvider: "Gemini").&lt;/p&gt;

&lt;p&gt;🚀 What’s Next? (Phase 2 and Beyond)&lt;/p&gt;

&lt;p&gt;Now that the core infrastructure is completely provider-agnostic, it’s time to test more autonomous workflows within the laboratory:&lt;/p&gt;

&lt;p&gt;Giving the AI Hands and Feet (Orchestration): I will integrate Microsoft.SemanticKernel into the project to present native C# functions (Native Plugins) to the model as tools, opening the door to experimenting with autonomous execution loops.&lt;/p&gt;

&lt;p&gt;Code Analysis Capability (Function Calling): The first plugin I develop will test the model’s ability to scan real C# source files in the repository and generate autonomous architectural reviews.&lt;/p&gt;

&lt;p&gt;UI &amp;amp; Visualization: To visualize the analysis results and track model performance metrics over time, I will build an Architecture Dashboard powered by Angular 19.&lt;/p&gt;

&lt;p&gt;Advanced Memory &amp;amp; Agency (RAG &amp;amp; Agents): In later stages, I plan to explore vector database integrations (PostgreSQL/pgvector) and step into multi-agent systems via the Model Context Protocol (MCP).&lt;/p&gt;

&lt;p&gt;🔗 Explore the Code&lt;/p&gt;

&lt;p&gt;The complete blueprint, architecture blueprints, and step-by-step implementation files for Phase 1 are fully open-source. Feel free to explore, clone, or follow along as the laboratory evolves:&lt;/p&gt;

&lt;p&gt;👉 GitHub Repository: github.com/muratsuzen/dotnet-ai-lab&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>tutorial</category>
      <category>semantickernel</category>
    </item>
  </channel>
</rss>
