{"id":33794,"date":"2025-11-07T05:01:07","date_gmt":"2025-11-07T02:01:07","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/llm-ajanlarini-olceklendirmek-prompt-karmasasindan-kurtulmak-icin-arac-odakli-yonergeler\/"},"modified":"2025-11-07T05:01:07","modified_gmt":"2025-11-07T02:01:07","slug":"llm-ajanlarini-olceklendirmek-prompt-karmasasindan-kurtulmak-icin-arac-odakli-yonergeler","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/llm-ajanlarini-olceklendirmek-prompt-karmasasindan-kurtulmak-icin-arac-odakli-yonergeler\/","title":{"rendered":"LLM Ajanlar\u0131n\u0131 \u00d6l\u00e7eklendirmek: Prompt Karma\u015fas\u0131ndan Kurtulmak \u0130\u00e7in Ara\u00e7 Odakl\u0131 Y\u00f6nergeler"},"content":{"rendered":"<p><body><\/p>\n<style>\n    body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; line-height: 1.6; color: #333; max-width: 900px; margin: 20px auto; padding: 0 15px; }\n    h2, h3 { color: #2c3e50; margin-top: 30px; margin-bottom: 15px; }\n    h2 { font-size: 2em; border-bottom: 2px solid #ddd; padding-bottom: 10px; }\n    h3 { font-size: 1.5em; color: #34495e; }\n    p { margin-bottom: 1em; }\n    ul { list-style-type: disc; margin-left: 20px; margin-bottom: 1em; }\n    ol { list-style-type: decimal; margin-left: 20px; margin-bottom: 1em; }\n    pre { background-color: #f4f4f4; padding: 15px; border-radius: 5px; overflow-x: auto; font-family: 'Consolas', 'Monaco', monospace; font-size: 0.9em; margin-bottom: 1em; }\n    code { font-family: 'Consolas', 'Monaco', monospace; background-color: #eee; padding: 2px 4px; border-radius: 3px; }\n    .expert-tip { background-color: #e8f5e9; border-left: 5px solid #4CAF50; padding: 15px; margin: 20px 0; border-radius: 5px; font-style: italic; color: #2e7d32; }\n    table { width: 100%; border-collapse: collapse; margin-bottom: 1em; }\n    th, td { border: 1px solid #ddd; padding: 8px; text-align: left; }\n    th { background-color: #f2f2f2; }<\/p>\n<p>    \/* Mobil uyumluluk i\u00e7in medya sorgular\u0131 *\/\n    @media (max-width: 768px) {\n        body { font-size: 0.95em; }\n        h2 { font-size: 1.8em; }\n        h3 { font-size: 1.3em; }\n        pre { font-size: 0.8em; }\n        table { display: block; overflow-x: auto; white-space: nowrap; } \/* Tablolar\u0131n yatay kayd\u0131rmas\u0131 *\/\n    }\n    @media (max-width: 480px) {\n        body { padding: 0 10px; }\n        h2 { font-size: 1.6em; }\n        h3 { font-size: 1.2em; }\n    }\n<\/style>\n<p>B\u00fcy\u00fck Dil Modelleri (LLM) tabanl\u0131 ajanlar geli\u015ftirmek, modern yapay zeka uygulamalar\u0131n\u0131n temel ta\u015flar\u0131ndan biri haline geldi. Ancak, bu ajanlar\u0131 karma\u015f\u0131k g\u00f6revler i\u00e7in \u00f6l\u00e7eklendirirken s\u0131kl\u0131kla kar\u015f\u0131la\u015f\u0131lan bir problem var: Prompt Karma\u015fas\u0131. Bu makale, LLM ajanlar\u0131n\u0131 y\u00f6netilebilir, etkili ve \u00f6l\u00e7eklenebilir k\u0131lmak i\u00e7in &#8220;Ara\u00e7 Odakl\u0131 Davran\u0131\u015fsal Y\u00f6nergeler&#8221; yakla\u015f\u0131m\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131kl\u0131yor.<\/p>\n<p>B\u00fcy\u00fck Dil Modelleri (LLM&#8217;ler) g\u00fcn\u00fcm\u00fcz\u00fcn en heyecan verici teknolojik geli\u015fmelerinden biri olarak kar\u015f\u0131m\u0131za \u00e7\u0131k\u0131yor. Bu modelleri, belirli g\u00f6revleri yerine getirmesi i\u00e7in y\u00f6nlendirdi\u011fimizde &#8220;ajan&#8221; ad\u0131n\u0131 verdi\u011fimiz otonom sistemler olu\u015fturabiliyoruz. Peki, bu ajanlar\u0131 karma\u015f\u0131k senaryolarda kulland\u0131k\u00e7a neden ba\u015f\u0131m\u0131z a\u011fr\u0131maya ba\u015fl\u0131yor? \u0130\u015fte burada &#8220;prompt karma\u015fas\u0131&#8221; (prompt spaghetti) kavram\u0131 devreye giriyor. Prompt karma\u015fas\u0131, LLM ajanlar\u0131na verilen talimatlar\u0131n (prompt&#8217;lar\u0131n) zamanla a\u015f\u0131r\u0131 derecede uzamas\u0131, i\u00e7 i\u00e7e ge\u00e7mesi ve y\u00f6netilemez bir hal almas\u0131 durumunu ifade eder. T\u0131pk\u0131 birbirine dolanm\u0131\u015f bir spagetti taba\u011f\u0131 gibi, her bir talimat di\u011ferini etkiler, okunabilirli\u011fi d\u00fc\u015fer ve hatalar\u0131 ay\u0131klamak adeta imkans\u0131z hale gelir.<\/p>\n<p>Ba\u015flang\u0131\u00e7ta, basit g\u00f6revler i\u00e7in tek bir paragraf veya birka\u00e7 c\u00fcmleden olu\u015fan prompt&#8217;lar yeterli olabilir. \u00d6rne\u011fin, bir metni \u00f6zetlemek veya basit bir soruya cevap vermek gibi. Ancak, bir LLM ajan\u0131n\u0131n giderek daha sofistike davran\u0131\u015flar sergilemesi, birden fazla ad\u0131m\u0131 takip etmesi, harici sistemlerle etkile\u015fime girmesi veya farkl\u0131 ko\u015fullara g\u00f6re farkl\u0131 aksiyonlar almas\u0131 gerekti\u011finde, prompt&#8217;lar\u0131n i\u00e7ine bu detaylar\u0131n hepsini s\u0131k\u0131\u015ft\u0131rmaya \u00e7al\u0131\u015f\u0131r\u0131z. Bu, ka\u00e7\u0131n\u0131lmaz olarak prompt&#8217;un \u015fi\u015fmesine ve mod\u00fclerli\u011fini kaybetmesine yol a\u00e7ar.<\/p>\n<p>Peki, bu durum neden bu kadar b\u00fcy\u00fck bir sorun te\u015fkil ediyor? \u00d6ncelikle, <strong>bak\u0131m ve s\u00fcrd\u00fcr\u00fclebilirlik<\/strong> a\u00e7\u0131s\u0131ndan ciddi zorluklar yarat\u0131r. Tek bir prompt&#8217;ta y\u00fczlerce sat\u0131rl\u0131k talimat oldu\u011funda, k\u00fc\u00e7\u00fck bir de\u011fi\u015fiklik yapmak bile beklenmedik yan etkilere yol a\u00e7abilir. Bu da geli\u015ftirme s\u00fcre\u00e7lerini yava\u015flat\u0131r ve maliyetleri art\u0131r\u0131r. \u0130kinci olarak, <strong>\u00f6l\u00e7eklenebilirlik<\/strong> sorunu ya\u015fan\u0131r. Her yeni \u00f6zellik veya davran\u0131\u015f i\u00e7in mevcut prompt&#8217;u daha da uzatmak, onu daha k\u0131r\u0131lgan hale getirir. Yeni bir g\u00f6rev eklemek, var olan prompt yap\u0131s\u0131n\u0131 tamamen bozabilir. \u00dc\u00e7\u00fcnc\u00fc olarak, uzun prompt&#8217;lar <strong>maliyetleri ve gecikmeyi<\/strong> art\u0131r\u0131r. LLM&#8217;ler her bir token i\u00e7in \u00fccretlendirilir ve prompt&#8217;un uzunlu\u011fu do\u011frudan maliyeti etkiler. Ayr\u0131ca, daha uzun prompt&#8217;lar\u0131n i\u015flenmesi daha fazla zaman al\u0131r, bu da ajanlar\u0131n yan\u0131t s\u00fcrelerini uzat\u0131r.<\/p>\n<p>Dahas\u0131, prompt karma\u015fas\u0131, LLM&#8217;in kendi performans\u0131n\u0131 da olumsuz etkileyebilir. A\u015f\u0131r\u0131 detayl\u0131 ve karma\u015f\u0131k prompt&#8217;lar, modelin ana g\u00f6reve odaklanmas\u0131n\u0131 zorla\u015ft\u0131rabilir, hatta &#8220;hall\u00fcsinasyon&#8221; denilen, do\u011fru olmayan bilgiler \u00fcretmesine neden olabilir. Modelin talimatlar\u0131 yorumlama yetene\u011fi, prompt&#8217;un netli\u011fi ve k\u0131sal\u0131\u011f\u0131yla do\u011fru orant\u0131l\u0131d\u0131r. Bu nedenle, prompt karma\u015fas\u0131 sadece geli\u015ftirici i\u00e7in de\u011fil, ayn\u0131 zamanda son kullan\u0131c\u0131 i\u00e7in de daha az g\u00fcvenilir ve daha yava\u015f \u00e7al\u0131\u015fan ajanlar anlam\u0131na gelir.<\/p>\n<p>Bu sorunlar\u0131 a\u015fmak i\u00e7in prompt m\u00fchendisli\u011finde yeni bir paradigmaya ihtiyac\u0131m\u0131z var. Amac\u0131m\u0131z, LLM&#8217;e her ad\u0131m\u0131 tek tek dikte etmek yerine, ona belirli yetenekler kazand\u0131rarak ve ne zaman hangi yetene\u011fi kullanaca\u011f\u0131na dair y\u00fcksek seviyeli y\u00f6nergeler vererek daha otonom ve y\u00f6netilebilir ajanlar olu\u015fturmakt\u0131r. Bu noktada, &#8220;ara\u00e7 odakl\u0131&#8221; yakla\u015f\u0131m, prompt karma\u015fas\u0131n\u0131 ortadan kald\u0131rmak i\u00e7in g\u00fc\u00e7l\u00fc bir \u00e7\u00f6z\u00fcm sunmaktad\u0131r. B\u00f6ylece, ajanlar\u0131m\u0131z hem ak\u0131ll\u0131 hem de esnek olabilirken, biz de onlar\u0131 daha kolay y\u00f6netebilir ve geli\u015ftirebiliriz.<\/p>\n<h2>LLM Ajanlar\u0131 Nas\u0131l \u00c7al\u0131\u015f\u0131r ve Ara\u00e7lar Neden Bu Kadar \u00d6nemli?<\/h2>\n<p>B\u00fcy\u00fck Dil Modelleri (LLM&#8217;ler) tek ba\u015flar\u0131na olduk\u00e7a g\u00fc\u00e7l\u00fc olsa da, ger\u00e7ek d\u00fcnyadaki karma\u015f\u0131k g\u00f6revleri yerine getirebilmeleri i\u00e7in genellikle bir &#8220;ajan&#8221; yap\u0131s\u0131 i\u00e7inde \u00e7al\u0131\u015fmalar\u0131 gerekir. Peki, bir LLM ajan\u0131 tam olarak nedir ve nas\u0131l i\u015fler? Basit\u00e7e ifade etmek gerekirse, bir LLM ajan\u0131, bir B\u00fcy\u00fck Dil Modeli&#8217;ni temel zeka ve dil anlama yetene\u011fi olarak kullanarak, belirli hedeflere ula\u015fmak i\u00e7in eylemler planlayabilen, ger\u00e7ekle\u015ftirebilen ve \u00e7evresiyle etkile\u015fime girebilen otonom bir sistemdir.<\/p>\n<p>Bir LLM ajan\u0131n\u0131n \u00e7al\u0131\u015fma d\u00f6ng\u00fcs\u00fc genellikle \u015fu ana bile\u015fenlerden olu\u015fur:<\/p>\n<ol>\n<li><strong>Alg\u0131lama (Perception):<\/strong> Ajan, kullan\u0131c\u0131 girdisini, harici veri kaynaklar\u0131n\u0131 veya \u00f6nceki eylemlerinin sonu\u00e7lar\u0131n\u0131 alg\u0131lar ve anlar. LLM&#8217;in dil anlama yetene\u011fi burada devreye girer.<\/li>\n<li><strong>Planlama (Planning):<\/strong> Alg\u0131lad\u0131\u011f\u0131 bilgilere ve kendisine verilen hedefe dayanarak, ajan bir sonraki en iyi eylemi veya bir dizi eylemi planlar. Bu planlama, LLM&#8217;in muhakeme yetene\u011fi sayesinde ger\u00e7ekle\u015fir.<\/li>\n<li><strong>Eylem (Action):<\/strong> Ajan, planlad\u0131\u011f\u0131 eylemi ger\u00e7ekle\u015ftirir. Bu eylem, bir yan\u0131t olu\u015fturmak, bir arac\u0131 \u00e7a\u011f\u0131rmak veya bir veritaban\u0131 sorgusu yapmak olabilir.<\/li>\n<li><strong>Haf\u0131za (Memory):<\/strong> Ajan, \u00f6nceki etkile\u015fimleri ve \u00f6\u011frenilen bilgileri saklar. Bu, daha tutarl\u0131 ve ba\u011flamsal olarak uygun davran\u0131\u015flar sergilemesine olanak tan\u0131r. K\u0131sa vadeli (current conversation) ve uzun vadeli (learned knowledge) haf\u0131za olabilir.<\/li>\n<\/ol>\n<p>LLM&#8217;ler do\u011fas\u0131 gere\u011fi yaln\u0131zca metinle i\u015flem yapabilir ve belirli bir &#8220;kesme noktas\u0131na&#8221; kadar \u00f6\u011frendikleri verilerle s\u0131n\u0131rl\u0131d\u0131rlar. Yani, internette arama yapamazlar, kod \u00e7al\u0131\u015ft\u0131ramazlar, g\u00fcncel verilere eri\u015femezler veya d\u0131\u015f sistemlerle do\u011frudan etkile\u015fime ge\u00e7emezler. \u0130\u015fte tam bu noktada &#8220;ara\u00e7lar&#8221; (tools) devreye girer ve LLM ajanlar\u0131n\u0131n ger\u00e7ek g\u00fcc\u00fcn\u00fc ortaya \u00e7\u0131kar\u0131r. Ara\u00e7lar, bir LLM&#8217;in temel yeteneklerinin \u00f6tesine ge\u00e7mesini sa\u011flayan, \u00f6nceden tan\u0131mlanm\u0131\u015f fonksiyonlar veya API \u00e7a\u011fr\u0131lar\u0131d\u0131r.<\/p>\n<p>Ara\u00e7lar sayesinde, LLM ajanlar\u0131 asl\u0131nda kendilerine &#8220;kas&#8221; eklemi\u015f olurlar. \u00d6rne\u011fin:<\/p>\n<ul>\n<li>Bir <strong>internet arama arac\u0131<\/strong>, LLM&#8217;in g\u00fcncel bilgilere eri\u015fmesini sa\u011flar.<\/li>\n<li>Bir <strong>kod yorumlay\u0131c\u0131 arac\u0131<\/strong>, LLM&#8217;in matematiksel hesaplamalar yapmas\u0131n\u0131, veri analiz etmesini veya kod \u00fcretip \u00e7al\u0131\u015ft\u0131rmas\u0131n\u0131 m\u00fcmk\u00fcn k\u0131lar.<\/li>\n<li>Bir <strong>veritaban\u0131 sorgu arac\u0131<\/strong>, LLM&#8217;in belirli bir sistemdeki verilere eri\u015fip bunlar\u0131 manip\u00fcle etmesini sa\u011flar.<\/li>\n<li>Bir <strong>API arac\u0131<\/strong>, LLM&#8217;in CRM, e-ticaret platformlar\u0131 veya \u00f6deme sistemleri gibi harici hizmetlerle etkile\u015fime girmesine olanak tan\u0131r.<\/li>\n<\/ul>\n<div class=\"expert-tip\">\n  Uzman \u0130pucu: Ara\u00e7lar, LLM&#8217;in &#8220;bilgisini&#8221; de\u011fil, &#8220;yetene\u011fini&#8221; geni\u015fletir. LLM, hangi arac\u0131 ne zaman kullanaca\u011f\u0131na dair muhakemeyi yapar; arac\u0131n kendisi ise belirli bir i\u015flevi verimli ve hatas\u0131z bir \u015fekilde yerine getirir. Bu ayr\u0131m, ajan tasar\u0131m\u0131nda kritik \u00f6neme sahiptir.\n<\/div>\n<p>Ara\u00e7lar\u0131n bu kadar \u00f6nemli olmas\u0131n\u0131n temel nedeni, LLM ajanlar\u0131na <strong>eylem yetene\u011fi<\/strong> kazand\u0131rmalar\u0131d\u0131r. Bir LLM, bir sorunu nas\u0131l \u00e7\u00f6zece\u011fini &#8220;bilebilir&#8221; ancak bunu &#8220;yapamaz&#8221;. Ara\u00e7lar ise LLM&#8217;in bu &#8220;yapabilirlik&#8221; eksikli\u011fini giderir. Ayr\u0131ca, ara\u00e7lar, LLM&#8217;in b\u00fcy\u00fck ve karma\u015f\u0131k bir g\u00f6rev yerine getirmesi gereken durumlarda i\u015f y\u00fck\u00fcn\u00fc b\u00f6lmesine ve daha spesifik, g\u00fcvenilir ve do\u011frulanabilir ad\u0131mlar atmas\u0131na olanak tan\u0131r. Bu mod\u00fcler yap\u0131, daha \u00f6nce bahsetti\u011fimiz prompt karma\u015fas\u0131n\u0131n \u00f6n\u00fcne ge\u00e7mek i\u00e7in de kilit bir rol oynar. LLM&#8217;e uzun ve detayl\u0131 talimatlar vermek yerine, ona do\u011fru arac\u0131 do\u011fru zamanda kullanma yetene\u011fi vererek \u00e7ok daha etkili ve \u00f6l\u00e7eklenebilir ajanlar olu\u015fturabiliriz.<\/p>\n<h2>Ara\u00e7 Odakl\u0131 Davran\u0131\u015fsal Y\u00f6nergeler Nelerdir ve Prompt Karma\u015fas\u0131n\u0131 Nas\u0131l \u00c7\u00f6zer?<\/h2>\n<p>Prompt karma\u015fas\u0131n\u0131n temelinde yatan sorun, B\u00fcy\u00fck Dil Modeli&#8217;ne (LLM) her eylemi ve her karar\u0131 ayr\u0131nt\u0131l\u0131 olarak prompt i\u00e7inde dikte etme \u00e7abam\u0131zd\u0131r. Bu durum, prompt&#8217;lar\u0131 hantal, okunaks\u0131z ve bak\u0131m\u0131 zor hale getirir. &#8220;Ara\u00e7 Odakl\u0131 Davran\u0131\u015fsal Y\u00f6nergeler&#8221; (Tool-Driven Behavioral Directives) yakla\u015f\u0131m\u0131, bu soruna k\u00f6kten bir \u00e7\u00f6z\u00fcm sunar. Bu yakla\u015f\u0131m, LLM&#8217;in ne yapmas\u0131 gerekti\u011fini ona &#8220;nas\u0131l&#8221; yapaca\u011f\u0131n\u0131 anlatmak yerine, ona belirli yetenekler kazand\u0131ran &#8220;ara\u00e7lar&#8221; sa\u011flayarak ve ne zaman hangi arac\u0131 kullanmas\u0131 gerekti\u011fine dair y\u00fcksek seviyeli, net y\u00f6nergeler vererek \u00e7al\u0131\u015f\u0131r.<\/p>\n<p>Bu yakla\u015f\u0131m\u0131n \u00f6z\u00fc, karma\u015f\u0131k davran\u0131\u015flar\u0131 k\u00fc\u00e7\u00fck, y\u00f6netilebilir ve yeniden kullan\u0131labilir &#8220;ara\u00e7lara&#8221; b\u00f6lmektir. Her bir ara\u00e7, belirli bir g\u00f6revi yerine getiren bir fonksiyon veya API \u00e7a\u011fr\u0131s\u0131 gibi davran\u0131r. \u00d6rne\u011fin, bir internet aramas\u0131 yapmak, bir veritaban\u0131n\u0131 sorgulamak, bir e-posta g\u00f6ndermek veya bir hesaplama yapmak gibi eylemlerin her biri ayr\u0131 bir ara\u00e7 olarak tan\u0131mlan\u0131r. LLM&#8217;in g\u00f6revi ise, kendisine sunulan durumu analiz ederek ve elindeki ara\u00e7 setini kullanarak hedefine ula\u015fmak i\u00e7in en uygun arac\u0131 se\u00e7mek ve bu araca do\u011fru parametreleri sa\u011flamakt\u0131r.<\/p>\n<p>Ara\u00e7 odakl\u0131 y\u00f6nergeler, prompt karma\u015fas\u0131n\u0131 \u00e7e\u015fitli \u015fekillerde \u00e7\u00f6zer:<\/p>\n<ol>\n<li><strong>Mod\u00fclerlik ve Abstraksiyon:<\/strong> Her ara\u00e7, belirli bir i\u015flevi kapsayan ba\u011f\u0131ms\u0131z bir birimdir. Bu sayede, LLM&#8217;e &#8220;internette arama yap&#8221; demek yeterli olur; araman\u0131n nas\u0131l yap\u0131laca\u011f\u0131, hangi arama motorunun kullan\u0131laca\u011f\u0131 gibi detaylar araca g\u00f6m\u00fcl\u00fcd\u00fcr. Bu, prompt&#8217;u b\u00fcy\u00fck \u00f6l\u00e7\u00fcde k\u0131salt\u0131r ve okunabilirli\u011fi art\u0131r\u0131r.<\/li>\n<li><strong>Yeniden Kullan\u0131labilirlik:<\/strong> Olu\u015fturulan ara\u00e7lar, farkl\u0131 ajanlar veya farkl\u0131 g\u00f6revler i\u00e7in yeniden kullan\u0131labilir. \u00d6rne\u011fin, bir \u00fcr\u00fcn envanterini kontrol eden ara\u00e7, hem m\u00fc\u015fteri hizmetleri ajan\u0131 hem de sipari\u015f y\u00f6netim ajan\u0131 taraf\u0131ndan kullan\u0131labilir. Bu, geli\u015ftirme s\u00fcresini k\u0131salt\u0131r ve tutarl\u0131l\u0131\u011f\u0131 art\u0131r\u0131r.<\/li>\n<li><strong>Test Edilebilirlik ve Bak\u0131m Kolayl\u0131\u011f\u0131:<\/strong> Ara\u00e7lar ba\u011f\u0131ms\u0131z birimler oldu\u011fu i\u00e7in, her bir ara\u00e7 ayr\u0131 ayr\u0131 test edilebilir. E\u011fer bir ara\u00e7ta hata varsa, sadece o arac\u0131 d\u00fczeltmek yeterlidir, t\u00fcm prompt&#8217;u ba\u015ftan sona incelemeye gerek kalmaz. Bu, hatalar\u0131 ay\u0131klamay\u0131 ve sistemi s\u00fcrd\u00fcrmeyi \u00e7ok daha kolay hale getirir.<\/li>\n<li><strong>Prompt K\u0131saltma ve Maliyet Azaltma:<\/strong> LLM&#8217;e g\u00f6nderilen prompt&#8217;lar, uzun ve detayl\u0131 talimatlar yerine, sadece g\u00f6revin amac\u0131n\u0131 ve mevcut ara\u00e7lar\u0131 listeler. Bu, prompt&#8217;lar\u0131n token say\u0131s\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r, dolay\u0131s\u0131yla API maliyetlerini d\u00fc\u015f\u00fcr\u00fcr ve yan\u0131t s\u00fcrelerini iyile\u015ftirir.<\/li>\n<li><strong>Daha G\u00fcvenilir Davran\u0131\u015f:<\/strong> LLM&#8217;in karma\u015f\u0131k mant\u0131\u011f\u0131 do\u011frudan yorumlamaya \u00e7al\u0131\u015fmas\u0131 yerine, iyi test edilmi\u015f ve g\u00fcvenilir ara\u00e7lara y\u00f6nlendirilmesi, ajanlar\u0131n daha tutarl\u0131 ve do\u011fru sonu\u00e7lar \u00fcretmesini sa\u011flar. LLM, sadece hangi arac\u0131 kullanaca\u011f\u0131na karar verir; arac\u0131n kendi i\u00e7 mant\u0131\u011f\u0131 ise belirli bir i\u015fi g\u00fcvenli ve do\u011fru bir \u015fekilde yapar.<\/li>\n<\/ol>\n<p>\u00d6zetle, ara\u00e7 odakl\u0131 davran\u0131\u015fsal y\u00f6nergeler, LLM ajanlar\u0131n\u0131 &#8220;nas\u0131l&#8221;dan &#8220;neye&#8221; y\u00f6nlendirir. LLM&#8217;e bir g\u00f6revi nas\u0131l yapaca\u011f\u0131n\u0131 ad\u0131m ad\u0131m anlatmak yerine, ona o g\u00f6revi yapabilecek &#8220;ara\u00e7lar\u0131&#8221; sunar\u0131z ve &#8220;\u015fu durumda \u015fu arac\u0131 kullan&#8221; deriz. Bu yakla\u015f\u0131m, prompt m\u00fchendisli\u011fini bir sanat olmaktan \u00e7\u0131kar\u0131p, daha m\u00fchendislik odakl\u0131, mod\u00fcler ve \u00f6l\u00e7eklenebilir bir disipline d\u00f6n\u00fc\u015ft\u00fcr\u00fcr. Bu, sadece LLM ajanlar\u0131n\u0131 \u00f6l\u00e7eklendirmekle kalmaz, ayn\u0131 zamanda onlar\u0131n daha g\u00fcvenilir, verimli ve y\u00f6netilebilir olmas\u0131n\u0131 sa\u011flar.<\/p>\n<h3>Ger\u00e7ek D\u00fcnya Senaryosu: Bir M\u00fc\u015fteri Destek Ajan\u0131 Nas\u0131l Geli\u015ftirilir?<\/h3>\n<p>\u015eimdi bu kavram\u0131 somutla\u015ft\u0131rmak i\u00e7in ger\u00e7ek bir d\u00fcnya senaryosuna, bir m\u00fc\u015fteri destek ajan\u0131 geli\u015ftirmeye odaklanal\u0131m. M\u00fc\u015fteri destek hizmetleri, otomasyon i\u00e7in harika bir adayd\u0131r \u00e7\u00fcnk\u00fc genellikle tekrar eden sorular\u0131 ve belirli i\u015f ak\u0131\u015flar\u0131n\u0131 i\u00e7erir. Ancak ayn\u0131 zamanda, her m\u00fc\u015fteri vakas\u0131 biraz farkl\u0131 olabilece\u011finden esneklik de gerektirir.<\/p>\n<p><strong>Prompt Karma\u015fas\u0131 ile Yakla\u015f\u0131m:<\/strong><\/p>\n<p>Geleneksel, prompt karma\u015fas\u0131na e\u011filimli bir yakla\u015f\u0131mda, m\u00fc\u015fteri destek LLM ajan\u0131 i\u00e7in tek bir, devasa bir prompt olu\u015fturmaya \u00e7al\u0131\u015f\u0131rd\u0131k. Bu prompt, a\u015fa\u011f\u0131daki gibi y\u00f6nergeleri i\u00e7erebilirdi:<\/p>\n<ul>\n<li>&#8220;M\u00fc\u015fteri &#8216;sipari\u015f durumu&#8217; soruyorsa, sipari\u015f numaras\u0131n\u0131 al ve veritaban\u0131n\u0131 sorgula.&#8221;<\/li>\n<li>&#8220;M\u00fc\u015fteri &#8216;\u00fcr\u00fcn iadesi&#8217; istiyorsa, iade ko\u015fullar\u0131n\u0131 a\u00e7\u0131kla, sonra iade formunu doldurmas\u0131 i\u00e7in bir ba\u011flant\u0131 ver. E\u011fer \u00f6zel bir durumsa y\u00f6neticilere ilet.&#8221;<\/li>\n<li>&#8220;M\u00fc\u015fteri &#8216;fatura&#8217; soruyorsa, fatura sisteminden son faturay\u0131 \u00e7ek ve m\u00fc\u015fteriye g\u00f6nder.&#8221;<\/li>\n<li>&#8220;E\u011fer soruyu anlayamazsan, l\u00fctfen &#8216;bir insan temsilciye aktar&#8217; de ve sorunu \u00f6zetle.&#8221;<\/li>\n<li>&#8230; ve bu liste uzar giderdi, her yeni senaryo i\u00e7in prompt daha da uzard\u0131.<\/li>\n<\/ul>\n<p>Bu prompt, y\u00fczlerce veya binlerce token&#8217;a ula\u015fabilir, y\u00f6netilmesi kabus gibi olurdu. K\u00fc\u00e7\u00fck bir de\u011fi\u015fiklik, t\u00fcm sistemin davran\u0131\u015f\u0131n\u0131 bozabilir. Yeni bir \u00fcr\u00fcn veya iade politikas\u0131 eklendi\u011finde, bu devasa prompt&#8217;un her yerinde manuel g\u00fcncellemeler yapmam\u0131z gerekirdi.<\/p>\n<p><strong>Ara\u00e7 Odakl\u0131 Yakla\u015f\u0131m ile \u00c7\u00f6z\u00fcm:<\/strong><\/p>\n<p>Ara\u00e7 odakl\u0131 davran\u0131\u015fsal y\u00f6nergelerle, bu karma\u015f\u0131kl\u0131\u011f\u0131 da\u011f\u0131t\u0131r\u0131z. Her bir m\u00fc\u015fteri destek i\u015flevini ayr\u0131 bir &#8220;araca&#8221; d\u00f6n\u00fc\u015ft\u00fcr\u00fcr\u00fcz. LLM&#8217;in g\u00f6revi, m\u00fc\u015fterinin talebini anlay\u0131p, hangi arac\u0131n en uygun oldu\u011funa karar vermek ve o arac\u0131 do\u011fru parametrelerle \u00e7a\u011f\u0131rmakt\u0131r. \u0130\u015fte \u00f6rnek ara\u00e7lar\u0131m\u0131z ve basit Python benzeri tan\u0131mlar\u0131:<\/p>\n<pre><code class=\"language-python\">\n# Ara\u00e7 1: Sipari\u015f Durumunu Kontrol Etme\ndef check_order_status(order_id: str) -> dict:\n    \"\"\"M\u00fc\u015fterinin sipari\u015f numaras\u0131n\u0131 kullanarak g\u00fcncel sipari\u015f durumunu getirir.\n    Parametreler:\n        order_id (str): Sorgulanacak sipari\u015fin benzersiz kimli\u011fi.\n    D\u00f6n\u00fc\u015f:\n        dict: Sipari\u015f durumu, tahmini teslimat tarihi gibi bilgiler.\n    \"\"\"\n    # Ger\u00e7ek uygulamada, bu bir veritaban\u0131 sorgusu veya harici API \u00e7a\u011fr\u0131s\u0131 olurdu.\n    if order_id == \"ABC12345\":\n        return {\"order_id\": order_id, \"status\": \"Kargoda\", \"delivery_date\": \"2023-11-25\"}\n    else:\n        return {\"order_id\": order_id, \"status\": \"Bulunamad\u0131\", \"message\": \"Ge\u00e7ersiz sipari\u015f numaras\u0131.\"}\n\n# Ara\u00e7 2: \u0130ade Ba\u015flatma\ndef initiate_refund(order_id: str, reason: str) -> dict:\n    \"\"\"Belirtilen sipari\u015f i\u00e7in bir iade s\u00fcreci ba\u015flat\u0131r.\n    Parametreler:\n        order_id (str): \u0130ade edilecek sipari\u015fin kimli\u011fi.\n        reason (str): \u0130ade nedeni (\u00f6rne\u011fin, \"hasarl\u0131 \u00fcr\u00fcn\", \"yanl\u0131\u015f beden\").\n    D\u00f6n\u00fc\u015f:\n        dict: \u0130ade durumu, iade takip numaras\u0131 gibi bilgiler.\n    \"\"\"\n    # Bu, bir \u00f6deme sistemi API'sine veya bir iade y\u00f6netim sistemine \u00e7a\u011fr\u0131 yapabilir.\n    if order_id == \"ABC12345\":\n        return {\"refund_id\": \"REF67890\", \"status\": \"\u0130ade i\u015flemi ba\u015flat\u0131ld\u0131\", \"estimated_processing_days\": 3}\n    else:\n        return {\"status\": \"Ba\u015far\u0131s\u0131z\", \"message\": \"\u0130ade ba\u015flat\u0131lamad\u0131, sipari\u015f bulunamad\u0131.\"}\n\n# Ara\u00e7 3: \u0130nsan Temsilciye Y\u00f6nlendirme\ndef escalate_to_human(issue_description: str, priority: str = \"Normal\") -> dict:\n    \"\"\"M\u00fc\u015fterinin sorununu bir insan temsilciye y\u00f6nlendirir.\n    Parametreler:\n        issue_description (str): M\u00fc\u015fterinin sorununun k\u0131sa bir \u00f6zeti.\n        priority (str): Y\u00f6nlendirmenin \u00f6ncelik seviyesi (\"Normal\", \"Acil\").\n    D\u00f6n\u00fc\u015f:\n        dict: Y\u00f6nlendirme durumu, bilet numaras\u0131.\n    \"\"\"\n    # Bu, bir CRM sistemine yeni bir bilet olu\u015fturabilir.\n    return {\"ticket_id\": \"TKT98765\", \"status\": \"\u0130nsan temsilciye y\u00f6nlendirildi\", \"description\": issue_description, \"priority\": priority}\n<\/pre>\n<p><\/code><\/p>\n<p>LLM'e verilecek prompt ise \u00e7ok daha basit olacakt\u0131r:<\/p>\n<pre><code class=\"language-text\">\n\"Sen bir m\u00fc\u015fteri destek yapay zeka ajan\u0131s\u0131n. M\u00fc\u015fterilerin sipari\u015f durumlar\u0131n\u0131 kontrol etmelerine, iade ba\u015flatmalar\u0131na ve karma\u015f\u0131k durumlarda insan temsilcilere y\u00f6nlendirilmelerine yard\u0131mc\u0131 oluyorsun. L\u00fctfen elindeki ara\u00e7lar\u0131 ak\u0131ll\u0131ca kullanarak m\u00fc\u015fteri sorunlar\u0131n\u0131 \u00e7\u00f6z. Kulland\u0131\u011f\u0131n ara\u00e7lar\u0131n \u00e7\u0131kt\u0131lar\u0131na g\u00f6re m\u00fc\u015fteriye nazik\u00e7e yan\u0131t ver.\"\n<\/pre>\n<p><\/code><\/p>\n<div class=\"expert-tip\">\n  Uzman \u0130pucu: Ara\u00e7lar\u0131n dok\u00fcmantasyonu (docstring'leri) LLM i\u00e7in hayati \u00f6neme sahiptir. LLM, hangi arac\u0131n ne i\u015fe yarad\u0131\u011f\u0131n\u0131 ve hangi parametreleri bekledi\u011fini bu dok\u00fcmantasyondan \u00f6\u011frenir. Detayl\u0131 ve a\u00e7\u0131klay\u0131c\u0131 docstring'ler, LLM'in do\u011fru arac\u0131 se\u00e7me ve do\u011fru \u015fekilde kullanma yetene\u011fini do\u011frudan art\u0131r\u0131r.\n<\/div>\n<p>Bu senaryoda, m\u00fc\u015fteri \"ABC12345 sipari\u015fimin durumu ne?\" diye sordu\u011funda, LLM anlar ki <code>check_order_status<\/code> arac\u0131n\u0131 <code>order_id=\"ABC12345\"<\/code> parametresiyle \u00e7a\u011f\u0131rmal\u0131d\u0131r. Arac\u0131n \u00e7\u0131kt\u0131s\u0131n\u0131 ald\u0131ktan sonra, bu \u00e7\u0131kt\u0131y\u0131 kullanarak m\u00fc\u015fteriye do\u011fal bir dilde yan\u0131t verir. E\u011fer m\u00fc\u015fteri \"iade yapmak istiyorum\" derse, LLM <code>initiate_refund<\/code> arac\u0131n\u0131 kullanmay\u0131 de\u011ferlendirir, ancak muhtemelen \u00f6nce iade nedenini ve sipari\u015f numaras\u0131n\u0131 isteyerek ek parametreler toplamaya \u00e7al\u0131\u015f\u0131r. Sorun \u00e7ok karma\u015f\u0131ksa (\"Ge\u00e7en ay ald\u0131\u011f\u0131m X \u00fcr\u00fcn\u00fc bozuldu ama faturas\u0131n\u0131 bulam\u0131yorum, ne yapmal\u0131y\u0131m?\"), LLM bunu <code>escalate_to_human<\/code> arac\u0131na y\u00f6nlendirmeyi tercih edebilir. Bu mod\u00fcler yap\u0131, ajan\u0131 son derece esnek, bak\u0131m\u0131 kolay ve \u00f6l\u00e7eklenebilir hale getirir. Her yeni yetenek veya i\u015f ak\u0131\u015f\u0131, sadece yeni bir ara\u00e7 olarak sisteme eklenir, mevcut prompt'u \u015fi\u015firmeye gerek kalmaz.<\/p>\n<h2>Ara\u00e7 Odakl\u0131 Ajan Geli\u015ftirmede Ad\u0131m Ad\u0131m Yakla\u015f\u0131m<\/h2>\n<p>Ara\u00e7 odakl\u0131 LLM ajanlar\u0131 geli\u015ftirmek, geleneksel prompt m\u00fchendisli\u011fine k\u0131yasla daha yap\u0131land\u0131r\u0131lm\u0131\u015f bir s\u00fcre\u00e7 gerektirir. Bu yakla\u015f\u0131m, karma\u015f\u0131kl\u0131\u011f\u0131 y\u00f6netmek, \u00f6l\u00e7eklenebilirli\u011fi sa\u011flamak ve ajanlar\u0131n\u0131z\u0131n daha g\u00fcvenilir \u00e7al\u0131\u015fmas\u0131n\u0131 garantilemek i\u00e7in ad\u0131m ad\u0131m bir metodoloji sunar. \u0130\u015fte bu s\u00fcreci nas\u0131l y\u00fcr\u00fctece\u011finize dair detayl\u0131 bir k\u0131lavuz:<\/p>\n<h3>1. Davran\u0131\u015flar\u0131 ve G\u00f6revleri Belirleme: Ajan\u0131n\u0131z Ne Yapacak?<\/h3>\n<p>\u0130lk ad\u0131m, LLM ajan\u0131n\u0131z\u0131n genel amac\u0131n\u0131 ve yerine getirmesi gereken spesifik davran\u0131\u015flar\u0131 net bir \u015fekilde tan\u0131mlamakt\u0131r. Bu, ajan\u0131n hangi sorunlar\u0131 \u00e7\u00f6zmesi veya hangi sorular\u0131 yan\u0131tlamas\u0131 gerekti\u011fiyle ba\u015flar. \u00d6rne\u011fin, bir e-ticaret m\u00fc\u015fteri hizmetleri ajan\u0131 i\u00e7in olas\u0131 davran\u0131\u015flar \u015funlar olabilir:<\/p>\n<ul>\n<li>Sipari\u015f durumunu kontrol etme<\/li>\n<li>\u00dcr\u00fcn iadesi ba\u015flatma<\/li>\n<li>Stok durumunu sorgulama<\/li>\n<li>Fatura g\u00f6nderme<\/li>\n<li>Canl\u0131 destek ile ba\u011flant\u0131 kurma<\/li>\n<\/ul>\n<p>Her bir ana davran\u0131\u015f, potansiyel bir ara\u00e7 i\u00e7in adayd\u0131r. Bu a\u015famada, her davran\u0131\u015f\u0131n gerektirdi\u011fi girdileri ve beklenen \u00e7\u0131kt\u0131lar\u0131 da kabaca belirlemek faydal\u0131d\u0131r. Bu, bir nevi \"gereksinim analizi\" a\u015famas\u0131d\u0131r.<\/p>\n<h3>2. Ara\u00e7lar\u0131 Tan\u0131mlama ve Geli\u015ftirme: Her Davran\u0131\u015f \u0130\u00e7in Bir Fonksiyon<\/h3>\n<p>Davran\u0131\u015flar belirlendikten sonra, her bir davran\u0131\u015f i\u00e7in bir \"ara\u00e7\" (tool) geli\u015ftirmeye ba\u015flars\u0131n\u0131z. Bir ara\u00e7, temelde bir fonksiyon veya harici bir API'ye \u00e7a\u011fr\u0131 yapan bir kod par\u00e7ac\u0131\u011f\u0131d\u0131r. \u00d6nemli olan, arac\u0131n tek bir, iyi tan\u0131mlanm\u0131\u015f bir i\u015flevi yerine getirmesidir. Her arac\u0131n kendine ait bir g\u00f6revi, gerekli parametreleri ve beklenen \u00e7\u0131kt\u0131 format\u0131 olmal\u0131d\u0131r.<\/p>\n<pre><code class=\"language-python\">\n# \u00d6rnek: \u00dcr\u00fcn stok durumunu kontrol eden bir ara\u00e7\ndef check_inventory(product_id: str) -> dict:\n    \"\"\"Belirtilen \u00fcr\u00fcn\u00fcn stok durumunu kontrol eder.\n    \n    Args:\n        product_id (str): Stok durumu sorgulanacak \u00fcr\u00fcn\u00fcn benzersiz kimli\u011fi.\n        \n    Returns:\n        dict: \u00dcr\u00fcn\u00fcn stok adedi ve m\u00fcsaitlik bilgisini i\u00e7eren s\u00f6zl\u00fck.\n    \"\"\"\n    # Ger\u00e7ek uygulamada, bu bir veritaban\u0131 sorgusu veya envanter API \u00e7a\u011fr\u0131s\u0131 olurdu.\n    inventory_data = {\n        \"\u00fcr\u00fcn_A\": {\"stock\": 100, \"available\": True},\n        \"\u00fcr\u00fcn_B\": {\"stock\": 0, \"available\": False},\n        \"\u00fcr\u00fcn_C\": {\"stock\": 50, \"available\": True}\n    }\n    return inventory_data.get(product_id, {\"stock\": 0, \"available\": False, \"message\": \"\u00dcr\u00fcn bulunamad\u0131\"})\n<\/pre>\n<p><\/code><\/p>\n<p>Her arac\u0131n Python'daki docstring'leri (belge dizgileri) LLM i\u00e7in \u00e7ok \u00f6nemlidir. Bu docstring'ler, LLM'in arac\u0131 ne zaman ve nas\u0131l kullanaca\u011f\u0131n\u0131 anlamas\u0131na yard\u0131mc\u0131 olan a\u00e7\u0131klay\u0131c\u0131 bilgileri (arac\u0131n amac\u0131, parametreleri, d\u00f6n\u00fc\u015f de\u011feri) i\u00e7ermelidir.<\/p>\n<h3>3. Ara\u00e7lar\u0131 LLM'e Sunma ve Kay\u0131t Etme: Arac\u0131 Tan\u0131tma<\/h3>\n<p>Geli\u015ftirdi\u011finiz ara\u00e7lar\u0131 LLM'in kullanabilmesi i\u00e7in, LLM \u00e7er\u00e7evesine (\u00f6rne\u011fin LangChain, LlamaIndex gibi k\u00fct\u00fcphaneler) tan\u0131tman\u0131z gerekir. Bu k\u00fct\u00fcphaneler, genellikle ara\u00e7lar\u0131n\u0131z\u0131 bir liste olarak al\u0131r ve LLM'e, kullanabilece\u011fi ara\u00e7lar\u0131n bir \"arama aray\u00fcz\u00fc\" olarak sunulmas\u0131n\u0131 sa\u011flar. LLM, bir g\u00f6revi analiz etti\u011finde, bu aray\u00fcz\u00fc kullanarak hangi arac\u0131n uygun olabilece\u011fini belirler.<\/p>\n<pre><code class=\"language-python\">\n# LangChain tarz\u0131 bir k\u00fct\u00fcphanede ara\u00e7lar\u0131n LLM'e sunulmas\u0131 (pseudo-kod)\nfrom langchain_community.tools import Tool\n\n# Yukar\u0131daki check_inventory fonksiyonunu bir LangChain arac\u0131na d\u00f6n\u00fc\u015ft\u00fcr\ninventory_tool = Tool(\n    name=\"check_inventory\",\n    func=check_inventory,\n    description=\"Bir \u00fcr\u00fcn\u00fcn g\u00fcncel stok durumunu kontrol etmek i\u00e7in kullan\u0131l\u0131r. Parametre olarak 'product_id' al\u0131r.\"\n)\n\n# Di\u011fer ara\u00e7lar\u0131 da benzer \u015fekilde tan\u0131mlay\u0131n...\n# all_tools = [inventory_tool, order_status_tool, refund_tool, ...]\n\n# Ajan\u0131 olu\u015ftururken bu ara\u00e7lar\u0131 modele ge\u00e7irme\n# agent = initialize_agent(all_tools, llm, agent=AgentType.OPENAI_FUNCTIONS, verbose=True)\n<\/pre>\n<p><\/code><\/p>\n<p>Bu ad\u0131m, LLM'in sadece do\u011fal dil anlama yetene\u011fiyle kalmay\u0131p, somut eylemler ger\u00e7ekle\u015ftirme g\u00fcc\u00fcn\u00fc kazanmas\u0131n\u0131 sa\u011flar.<\/p>\n<h3>4. Y\u00f6nergeleri Olu\u015fturma: Basit, Y\u00fcksek Seviyeli Prompt'lar<\/h3>\n<p>Art\u0131k her bir davran\u0131\u015f\u0131 temsil eden ara\u00e7lar\u0131n\u0131z oldu\u011funa g\u00f6re, LLM'e verilecek prompt'lar\u0131 basitle\u015ftirebilirsiniz. Prompt'unuz, ajan\u0131n genel rol\u00fcn\u00fc, hedeflerini ve kullanabilece\u011fi ara\u00e7lar\u0131 \u00f6zetlemelidir. Detayl\u0131 \"nas\u0131l yap\u0131l\u0131r\" talimatlar\u0131 yerine, \"ne yap\u0131lmal\u0131\" odakl\u0131 y\u00f6nergeler kullan\u0131n.<\/p>\n<pre><code class=\"language-text\">\n\"Sen ak\u0131ll\u0131 bir envanter y\u00f6netim asistan\u0131s\u0131n. Kullan\u0131c\u0131lar\u0131n \u00fcr\u00fcn stok durumlar\u0131 hakk\u0131nda sorular\u0131n\u0131 yan\u0131tlamak i\u00e7in 'check_inventory' arac\u0131n\u0131 kullan. E\u011fer bir \u00fcr\u00fcn\u00fcn sto\u011fu yoksa, bunu kullan\u0131c\u0131ya bildir ve alternatif \u00f6nerebilirsin. Her zaman nazik ve yard\u0131mc\u0131 ol.\"\n<\/pre>\n<p><\/code><\/p>\n<p>Bu prompt, LLM'e sadece hangi araca sahip oldu\u011funu de\u011fil, ayn\u0131 zamanda bu arac\u0131 ne zaman ve hangi ba\u011flamda kullanmas\u0131 gerekti\u011fini de dolayl\u0131 olarak s\u00f6yler.<\/p>\n<h3>5. Test ve \u0130yile\u015ftirme: Mod\u00fcler Yap\u0131n\u0131n Avantajlar\u0131<\/h3>\n<p>Ara\u00e7 odakl\u0131 bir yakla\u015f\u0131m\u0131n en b\u00fcy\u00fck avantajlar\u0131ndan biri, sistemin test edilebilirli\u011fidir. Her bir arac\u0131 ba\u011f\u0131ms\u0131z olarak test edebilirsiniz. Bu, hata ay\u0131klama s\u00fcrecini b\u00fcy\u00fck \u00f6l\u00e7\u00fcde h\u0131zland\u0131r\u0131r ve sistemin genel g\u00fcvenilirli\u011fini art\u0131r\u0131r. Ajan\u0131n davran\u0131\u015f\u0131n\u0131 test ederken, sadece LLM'in arac\u0131 do\u011fru se\u00e7ip do\u011fru parametreleri g\u00f6nderip g\u00f6ndermedi\u011fini kontrol edersiniz.<\/p>\n<p>Testler s\u0131ras\u0131nda, LLM'in belirli durumlarda yanl\u0131\u015f arac\u0131 se\u00e7ti\u011fini veya do\u011fru araca yanl\u0131\u015f parametreler g\u00f6nderdi\u011fini fark ederseniz, prompt'unuzu veya arac\u0131n <code>description<\/code> k\u0131sm\u0131n\u0131 (docstring) iyile\u015ftirerek bu hatalar\u0131 d\u00fczeltebilirsiniz. Mod\u00fcler yap\u0131 sayesinde, tek bir arac\u0131 g\u00fcncellerken di\u011fer b\u00f6l\u00fcmleri etkileme riskiniz minimaldir.<\/p>\n<div class=\"expert-tip\">\n  Uzman \u0130pucu: Ara\u00e7lar\u0131n <code>description<\/code> alanlar\u0131n\u0131 yazarken, LLM'in do\u011fal dil i\u015fleme yeteneklerini kullanabilmesi i\u00e7in anahtar kelimeler ve kullan\u0131m senaryolar\u0131 hakk\u0131nda ipu\u00e7lar\u0131 ekleyin. \u00d6rne\u011fin, \"Bu ara\u00e7, X sistemindeki g\u00fcncel \u00fcr\u00fcn fiyatlar\u0131n\u0131 '\u00fcr\u00fcn kodu' ile sorgular\" gibi detaylar LLM'in karar verme s\u00fcrecini iyile\u015ftirecektir.\n<\/div>\n<p>Bu ad\u0131mlar\u0131 izleyerek, prompt karma\u015fas\u0131ndan kurtulmu\u015f, bak\u0131m\u0131 kolay, \u00f6l\u00e7eklenebilir ve g\u00fcvenilir LLM ajanlar\u0131 geli\u015ftirebilirsiniz. Bu y\u00f6ntem, B\u00fcy\u00fck Dil Modellerinin potansiyelini ger\u00e7ek d\u00fcnya uygulamalar\u0131nda tam olarak kullanmam\u0131z\u0131 sa\u011flar.<\/p>\n<h2>Performans ve G\u00fcvenli\u011fi Art\u0131rmak \u0130\u00e7in \u0130leri D\u00fczey \u0130pu\u00e7lar\u0131<\/h2>\n<p>LLM ajanlar\u0131n\u0131 ara\u00e7 odakl\u0131 bir yakla\u015f\u0131mla geli\u015ftirirken, sadece temel i\u015flevselli\u011fi sa\u011flamakla kalmay\u0131p, ayn\u0131 zamanda performans, g\u00fcvenlik ve sa\u011flaml\u0131k gibi kritik fakt\u00f6rleri de g\u00f6z \u00f6n\u00fcnde bulundurmak \u00f6nemlidir. \u0130\u015fte daha deneyimli kullan\u0131c\u0131lar i\u00e7in baz\u0131 ileri d\u00fczey ipu\u00e7lar\u0131:<\/p>\n<h3>Ara\u00e7 Parametre Do\u011frulama (Schema Validation)<\/h3>\n<p>LLM'ler bazen ara\u00e7lara yanl\u0131\u015f veya eksik parametreler g\u00f6nderebilir. \u00d6rne\u011fin, bir <code>order_id<\/code> bekleyen bir araca alakas\u0131z bir metin g\u00f6ndermesi gibi. Bu t\u00fcr durumlar \u00e7al\u0131\u015fma zaman\u0131 hatalar\u0131na yol a\u00e7ar. Bu riski azaltmak i\u00e7in, ara\u00e7 fonksiyonlar\u0131n\u0131z\u0131n girdilerini do\u011frulamak amac\u0131yla \u015fema do\u011frulama (schema validation) kullan\u0131n. JSON Schema veya Pydantic gibi k\u00fct\u00fcphanelerle ara\u00e7lar\u0131n\u0131z\u0131n bekledi\u011fi parametrelerin veri tipini, format\u0131n\u0131 ve gereklili\u011fini tan\u0131mlayabilirsiniz. \u00c7o\u011fu LLM entegrasyon k\u00fct\u00fcphanesi (LangChain gibi), ara\u00e7 tan\u0131mlar\u0131n\u0131z\u0131 JSON Schema'ya d\u00f6n\u00fc\u015ft\u00fcr\u00fcp LLM'e sunar, b\u00f6ylece LLM bu \u015femaya uygun parametreler \u00fcretmeye \u00e7al\u0131\u015f\u0131r.<\/p>\n<pre><code class=\"language-python\">\nfrom pydantic import BaseModel, Field\nfrom typing import Optional\n\n# Pydantic ile parametre \u015femas\u0131 tan\u0131mlama\nclass OrderStatusInput(BaseModel):\n    order_id: str = Field(..., description=\"Sorgulanacak sipari\u015fin benzersiz kimli\u011fi (\u00f6rn. 'ORD12345')\")\n    customer_email: Optional[str] = Field(None, description=\"M\u00fc\u015fterinin e-posta adresi (iste\u011fe ba\u011fl\u0131)\")\n\n# Ara\u00e7 fonksiyonunda bu \u015femay\u0131 kullanma\ndef get_order_status(params: OrderStatusInput) -> dict:\n    # Parametreler otomatik olarak do\u011frulanm\u0131\u015f olacakt\u0131r\n    print(f\"Sipari\u015f ID: {params.order_id}, E-posta: {params.customer_email}\")\n    # ... ger\u00e7ek i\u015f mant\u0131\u011f\u0131 ...\n    return {\"status\": \"success\", \"order\": params.order_id}\n<\/pre>\n<p><\/code><\/p>\n<h3>Hata Y\u00f6netimi ve Geri D\u00f6n\u00fc\u015f Mekanizmalar\u0131<\/h3>\n<p>Bir arac\u0131n ba\u015far\u0131s\u0131z olmas\u0131 durumunda (API hatas\u0131, a\u011f kesintisi vb.), ajan\u0131n ne yapaca\u011f\u0131n\u0131 tan\u0131mlamak \u00e7ok \u00f6nemlidir. Ajan\u0131n sadece \"hata olu\u015ftu\" deyip pes etmesi kabul edilemez. \u015eunlar\u0131 uygulayabilirsiniz:<\/p>\n<ul>\n<li><strong>Retry Logic:<\/strong> Ge\u00e7ici hatalar i\u00e7in arac\u0131 belirli bir gecikmeyle birka\u00e7 kez yeniden deneme.<\/li>\n<li><strong>Fallback Tools:<\/strong> Birincil ara\u00e7 ba\u015far\u0131s\u0131z oldu\u011funda kullan\u0131labilecek alternatif bir ara\u00e7 tan\u0131mlama (\u00f6rn. \"e\u011fer veritaban\u0131 sorgusu ba\u015far\u0131s\u0131z olursa, m\u00fc\u015fteri hizmetleri temsilcisine y\u00f6nlendir\" arac\u0131).<\/li>\n<li><strong>Hata A\u00e7\u0131klamas\u0131:<\/strong> Ara\u00e7tan d\u00f6nen hatan\u0131n detaylar\u0131n\u0131 LLM'e geri ileterek, ajan\u0131n hatay\u0131 anlamas\u0131n\u0131 ve kullan\u0131c\u0131ya daha bilgilendirici bir yan\u0131t vermesini sa\u011flama.<\/li>\n<\/ul>\n<h3>Asenkron Ara\u00e7 Y\u00fcr\u00fctme<\/h3>\n<p>Baz\u0131 ara\u00e7lar uzun s\u00fcrebilir (\u00f6rn. b\u00fcy\u00fck bir dosya indirme, karma\u015f\u0131k bir hesaplama). Bu t\u00fcr durumlarda, senkron bloklama yerine asenkron ara\u00e7 y\u00fcr\u00fctmeyi kullanmak, ajan\u0131n kullan\u0131c\u0131yla etkile\u015fimini s\u00fcrd\u00fcrmesine veya arka planda ba\u015fka g\u00f6revler yapmas\u0131na olanak tan\u0131r. Python'da <code>asyncio<\/code> ve <code>await<\/code> kullanarak asenkron ara\u00e7lar geli\u015ftirebilir ve LLM \u00e7er\u00e7evelerinin bu t\u00fcr ara\u00e7lar\u0131 destekleyip desteklemedi\u011fini kontrol edebilirsiniz.<\/p>\n<h3>Ara\u00e7 Zincirleme (Tool Chaining) ve Alt-Ajanlar<\/h3>\n<p>Daha karma\u015f\u0131k g\u00f6revler, birden fazla arac\u0131n belirli bir s\u0131rayla veya ko\u015fullu olarak kullan\u0131lmas\u0131n\u0131 gerektirebilir. Bu duruma \"ara\u00e7 zincirleme\" denir. LLM, bir g\u00f6revi tamamlamak i\u00e7in hangi ara\u00e7lar\u0131n s\u0131ras\u0131yla \u00e7a\u011fr\u0131lmas\u0131 gerekti\u011fine karar verir. Daha da ileri giderek, belirli bir uzmanl\u0131k alan\u0131na sahip \"alt-ajanlar\" olu\u015fturabilirsiniz. \u00d6rne\u011fin, bir \"finans ajan\u0131\" finansla ilgili ara\u00e7lara sahipken, bir \"destek ajan\u0131\" m\u00fc\u015fteri hizmetleri ara\u00e7lar\u0131na sahip olabilir. Ana ajan\u0131n g\u00f6revi, gelen talebi do\u011fru alt-ajana y\u00f6nlendirmektir. Bu, sorumluluklar\u0131 ay\u0131r\u0131r ve karma\u015f\u0131k sistemleri daha y\u00f6netilebilir hale getirir.<\/p>\n<h3>G\u00fcvenlik Konular\u0131: Eri\u015fim Kontrol\u00fc ve Yetkilendirme<\/h3>\n<p>LLM ajanlar\u0131, harici sistemlerle etkile\u015fime girdi\u011finde g\u00fcvenlik riskleri ortaya \u00e7\u0131kar. Bir ajan\u0131n kontrol d\u0131\u015f\u0131 veya k\u00f6t\u00fc niyetli bir \u015fekilde ara\u00e7lar\u0131 kullanmas\u0131n\u0131 \u00f6nlemek i\u00e7in:<\/p>\n<ul>\n<li><strong>Eri\u015fim Kontrol\u00fc:<\/strong> Her arac\u0131n belirli kullan\u0131c\u0131 rolleri veya ba\u011flamlar i\u00e7in eri\u015filebilir oldu\u011fundan emin olun. LLM'e her arac\u0131 her zaman sunmak yerine, kullan\u0131c\u0131n\u0131n yetkilerine g\u00f6re ara\u00e7 setini dinamik olarak ayarlay\u0131n.<\/li>\n<li><strong>Parametre Sanitizasyonu:<\/strong> LLM taraf\u0131ndan \u00fcretilen ara\u00e7 parametrelerini her zaman do\u011frulay\u0131n ve temizleyin (sanitize). SQL Injection, XSS gibi sald\u0131r\u0131 vekt\u00f6rlerine kar\u015f\u0131 dikkatli olun.<\/li>\n<li><strong>Minimal Yetki Prensibi:<\/strong> Ara\u00e7lara sadece g\u00f6revlerini yerine getirmek i\u00e7in kesinlikle ihtiya\u00e7 duyduklar\u0131 minimum yetkileri verin. \u00d6rne\u011fin, bir sipari\u015f durumu arac\u0131 sipari\u015fleri silememelidir.<\/li>\n<li><strong>Denetim ve \u0130zleme:<\/strong> Ajan\u0131n ara\u00e7 \u00e7a\u011fr\u0131lar\u0131n\u0131 ve bunlar\u0131n sonu\u00e7lar\u0131n\u0131 loglay\u0131n. Anormal davran\u0131\u015flar\u0131 tespit etmek i\u00e7in denetim mekanizmalar\u0131 kurun.<\/li>\n<\/ul>\n<p>Bu ileri d\u00fczey ipu\u00e7lar\u0131, LLM ajanlar\u0131n\u0131z\u0131 daha sa\u011flam, verimli ve g\u00fcvenli hale getirerek, onlar\u0131 daha geni\u015f ve kritik i\u015f s\u00fcre\u00e7lerine entegre etmenize olanak tan\u0131r. Ara\u00e7 odakl\u0131 yakla\u015f\u0131m, bu t\u00fcr geli\u015fmi\u015f stratejileri uygulamak i\u00e7in sa\u011flam bir temel sunar.<\/p>\n<h2>Sonu\u00e7 ve Gelecek Perspektifleri<\/h2>\n<p>B\u00fcy\u00fck Dil Modelleri'nin (LLM) sa\u011flad\u0131\u011f\u0131 devrim niteli\u011findeki yeteneklerle birlikte, bu modelleri ger\u00e7ek d\u00fcnya problemlerini \u00e7\u00f6zecek ak\u0131ll\u0131 \"ajanlara\" d\u00f6n\u00fc\u015ft\u00fcrme potansiyeli de artmaktad\u0131r. Ancak bu potansiyeli tam olarak kullanabilmek i\u00e7in, prompt m\u00fchendisli\u011finin getirdi\u011fi karma\u015f\u0131kl\u0131klar\u0131 a\u015fmak zorunday\u0131z. G\u00f6rd\u00fc\u011f\u00fcm\u00fcz gibi, \"prompt karma\u015fas\u0131\" olarak adland\u0131rd\u0131\u011f\u0131m\u0131z, uzun, karma\u015f\u0131k ve k\u0131r\u0131lgan prompt'lar, ajanlar\u0131n \u00f6l\u00e7eklenebilirli\u011fini, s\u00fcrd\u00fcr\u00fclebilirli\u011fini ve g\u00fcvenilirli\u011fini ciddi \u015fekilde tehdit etmektedir.<\/p>\n<p>Bu makalede ele ald\u0131\u011f\u0131m\u0131z \"Ara\u00e7 Odakl\u0131 Davran\u0131\u015fsal Y\u00f6nergeler\" yakla\u015f\u0131m\u0131, bu \u00e7\u0131kmazdan kurtulmak i\u00e7in g\u00fc\u00e7l\u00fc ve yap\u0131land\u0131r\u0131lm\u0131\u015f bir yol sunmaktad\u0131r. Bu yakla\u015f\u0131m, LLM'e her detay\u0131 dikte etmek yerine, ona belirli yetenekleri kapsayan mod\u00fcler \"ara\u00e7lar\" sunarak ve ne zaman hangi arac\u0131 kullanaca\u011f\u0131na dair y\u00fcksek seviyeli y\u00f6nergeler vererek \u00e7al\u0131\u015f\u0131r. Bu sayede:<\/p>\n<ul>\n<li>Prompt'lar k\u0131sal\u0131r ve daha y\u00f6netilebilir hale gelir.<\/li>\n<li>Ajan davran\u0131\u015flar\u0131 mod\u00fclerle\u015fir, bu da bak\u0131m\u0131 ve test etmeyi kolayla\u015ft\u0131r\u0131r.<\/li>\n<li>Geli\u015ftirme s\u00fcreci h\u0131zlan\u0131r ve maliyetler d\u00fc\u015fer.<\/li>\n<li>Ajanlar daha g\u00fcvenilir ve tutarl\u0131 sonu\u00e7lar \u00fcretir.<\/li>\n<li>Sistemler daha kolay \u00f6l\u00e7eklenebilir hale gelir, yeni yetenekler eklemek basit birer ara\u00e7 geli\u015ftirmeye indirgenir.<\/li>\n<\/ul>\n<p>Gelecekte, LLM ajanlar\u0131 giderek daha otonom ve karma\u015f\u0131k g\u00f6revleri \u00fcstleneceklerdir. Finans, sa\u011fl\u0131k, m\u00fc\u015fteri hizmetleri, yaz\u0131l\u0131m geli\u015ftirme gibi bir\u00e7ok alanda, bu ajanlar i\u015f s\u00fcre\u00e7lerini d\u00f6n\u00fc\u015ft\u00fcrecek ve verimlili\u011fi art\u0131racakt\u0131r. Bu d\u00f6n\u00fc\u015f\u00fcm\u00fcn temelinde, prompt karma\u015fas\u0131n\u0131 geride b\u0131rakarak, ara\u00e7 odakl\u0131, mod\u00fcler ve sa\u011flam bir mimariyle ajanlar in\u015fa etme yetene\u011fimiz yatacakt\u0131r. Bu yakla\u015f\u0131m, yapay zeka ajanlar\u0131n\u0131n sadece birer prototip olmaktan \u00e7\u0131k\u0131p, i\u015fimizin ayr\u0131lmaz bir par\u00e7as\u0131 haline gelmesinin \u00f6n\u00fcn\u00fc a\u00e7maktad\u0131r. Geli\u015ftiriciler olarak, bu yeni paradigmaya adapte olmak ve LLM'lerin t\u00fcm potansiyelini serbest b\u0131rakmak i\u00e7in bu ara\u00e7 odakl\u0131 metodolojileri benimsememiz kritik \u00f6neme sahiptir.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<p><strong>1. Prompt karma\u015fas\u0131 tamamen ortadan kalkar m\u0131?<\/strong><\/p>\n<p>Hay\u0131r, tamamen ortadan kalkmaz. LLM'i do\u011fru davran\u0131\u015fa y\u00f6nlendiren ba\u015flang\u0131\u00e7 prompt'lar\u0131 her zaman olacakt\u0131r. Ancak ara\u00e7 odakl\u0131 yakla\u015f\u0131m, prompt'lardaki karma\u015f\u0131kl\u0131\u011f\u0131 ve detay seviyesini radikal bir \u015fekilde azalt\u0131r. Art\u0131k LLM'e \"nas\u0131l\" yapaca\u011f\u0131n\u0131 de\u011fil, \"ne zaman hangi arac\u0131\" kullanaca\u011f\u0131n\u0131 s\u00f6ylersiniz. Bu da prompt'lar\u0131 \u00e7ok daha k\u0131sa, okunabilir ve y\u00f6netilebilir hale getirir.<\/p>\n<p><strong>2. Her g\u00f6rev i\u00e7in bir ara\u00e7 olu\u015fturmak zorunda m\u0131y\u0131z?<\/strong><\/p>\n<p>Hay\u0131r, her k\u00fc\u00e7\u00fck detay i\u00e7in bir ara\u00e7 olu\u015fturmak zorunda de\u011filsiniz. Ara\u00e7lar, LLM'in kendi do\u011fal dil i\u015fleme yeteneklerinin \u00f6tesine ge\u00e7en, harici bir sistemle etkile\u015fim gerektiren veya karma\u015f\u0131k, tekrarlanabilir mant\u0131k i\u00e7eren g\u00f6revler i\u00e7in tasarlanmal\u0131d\u0131r. \u00d6rne\u011fin, basit bir metin \u00f6zetleme veya yarat\u0131c\u0131 yaz\u0131m g\u00f6revi i\u00e7in genellikle \u00f6zel bir araca ihtiya\u00e7 duyulmaz; LLM kendi ba\u015f\u0131na bunu yapabilir. Ancak bir veritaban\u0131n\u0131 sorgulamak, bir e-posta g\u00f6ndermek veya bir d\u0131\u015f API'ye \u00e7a\u011fr\u0131 yapmak gibi eylemler i\u00e7in ara\u00e7lar idealdir.<\/p>\n<p><strong>3. Bu yakla\u015f\u0131m hangi LLM'lerle uyumlu?<\/strong><\/p>\n<p>Bu ara\u00e7 odakl\u0131 yakla\u015f\u0131m, \u00e7o\u011fu modern B\u00fcy\u00fck Dil Modeli ile uyumludur. \u00d6zellikle OpenAI'\u0131n Function Calling (Fonksiyon \u00c7a\u011f\u0131rma) \u00f6zelli\u011fi veya Google Gemini'nin benzer \"Tool Calling\" yetenekleri gibi yerle\u015fik ara\u00e7 entegrasyonuna sahip modeller bu yakla\u015f\u0131mdan en iyi \u015fekilde yararlan\u0131r. LangChain ve LlamaIndex gibi k\u00fct\u00fcphaneler de, LLM'ler ve ara\u00e7lar aras\u0131nda k\u00f6pr\u00fc kurarak bu entegrasyonu kolayla\u015ft\u0131r\u0131r. Temel prensip, LLM'in ara\u00e7 tan\u0131mlar\u0131n\u0131 anlay\u0131p, uygun durumlarda bunlar\u0131 \u00e7a\u011f\u0131rmaya karar verebilmesidir.<\/p>\n<p><strong>4. G\u00fcvenlik riskleri nelerdir ve nas\u0131l y\u00f6netilir?<\/strong><\/p>\n<p>Ara\u00e7 odakl\u0131 ajanlar, harici sistemlerle etkile\u015fime girdikleri i\u00e7in g\u00fcvenlik riskleri ta\u015f\u0131yabilir. Ana riskler aras\u0131nda yetkisiz eri\u015fim, veri s\u0131z\u0131nt\u0131s\u0131 ve k\u00f6t\u00fc niyetli ara\u00e7 \u00e7a\u011fr\u0131lar\u0131 bulunur. Bu riskleri y\u00f6netmek i\u00e7in:<\/p>\n<ul>\n<li>Ara\u00e7lara minimal yetki prensibiyle eri\u015fim izni verin.<\/li>\n<li>LLM taraf\u0131ndan \u00fcretilen t\u00fcm ara\u00e7 parametrelerini titizlikle do\u011frulay\u0131n ve temizleyin (input sanitization).<\/li>\n<li>Hassas verilere do\u011frudan eri\u015fimi k\u0131s\u0131tlay\u0131n; gerekirse ara katmanlar ve yetkilendirme mekanizmalar\u0131 kullan\u0131n.<\/li>\n<li>Ajan\u0131n ara\u00e7 kullan\u0131m\u0131n\u0131 ve \u00e7\u0131kt\u0131lar\u0131n\u0131 s\u00fcrekli denetleyin ve izleyin.<\/li>\n<\/ul>\n<p><strong>5. Ba\u015flang\u0131\u00e7 i\u00e7in hangi kaynaklar\u0131 \u00f6nerirsiniz?<\/strong><\/p>\n<p>Ara\u00e7 odakl\u0131 ajan geli\u015ftirmeye ba\u015flamak i\u00e7in LangChain veya LlamaIndex gibi pop\u00fcler LLM geli\u015ftirme k\u00fct\u00fcphanelerini incelemenizi \u015fiddetle tavsiye ederim. Bu k\u00fct\u00fcphaneler, ara\u00e7 tan\u0131mlama, LLM entegrasyonu ve ajan orkestrasyonu i\u00e7in kapsaml\u0131 dok\u00fcmantasyonlar ve \u00f6rnekler sunar. Ayr\u0131ca, OpenAI ve Google'\u0131n resmi Function Calling\/Tool Calling dok\u00fcmanlar\u0131n\u0131 da g\u00f6zden ge\u00e7irmek, modellerin bu yetenekleri nas\u0131l dahili olarak kulland\u0131\u011f\u0131n\u0131 anlaman\u0131za yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"B\u00fcy\u00fck Dil Modelleri (LLM) tabanl\u0131 ajanlar geli\u015ftirmek, modern yapay zeka uygulamalar\u0131n\u0131n temel ta\u015flar\u0131ndan biri haline geldi. Ancak, bu&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-33794","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>LLM Ajanlar\u0131n\u0131 \u00d6l\u00e7eklendirmek: Prompt Karma\u015fas\u0131ndan Kurtulmak \u0130\u00e7in Ara\u00e7 Odakl\u0131 Y\u00f6nergeler<\/title>\n<meta name=\"description\" content=\"B\u00fcy\u00fck Dil Modelleri (LLM) tabanl\u0131 ajanlar geli\u015ftirmek, modern yapay zeka uygulamalar\u0131n\u0131n temel ta\u015flar\u0131ndan biri haline geldi. Ancak, bu ajanlar\u0131 karma\u015f\u0131k g\u00f6revler i\u00e7in \u00f6l\u00e7eklendirirken s\u0131kl\u0131kla kar\u015f\u0131la\u015f\u0131lan bir problem var: Prompt Karma\u015fas\u0131. Bu makale, LLM ajanlar\u0131n\u0131 y\u00f6netilebilir, etkili ve \u00f6l\u00e7eklenebilir k\u0131lmak i\u00e7in &quot;Ara\u00e7 Odakl\u0131 Davran\u0131\u015fsal Y\u00f6nergeler&quot; yakla\u015f\u0131m\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131kl\u0131yor.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/llm-ajanlarini-olceklendirmek-prompt-karmasasindan-kurtulmak-icin-arac-odakli-yonergeler\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"LLM Ajanlar\u0131n\u0131 \u00d6l\u00e7eklendirmek: Prompt Karma\u015fas\u0131ndan Kurtulmak \u0130\u00e7in Ara\u00e7 Odakl\u0131 Y\u00f6nergeler\" \/>\n<meta property=\"og:description\" content=\"B\u00fcy\u00fck Dil Modelleri (LLM) tabanl\u0131 ajanlar geli\u015ftirmek, modern yapay zeka uygulamalar\u0131n\u0131n temel ta\u015flar\u0131ndan biri haline geldi. Ancak, bu ajanlar\u0131 karma\u015f\u0131k g\u00f6revler i\u00e7in \u00f6l\u00e7eklendirirken s\u0131kl\u0131kla kar\u015f\u0131la\u015f\u0131lan bir problem var: Prompt Karma\u015fas\u0131. Bu makale, LLM ajanlar\u0131n\u0131 y\u00f6netilebilir, etkili ve \u00f6l\u00e7eklenebilir k\u0131lmak i\u00e7in &quot;Ara\u00e7 Odakl\u0131 Davran\u0131\u015fsal Y\u00f6nergeler&quot; yakla\u015f\u0131m\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131kl\u0131yor.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/llm-ajanlarini-olceklendirmek-prompt-karmasasindan-kurtulmak-icin-arac-odakli-yonergeler\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-07T02:01:07+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"27 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/llm-ajanlarini-olceklendirmek-prompt-karmasasindan-kurtulmak-icin-arac-odakli-yonergeler\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/llm-ajanlarini-olceklendirmek-prompt-karmasasindan-kurtulmak-icin-arac-odakli-yonergeler\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"LLM Ajanlar\u0131n\u0131 \u00d6l\u00e7eklendirmek: Prompt Karma\u015fas\u0131ndan Kurtulmak \u0130\u00e7in Ara\u00e7 Odakl\u0131 Y\u00f6nergeler\",\"datePublished\":\"2025-11-07T02:01:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/llm-ajanlarini-olceklendirmek-prompt-karmasasindan-kurtulmak-icin-arac-odakli-yonergeler\/\"},\"wordCount\":4719,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/llm-ajanlarini-olceklendirmek-prompt-karmasasindan-kurtulmak-icin-arac-odakli-yonergeler\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/llm-ajanlarini-olceklendirmek-prompt-karmasasindan-kurtulmak-icin-arac-odakli-yonergeler\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/llm-ajanlarini-olceklendirmek-prompt-karmasasindan-kurtulmak-icin-arac-odakli-yonergeler\/\",\"name\":\"LLM Ajanlar\u0131n\u0131 \u00d6l\u00e7eklendirmek: Prompt Karma\u015fas\u0131ndan Kurtulmak \u0130\u00e7in Ara\u00e7 Odakl\u0131 Y\u00f6nergeler\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-07T02:01:07+00:00\",\"description\":\"B\u00fcy\u00fck Dil Modelleri (LLM) tabanl\u0131 ajanlar geli\u015ftirmek, modern yapay zeka uygulamalar\u0131n\u0131n temel ta\u015flar\u0131ndan biri haline geldi. Ancak, bu ajanlar\u0131 karma\u015f\u0131k g\u00f6revler i\u00e7in \u00f6l\u00e7eklendirirken s\u0131kl\u0131kla kar\u015f\u0131la\u015f\u0131lan bir problem var: Prompt Karma\u015fas\u0131. Bu makale, LLM ajanlar\u0131n\u0131 y\u00f6netilebilir, etkili ve \u00f6l\u00e7eklenebilir k\u0131lmak i\u00e7in \\\"Ara\u00e7 Odakl\u0131 Davran\u0131\u015fsal Y\u00f6nergeler\\\" yakla\u015f\u0131m\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131kl\u0131yor.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/llm-ajanlarini-olceklendirmek-prompt-karmasasindan-kurtulmak-icin-arac-odakli-yonergeler\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/llm-ajanlarini-olceklendirmek-prompt-karmasasindan-kurtulmak-icin-arac-odakli-yonergeler\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/llm-ajanlarini-olceklendirmek-prompt-karmasasindan-kurtulmak-icin-arac-odakli-yonergeler\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"LLM Ajanlar\u0131n\u0131 \u00d6l\u00e7eklendirmek: Prompt Karma\u015fas\u0131ndan Kurtulmak \u0130\u00e7in Ara\u00e7 Odakl\u0131 Y\u00f6nergeler\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"LLM Ajanlar\u0131n\u0131 \u00d6l\u00e7eklendirmek: Prompt Karma\u015fas\u0131ndan Kurtulmak \u0130\u00e7in Ara\u00e7 Odakl\u0131 Y\u00f6nergeler","description":"B\u00fcy\u00fck Dil Modelleri (LLM) tabanl\u0131 ajanlar geli\u015ftirmek, modern yapay zeka uygulamalar\u0131n\u0131n temel ta\u015flar\u0131ndan biri haline geldi. Ancak, bu ajanlar\u0131 karma\u015f\u0131k g\u00f6revler i\u00e7in \u00f6l\u00e7eklendirirken s\u0131kl\u0131kla kar\u015f\u0131la\u015f\u0131lan bir problem var: Prompt Karma\u015fas\u0131. Bu makale, LLM ajanlar\u0131n\u0131 y\u00f6netilebilir, etkili ve \u00f6l\u00e7eklenebilir k\u0131lmak i\u00e7in \"Ara\u00e7 Odakl\u0131 Davran\u0131\u015fsal Y\u00f6nergeler\" yakla\u015f\u0131m\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131kl\u0131yor.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/llm-ajanlarini-olceklendirmek-prompt-karmasasindan-kurtulmak-icin-arac-odakli-yonergeler\/","og_locale":"tr_TR","og_type":"article","og_title":"LLM Ajanlar\u0131n\u0131 \u00d6l\u00e7eklendirmek: Prompt Karma\u015fas\u0131ndan Kurtulmak \u0130\u00e7in Ara\u00e7 Odakl\u0131 Y\u00f6nergeler","og_description":"B\u00fcy\u00fck Dil Modelleri (LLM) tabanl\u0131 ajanlar geli\u015ftirmek, modern yapay zeka uygulamalar\u0131n\u0131n temel ta\u015flar\u0131ndan biri haline geldi. Ancak, bu ajanlar\u0131 karma\u015f\u0131k g\u00f6revler i\u00e7in \u00f6l\u00e7eklendirirken s\u0131kl\u0131kla kar\u015f\u0131la\u015f\u0131lan bir problem var: Prompt Karma\u015fas\u0131. Bu makale, LLM ajanlar\u0131n\u0131 y\u00f6netilebilir, etkili ve \u00f6l\u00e7eklenebilir k\u0131lmak i\u00e7in \"Ara\u00e7 Odakl\u0131 Davran\u0131\u015fsal Y\u00f6nergeler\" yakla\u015f\u0131m\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131kl\u0131yor.","og_url":"https:\/\/fatihsoysal.com\/blog\/llm-ajanlarini-olceklendirmek-prompt-karmasasindan-kurtulmak-icin-arac-odakli-yonergeler\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-07T02:01:07+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"27 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/llm-ajanlarini-olceklendirmek-prompt-karmasasindan-kurtulmak-icin-arac-odakli-yonergeler\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/llm-ajanlarini-olceklendirmek-prompt-karmasasindan-kurtulmak-icin-arac-odakli-yonergeler\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"LLM Ajanlar\u0131n\u0131 \u00d6l\u00e7eklendirmek: Prompt Karma\u015fas\u0131ndan Kurtulmak \u0130\u00e7in Ara\u00e7 Odakl\u0131 Y\u00f6nergeler","datePublished":"2025-11-07T02:01:07+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/llm-ajanlarini-olceklendirmek-prompt-karmasasindan-kurtulmak-icin-arac-odakli-yonergeler\/"},"wordCount":4719,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/llm-ajanlarini-olceklendirmek-prompt-karmasasindan-kurtulmak-icin-arac-odakli-yonergeler\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/llm-ajanlarini-olceklendirmek-prompt-karmasasindan-kurtulmak-icin-arac-odakli-yonergeler\/","url":"https:\/\/fatihsoysal.com\/blog\/llm-ajanlarini-olceklendirmek-prompt-karmasasindan-kurtulmak-icin-arac-odakli-yonergeler\/","name":"LLM Ajanlar\u0131n\u0131 \u00d6l\u00e7eklendirmek: Prompt Karma\u015fas\u0131ndan Kurtulmak \u0130\u00e7in Ara\u00e7 Odakl\u0131 Y\u00f6nergeler","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-07T02:01:07+00:00","description":"B\u00fcy\u00fck Dil Modelleri (LLM) tabanl\u0131 ajanlar geli\u015ftirmek, modern yapay zeka uygulamalar\u0131n\u0131n temel ta\u015flar\u0131ndan biri haline geldi. Ancak, bu ajanlar\u0131 karma\u015f\u0131k g\u00f6revler i\u00e7in \u00f6l\u00e7eklendirirken s\u0131kl\u0131kla kar\u015f\u0131la\u015f\u0131lan bir problem var: Prompt Karma\u015fas\u0131. Bu makale, LLM ajanlar\u0131n\u0131 y\u00f6netilebilir, etkili ve \u00f6l\u00e7eklenebilir k\u0131lmak i\u00e7in \"Ara\u00e7 Odakl\u0131 Davran\u0131\u015fsal Y\u00f6nergeler\" yakla\u015f\u0131m\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131kl\u0131yor.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/llm-ajanlarini-olceklendirmek-prompt-karmasasindan-kurtulmak-icin-arac-odakli-yonergeler\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/llm-ajanlarini-olceklendirmek-prompt-karmasasindan-kurtulmak-icin-arac-odakli-yonergeler\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/llm-ajanlarini-olceklendirmek-prompt-karmasasindan-kurtulmak-icin-arac-odakli-yonergeler\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"LLM Ajanlar\u0131n\u0131 \u00d6l\u00e7eklendirmek: Prompt Karma\u015fas\u0131ndan Kurtulmak \u0130\u00e7in Ara\u00e7 Odakl\u0131 Y\u00f6nergeler"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33794","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=33794"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33794\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=33794"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=33794"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=33794"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}