{"id":23,"date":"2026-09-23T20:49:18","date_gmt":"2026-09-23T20:49:18","guid":{"rendered":"https:\/\/www.akifsen.com.tr\/blog\/?p=23"},"modified":"2026-09-23T20:49:18","modified_gmt":"2026-09-23T20:49:18","slug":"ai-coding-agents-software-architecture","status":"publish","type":"post","link":"https:\/\/www.akifsen.com.tr\/blog\/2026\/09\/23\/ai-coding-agents-software-architecture\/","title":{"rendered":"AI Kod Yazabiliyor. Peki Mimarinin Da\u011f\u0131lmas\u0131n\u0131 Kim Engelleyecek?"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">AI coding agent&#8217;lar\u0131n en etkileyici taraf\u0131 kod yazma h\u0131zlar\u0131.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ayn\u0131 zamanda en tehlikeli taraf\u0131 da bu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c7\u00fcnk\u00fc yanl\u0131\u015f bir mimari karar art\u0131k yirmi sat\u0131r de\u011fil, birka\u00e7 dakika i\u00e7inde yirmi dosyaya yay\u0131labiliyor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bu nedenle agent tabanl\u0131 geli\u015ftirmede as\u0131l problem prompt engineering de\u011fildir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Governance engineering&#8217;dir.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u201cBest practices kullan\u201d bir gereksinim de\u011fildir<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bir agente:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Clean architecture kullan, production ready yap.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">demek kula\u011fa iyi gelir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ama agent a\u00e7\u0131s\u0131ndan olduk\u00e7a belirsizdir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bunun yerine repository&#8217;nin kurallar\u0131 a\u00e7\u0131k bi\u00e7imde tan\u0131mlanmal\u0131d\u0131r.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00d6rne\u011fin:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Controller may call Application Service only.\nApplication layer owns transaction boundary.\nDomain must not depend on framework classes.\nCross-context writes are forbidden.\nEvery public endpoint requires integration test.<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">B\u00f6yle bir contract \u00f6l\u00e7\u00fclebilir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u201c\u0130yi kod yaz\u201d de\u011fildir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">GitHub&#8217;\u0131n g\u00fcncel agent\/code-review dok\u00fcmantasyonu da repository-level instructions, <code>AGENTS.md<\/code>, acceptance criteria ve a\u00e7\u0131k task scope&#8217;un agent \u00e7\u0131kt\u0131lar\u0131n\u0131n kalitesini art\u0131rd\u0131\u011f\u0131n\u0131 vurguluyor.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Context&#8217;i b\u00fcy\u00fctmek her zaman \u00e7\u00f6z\u00fcm de\u011fildir<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bir ba\u015fka refleks agent&#8217;a repository&#8217;nin tamam\u0131n\u0131 okutmak.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Daha fazla context her zaman daha iyi sonu\u00e7 \u00fcretmez.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00d6nemli olan do\u011fru context&#8217;tir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00d6rne\u011fin payment feature geli\u015ftirilecekse agent&#8217;\u0131n \u00f6ncelikle \u015funlar\u0131 bilmesi gerekir:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Payment domain contract\nexisting architecture rules\nrelevant ADRs\npayment migrations\nexisting tests\nintegration contracts<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0130lgisiz 600 dosyay\u0131 okumak karar kalitesini art\u0131rmak yerine g\u00fcr\u00fclt\u00fc olu\u015fturabilir.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Agent kodu de\u011fil evidence \u00fcretmeli<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bir task tamamland\u0131\u011f\u0131nda:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Done.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">cevab\u0131 benim i\u00e7in yeterli de\u011fildir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Daha iyi completion contract:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Changed files\nImplemented requirements\nExecuted tests\nTest results\nArchitecture checks\nKnown limitations\nRemaining work<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u015feklindedir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">B\u00f6ylece agent&#8217;\u0131n iddias\u0131 ile repository&#8217;nin ger\u00e7ek durumu ayr\u0131labilir.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Test \u00e7al\u0131\u015ft\u0131rmak review de\u011fildir<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Agent 148 testin ge\u00e7ti\u011fini s\u00f6yl\u00fcyor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">G\u00fczel.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Fakat testler yanl\u0131\u015f davran\u0131\u015f\u0131 do\u011fruluyor olabilir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Architecture violation test kapsam\u0131na hi\u00e7 girmemi\u015f olabilir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Security problemi test taraf\u0131ndan g\u00f6r\u00fclmeyebilir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">GitHub da AI-generated kodun requirements, architecture, security ve test a\u00e7\u0131s\u0131ndan insan taraf\u0131ndan do\u011frulanmas\u0131n\u0131 \u00f6neriyor; automated review&#8217;\u00fcn insan review&#8217;\u00fcn\u00fcn yerine ge\u00e7memesi gerekti\u011fini a\u00e7\u0131k\u00e7a belirtiyor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bu y\u00fczden AI-assisted development&#8217;ta insan\u0131n rol\u00fc ortadan kalkm\u0131yor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rol yukar\u0131 ta\u015f\u0131n\u0131yor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Daha az boilerplate yaz\u0131yoruz.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Daha fazla s\u0131n\u0131r, kontrat, acceptance criteria ve do\u011frulama tasarl\u0131yoruz.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00d6n\u00fcm\u00fczdeki d\u00f6nemde senior developer&#8217;\u0131 junior&#8217;dan ay\u0131ran \u015fey yaln\u0131zca kimin daha h\u0131zl\u0131 kod yazd\u0131\u011f\u0131 olmayacak.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>AI&#8217;\u0131n yanl\u0131\u015f kodu \u00e7ok h\u0131zl\u0131 yazmas\u0131n\u0131 kimin engelleyebildi\u011fi olacak.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>AI coding agent&#8217;lar\u0131n en etkileyici taraf\u0131 kod yazma h\u0131zlar\u0131. Ayn\u0131 zamanda en tehlikeli taraf\u0131 da bu. \u00c7\u00fcnk\u00fc yanl\u0131\u015f bir mimari karar art\u0131k yirmi sat\u0131r de\u011fil, birka\u00e7 dakika i\u00e7inde yirmi dosyaya yay\u0131labiliyor. Bu nedenle agent tabanl\u0131 geli\u015ftirmede as\u0131l problem prompt engineering de\u011fildir. Governance engineering&#8217;dir. \u201cBest practices kullan\u201d bir gereksinim de\u011fildir Bir agente: Clean architecture kullan, production [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-23","post","type-post","status-publish","format-standard","hentry","category-mimari"],"_links":{"self":[{"href":"https:\/\/www.akifsen.com.tr\/blog\/wp-json\/wp\/v2\/posts\/23","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.akifsen.com.tr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.akifsen.com.tr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.akifsen.com.tr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.akifsen.com.tr\/blog\/wp-json\/wp\/v2\/comments?post=23"}],"version-history":[{"count":1,"href":"https:\/\/www.akifsen.com.tr\/blog\/wp-json\/wp\/v2\/posts\/23\/revisions"}],"predecessor-version":[{"id":24,"href":"https:\/\/www.akifsen.com.tr\/blog\/wp-json\/wp\/v2\/posts\/23\/revisions\/24"}],"wp:attachment":[{"href":"https:\/\/www.akifsen.com.tr\/blog\/wp-json\/wp\/v2\/media?parent=23"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.akifsen.com.tr\/blog\/wp-json\/wp\/v2\/categories?post=23"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.akifsen.com.tr\/blog\/wp-json\/wp\/v2\/tags?post=23"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}