{"id":31940,"date":"2025-10-15T20:31:48","date_gmt":"2025-10-15T17:31:48","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/unutmayan-yapay-zeka-ajanlari-s3-vektorleri-ve-strands-agent-ile-kalici-hafiza\/"},"modified":"2025-10-15T20:31:48","modified_gmt":"2025-10-15T17:31:48","slug":"unutmayan-yapay-zeka-ajanlari-s3-vektorleri-ve-strands-agent-ile-kalici-hafiza","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/unutmayan-yapay-zeka-ajanlari-s3-vektorleri-ve-strands-agent-ile-kalici-hafiza\/","title":{"rendered":"Unutmayan Yapay Zeka Ajanlar\u0131: S3 Vekt\u00f6rleri ve Strands Agent ile Kal\u0131c\u0131 Haf\u0131za"},"content":{"rendered":"<p><body><\/p>\n<p>Yapay zeka ajanlar\u0131n\u0131n, karma\u015f\u0131k g\u00f6revleri yerine getirirken ge\u00e7mi\u015f konu\u015fmalar\u0131 veya \u00f6\u011frendikleri bilgileri unutmas\u0131, onlar\u0131 \u00e7o\u011fu zaman etkisiz k\u0131lan temel bir engeldir. Bu makale, Amazon S3&#8217;\u00fc vekt\u00f6r depolama alan\u0131 olarak kullanarak ve Strands benzeri bir ajan mimarisiyle entegre ederek, AI ajanlar\u0131na kal\u0131c\u0131 haf\u0131za kazand\u0131rman\u0131n pratik yollar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klamaktad\u0131r.<\/p>\n<p>G\u00fcn\u00fcm\u00fcz yapay zeka modelleri, \u00f6zellikle B\u00fcy\u00fck Dil Modelleri (LLM&#8217;ler), inan\u0131lmaz derecede yetenekli ve \u00e7ok y\u00f6nl\u00fcd\u00fcr. Metin olu\u015fturabilir, sorular\u0131 yan\u0131tlayabilir ve hatta karma\u015f\u0131k g\u00f6revleri planlayabilirler. Ancak, bu etkileyici yeteneklerine ra\u011fmen, \u00e7o\u011fu zaman kritik bir zay\u0131fl\u0131\u011fa sahiptirler: &#8220;unutkanl\u0131k&#8221;. Bir LLM ile yapt\u0131\u011f\u0131n\u0131z her etkile\u015fim, sanki yeni ba\u015flam\u0131\u015fs\u0131n\u0131z gibi hissettirebilir, \u00e7\u00fcnk\u00fc \u00f6nceki konu\u015fmalar\u0131n veya \u00f6\u011frenilen bilgilerin ba\u011flam\u0131n\u0131 uzun s\u00fcreli olarak tutamazlar. Bu, \u201cba\u011flam penceresi\u201d ad\u0131 verilen ve modelin tek seferde i\u015fleyebilece\u011fi bilgi miktar\u0131n\u0131 s\u0131n\u0131rlayan teknik bir k\u0131s\u0131tlamadan kaynaklan\u0131r. Ba\u011flam penceresi s\u0131n\u0131rl\u0131 oldu\u011funda, ajan, ge\u00e7mi\u015fte \u00f6\u011frendi\u011fi veya etkile\u015fimde bulundu\u011fu \u00f6nemli detaylar\u0131 hat\u0131rlamakta zorlan\u0131r ve bu da performans\u0131n\u0131 d\u00fc\u015f\u00fcr\u00fcr.<\/p>\n<p>Peki, neden kal\u0131c\u0131 haf\u0131zaya bu kadar \u00e7ok ihtiya\u00e7 duyuyoruz? Bir d\u00fc\u015f\u00fcn\u00fcn: insan olarak, ge\u00e7mi\u015f deneyimlerimizden ders \u00e7\u0131kar\u0131r, \u00f6\u011frendiklerimizi depolar ve bu bilgileri gelecekteki kararlar\u0131m\u0131z\u0131 \u015fekillendirmek i\u00e7in kullan\u0131r\u0131z. Bir m\u00fc\u015fteri hizmetleri temsilcisi, bir m\u00fc\u015fterinin ge\u00e7mi\u015f \u015fikayetlerini veya tercihlerini hat\u0131rlamadan etkili bir destek sunamaz. Benzer \u015fekilde, bir ki\u015fisel asistan, kullan\u0131c\u0131s\u0131n\u0131n randevular\u0131n\u0131, ilgi alanlar\u0131n\u0131 veya daha \u00f6nce sordu\u011fu sorular\u0131 hat\u0131rlamazsa ger\u00e7ekten &#8220;ki\u015fisel&#8221; olamaz. Yapay zeka ajanlar\u0131n\u0131n da ayn\u0131 yetene\u011fe sahip olmas\u0131 gerekir. Kal\u0131c\u0131 haf\u0131za, ajanlar\u0131n daha ki\u015fiselle\u015ftirilmi\u015f, tutarl\u0131 ve ak\u0131ll\u0131 etkile\u015fimler sunmas\u0131n\u0131 sa\u011flar. Bu sayede, tekrar tekrar ayn\u0131 bilgileri sormak veya ba\u015ftan ba\u015flamak zorunda kalmazlar, bu da hem kullan\u0131c\u0131 deneyimini iyile\u015ftirir hem de ajan\u0131n genel etkinli\u011fini art\u0131r\u0131r. Kal\u0131c\u0131 haf\u0131za, ajanlar\u0131n sadece o anki girdiye tepki vermek yerine, zaman i\u00e7inde bir bilgi birikimi olu\u015fturmas\u0131n\u0131, bu birikimi kullanarak daha sofistike kararlar almas\u0131n\u0131 ve hatta kendi davran\u0131\u015flar\u0131n\u0131 bu birikime g\u00f6re ayarlamas\u0131n\u0131 m\u00fcmk\u00fcn k\u0131lar. Bu, ajan\u0131n &#8220;\u00f6\u011frenme&#8221; yetene\u011finin temelini olu\u015fturur ve onu basit bir sorgu-cevap makinesinden, ger\u00e7ek bir dijital orta\u011fa d\u00f6n\u00fc\u015ft\u00fcr\u00fcr.<\/p>\n<p>Uzun s\u00fcreli haf\u0131za, \u00f6zellikle Retrieval Augmented Generation (RAG) mimarilerinde merkezi bir rol oynar. RAG, bir dil modelinin harici bir bilgi taban\u0131ndan alakal\u0131 bilgileri al\u0131p, bu bilgileri yan\u0131t olu\u015fturmak i\u00e7in kullanmas\u0131 prensibine dayan\u0131r. Ancak bu harici bilgi taban\u0131n\u0131n sadece statik verilerden olu\u015fmas\u0131 yeterli de\u011fildir; ajan\u0131n kendi etkile\u015fimlerinden edindi\u011fi dinamik bilgileri de i\u00e7ermesi gerekir. \u0130\u015fte burada vekt\u00f6r veritabanlar\u0131 ve Amazon S3 gibi \u00f6l\u00e7eklenebilir depolama \u00e7\u00f6z\u00fcmleri devreye girer. Bu sistemler, ajan\u0131n deneyimlerini ve \u00f6\u011frendiklerini depolamas\u0131na olanak tan\u0131r, b\u00f6ylece gelecekteki etkile\u015fimler i\u00e7in bir &#8220;hat\u0131ra havuzu&#8221; g\u00f6revi g\u00f6r\u00fcrler. Bu sayede ajan\u0131n ba\u011flam penceresi fiziksel olarak geni\u015flemese de, eri\u015febilece\u011fi bilgi evreni \u00f6nemli \u00f6l\u00e7\u00fcde b\u00fcy\u00fcr. Bu yakla\u015f\u0131m, ajanlar\u0131n belirli bir alan\u0131 derinlemesine \u00f6\u011frenmesini, kullan\u0131c\u0131lar\u0131n \u00f6zel ihtiya\u00e7lar\u0131na g\u00f6re uyum sa\u011flamas\u0131n\u0131 ve zamanla daha ak\u0131ll\u0131 ve kullan\u0131\u015fl\u0131 hale gelmesini sa\u011flar. Geli\u015fmi\u015f haf\u0131za sistemleri olmadan, yapay zeka ajanlar\u0131 her zaman s\u0131n\u0131rl\u0131 bir etki alan\u0131na sahip olacak ve tam potansiyellerine ula\u015famayacaklard\u0131r. Bu nedenle, kal\u0131c\u0131 haf\u0131za, yapay zeka ajanlar\u0131n\u0131n bir sonraki evrim ad\u0131m\u0131 i\u00e7in kritik bir bile\u015fendir.<\/p>\n<h2>Vekt\u00f6r Veritabanlar\u0131 ve Amazon S3: Bilgiyi Nas\u0131l Saklar\u0131z?<\/h2>\n<p>Yapay zeka ajanlar\u0131na kal\u0131c\u0131 haf\u0131za kazand\u0131rman\u0131n temelinde, bilginin nas\u0131l temsil edildi\u011fi ve depoland\u0131\u011f\u0131 yatar. Geleneksel veritabanlar\u0131 metinleri do\u011frudan saklarken, modern AI sistemleri bilgiyi &#8220;vekt\u00f6rler&#8221; halinde i\u015fler. Vekt\u00f6rler, say\u0131 dizileri olup, kelimelerin, c\u00fcmlelerin veya t\u00fcm belgelerin semantik (anlamsal) i\u00e7eri\u011fini y\u00fcksek boyutlu bir uzayda temsil eder. Yani, anlamsal olarak birbirine yak\u0131n olan metinler, vekt\u00f6r uzay\u0131nda da birbirine yak\u0131n konumlan\u0131r. Bu yakla\u015f\u0131m, yaln\u0131zca anahtar kelime e\u015fle\u015fmesine dayal\u0131 aramalardan \u00e7ok daha fazlas\u0131n\u0131 sunar; anlamsal arama, yani &#8220;anlam olarak benzer&#8221; i\u00e7erikleri bulma yetene\u011fi sa\u011flar. Bu sayede bir ajan, do\u011frudan sorulan bir kelime grubunu i\u00e7ermese bile, konuyla alakal\u0131 bilgiyi haf\u0131zas\u0131ndan \u00e7ekebilir.<\/p>\n<h3>Vekt\u00f6r Embeddings&#8217;in G\u00fcc\u00fc: Anlam\u0131 Say\u0131lara \u00c7evirmek<\/h3>\n<p>Vekt\u00f6r embeddings (g\u00f6m\u00fcleri), metinleri makine taraf\u0131ndan anla\u015f\u0131labilir say\u0131sal formatlara d\u00f6n\u00fc\u015ft\u00fcrmenin anahtar\u0131d\u0131r. Modern dil modelleri, metinleri bu vekt\u00f6rlere d\u00f6n\u00fc\u015ft\u00fcrmek i\u00e7in e\u011fitilmi\u015ftir. \u00d6rne\u011fin, &#8220;kedi&#8221; ve &#8220;tekir&#8221; kelimelerinin embeddings&#8217;i birbirine \u00e7ok yak\u0131nken, &#8220;kedi&#8221; ve &#8220;araba&#8221; kelimelerinin embeddings&#8217;i uzayda daha uzak olacakt\u0131r. Bu embeddings&#8217;ler, anlamsal benzerlik hesaplamalar\u0131 i\u00e7in kullan\u0131l\u0131r. Bir kullan\u0131c\u0131 bir soru sordu\u011funda, bu soru da bir vekt\u00f6re d\u00f6n\u00fc\u015ft\u00fcr\u00fcl\u00fcr ve ard\u0131ndan bu vekt\u00f6r, haf\u0131zada depolanan di\u011fer vekt\u00f6rlerle kar\u015f\u0131la\u015ft\u0131r\u0131l\u0131r. En benzer vekt\u00f6rler, yani anlamsal olarak en alakal\u0131 bilgiler, geri \u00e7a\u011fr\u0131l\u0131r ve LLM&#8217;ye ba\u011flam olarak sunulur. Bu s\u00fcre\u00e7, ajan\u0131n, sadece anahtar kelime e\u015fle\u015fmesiyle de\u011fil, ger\u00e7ekten ne arad\u0131\u011f\u0131n\u0131z\u0131 &#8220;anlayarak&#8221; ilgili bilgiyi bulmas\u0131n\u0131 sa\u011flar. Bu sayede ajan, daha do\u011fal ve ba\u011flam a\u00e7\u0131s\u0131ndan zengin yan\u0131tlar \u00fcretebilir. Bu teknolojinin g\u00fcc\u00fc, \u00f6zellikle b\u00fcy\u00fck ve heterojen veri k\u00fcmeleriyle \u00e7al\u0131\u015f\u0131rken ortaya \u00e7\u0131kar; ajan\u0131n, milyarlarca veri noktas\u0131 aras\u0131ndan bile ilgili par\u00e7alar\u0131 saniyeler i\u00e7inde bulmas\u0131n\u0131 sa\u011flar.<\/p>\n<div class=\"expert-tip\">\n        Uzman \u0130pucu: \u0130yi se\u00e7ilmi\u015f bir embedding modeli, vekt\u00f6r arama performans\u0131n\u0131z\u0131 ve ajan\u0131n anlamsal anlama yetene\u011fini do\u011frudan etkiler. Uygulaman\u0131z\u0131n spesifik ihtiya\u00e7lar\u0131na g\u00f6re (\u00f6rne\u011fin, teknik metinler i\u00e7in \u00f6zel olarak e\u011fitilmi\u015f modeller) farkl\u0131 embedding modellerini denemek faydal\u0131 olabilir.\n    <\/div>\n<h3>Amazon S3: Y\u00fcksek \u00d6l\u00e7eklenebilirlik ve Dayan\u0131kl\u0131l\u0131\u011f\u0131n Adresi<\/h3>\n<p>Peki, bu vekt\u00f6rleri nerede saklayaca\u011f\u0131z? Geleneksel olarak, bu t\u00fcr anlamsal aramalar i\u00e7in \u00f6zel vekt\u00f6r veritabanlar\u0131 (Pinecone, Milvus, Weaviate gibi) kullan\u0131l\u0131r. Ancak, bu \u00e7\u00f6z\u00fcmler y\u00fcksek maliyetli olabilir veya belirli operasyonel karma\u015f\u0131kl\u0131klar i\u00e7erebilir. \u0130\u015fte burada Amazon S3, uygun maliyetli ve \u00f6l\u00e7eklenebilir bir alternatif olarak devreye giriyor. Amazon S3 (Simple Storage Service), nesne depolama hizmeti olarak bilinir ve inan\u0131lmaz derecede dayan\u0131kl\u0131, \u00f6l\u00e7eklenebilir ve g\u00fcvenli bir depolama \u00e7\u00f6z\u00fcm\u00fcd\u00fcr. Metin belgelerinden videolara kadar her t\u00fcrl\u00fc veriyi depolayabilir. S3&#8217;\u00fcn ana avantajlar\u0131 \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>\u00d6l\u00e7eklenebilirlik:<\/strong> \u0130htiyac\u0131n\u0131z ne olursa olsun, S3 s\u0131n\u0131rs\u0131z depolama kapasitesi sunar.<\/li>\n<li><strong>Dayan\u0131kl\u0131l\u0131k:<\/strong> Verileriniz %99.999999999 (11 adet 9) oran\u0131nda dayan\u0131kl\u0131l\u0131kla depolan\u0131r, yani veri kayb\u0131 riski yok denecek kadar azd\u0131r.<\/li>\n<li><strong>Maliyet Etkinli\u011fi:<\/strong> Kulland\u0131\u011f\u0131n\u0131z kadar \u00f6dersiniz ve farkl\u0131 depolama s\u0131n\u0131flar\u0131 sayesinde maliyetleri optimize edebilirsiniz.<\/li>\n<li><strong>Entegrasyon Kolayl\u0131\u011f\u0131:<\/strong> AWS ekosistemi ve di\u011fer bir\u00e7ok ara\u00e7la kolayca entegre olabilir.<\/li>\n<\/ul>\n<p>S3&#8217;\u00fc do\u011frudan bir vekt\u00f6r veritaban\u0131 olarak kullanmak, temel olarak vekt\u00f6rleri (genellikle NumPy dizileri veya benzeri formatlarda) dosyalar halinde S3&#8217;e kaydetmek ve ard\u0131ndan bu dosyalar\u0131 okuyarak anlamsal arama yapmak anlam\u0131na gelir. Arama i\u015flemi, S3&#8217;ten vekt\u00f6r dosyalar\u0131n\u0131 \u00e7ekip, bunlar\u0131 bellekte kar\u015f\u0131la\u015ft\u0131rarak en benzer olanlar\u0131 bulmak \u015feklinde yap\u0131l\u0131r. B\u00fcy\u00fck \u00f6l\u00e7ekli veri setlerinde, bu do\u011frudan yakla\u015f\u0131m, \u00f6zel vekt\u00f6r veritabanlar\u0131n\u0131n sundu\u011fu indeksleme ve optimizasyonlardan yoksun olaca\u011f\u0131 i\u00e7in arama s\u00fcrelerinde yava\u015flamalara neden olabilir. Ancak, daha k\u00fc\u00e7\u00fck ve orta \u00f6l\u00e7ekli projelerde veya maliyetin kritik bir fakt\u00f6r oldu\u011fu durumlarda, S3&#8217;\u00fc bu \u015fekilde kullanmak olduk\u00e7a mant\u0131kl\u0131 ve pratik bir \u00e7\u00f6z\u00fcmd\u00fcr. Ayr\u0131ca, S3&#8217;\u00fc bir vekt\u00f6r veritaban\u0131n\u0131n arkas\u0131nda, uzun s\u00fcreli depolama ve yedekleme katman\u0131 olarak kullanmak da yayg\u0131n bir mimaridir. Bu kombinasyon, hem performans hem de maliyet avantajlar\u0131n\u0131 bir araya getirebilir. Temel fikir, ajan\u0131n &#8220;hat\u0131ralar\u0131n\u0131&#8221; g\u00fcvenli ve eri\u015filebilir bir \u015fekilde depolamakt\u0131r ve S3, bu g\u00f6revi m\u00fckemmel bir \u015fekilde yerine getirir.<\/p>\n<h2>Strands Agent Nedir ve Nas\u0131l \u00c7al\u0131\u015f\u0131r? Ajanlara Zeka Katmak<\/h2>\n<p>Yapay zeka ajanlar\u0131n\u0131n kal\u0131c\u0131 haf\u0131zaya sahip olmas\u0131, onlar\u0131 \u00e7ok daha yetenekli k\u0131lar, ancak bu haf\u0131zay\u0131 etkin bir \u015fekilde kullanabilmeleri i\u00e7in ak\u0131ll\u0131 bir mimariye de ihtiya\u00e7lar\u0131 vard\u0131r. \u0130\u015fte &#8220;Strands Agent&#8221; veya bu mimariden esinlenen benzeri ajan tasar\u0131mlar\u0131 tam da bu noktada devreye girer. Strands, genellikle bir LLM&#8217;nin \u00fczerine in\u015fa edilen ve ajan\u0131n yaln\u0131zca tek bir yan\u0131t vermek yerine, bir dizi d\u00fc\u015f\u00fcnce, eylem ve refleksiyon ad\u0131m\u0131 arac\u0131l\u0131\u011f\u0131yla karma\u015f\u0131k g\u00f6revleri tamamlamas\u0131n\u0131 sa\u011flayan bir \u00e7er\u00e7evedir. Bu, ajana sadece bilgiye eri\u015fme de\u011fil, ayn\u0131 zamanda bu bilgiyi nas\u0131l kullanaca\u011f\u0131n\u0131, hedeflerine ula\u015fmak i\u00e7in nas\u0131l plan yapaca\u011f\u0131n\u0131 ve hatta hatalar\u0131ndan nas\u0131l ders \u00e7\u0131karaca\u011f\u0131n\u0131 \u00f6\u011freten bir zeka katman\u0131 ekler. Strands mimarisi, ajanlar\u0131n insan benzeri ak\u0131l y\u00fcr\u00fctme yeteneklerini taklit etmeye \u00e7al\u0131\u015f\u0131r; yani, bir problemi \u00e7\u00f6zerken sadece bilgiye dayanmakla kalmaz, ayn\u0131 zamanda bu bilgiyi kullanarak bir plan yapar, plan\u0131n\u0131 uygular, sonu\u00e7lar\u0131 de\u011ferlendirir ve gerekirse plan\u0131n\u0131 revize eder.<\/p>\n<h3>Strands Mimarisi: Niyet, Eylem ve Refleksiyon D\u00f6ng\u00fcs\u00fc<\/h3>\n<p>Bir Strands benzeri ajan, genellikle \u00fc\u00e7 ana a\u015famadan olu\u015fan bir d\u00f6ng\u00fcde \u00e7al\u0131\u015f\u0131r:<\/p>\n<ol>\n<li><strong>Niyet Belirleme (Intention\/Planning):<\/strong> Ajan, kullan\u0131c\u0131dan gelen talebi veya mevcut durumu analiz ederek ne yapmas\u0131 gerekti\u011fini belirler. Bu a\u015famada, haf\u0131zas\u0131ndaki ge\u00e7mi\u015f deneyimlerden veya bilgi taban\u0131ndan faydalanarak bir eylem plan\u0131 olu\u015fturur. \u00d6rne\u011fin, &#8220;bana X \u00fcr\u00fcn hakk\u0131nda bilgi ver&#8221; talebi geldi\u011finde, ajan \u00f6nce haf\u0131zas\u0131ndan X \u00fcr\u00fcnle ilgili daha \u00f6nce \u00f6\u011frendi\u011fi bilgileri (e\u011fer varsa) veya genel \u00fcr\u00fcn bilgisi belgelerini aramay\u0131 planlar. Bu planlama, sadece bir sonraki ad\u0131m\u0131 de\u011fil, ayn\u0131 zamanda uzun vadeli hedefleri de i\u00e7erebilir.<\/li>\n<li><strong>Eylem Ger\u00e7ekle\u015ftirme (Action\/Execution):<\/strong> Olu\u015fturulan plana g\u00f6re ajan, gerekli eylemleri ger\u00e7ekle\u015ftirir. Bu eylemler; harici API&#8217;leri \u00e7a\u011f\u0131rmak, veritabanlar\u0131n\u0131 sorgulamak, web&#8217;den bilgi \u00e7ekmek veya do\u011frudan LLM&#8217;den yan\u0131t \u00fcretmesini istemek olabilir. Bizim senaryomuzda, bu a\u015fama \u00f6zellikle S3&#8217;te depolanan vekt\u00f6r verilerinden alakal\u0131 bilgileri \u00e7ekmeyi ve bu bilgileri LLM&#8217;ye ba\u011flam olarak sunmay\u0131 i\u00e7erir. Ajan, bu ad\u0131mlar\u0131 belirli ara\u00e7lar\u0131 (tools) kullanarak ger\u00e7ekle\u015ftirir. Her bir ara\u00e7, belirli bir g\u00f6revi yerine getirmek \u00fczere tasarlanm\u0131\u015f bir fonksiyondur.<\/li>\n<li><strong>Refleksiyon ve \u00d6\u011frenme (Reflection\/Learning):<\/strong> Ajan, ger\u00e7ekle\u015ftirdi\u011fi eylemlerin sonu\u00e7lar\u0131n\u0131 ve genel ilerlemesini de\u011ferlendirir. Plan\u0131 ba\u015far\u0131l\u0131 oldu mu? Beklenmedik bir durumla kar\u015f\u0131la\u015f\u0131ld\u0131 m\u0131? Hata yap\u0131ld\u0131ysa, bu hatadan ne \u00f6\u011frenilebilir? Bu a\u015famada, ajan\u0131n haf\u0131zas\u0131 g\u00fcncellenir. Ba\u015far\u0131l\u0131 eylemler ve \u00f6\u011frenilen yeni bilgiler, gelecekte kullan\u0131lmak \u00fczere S3 tabanl\u0131 vekt\u00f6r depomuza kaydedilebilir. Bu d\u00f6ng\u00fc, ajan\u0131n zamanla daha ak\u0131ll\u0131 ve verimli hale gelmesini sa\u011flar. Refleksiyon, ajan\u0131n kendi kendine ele\u015ftirel d\u00fc\u015f\u00fcnmesini ve adaptasyon yetene\u011fini geli\u015ftirir. Bu sayede ajan, de\u011fi\u015fen ko\u015fullara ve \u00f6\u011frenilen yeni bilgilere g\u00f6re stratejilerini optimize edebilir.<\/li>\n<\/ol>\n<p>Bu d\u00f6ng\u00fc, ajan\u0131n sadece reaktif de\u011fil, ayn\u0131 zamanda proaktif ve \u00f6\u011frenen bir sistem olmas\u0131n\u0131 sa\u011flar. Strands benzeri mimarilerde, haf\u0131za sadece ge\u00e7mi\u015f konu\u015fmalar\u0131 saklamakla kalmaz, ayn\u0131 zamanda ajan\u0131n kendi i\u00e7sel d\u00fc\u015f\u00fcncelerini, planlar\u0131n\u0131 ve refleksiyonlar\u0131n\u0131 da depolar. Bu sayede ajan, her yeni etkile\u015fimde sadece mevcut girdiye de\u011fil, ayn\u0131 zamanda kendi &#8220;bireysel&#8221; tarihine de ba\u015fvurarak \u00e7ok daha zengin ve ba\u011flam odakl\u0131 yan\u0131tlar \u00fcretebilir. Bu, yapay zeka ajanlar\u0131n\u0131 basit sohbet botlar\u0131ndan, ger\u00e7ekten ak\u0131ll\u0131 ve geli\u015fmi\u015f asistanlara d\u00f6n\u00fc\u015ft\u00fcren kritik bir ad\u0131md\u0131r.<\/p>\n<div class=\"expert-tip\">\n        Uzman \u0130pucu: Strands benzeri ajanlar\u0131n ba\u015far\u0131s\u0131, &#8220;ara\u00e7 (tool)&#8221; setlerinin \u00e7e\u015fitlili\u011fine ve kalitesine ba\u011fl\u0131d\u0131r. Ajan\u0131n kullanabilece\u011fi ne kadar \u00e7ok ve yetenekli arac\u0131 varsa, o kadar karma\u015f\u0131k g\u00f6revleri ba\u015far\u0131yla tamamlayabilir. \u00d6rne\u011fin, bir web arama arac\u0131, bir veritaban\u0131 sorgulama arac\u0131 veya bir kod \u00e7al\u0131\u015ft\u0131rma arac\u0131 ajan\u0131n yeteneklerini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131r.\n    <\/div>\n<h2>Ad\u0131m Ad\u0131m Uygulama: S3 Vekt\u00f6r Deposu ve Strands Tabanl\u0131 Bir Ajan Olu\u015fturma<\/h2>\n<p>\u015eimdi teoriden prati\u011fe ge\u00e7elim ve Amazon S3&#8217;\u00fc kal\u0131c\u0131 vekt\u00f6r depolama alan\u0131 olarak kullanan, Strands benzeri bir yapay zeka ajan\u0131 nas\u0131l olu\u015fturulur, ad\u0131m ad\u0131m inceleyelim. Bu b\u00f6l\u00fcmde, Python, LangChain k\u00fct\u00fcphanesi ve AWS SDK&#8217;y\u0131 kullanarak temel bir yap\u0131 kuraca\u011f\u0131z. Amac\u0131m\u0131z, ajan\u0131n belirli bir bilgi k\u00fcmesini S3&#8217;e vekt\u00f6rler halinde kaydetmesini ve daha sonra bu bilgiyi sorgulayarak yan\u0131tlar \u00fcretmesini sa\u011flamakt\u0131r.<\/p>\n<h3>Geli\u015ftirme Ortam\u0131n\u0131n Haz\u0131rlanmas\u0131<\/h3>\n<p>Ba\u015flamak i\u00e7in baz\u0131 \u00f6n ko\u015fullara ihtiyac\u0131m\u0131z var:<\/p>\n<ul>\n<li><strong>Python 3.x:<\/strong> Temel programlama dili.<\/li>\n<li><strong>AWS Hesab\u0131:<\/strong> S3 hizmetini kullanabilmek i\u00e7in. IAM kullan\u0131c\u0131 kimlik bilgileri (Access Key ID ve Secret Access Key) ve uygun S3 izinleri ayarlanm\u0131\u015f olmal\u0131.<\/li>\n<li><strong>Gerekli K\u00fct\u00fcphaneler:<\/strong>\n<ul>\n<li><code>boto3<\/code>: AWS hizmetleriyle etkile\u015fim kurmak i\u00e7in.<\/li>\n<li><code>langchain<\/code>: LLM uygulamalar\u0131 olu\u015fturmak i\u00e7in pop\u00fcler bir \u00e7er\u00e7eve.<\/li>\n<li><code>openai<\/code>: OpenAI API&#8217;sine eri\u015fim i\u00e7in (embedding ve LLM i\u00e7in).<\/li>\n<li><code>numpy<\/code>: Vekt\u00f6rleri i\u015flemek i\u00e7in.<\/li>\n<li><code>tiktoken<\/code>: Token say\u0131m\u0131 i\u00e7in.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Bu k\u00fct\u00fcphaneleri a\u015fa\u011f\u0131daki komutla kurabilirsiniz:<\/p>\n<pre><code>\npip install boto3 langchain openai numpy tiktoken\n    <\/pre>\n<p><\/code><\/p>\n<p>Ayr\u0131ca, OpenAI API anahtar\u0131n\u0131z\u0131 ortam de\u011fi\u015fkeni olarak ayarlaman\u0131z gerekmektedir:<\/p>\n<pre><code>\nexport OPENAI_API_KEY=\"sizin_openai_api_anahtar\u0131n\u0131z\"\n    <\/pre>\n<p><\/code><\/p>\n<h3>Veri \u0130\u015fleme ve Vekt\u00f6rle\u015ftirme: Bilgiyi Anlaml\u0131 Hale Getirme<\/h3>\n<p>\u0130lk ad\u0131m, ajan\u0131n \"unutmas\u0131n\u0131 istemedi\u011fimiz\" bilgileri i\u015flemektir. Bu bilgiler, dok\u00fcmanlar, konu\u015fma metinleri veya herhangi bir metinsel veri olabilir. Bu veriyi k\u00fc\u00e7\u00fck par\u00e7alara (chunks) b\u00f6l\u00fcp, her par\u00e7ay\u0131 bir vekt\u00f6re d\u00f6n\u00fc\u015ft\u00fcrece\u011fiz.<\/p>\n<pre><code>\nfrom langchain_openai import OpenAIEmbeddings\nfrom langchain.text_splitter import RecursiveCharacterTextSplitter\nimport numpy as np\nimport boto3\nimport json\n\n# \u00d6rnek veri\nlong_text = \"\"\"\nAmazon S3 (Simple Storage Service), \u00f6l\u00e7eklenebilir nesne depolama hizmetidir.\nVerilerinizi d\u00fcnya \u00e7ap\u0131nda milyarlarca nesneyi bar\u0131nd\u0131rabilen dayan\u0131kl\u0131 ve g\u00fcvenli bir altyap\u0131da saklar.\nS3, \u00f6zellikle web siteleri, mobil uygulamalar, yedekleme ve kurtarma, ar\u015fivleme, kurumsal uygulamalar,\nIoT cihazlar\u0131 ve b\u00fcy\u00fck veri analizi i\u00e7in kullan\u0131l\u0131r.\nMaliyet etkinli\u011fi ve y\u00fcksek kullan\u0131labilirlik sunar.\nStrands Agent, yapay zeka ajanlar\u0131n\u0131n planlama, eylem ve refleksiyon yeteneklerini geli\u015ftiren bir mimaridir.\nAjanlar\u0131n uzun s\u00fcreli haf\u0131zaya eri\u015fmesini ve bu haf\u0131zay\u0131 kullanarak daha bilin\u00e7li kararlar almas\u0131n\u0131 sa\u011flar.\nBu mimari genellikle bir B\u00fcy\u00fck Dil Modeli (LLM) etraf\u0131nda d\u00f6ner ve \u00e7e\u015fitli ara\u00e7lar\u0131 (tools) kullanarak\nd\u0131\u015f d\u00fcnya ile etkile\u015fime girmesine olanak tan\u0131r.\n\u00d6rne\u011fin, bir Strands Agent, bir S3 deposundan vekt\u00f6rle\u015ftirilmi\u015f belgeleri \u00e7ekmek i\u00e7in bir ara\u00e7 kullanabilir.\n\"\"\"\n\n# Metni par\u00e7alara ay\u0131rma\ntext_splitter = RecursiveCharacterTextSplitter(\n    chunk_size=1000,\n    chunk_overlap=200,\n    length_function=len,\n    add_start_index=True,\n)\nchunks = text_splitter.create_documents([long_text])\n\n# Embeddings modelini ba\u015flatma\nembeddings_model = OpenAIEmbeddings(model=\"text-embedding-3-small\")\n\n# Her par\u00e7a i\u00e7in embedding olu\u015fturma\nvector_data = []\nfor i, chunk in enumerate(chunks):\n    vector = embeddings_model.embed_query(chunk.page_content)\n    vector_data.append({\n        \"id\": f\"doc_chunk_{i}\",\n        \"text\": chunk.page_content,\n        \"vector\": vector\n    })\n\nprint(f\"Toplam {len(vector_data)} vekt\u00f6r par\u00e7as\u0131 olu\u015fturuldu.\")\n    <\/pre>\n<p><\/code><\/p>\n<p>Bu kod blo\u011fu, uzun bir metni daha k\u00fc\u00e7\u00fck par\u00e7alara ay\u0131r\u0131r ve her par\u00e7a i\u00e7in bir vekt\u00f6r (embedding) olu\u015fturur. Bu vekt\u00f6rler, ajan\u0131n anlamsal aramalar yapabilmesi i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<h3>S3 \u00dczerinde Vekt\u00f6r Deposu Olu\u015fturma ve Y\u00f6netme<\/h3>\n<p>Olu\u015fturdu\u011fumuz vekt\u00f6rleri S3'e kaydetmek i\u00e7in bir bucket olu\u015fturacak ve her vekt\u00f6r par\u00e7as\u0131n\u0131 ayr\u0131 bir JSON dosyas\u0131 olarak depolayaca\u011f\u0131z. Bu, daha sonra esnek bir \u015fekilde sorgulamam\u0131za olanak tan\u0131yacak.<\/p>\n<pre><code>\ns3 = boto3.client('s3')\nbucket_name = 'your-unique-s3-vector-bucket' # Kendi benzersiz bucket ad\u0131n\u0131z\u0131 girin\nprefix = 'vectors\/'\n\n# Bucket'\u0131 kontrol et ve yoksa olu\u015ftur (Opsiyonel, manuel de olu\u015fturulabilir)\ntry:\n    s3.head_bucket(Bucket=bucket_name)\n    print(f\"Bucket '{bucket_name}' zaten mevcut.\")\nexcept s3.exceptions.ClientError:\n    print(f\"Bucket '{bucket_name}' olu\u015fturuluyor...\")\n    s3.create_bucket(Bucket=bucket_name, CreateBucketConfiguration={'LocationConstraint': 'eu-central-1'}) # B\u00f6lgenizi ayarlay\u0131n\n    print(f\"Bucket '{bucket_name}' ba\u015far\u0131yla olu\u015fturuldu.\")\n\n# Vekt\u00f6rleri S3'e kaydetme\nfor item in vector_data:\n    key = f\"{prefix}{item['id']}.json\"\n    s3.put_object(\n        Bucket=bucket_name,\n        Key=key,\n        Body=json.dumps({\n            \"text\": item[\"text\"],\n            \"vector\": item[\"vector\"]\n        })\n    )\n    print(f\"'{key}' S3'e y\u00fcklendi.\")\n\nprint(\"T\u00fcm vekt\u00f6rler S3'e ba\u015far\u0131yla y\u00fcklendi.\")\n    <\/pre>\n<p><\/code><\/p>\n<p>Bu b\u00f6l\u00fcm, S3 bucket'\u0131n\u0131z\u0131 olu\u015fturur (veya var olan\u0131 kullan\u0131r) ve her bir vekt\u00f6r\/metin \u00e7iftini ayr\u0131 bir JSON dosyas\u0131 olarak S3'e y\u00fckler. Her dosya, metin i\u00e7eri\u011fini ve ona kar\u015f\u0131l\u0131k gelen vekt\u00f6r\u00fc i\u00e7erir. Bu sayede, ajan\u0131m\u0131z i\u00e7in kal\u0131c\u0131 bir \"haf\u0131za\" katman\u0131 olu\u015fturmu\u015f oluyoruz.<\/p>\n<h3>Strands Benzeri Bir Ajan Mimarisi ile Entegrasyon<\/h3>\n<p>\u015eimdi S3'teki bu haf\u0131zay\u0131 kullanabilecek bir ajan olu\u015ftural\u0131m. LangChain, ajanlar\u0131 ve ara\u00e7lar\u0131 kolayca entegre etmek i\u00e7in m\u00fckemmel bir \u00e7er\u00e7eve sunar. A\u015fa\u011f\u0131daki \u00f6rnek, S3'ten vekt\u00f6rleri \u00e7eken ve bir sorguyla en alakal\u0131 olanlar\u0131 bulan basit bir \"ara\u00e7\" (tool) tan\u0131ml\u0131yor ve bu arac\u0131 bir ajana entegre ediyor.<\/p>\n<pre><code>\nfrom langchain.agents import AgentExecutor, create_react_agent\nfrom langchain_core.prompts import PromptTemplate\nfrom langchain_openai import ChatOpenAI\nfrom langchain_core.tools import tool\nimport math\n\n# Cosine benzerli\u011fi hesaplama fonksiyonu\ndef cosine_similarity(vec1, vec2):\n    dot_product = np.dot(vec1, vec2)\n    norm_vec1 = np.linalg.norm(vec1)\n    norm_vec2 = np.linalg.norm(vec2)\n    if norm_vec1 == 0 or norm_vec2 == 0:\n        return 0.0\n    return dot_product \/ (norm_vec1 * norm_vec2)\n\n# S3'ten vekt\u00f6rleri \u00e7eken ve arama yapan ara\u00e7\n@tool\ndef search_s3_vector_memory(query: str) -> str:\n    \"\"\"S3'teki vekt\u00f6r belle\u011finde bir sorgu yaparak en alakal\u0131 bilgiyi getirir.\"\"\"\n    llm_embeddings = OpenAIEmbeddings(model=\"text-embedding-3-small\")\n    query_vector = llm_embeddings.embed_query(query)\n\n    s3_client = boto3.client('s3')\n    bucket = bucket_name # Yukar\u0131da tan\u0131mlanan bucket ad\u0131n\u0131 kullan\n    prefix = 'vectors\/'\n    \n    response = s3_client.list_objects_v2(Bucket=bucket, Prefix=prefix)\n    \n    best_match_text = \"\u0130lgili bilgi bulunamad\u0131.\"\n    highest_similarity = -1\n\n    if 'Contents' in response:\n        for obj in response['Contents']:\n            try:\n                obj_key = obj['Key']\n                if obj_key.endswith('.json'):\n                    s3_object = s3_client.get_object(Bucket=bucket, Key=obj_key)\n                    file_content = json.loads(s3_object['Body'].read().decode('utf-8'))\n                    \n                    stored_vector = np.array(file_content['vector'])\n                    stored_text = file_content['text']\n                    \n                    similarity = cosine_similarity(query_vector, stored_vector)\n                    \n                    if similarity > highest_similarity:\n                        highest_similarity = similarity\n                        best_match_text = stored_text\n                        \n            except Exception as e:\n                print(f\"S3 nesnesi i\u015flenirken hata olu\u015ftu {obj_key}: {e}\")\n                continue\n    \n    return f\"En y\u00fcksek benzerlik: {highest_similarity:.2f}. Alakal\u0131 bilgi: {best_match_text}\"\n\n\n# LLM modelini ba\u015flatma\nllm = ChatOpenAI(model=\"gpt-4o\", temperature=0.7)\n\n# Ajan i\u00e7in ara\u00e7lar\u0131 tan\u0131mlama\ntools = [search_s3_vector_memory]\n\n# Prompt olu\u015fturma\nprompt = PromptTemplate.from_template(\"\"\"\nSen \u00e7ok yard\u0131msever bir yapay zeka asistan\u0131s\u0131n.\nKullan\u0131c\u0131n\u0131n sorular\u0131n\u0131 yan\u0131tlamak i\u00e7in ara\u00e7lar\u0131 kullanmal\u0131s\u0131n.\nE\u011fer bir bilgiye ihtiyac\u0131n olursa, 'search_s3_vector_memory' arac\u0131n\u0131 kullanabilirsin.\n\nMevcut Ara\u00e7lar:\n{tools}\n\nKullan\u0131c\u0131: {input}\n{agent_scratchpad}\n\"\"\")\n\n# Ajan\u0131 olu\u015fturma\nagent = create_react_agent(llm, tools, prompt)\nagent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True, handle_parsing_errors=True)\n\n# Ajan\u0131 test etme\nprint(\"Ajan ba\u015flat\u0131l\u0131yor...\")\nresponse = agent_executor.invoke({\"input\": \"Bana Amazon S3 hakk\u0131nda bilgi verebilir misin?\"})\nprint(f\"\\nAjan\u0131n yan\u0131t\u0131: {response['output']}\")\n\nresponse = agent_executor.invoke({\"input\": \"Strands Agent ne i\u015fe yarar?\"})\nprint(f\"\\nAjan\u0131n yan\u0131t\u0131: {response['output']}\")\n\nresponse = agent_executor.invoke({\"input\": \"U\u011fur Mumcu kimdir?\"}) # Bu bilgi haf\u0131zam\u0131zda yok\nprint(f\"\\nAjan\u0131n yan\u0131t\u0131: {response['output']}\")\n    <\/pre>\n<p><\/code><\/p>\n<p>Bu kod blo\u011fu, <code>search_s3_vector_memory<\/code> ad\u0131nda bir LangChain arac\u0131 tan\u0131mlar. Bu ara\u00e7, gelen bir sorguyu vekt\u00f6re d\u00f6n\u00fc\u015ft\u00fcr\u00fcr, S3'teki t\u00fcm vekt\u00f6rleri \u00e7eker, sorgu vekt\u00f6r\u00fcyle kar\u015f\u0131la\u015ft\u0131r\u0131r ve en alakal\u0131 metni d\u00f6nd\u00fcr\u00fcr. Ard\u0131ndan, bir LangChain ajan\u0131 bu arac\u0131 kullanarak kullan\u0131c\u0131 sorgular\u0131na yan\u0131t vermek \u00fczere yap\u0131land\u0131r\u0131l\u0131r. Ajan, bir soruyla kar\u015f\u0131la\u015ft\u0131\u011f\u0131nda, S3 belle\u011fine dan\u0131\u015fmas\u0131 gerekip gerekmedi\u011fine karar verir ve e\u011fer gerekirse, bu arac\u0131 \u00e7a\u011f\u0131r\u0131r. Bu, ajan\u0131n \"unutmayan\" bir haf\u0131zaya sahip olmas\u0131n\u0131 sa\u011flar.<\/p>\n<h2>Ger\u00e7ek D\u00fcnya Senaryolar\u0131 ve \u0130leri D\u00fczey Optimizasyonlar<\/h2>\n<p>Amazon S3 tabanl\u0131 vekt\u00f6r depolama ve Strands benzeri ajan mimarileri, bir\u00e7ok ger\u00e7ek d\u00fcnya problemine \u00f6l\u00e7eklenebilir ve maliyet etkin \u00e7\u00f6z\u00fcmler sunar. Bu b\u00f6l\u00fcmde, bu yakla\u015f\u0131m\u0131n potansiyelini g\u00f6steren vaka analizlerini ve ajan\u0131n performans\u0131n\u0131 daha da art\u0131rmak i\u00e7in ileri d\u00fczey ipu\u00e7lar\u0131n\u0131 inceleyece\u011fiz.<\/p>\n<h3>Vaka Analizi: Kurumsal Bilgi Tabanl\u0131 Ak\u0131ll\u0131 Asistan<\/h3>\n<p>Bir\u00e7ok \u015firketin geni\u015f ve s\u00fcrekli g\u00fcncellenen i\u00e7 dok\u00fcmanlar\u0131 (teknik k\u0131lavuzlar, \u0130K politikalar\u0131, \u00fcr\u00fcn bilgileri, m\u00fc\u015fteri geri bildirimleri) bulunur. \u00c7al\u0131\u015fanlar\u0131n bu bilgilere h\u0131zla eri\u015fmesi, verimlilik i\u00e7in kritiktir. Ancak, bu dok\u00fcmanlar genellikle farkl\u0131 formatlarda (PDF, Word, Confluence sayfalar\u0131) bulunur ve aranmas\u0131 zordur.<\/p>\n<p><strong>Problem:<\/strong> \u00c7al\u0131\u015fanlar, arad\u0131klar\u0131 bilgiyi bulmak i\u00e7in saatler harc\u0131yor, bu da verimlilik kayb\u0131na ve m\u00fc\u015fteri memnuniyetsizli\u011fine yol a\u00e7\u0131yor.<\/p>\n<p><strong>\u00c7\u00f6z\u00fcm:<\/strong> Kurumsal dok\u00fcmanlar\u0131 (PDF'ler, Wiki sayfalar\u0131 vb.) metin par\u00e7alar\u0131na ay\u0131r\u0131p, her par\u00e7ay\u0131 vekt\u00f6re d\u00f6n\u00fc\u015ft\u00fcrerek Amazon S3'te depoluyoruz. Bu S3 vekt\u00f6r deposu, \u015firketin \"uzun s\u00fcreli haf\u0131zas\u0131\" haline geliyor. Strands benzeri bir ajan, bu S3 belle\u011fine eri\u015fmek i\u00e7in bir \"arama arac\u0131\" ve bu bilgilere dayanarak yan\u0131tlar olu\u015fturmak i\u00e7in bir LLM kullan\u0131r. Ajan, \u00e7al\u0131\u015fanlar\u0131n do\u011fal dilde sordu\u011fu sorular\u0131 al\u0131r, S3'teki bilgiyi anlamsal olarak arar, en alakal\u0131 par\u00e7alar\u0131 bulur ve bunlar\u0131 kullanarak do\u011fru, g\u00fcncel ve ba\u011flam a\u00e7\u0131s\u0131ndan zengin yan\u0131tlar verir.<\/p>\n<p><strong>Faydalar\u0131:<\/strong><\/p>\n<ul>\n<li><strong>Geli\u015ftirilmi\u015f Verimlilik:<\/strong> \u00c7al\u0131\u015fanlar bilgilere an\u0131nda eri\u015febilir, b\u00f6ylece bilgi arama s\u00fcresi \u00f6nemli \u00f6l\u00e7\u00fcde azal\u0131r.<\/li>\n<li><strong>Tutarl\u0131 Bilgi:<\/strong> Ajan her zaman en g\u00fcncel ve onaylanm\u0131\u015f bilgilere eri\u015fti\u011fi i\u00e7in tutarl\u0131 yan\u0131tlar sa\u011flar.<\/li>\n<li><strong>\u00d6l\u00e7eklenebilirlik:<\/strong> Yeni dok\u00fcmanlar kolayca vekt\u00f6rle\u015ftirilip S3'e eklenebilir. S3'\u00fcn s\u0131n\u0131rs\u0131z depolama kapasitesi, bilgi taban\u0131n\u0131n b\u00fcy\u00fckl\u00fc\u011f\u00fc konusunda endi\u015felenmeden \u00f6l\u00e7eklenmeyi m\u00fcmk\u00fcn k\u0131lar.<\/li>\n<li><strong>Maliyet Etkinli\u011fi:<\/strong> \u00d6zel bir vekt\u00f6r veritaban\u0131n\u0131n y\u00fcksek maliyetleri yerine, S3'\u00fcn uygun maliyetli depolama ve gerekti\u011finde dinamik olarak y\u00fcklenebilen indeksleme mekanizmalar\u0131 sayesinde maliyetler optimize edilir.<\/li>\n<\/ul>\n<h3>Performans ve \u00d6l\u00e7eklenebilirlik \u0130pu\u00e7lar\u0131<\/h3>\n<p>S3'\u00fc do\u011frudan bir vekt\u00f6r depolama olarak kullan\u0131rken, performans ve \u00f6l\u00e7eklenebilirlik baz\u0131 \u00f6zel dikkat gerektirebilir. \u0130\u015fte baz\u0131 ipu\u00e7lar\u0131:<\/p>\n<ol>\n<li><strong>Vekt\u00f6rleri \u0130ndeksleme:<\/strong> Binlerce veya milyonlarca vekt\u00f6r\u00fc do\u011frudan S3'ten \u00e7ekip bellekte kar\u015f\u0131la\u015ft\u0131rmak yava\u015f olabilir. Daha b\u00fcy\u00fck \u00f6l\u00e7ekler i\u00e7in, vekt\u00f6rleri \u00e7ekmeden \u00f6nce bir t\u00fcr indeksleme mekanizmas\u0131 kullanmak performans\u0131 art\u0131rabilir. \u00d6rne\u011fin, S3'e y\u00fckledi\u011finiz vekt\u00f6r dosyalar\u0131n\u0131n meta verilerini veya k\u00fc\u00e7\u00fck bir \u00f6zetini (\u00f6rne\u011fin ilk 100 vekt\u00f6r) daha h\u0131zl\u0131 sorgulanabilir bir veritaban\u0131nda (DynamoDB, Redis) tutarak \u00f6n eleme yapabilirsiniz.<\/li>\n<li><strong>Paralel \u0130\u015fleme:<\/strong> Vekt\u00f6r arama s\u00fcrecini birden fazla S3 objesi \u00fczerinde paralel olarak \u00e7al\u0131\u015ft\u0131rmak, b\u00fcy\u00fck veri k\u00fcmelerinde arama s\u00fcresini k\u0131saltabilir. AWS Lambda fonksiyonlar\u0131, bu t\u00fcr paralel i\u015flemeleri kolayca y\u00f6netebilir.<\/li>\n<li><strong>\u00d6nbellekleme (Caching):<\/strong> S\u0131k\u00e7a eri\u015filen veya y\u00fcksek benzerli\u011fe sahip vekt\u00f6r sonu\u00e7lar\u0131n\u0131 \u00f6nbelle\u011fe almak (\u00f6rne\u011fin Redis kullanarak), S3'e yap\u0131lan \u00e7a\u011fr\u0131 say\u0131s\u0131n\u0131 ve dolay\u0131s\u0131yla gecikmeyi azalt\u0131r.<\/li>\n<li><strong>S3 Depolama S\u0131n\u0131flar\u0131:<\/strong> S3 Standard, S3 Intelligent-Tiering, S3 Infrequent Access gibi farkl\u0131 depolama s\u0131n\u0131flar\u0131n\u0131 kullanarak maliyetleri optimize edin. S\u0131k eri\u015filmeyen eski haf\u0131za verileri i\u00e7in daha uygun maliyetli s\u0131n\u0131flar\u0131 tercih edebilirsiniz.<\/li>\n<li><strong>Token S\u0131n\u0131rlamalar\u0131 ve Chunking Optimizasyonu:<\/strong> LLM'lerin ba\u011flam penceresi s\u0131n\u0131rl\u0131 oldu\u011fu i\u00e7in, S3'ten getirilen metin par\u00e7alar\u0131n\u0131n LLM'ye s\u0131\u011faca\u011f\u0131ndan emin olun. <code>RecursiveCharacterTextSplitter<\/code> gibi ara\u00e7larla do\u011fru <code>chunk_size<\/code> ve <code>chunk_overlap<\/code> de\u011ferlerini bulmak, hem anlamsal b\u00fct\u00fcnl\u00fc\u011f\u00fc korur hem de token limitlerini a\u015fmamay\u0131 sa\u011flar.<\/li>\n<\/ol>\n<h3>Mobil Uyumluluk ve Kullan\u0131c\u0131 Deneyimi<\/h3>\n<p>Bu t\u00fcr ajanlar genellikle bir web aray\u00fcz\u00fc veya mobil uygulama arac\u0131l\u0131\u011f\u0131yla son kullan\u0131c\u0131lara sunulur. Kullan\u0131c\u0131 deneyimini geli\u015ftirmek ve farkl\u0131 cihazlarda sorunsuz bir etkile\u015fim sa\u011flamak kritik \u00f6neme sahiptir. HTML ve CSS kullanarak mobil uyumlu aray\u00fczler tasarlarken, duyarl\u0131 tasar\u0131m prensiplerini uygulamak gerekir.<\/p>\n<p>\u00d6rne\u011fin, CSS medya sorgular\u0131 (media queries) ile ekran boyutuna g\u00f6re stil ayarlamalar\u0131 yapabiliriz:<\/p>\n<pre><code>\n<style>\n\/* Varsay\u0131lan stil: B\u00fcy\u00fck ekranlar i\u00e7in *\/\nbody {\n    font-family: Arial, sans-serif;\n    margin: 20px;\n}\n.agent-chat-container {\n    max-width: 800px;\n    margin: 0 auto;\n    border: 1px solid #ddd;\n    border-radius: 8px;\n    padding: 20px;\n}\n.chat-message {\n    padding: 10px;\n    margin-bottom: 10px;\n    border-radius: 5px;\n}\n.user-message {\n    background-color: #e0f7fa;\n    text-align: right;\n}\n.agent-message {\n    background-color: #f1f8e9;\n    text-align: left;\n}\ninput[type=\"text\"] {\n    width: calc(100% - 100px);\n    padding: 10px;\n    border: 1px solid #ccc;\n    border-radius: 5px;\n}\nbutton {\n    width: 90px;\n    padding: 10px;\n    background-color: #4CAF50;\n    color: white;\n    border: none;\n    border-radius: 5px;\n    cursor: pointer;\n}\n\n\/* K\u00fc\u00e7\u00fck ekranlar (mobil cihazlar) i\u00e7in stil *\/\n@media (max-width: 768px) {\n    .agent-chat-container {\n        margin: 10px;\n        padding: 10px;\n    }\n    input[type=\"text\"], button {\n        width: 100%;\n        margin-top: 10px;\n    }\n}\n<\/style>\n<div class=\"agent-chat-container\">\n    <div class=\"chat-message user-message\">Merhaba, S3 hakk\u0131nda bilgi alabilir miyim?<\/div>\n    <div class=\"chat-message agent-message\">Elbette, Amazon S3 hakk\u0131nda size yard\u0131mc\u0131 olabilirim.<\/div>\n    <input type=\"text\" placeholder=\"Mesaj\u0131n\u0131z\u0131 buraya yaz\u0131n...\">\n    <button>G\u00f6nder<\/button>\n<\/div>\n    <\/pre>\n<p><\/code><\/p>\n<p>Bu \u00f6rnek, sohbet aray\u00fcz\u00fcn\u00fcn farkl\u0131 ekran boyutlar\u0131nda nas\u0131l g\u00f6r\u00fcnece\u011fini ayarlar. Mobil cihazlarda metin kutusu ve g\u00f6nder d\u00fc\u011fmesi tam geni\u015fli\u011fi kaplarken, b\u00fcy\u00fck ekranlarda yan yana hizalan\u0131r. Bu t\u00fcr duyarl\u0131 tasar\u0131m yakla\u015f\u0131mlar\u0131, ajan\u0131n\u0131z\u0131n her cihazda ula\u015f\u0131labilir ve kullan\u0131m\u0131 kolay olmas\u0131n\u0131 sa\u011flar.<\/p>\n<h2>Sonu\u00e7: Unutmayan Ajanlar Gelece\u011fin Anahtar\u0131<\/h2>\n<p>Yapay zeka ajanlar\u0131n\u0131n kal\u0131c\u0131 haf\u0131zaya sahip olmas\u0131, onlar\u0131n yeteneklerini ve kullan\u0131m alanlar\u0131n\u0131 k\u00f6kten de\u011fi\u015ftiren bir ad\u0131md\u0131r. Amazon S3'\u00fc vekt\u00f6r depolama olarak kullanmak ve Strands benzeri ajan mimarilerini entegre etmek, maliyet etkin ve \u00f6l\u00e7eklenebilir bir \u015fekilde \"unutmayan\" ajanlar in\u015fa etmenin g\u00fc\u00e7l\u00fc bir yolunu sunar. Bu yakla\u015f\u0131m, ajanlar\u0131n ge\u00e7mi\u015f etkile\u015fimlerden ve geni\u015f bilgi tabanlar\u0131ndan \u00f6\u011frenmesini, daha ki\u015fiselle\u015ftirilmi\u015f ve ba\u011flam a\u00e7\u0131s\u0131ndan zengin yan\u0131tlar \u00fcretmesini ve nihayetinde daha ak\u0131ll\u0131 ve otonom g\u00f6revleri yerine getirmesini sa\u011flar. Kurumsal bilgi asistanlar\u0131ndan ki\u015fisel asistanlara kadar geni\u015f bir yelpazede bu teknoloji, yapay zekan\u0131n ger\u00e7ek d\u00fcnya uygulamalar\u0131ndaki potansiyelini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rmaktad\u0131r.<\/p>\n<p>Bu makalede ele ald\u0131\u011f\u0131m\u0131z teknikler, yapay zeka ajanlar\u0131n\u0131n evriminde \u00f6nemli bir basama\u011f\u0131 temsil ediyor. Basit sorgu-cevap mekanizmalar\u0131ndan, ger\u00e7ekten \u00f6\u011frenen, planlayan ve refleksiyon yapabilen sistemlere ge\u00e7i\u015f, yapay zekan\u0131n gelecekteki rol\u00fcn\u00fc \u015fekillendirecektir. Amazon S3 gibi bulut hizmetlerinin g\u00fcc\u00fcn\u00fc, geli\u015fmi\u015f ajan mimarileriyle birle\u015ftirmek, gelece\u011fin ak\u0131ll\u0131 sistemlerini in\u015fa etmemizin anahtar\u0131d\u0131r. Bu sayede, yapay zeka sadece bir ara\u00e7 olmaktan \u00e7\u0131k\u0131p, ger\u00e7ekten anlaml\u0131 ve uzun vadeli de\u011fer \u00fcreten bir partner haline gelebilir.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular<\/h3>\n<ul>\n<li>\n            <strong>S1: Neden S3'\u00fc do\u011frudan vekt\u00f6r veritaban\u0131 olarak kullanmak yerine \u00f6zel bir vekt\u00f6r DB kullanmal\u0131y\u0131z?<\/strong><\/p>\n<p><strong>C1:<\/strong> S3, y\u00fcksek dayan\u0131kl\u0131l\u0131k ve maliyet etkinli\u011fi sunarken, do\u011frudan vekt\u00f6r aramalar\u0131 i\u00e7in optimize edilmemi\u015ftir. \u00d6zel vekt\u00f6r veritabanlar\u0131 (Pinecone, Milvus, Weaviate gibi) genellikle yerle\u015fik indeksleme algoritmalar\u0131na (ANN \u2013 Approximate Nearest Neighbor) sahiptir. Bu algoritmalar, milyarlarca vekt\u00f6r aras\u0131nda saniyeler i\u00e7inde anlamsal arama yapabilir. S3 tabanl\u0131 do\u011frudan arama, \u00f6zellikle b\u00fcy\u00fck veri k\u00fcmelerinde, her seferinde t\u00fcm vekt\u00f6rleri \u00e7ekip bellekte kar\u015f\u0131la\u015ft\u0131rmay\u0131 gerektirece\u011fi i\u00e7in daha yava\u015f ve daha az verimli olabilir. K\u00fc\u00e7\u00fck ve orta \u00f6l\u00e7ekli projelerde maliyet avantaj\u0131 i\u00e7in S3 tercih edilebilirken, y\u00fcksek performans ve \u00f6l\u00e7eklenebilirlik gerektiren kurumsal uygulamalarda hibrit bir yakla\u015f\u0131m (S3'\u00fc ana depolama, vekt\u00f6r DB'yi indeksleme ve arama i\u00e7in kullanma) veya do\u011frudan \u00f6zel vekt\u00f6r DB kullan\u0131m\u0131 daha uygun olabilir.<\/p>\n<\/li>\n<li>\n            <strong>S2: Strands Agent yerine ba\u015fka ajan k\u00fct\u00fcphaneleri kullan\u0131labilir mi?<\/strong><\/p>\n<p><strong>C2:<\/strong> Kesinlikle. \"Strands Agent\" burada genel bir mimari kavram\u0131 olarak kullan\u0131lm\u0131\u015ft\u0131r. LangChain, CrewAI, AutoGen gibi bir\u00e7ok pop\u00fcler k\u00fct\u00fcphane, benzer ajansal yetenekler (planlama, ara\u00e7 kullan\u0131m\u0131, refleksiyon) sunar. Bu k\u00fct\u00fcphaneler, ajan\u0131n davran\u0131\u015f\u0131n\u0131 tan\u0131mlaman\u0131za, ara\u00e7lar\u0131 entegre etmenize ve LLM'ler ile etkile\u015fim kurman\u0131za olanak tan\u0131r. Se\u00e7iminiz, projenizin spesifik ihtiya\u00e7lar\u0131na, geli\u015ftirici tercihinize ve k\u00fct\u00fcphanenin sundu\u011fu entegrasyon kolayl\u0131klar\u0131na ba\u011fl\u0131 olacakt\u0131r. Temel prensipler (kal\u0131c\u0131 haf\u0131za, ara\u00e7 kullan\u0131m\u0131, ak\u0131l y\u00fcr\u00fctme d\u00f6ng\u00fcs\u00fc) \u00e7o\u011fu ajan \u00e7er\u00e7evesinde benzerdir.<\/p>\n<\/li>\n<li>\n            <strong>S3: Maliyeti nas\u0131l optimize edebilirim?<\/strong><\/p>\n<p><strong>C3:<\/strong> Maliyet optimizasyonu i\u00e7in birka\u00e7 yol vard\u0131r:<\/p>\n<ol>\n<li><strong>S3 Depolama S\u0131n\u0131flar\u0131:<\/strong> S\u0131k eri\u015filmeyen vekt\u00f6r veya metin verileri i\u00e7in S3 Intelligent-Tiering, S3 Standard-IA (Infrequent Access) veya hatta S3 Glacier gibi daha ucuz depolama s\u0131n\u0131flar\u0131n\u0131 kullan\u0131n.<\/li>\n<li><strong>Token Kullan\u0131m\u0131:<\/strong> OpenAI API gibi servisler token baz\u0131nda \u00fccretlendirilir. Embedding olu\u015ftururken ve LLM \u00e7a\u011fr\u0131lar\u0131nda sadece gerekli metin par\u00e7alar\u0131n\u0131 kullanmaya \u00f6zen g\u00f6sterin. Chunking stratejinizi optimize edin.<\/li>\n<li><strong>\u00d6nbellekleme:<\/strong> S\u0131k\u00e7a sorulan sorular\u0131n yan\u0131tlar\u0131n\u0131 veya s\u0131k eri\u015filen vekt\u00f6r arama sonu\u00e7lar\u0131n\u0131 \u00f6nbelle\u011fe alarak API \u00e7a\u011fr\u0131lar\u0131n\u0131 azalt\u0131n.<\/li>\n<li><strong>Veri Boyutu:<\/strong> Vekt\u00f6rlerin boyutunu ve hassasiyetini dengeleyin. Genellikle 1536 boyutlu vekt\u00f6rler kullan\u0131l\u0131r ancak baz\u0131 modeller daha k\u00fc\u00e7\u00fck boyutlar (\u00f6rne\u011fin 256 veya 512) sunar ve bu da depolama ve i\u015fleme maliyetini d\u00fc\u015f\u00fcrebilir (ancak anlamsal do\u011frulu\u011fu etkileyebilir).<\/li>\n<\/ol>\n<\/li>\n<li>\n            <strong>S4: Veri g\u00fcvenli\u011fi nas\u0131l sa\u011flan\u0131r?<\/strong><\/p>\n<p><strong>C4:<\/strong> S3 \u00fczerindeki verilerin g\u00fcvenli\u011fi i\u00e7in AWS'nin sundu\u011fu mekanizmalar\u0131 kullan\u0131n:<\/p>\n<ol>\n<li><strong>IAM Politikalar\u0131:<\/strong> S3 bucket'lar\u0131n\u0131za yaln\u0131zca yetkili kullan\u0131c\u0131lar\u0131n veya rollerin eri\u015febilece\u011finden emin olmak i\u00e7in detayl\u0131 IAM (Identity and Access Management) politikalar\u0131 uygulay\u0131n. S3'e yazma ve okuma izinlerini en az ayr\u0131cal\u0131k ilkesiyle y\u00f6netin.<\/li>\n<li><strong>\u015eifreleme:<\/strong> S3, depodaki verileri (at rest) ve aktar\u0131mdaki verileri (in transit) \u015fifrelemenizi sa\u011flar. S3 bucket'lar\u0131n\u0131z\u0131 varsay\u0131lan olarak sunucu taraf\u0131 \u015fifreleme (SSE-S3, SSE-KMS) ile yap\u0131land\u0131r\u0131n.<\/li>\n<li><strong>VPC Endpoint'ler:<\/strong> G\u00fcvenli\u011fi art\u0131rmak i\u00e7in, S3 eri\u015fiminizi bir VPC (Virtual Private Cloud) i\u00e7inden s\u0131n\u0131rlamak i\u00e7in VPC Endpoint'ler kullan\u0131n.<\/li>\n<li><strong>Audit ve \u0130zleme:<\/strong> AWS CloudTrail ile S3 \u00fczerindeki t\u00fcm API \u00e7a\u011fr\u0131lar\u0131n\u0131 izleyin ve \u015f\u00fcpheli etkinlikleri tespit etmek i\u00e7in AWS CloudWatch ile uyar\u0131lar kurun.<\/li>\n<\/ol>\n<\/li>\n<li>\n            <strong>S5: Bu yakla\u015f\u0131m\u0131n s\u0131n\u0131rlamalar\u0131 nelerdir?<\/strong><\/p>\n<p><strong>C5:<\/strong> Bu yakla\u015f\u0131m\u0131n baz\u0131 s\u0131n\u0131rlamalar\u0131 bulunmaktad\u0131r:<\/p>\n<ol>\n<li><strong>Arama H\u0131z\u0131:<\/strong> Milyonlarca vekt\u00f6rle do\u011frudan S3 \u00fczerinden anlamsal arama yapmak, \u00f6zel vekt\u00f6r veritabanlar\u0131na g\u00f6re daha yava\u015f olabilir.<\/li>\n<li><strong>Vekt\u00f6r G\u00fcncellemeleri:<\/strong> S3'te bir vekt\u00f6r dosyas\u0131n\u0131 g\u00fcncellemek, t\u00fcm dosyay\u0131 yeniden y\u00fcklemeyi gerektirebilir, bu da s\u0131k g\u00fcncellemeler i\u00e7in verimli de\u011fildir.<\/li>\n<li><strong>Ger\u00e7ek Zamanl\u0131l\u0131k:<\/strong> Y\u00fcksek derecede ger\u00e7ek zamanl\u0131 bilgi eri\u015fimi gerektiren senaryolarda, S3'ten veri okuma gecikmeleri (latency) sorun yaratabilir.<\/li>\n<li><strong>Karma\u015f\u0131kl\u0131k:<\/strong> \u00d6zel bir vekt\u00f6r veritaban\u0131n\u0131n sundu\u011fu otomatik indeksleme ve optimizasyon \u00f6zelliklerinin bir k\u0131sm\u0131n\u0131 elle y\u00f6netmeniz gerekebilir.<\/li>\n<\/ol>\n<p>            Ancak, bu s\u0131n\u0131rlamalar do\u011fru tasar\u0131m ve optimizasyon stratejileri ile \u00e7o\u011fu proje i\u00e7in y\u00f6netilebilir hale getirilebilir.\n            <\/p>\n<\/li>\n<\/ul>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Yapay zeka ajanlar\u0131n\u0131n, karma\u015f\u0131k g\u00f6revleri yerine getirirken ge\u00e7mi\u015f konu\u015fmalar\u0131 veya \u00f6\u011frendikleri bilgileri unutmas\u0131, onlar\u0131 \u00e7o\u011fu zaman etkisiz k\u0131lan&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-31940","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>Unutmayan Yapay Zeka Ajanlar\u0131: S3 Vekt\u00f6rleri ve Strands Agent ile Kal\u0131c\u0131 Haf\u0131za<\/title>\n<meta name=\"description\" content=\"Yapay zeka ajanlar\u0131n\u0131n, karma\u015f\u0131k g\u00f6revleri yerine getirirken ge\u00e7mi\u015f konu\u015fmalar\u0131 veya \u00f6\u011frendikleri bilgileri unutmas\u0131, onlar\u0131 \u00e7o\u011fu zaman etkisiz k\u0131lan temel bir engeldir. Bu makale, Amazon S3&#039;\u00fc vekt\u00f6r depolama alan\u0131 olarak kullanarak ve Strands benzeri bir ajan mimarisiyle entegre ederek, AI ajanlar\u0131na kal\u0131c\u0131 haf\u0131za kazand\u0131rman\u0131n pratik yollar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klamaktad\u0131r.\" \/>\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\/unutmayan-yapay-zeka-ajanlari-s3-vektorleri-ve-strands-agent-ile-kalici-hafiza\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Unutmayan Yapay Zeka Ajanlar\u0131: S3 Vekt\u00f6rleri ve Strands Agent ile Kal\u0131c\u0131 Haf\u0131za\" \/>\n<meta property=\"og:description\" content=\"Yapay zeka ajanlar\u0131n\u0131n, karma\u015f\u0131k g\u00f6revleri yerine getirirken ge\u00e7mi\u015f konu\u015fmalar\u0131 veya \u00f6\u011frendikleri bilgileri unutmas\u0131, onlar\u0131 \u00e7o\u011fu zaman etkisiz k\u0131lan temel bir engeldir. Bu makale, Amazon S3&#039;\u00fc vekt\u00f6r depolama alan\u0131 olarak kullanarak ve Strands benzeri bir ajan mimarisiyle entegre ederek, AI ajanlar\u0131na kal\u0131c\u0131 haf\u0131za kazand\u0131rman\u0131n pratik yollar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klamaktad\u0131r.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/unutmayan-yapay-zeka-ajanlari-s3-vektorleri-ve-strands-agent-ile-kalici-hafiza\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-15T17:31:48+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\/unutmayan-yapay-zeka-ajanlari-s3-vektorleri-ve-strands-agent-ile-kalici-hafiza\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/unutmayan-yapay-zeka-ajanlari-s3-vektorleri-ve-strands-agent-ile-kalici-hafiza\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Unutmayan Yapay Zeka Ajanlar\u0131: S3 Vekt\u00f6rleri ve Strands Agent ile Kal\u0131c\u0131 Haf\u0131za\",\"datePublished\":\"2025-10-15T17:31:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/unutmayan-yapay-zeka-ajanlari-s3-vektorleri-ve-strands-agent-ile-kalici-hafiza\/\"},\"wordCount\":4509,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/unutmayan-yapay-zeka-ajanlari-s3-vektorleri-ve-strands-agent-ile-kalici-hafiza\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/unutmayan-yapay-zeka-ajanlari-s3-vektorleri-ve-strands-agent-ile-kalici-hafiza\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/unutmayan-yapay-zeka-ajanlari-s3-vektorleri-ve-strands-agent-ile-kalici-hafiza\/\",\"name\":\"Unutmayan Yapay Zeka Ajanlar\u0131: S3 Vekt\u00f6rleri ve Strands Agent ile Kal\u0131c\u0131 Haf\u0131za\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-15T17:31:48+00:00\",\"description\":\"Yapay zeka ajanlar\u0131n\u0131n, karma\u015f\u0131k g\u00f6revleri yerine getirirken ge\u00e7mi\u015f konu\u015fmalar\u0131 veya \u00f6\u011frendikleri bilgileri unutmas\u0131, onlar\u0131 \u00e7o\u011fu zaman etkisiz k\u0131lan temel bir engeldir. Bu makale, Amazon S3'\u00fc vekt\u00f6r depolama alan\u0131 olarak kullanarak ve Strands benzeri bir ajan mimarisiyle entegre ederek, AI ajanlar\u0131na kal\u0131c\u0131 haf\u0131za kazand\u0131rman\u0131n pratik yollar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klamaktad\u0131r.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/unutmayan-yapay-zeka-ajanlari-s3-vektorleri-ve-strands-agent-ile-kalici-hafiza\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/unutmayan-yapay-zeka-ajanlari-s3-vektorleri-ve-strands-agent-ile-kalici-hafiza\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/unutmayan-yapay-zeka-ajanlari-s3-vektorleri-ve-strands-agent-ile-kalici-hafiza\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Unutmayan Yapay Zeka Ajanlar\u0131: S3 Vekt\u00f6rleri ve Strands Agent ile Kal\u0131c\u0131 Haf\u0131za\"}]},{\"@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":"Unutmayan Yapay Zeka Ajanlar\u0131: S3 Vekt\u00f6rleri ve Strands Agent ile Kal\u0131c\u0131 Haf\u0131za","description":"Yapay zeka ajanlar\u0131n\u0131n, karma\u015f\u0131k g\u00f6revleri yerine getirirken ge\u00e7mi\u015f konu\u015fmalar\u0131 veya \u00f6\u011frendikleri bilgileri unutmas\u0131, onlar\u0131 \u00e7o\u011fu zaman etkisiz k\u0131lan temel bir engeldir. Bu makale, Amazon S3'\u00fc vekt\u00f6r depolama alan\u0131 olarak kullanarak ve Strands benzeri bir ajan mimarisiyle entegre ederek, AI ajanlar\u0131na kal\u0131c\u0131 haf\u0131za kazand\u0131rman\u0131n pratik yollar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klamaktad\u0131r.","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\/unutmayan-yapay-zeka-ajanlari-s3-vektorleri-ve-strands-agent-ile-kalici-hafiza\/","og_locale":"tr_TR","og_type":"article","og_title":"Unutmayan Yapay Zeka Ajanlar\u0131: S3 Vekt\u00f6rleri ve Strands Agent ile Kal\u0131c\u0131 Haf\u0131za","og_description":"Yapay zeka ajanlar\u0131n\u0131n, karma\u015f\u0131k g\u00f6revleri yerine getirirken ge\u00e7mi\u015f konu\u015fmalar\u0131 veya \u00f6\u011frendikleri bilgileri unutmas\u0131, onlar\u0131 \u00e7o\u011fu zaman etkisiz k\u0131lan temel bir engeldir. Bu makale, Amazon S3'\u00fc vekt\u00f6r depolama alan\u0131 olarak kullanarak ve Strands benzeri bir ajan mimarisiyle entegre ederek, AI ajanlar\u0131na kal\u0131c\u0131 haf\u0131za kazand\u0131rman\u0131n pratik yollar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klamaktad\u0131r.","og_url":"https:\/\/fatihsoysal.com\/blog\/unutmayan-yapay-zeka-ajanlari-s3-vektorleri-ve-strands-agent-ile-kalici-hafiza\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-15T17:31:48+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\/unutmayan-yapay-zeka-ajanlari-s3-vektorleri-ve-strands-agent-ile-kalici-hafiza\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/unutmayan-yapay-zeka-ajanlari-s3-vektorleri-ve-strands-agent-ile-kalici-hafiza\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Unutmayan Yapay Zeka Ajanlar\u0131: S3 Vekt\u00f6rleri ve Strands Agent ile Kal\u0131c\u0131 Haf\u0131za","datePublished":"2025-10-15T17:31:48+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/unutmayan-yapay-zeka-ajanlari-s3-vektorleri-ve-strands-agent-ile-kalici-hafiza\/"},"wordCount":4509,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/unutmayan-yapay-zeka-ajanlari-s3-vektorleri-ve-strands-agent-ile-kalici-hafiza\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/unutmayan-yapay-zeka-ajanlari-s3-vektorleri-ve-strands-agent-ile-kalici-hafiza\/","url":"https:\/\/fatihsoysal.com\/blog\/unutmayan-yapay-zeka-ajanlari-s3-vektorleri-ve-strands-agent-ile-kalici-hafiza\/","name":"Unutmayan Yapay Zeka Ajanlar\u0131: S3 Vekt\u00f6rleri ve Strands Agent ile Kal\u0131c\u0131 Haf\u0131za","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-15T17:31:48+00:00","description":"Yapay zeka ajanlar\u0131n\u0131n, karma\u015f\u0131k g\u00f6revleri yerine getirirken ge\u00e7mi\u015f konu\u015fmalar\u0131 veya \u00f6\u011frendikleri bilgileri unutmas\u0131, onlar\u0131 \u00e7o\u011fu zaman etkisiz k\u0131lan temel bir engeldir. Bu makale, Amazon S3'\u00fc vekt\u00f6r depolama alan\u0131 olarak kullanarak ve Strands benzeri bir ajan mimarisiyle entegre ederek, AI ajanlar\u0131na kal\u0131c\u0131 haf\u0131za kazand\u0131rman\u0131n pratik yollar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klamaktad\u0131r.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/unutmayan-yapay-zeka-ajanlari-s3-vektorleri-ve-strands-agent-ile-kalici-hafiza\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/unutmayan-yapay-zeka-ajanlari-s3-vektorleri-ve-strands-agent-ile-kalici-hafiza\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/unutmayan-yapay-zeka-ajanlari-s3-vektorleri-ve-strands-agent-ile-kalici-hafiza\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Unutmayan Yapay Zeka Ajanlar\u0131: S3 Vekt\u00f6rleri ve Strands Agent ile Kal\u0131c\u0131 Haf\u0131za"}]},{"@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\/31940","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=31940"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31940\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=31940"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=31940"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=31940"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}