{"id":37642,"date":"2026-01-11T13:00:43","date_gmt":"2026-01-11T10:00:43","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/python-langgraph-ve-obsidian-ile-hatirlayan-bir-yapay-zeka-ticaret-ajani-insa-etmek\/"},"modified":"2026-01-11T13:00:43","modified_gmt":"2026-01-11T10:00:43","slug":"python-langgraph-ve-obsidian-ile-hatirlayan-bir-yapay-zeka-ticaret-ajani-insa-etmek","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/python-langgraph-ve-obsidian-ile-hatirlayan-bir-yapay-zeka-ticaret-ajani-insa-etmek\/","title":{"rendered":"Python, LangGraph ve Obsidian ile &#8220;Hat\u0131rlayan&#8221; Bir Yapay Zeka Ticaret Ajan\u0131 \u0130n\u015fa Etmek"},"content":{"rendered":"<h2>Python, LangGraph ve Obsidian ile &#8220;Hat\u0131rlayan&#8221; Bir Yapay Zeka Ticaret Ajan\u0131 \u0130n\u015fa Etmek<\/h2>\n<p>Finans piyasalar\u0131, s\u00fcrekli de\u011fi\u015fen dinamikleri ve y\u00fcksek belirsizlikleriyle karma\u015f\u0131k bir yap\u0131ya sahiptir. Bu ortamda ba\u015far\u0131l\u0131 olmak i\u00e7in sadece anl\u0131k verilere de\u011fil, ge\u00e7mi\u015f deneyimlerden \u00f6\u011frenmeye ve stratejileri s\u00fcrekli olarak adapte etmeye ihtiya\u00e7 vard\u0131r. Geleneksel algoritmik ticaret botlar\u0131 genellikle belirli kurallar veya k\u0131sa vadeli modeller \u00fczerinden hareket ederken, &#8220;hat\u0131rlayan&#8221; bir yapay zeka ticaret ajan\u0131, ge\u00e7mi\u015f i\u015flemlerden, piyasa ko\u015fullar\u0131ndan ve kendi kararlar\u0131n\u0131n sonu\u00e7lar\u0131ndan ders \u00e7\u0131kararak daha sofistike ve adaptif stratejiler geli\u015ftirebilir. Bu makalede, Python, LangGraph ve Obsidian gibi modern ara\u00e7lar\u0131 kullanarak, piyasa dinamiklerini anlayan ve deneyimlerinden \u00f6\u011frenen bir yapay zeka ticaret ajan\u0131n\u0131n nas\u0131l in\u015fa edilece\u011fini detayl\u0131 bir \u015fekilde inceleyece\u011fiz.<\/p>\n<h3>Yat\u0131r\u0131mda Yapay Zeka ve Haf\u0131za \u0130htiyac\u0131<\/h3>\n<p>Yapay zeka (YZ) destekli algoritmik ticaret, son y\u0131llarda b\u00fcy\u00fck bir ivme kazand\u0131. Ancak \u00e7o\u011fu YZ modeli, belirli bir zaman dilimindeki verilerle e\u011fitilir ve ge\u00e7mi\u015f kararlar\u0131n\u0131n veya piyasa olaylar\u0131n\u0131n uzun vadeli etkilerini &#8220;hat\u0131rlama&#8221; yetene\u011finden yoksundur. Bu durum, piyasa ko\u015fullar\u0131 de\u011fi\u015fti\u011finde veya beklenmedik olaylar ya\u015fand\u0131\u011f\u0131nda performans d\u00fc\u015f\u00fc\u015flerine yol a\u00e7abilir.<\/p>\n<h4>Geleneksel Ticaret Botlar\u0131n\u0131n S\u0131n\u0131rlamalar\u0131<\/h4>\n<p>Geleneksel ticaret botlar\u0131 genellikle \u00f6nceden tan\u0131mlanm\u0131\u015f kurallar (\u00f6rne\u011fin, hareketli ortalama kesi\u015fimleri) veya k\u0131sa vadeli makine \u00f6\u011frenimi modelleri (\u00f6rne\u011fin, regresyon veya s\u0131n\u0131fland\u0131rma) \u00fczerine kuruludur. Bu botlar, belirli piyasa ko\u015fullar\u0131nda etkili olabilirken, ani trend de\u011fi\u015fimleri, makroekonomik olaylar veya kara ku\u011fu senaryolar\u0131 kar\u015f\u0131s\u0131nda esneklik g\u00f6steremezler. En b\u00fcy\u00fck eksiklikleri, ge\u00e7mi\u015f hatalar\u0131ndan veya ba\u015far\u0131l\u0131 stratejilerinden \u00f6\u011frenerek davran\u0131\u015flar\u0131n\u0131 uzun vadede adapte edememeleridir. Her yeni i\u015flem, onlar i\u00e7in yeni bir ba\u015flang\u0131\u00e7 gibidir.<\/p>\n<h4>Neden Haf\u0131za \u00d6nemli?<\/h4>\n<p>\u0130nsan yat\u0131r\u0131mc\u0131lar, ge\u00e7mi\u015fte yapt\u0131klar\u0131 hatalar\u0131 hat\u0131rlar, ba\u015far\u0131l\u0131 stratejilerin alt\u0131nda yatan nedenleri analiz eder ve bu deneyimleri gelecekteki kararlar\u0131na yans\u0131t\u0131rlar. Bir yapay zeka ticaret ajan\u0131 i\u00e7in de benzer bir &#8220;haf\u0131za&#8221; mekanizmas\u0131 kritik \u00f6neme sahiptir. Bu haf\u0131za, sadece fiyat verilerini de\u011fil, ayn\u0131 zamanda i\u015flem kararlar\u0131n\u0131, bu kararlar\u0131n gerek\u00e7elerini, piyasa haberlerini, duygusal analizleri ve elde edilen sonu\u00e7lar\u0131 da i\u00e7ermelidir. Bu sayede ajan, zamanla daha bilin\u00e7li, adaptif ve k\u00e2rl\u0131 kararlar alabilir.<\/p>\n<h4>\u0130nsan Yat\u0131r\u0131mc\u0131n\u0131n Avantaj\u0131<\/h4>\n<p>\u0130nsan yat\u0131r\u0131mc\u0131lar, sezgi, deneyim ve ba\u011flamsal bilgiyi birle\u015ftirerek karar verirler. Bir \u015firketin ge\u00e7mi\u015f performans\u0131n\u0131, y\u00f6netim de\u011fi\u015fikliklerini, sekt\u00f6rdeki trendleri ve k\u00fcresel olaylar\u0131n potansiyel etkilerini bir b\u00fct\u00fcn olarak de\u011ferlendirebilirler. &#8220;Hat\u0131rlayan&#8221; bir yapay zeka ajan\u0131, bu insani avantaj\u0131 taklit etmeye \u00e7al\u0131\u015f\u0131r. Ge\u00e7mi\u015f verileri sadece say\u0131sal bir girdi olarak de\u011fil, ayn\u0131 zamanda bir &#8220;hikaye&#8221; veya &#8220;deneyim&#8221; olarak alg\u0131layarak daha derinlemesine bir \u00f6\u011frenme sa\u011flayabilir.<\/p>\n<h3>LangGraph: Geli\u015fmi\u015f Ajan Orkestrasyonu<\/h3>\n<p>LangGraph, LangChain ekosisteminin bir uzant\u0131s\u0131 olup, birden fazla dil modelini (LLM) veya arac\u0131 (tool) bir araya getirerek karma\u015f\u0131k, durum bilgili (stateful) ve d\u00f6ng\u00fcsel (cyclic) ajan i\u015f ak\u0131\u015flar\u0131 olu\u015fturmak i\u00e7in tasarlanm\u0131\u015ft\u0131r. Bu, \u00f6zellikle &#8220;hat\u0131rlayan&#8221; bir ticaret ajan\u0131 gibi, s\u00fcrekli \u00f6\u011frenen ve karar veren sistemler i\u00e7in ideal bir \u00e7\u00f6z\u00fcmd\u00fcr.<\/p>\n<h4>LangChain ve LangGraph Fark\u0131<\/h4>\n<p>LangChain, tek bir LLM \u00e7a\u011fr\u0131s\u0131 etraf\u0131nda zincirler (chains) olu\u015fturmaya odaklan\u0131rken, LangGraph daha \u00e7ok birden fazla ajan\u0131n veya LLM&#8217;in birbiriyle etkile\u015fime girdi\u011fi, durumun her ad\u0131mda g\u00fcncellendi\u011fi ve d\u00f6ng\u00fcler i\u00e7erebilen daha karma\u015f\u0131k &#8220;graf&#8221; yap\u0131lar\u0131n\u0131 destekler. Ticaret ajan\u0131m\u0131z, piyasa verilerini analiz etme, Obsidian&#8217;dan ge\u00e7mi\u015f bilgileri sorgulama, karar verme ve bu kararlar\u0131 kaydetme gibi farkl\u0131 ad\u0131mlar\u0131 i\u00e7erdi\u011finden, LangGraph&#8217;\u0131n esnek graf yap\u0131s\u0131 b\u00fcy\u00fck avantaj sa\u011flar.<\/p>\n<h4>Graf Tabanl\u0131 Ajan Ak\u0131\u015flar\u0131<\/h4>\n<p>LangGraph ile bir ticaret ajan\u0131 olu\u015ftururken, her bir ad\u0131m\u0131 bir &#8220;d\u00fc\u011f\u00fcm&#8221; (node) olarak tan\u0131mlayabiliriz. \u00d6rne\u011fin, &#8220;Veri Al\u0131m\u0131&#8221;, &#8220;Piyasa Analizi&#8221;, &#8220;Haf\u0131za Sorgulama&#8221;, &#8220;Karar Verme&#8221; ve &#8220;\u0130\u015flem Ger\u00e7ekle\u015ftirme&#8221; gibi d\u00fc\u011f\u00fcmler olu\u015fturulabilir. Bu d\u00fc\u011f\u00fcmler aras\u0131ndaki ge\u00e7i\u015fler (edge), belirli ko\u015fullara ba\u011fl\u0131 olarak dinamik olarak belirlenebilir. Bu sayede ajan, belirli bir piyasa durumunda hangi ad\u0131mlar\u0131 atmas\u0131 gerekti\u011fine otonom olarak karar verebilir. \u00d6rne\u011fin, &#8220;Piyasa Analizi&#8221; d\u00fc\u011f\u00fcm\u00fcnden sonra, e\u011fer piyasa belirsizse &#8220;Haf\u0131za Sorgulama&#8221; d\u00fc\u011f\u00fcm\u00fcne ge\u00e7ebilir.<\/p>\n<h4>Mod\u00fcler ve Esnek Yap\u0131<\/h4>\n<p>LangGraph&#8217;\u0131n mod\u00fcler yap\u0131s\u0131, ajan\u0131m\u0131z\u0131n farkl\u0131 bile\u015fenlerini ba\u011f\u0131ms\u0131z olarak geli\u015ftirmemize ve test etmemize olanak tan\u0131r. Yeni bir analiz arac\u0131 eklemek veya farkl\u0131 bir karar alma algoritmas\u0131 denemek istedi\u011fimizde, sadece ilgili d\u00fc\u011f\u00fcm\u00fc de\u011fi\u015ftirmemiz yeterli olur. Bu esneklik, ticaret stratejilerini s\u00fcrekli olarak iyile\u015ftirmek ve adapte etmek i\u00e7in hayati \u00f6neme sahiptir.<\/p>\n<h3>Obsidian: Ticaret G\u00fcnl\u00fckleri ve Bilgi Y\u00f6netimi<\/h3>\n<p>Obsidian, Markdown tabanl\u0131, yerel dosya sistemi \u00fczerinde \u00e7al\u0131\u015fan ve notlar aras\u0131nda g\u00fc\u00e7l\u00fc ba\u011flant\u0131lar kurmay\u0131 sa\u011flayan bir bilgi y\u00f6netimi arac\u0131d\u0131r. Bir yapay zeka ticaret ajan\u0131 i\u00e7in &#8220;uzun vadeli haf\u0131za&#8221; olarak kullan\u0131lmas\u0131, ajan\u0131n ge\u00e7mi\u015f deneyimlerini, stratejilerini ve piyasa g\u00f6zlemlerini yap\u0131land\u0131r\u0131lm\u0131\u015f bir \u015fekilde saklamas\u0131na olanak tan\u0131r.<\/p>\n<h4>Markdown Tabanl\u0131 Bilgi Depolama<\/h4>\n<p>Obsidian, t\u00fcm notlar\u0131n\u0131 d\u00fcz metin Markdown dosyalar\u0131 olarak depolar. Bu, YZ ajan\u0131 i\u00e7in b\u00fcy\u00fck bir avantajd\u0131r \u00e7\u00fcnk\u00fc bu dosyalar kolayca okunabilir, yaz\u0131labilir ve i\u015flenebilir. Ajan, her i\u015flemden sonra piyasa ko\u015fullar\u0131n\u0131, karar verme s\u00fcrecini, beklentileri ve sonu\u00e7lar\u0131 bir Markdown dosyas\u0131 olarak Obsidian kasas\u0131na kaydedebilir. Bu kay\u0131tlar, daha sonraki analizler ve \u00f6\u011frenme s\u00fcre\u00e7leri i\u00e7in zengin bir veri kayna\u011f\u0131 olu\u015fturur.<\/p>\n<h4>\u0130li\u015fkisel Notlar ve Graf G\u00f6rselle\u015ftirme<\/h4>\n<p>Obsidian&#8217;\u0131n en g\u00fc\u00e7l\u00fc \u00f6zelliklerinden biri, notlar aras\u0131nda \u00e7ift y\u00f6nl\u00fc ba\u011flant\u0131lar kurabilmesidir. YZ ajan\u0131, belirli bir hisse senedi, sekt\u00f6r veya strateji hakk\u0131nda notlar olu\u015ftururken, bu notlar\u0131 birbirine ba\u011flayabilir. \u00d6rne\u011fin, &#8220;X \u015eirketi Analizi&#8221; notu, &#8220;Teknik G\u00f6stergeler Stratejisi&#8221; notuna ve &#8220;2023 Q3 Kazan\u00e7 Raporu&#8221; notuna ba\u011flanabilir. Obsidian&#8217;\u0131n graf g\u00f6r\u00fcn\u00fcm\u00fc, bu ili\u015fkileri g\u00f6rselle\u015ftirerek, ajan\u0131n zamanla nas\u0131l bir bilgi a\u011f\u0131 olu\u015fturdu\u011funu anlamam\u0131za yard\u0131mc\u0131 olabilir. Bu yap\u0131, ajan\u0131n belirli bir ba\u011flamda ilgili bilgileri h\u0131zl\u0131ca geri \u00e7a\u011f\u0131rmas\u0131n\u0131 sa\u011flar.<\/p>\n<h4>D\u0131\u015fa Aktar\u0131m ve API Entegrasyonu Potansiyeli<\/h4>\n<p>Obsidian&#8217;\u0131n dosyalar\u0131 yerel olarak depolamas\u0131, ajan\u0131n bu dosyalara do\u011frudan eri\u015fmesini ve i\u00e7eri\u011fi okuyup yazmas\u0131n\u0131 kolayla\u015ft\u0131r\u0131r. Ayr\u0131ca, Obsidian&#8217;\u0131n zengin eklenti ekosistemi ve topluluk taraf\u0131ndan geli\u015ftirilen ara\u00e7lar, ajan\u0131n Obsidian kasas\u0131yla daha sofistike etkile\u015fimler kurmas\u0131 i\u00e7in potansiyel sunar. \u00d6rne\u011fin, bir Python beti\u011fi, belirli etiketlere sahip notlar\u0131 filtreleyebilir veya belirli anahtar kelimeler i\u00e7eren notlar\u0131 arayabilir. Bu, ajan\u0131n &#8220;hat\u0131rlama&#8221; s\u00fcrecini daha verimli hale getirir.<\/p>\n<h3>Sistem Mimarisi ve Bile\u015fenleri<\/h3>\n<p>&#8220;Hat\u0131rlayan&#8221; bir YZ ticaret ajan\u0131, \u00e7e\u015fitli bile\u015fenlerin uyumlu bir \u015fekilde \u00e7al\u0131\u015fmas\u0131n\u0131 gerektirir. Bu bile\u015fenler, veri al\u0131m\u0131ndan karar almaya ve haf\u0131za y\u00f6netimine kadar uzanan geni\u015f bir yelpazeyi kapsar.<\/p>\n<h4>Ana Mod\u00fcller ve Rolleri<\/h4>\n<p>*   <strong>Veri Toplama Mod\u00fcl\u00fc:<\/strong> Ger\u00e7ek zamanl\u0131 ve ge\u00e7mi\u015f piyasa verilerini (fiyatlar, hacimler, haberler, makroekonomik g\u00f6stergeler) \u00e7e\u015fitli API&#8217;lerden (\u00f6rn. Alpaca, OANDA, Finnhub) \u00e7eker.<br \/>\n*   <strong>Piyasa Analizi Mod\u00fcl\u00fc:<\/strong> Toplanan verileri kullanarak teknik analiz (MACD, RSI vb.), temel analiz (\u015firket bilan\u00e7olar\u0131, kazan\u00e7 raporlar\u0131) ve duygu analizi yapar.<br \/>\n*   <strong>Haf\u0131za Y\u00f6netimi Mod\u00fcl\u00fc:<\/strong> Obsidian kasas\u0131 ile etkile\u015fim kurar. Ge\u00e7mi\u015f i\u015flem kay\u0131tlar\u0131n\u0131 okur, yeni kararlar\u0131 ve piyasa g\u00f6zlemlerini kaydeder.<br \/>\n*   <strong>Karar Alma Ajan\u0131 (LangGraph):<\/strong> Piyasa analizi sonu\u00e7lar\u0131n\u0131 ve haf\u0131zadan gelen bilgileri birle\u015ftirerek i\u015flem kararlar\u0131 (al, sat, bekle) al\u0131r. Bu, LLM&#8217;ler ve di\u011fer ara\u00e7larla zenginle\u015ftirilmi\u015f bir LangGraph ak\u0131\u015f\u0131 i\u00e7inde ger\u00e7ekle\u015fir.<br \/>\n*   <strong>\u0130\u015flem Y\u00fcr\u00fctme Mod\u00fcl\u00fc:<\/strong> Karar alma ajan\u0131n\u0131n verdi\u011fi talimatlar\u0131 arac\u0131 kuruma ileterek i\u015flemleri ger\u00e7ekle\u015ftirir.<br \/>\n*   <strong>Geri Bildirim ve \u00d6\u011frenme Mod\u00fcl\u00fc:<\/strong> Ger\u00e7ekle\u015fen i\u015flemlerin sonu\u00e7lar\u0131n\u0131 izler, ajan kararlar\u0131n\u0131n etkinli\u011fini de\u011ferlendirir ve bu geri bildirimi haf\u0131za mod\u00fcl\u00fc arac\u0131l\u0131\u011f\u0131yla Obsidian&#8217;a kaydeder.<\/p>\n<h4>Veri Ak\u0131\u015f\u0131 ve Etkile\u015fimler<\/h4>\n<p>Sistem, s\u00fcrekli bir d\u00f6ng\u00fc i\u00e7inde \u00e7al\u0131\u015f\u0131r:<br \/>\n1.  Veri Toplama Mod\u00fcl\u00fc, piyasa verilerini \u00e7eker.<br \/>\n2.  Piyasa Analizi Mod\u00fcl\u00fc, bu verileri i\u015fler.<br \/>\n3.  Karar Alma Ajan\u0131 (LangGraph), hem mevcut analiz sonu\u00e7lar\u0131n\u0131 hem de Haf\u0131za Y\u00f6netimi Mod\u00fcl\u00fc arac\u0131l\u0131\u011f\u0131yla Obsidian&#8217;dan gelen ge\u00e7mi\u015f bilgileri kullanarak bir karar al\u0131r.<br \/>\n4.  \u0130\u015flem Y\u00fcr\u00fctme Mod\u00fcl\u00fc, karar\u0131 uygular.<br \/>\n5.  Geri Bildirim ve \u00d6\u011frenme Mod\u00fcl\u00fc, i\u015flemin sonucunu izler ve bu sonucu (karar\u0131n gerek\u00e7esi, piyasa ko\u015fullar\u0131, elde edilen k\u00e2r\/zarar) Haf\u0131za Y\u00f6netimi Mod\u00fcl\u00fc arac\u0131l\u0131\u011f\u0131yla Obsidian&#8217;a kaydeder. Bu yeni kay\u0131tlar, ajan\u0131n gelecekteki kararlar\u0131 i\u00e7in &#8220;haf\u0131za&#8221; olu\u015fturur.<\/p>\n<h4>Teknolojik Y\u0131\u011f\u0131n (Python, LangGraph, LLM, Obsidian)<\/h4>\n<p>*   <strong>Python:<\/strong> T\u00fcm sistemin omurgas\u0131. Veri toplama, analiz, LangGraph ajan\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rma ve Obsidian ile dosya i\u015flemleri i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <strong>LangGraph:<\/strong> Karar alma ajan\u0131n\u0131n orkestrasyonu ve durum y\u00f6netimi i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <strong>LLM (Large Language Model):<\/strong> Ajan\u0131n karma\u015f\u0131k piyasa ko\u015fullar\u0131n\u0131 yorumlamas\u0131, haberleri \u00f6zetlemesi, duygu analizi yapmas\u0131 ve Obsidian&#8217;daki serbest metin notlar\u0131ndan anlam \u00e7\u0131karmas\u0131 i\u00e7in kullan\u0131l\u0131r. (\u00d6rn. OpenAI GPT serisi, Anthropic Claude, a\u00e7\u0131k kaynakl\u0131 modeller)<br \/>\n*   <strong>Obsidian:<\/strong> Ajan\u0131n uzun vadeli haf\u0131zas\u0131 ve bilgi bankas\u0131 olarak kullan\u0131l\u0131r. Markdown dosyalar\u0131, ajan\u0131n ge\u00e7mi\u015f deneyimlerini yap\u0131land\u0131r\u0131lm\u0131\u015f ve okunabilir bir formatta saklamas\u0131n\u0131 sa\u011flar.<\/p>\n<h3>Uygulama Ad\u0131mlar\u0131: Python ile Entegrasyon<\/h3>\n<p>Bir &#8220;hat\u0131rlayan&#8221; YZ ticaret ajan\u0131 olu\u015fturmak, ad\u0131m ad\u0131m bir s\u00fcre\u00e7 gerektirir. Python, bu entegrasyon i\u00e7in en uygun dildir.<\/p>\n<h4>Geli\u015ftirme Ortam\u0131n\u0131n Haz\u0131rlanmas\u0131<\/h4>\n<p>\u00d6ncelikle gerekli k\u00fct\u00fcphaneleri y\u00fcklemeliyiz:<\/p>\n<pre><code class=\"language-bash\">pip install langchain langgraph openai pandas requests<\/pre>\n<p><\/code><br \/>\nObsidian kasam\u0131z\u0131 olu\u015fturmal\u0131 ve ajan\u0131n eri\u015febilece\u011fi bir dizine yerle\u015ftirmeliyiz. Bu dizin, ajan\u0131n okuma\/yazma yetkisine sahip olmal\u0131d\u0131r.<\/p>\n<h4>LangGraph Ajan\u0131n\u0131n Tasar\u0131m\u0131<\/h4>\n<p>LangGraph'ta bir ajan tasarlarken, ajan\u0131n durumunu (state) ve d\u00fc\u011f\u00fcmlerini (nodes) tan\u0131mlar\u0131z.<br \/>\n\u00d6rnek bir durum tan\u0131m\u0131:<\/p>\n<pre><code class=\"language-python\">from typing import TypedDict, List\nfrom langchain_core.messages import BaseMessage\n\nclass AgentState(TypedDict):\n    messages: List[BaseMessage]\n    current_asset: str\n    market_data: dict\n    obsidian_notes: str # Obsidian'dan \u00e7ekilen ilgili notlar\n    decision: str<\/pre>\n<p><\/code><br \/>\nD\u00fc\u011f\u00fcmler ise, ajan\u0131n ger\u00e7ekle\u015ftirece\u011fi i\u015flevleri temsil eder. \u00d6rne\u011fin, piyasa verilerini \u00e7eken bir d\u00fc\u011f\u00fcm:<\/p>\n<pre><code class=\"language-python\">def fetch_market_data(state: AgentState):\n    # API'den ger\u00e7ek zamanl\u0131 piyasa verilerini \u00e7ekme mant\u0131\u011f\u0131\n    market_data = {\"price\": 100, \"volume\": 10000, \"news\": \"Company X announced strong earnings\"}\n    return {\"market_data\": market_data}<\/pre>\n<p><\/code><br \/>\nObsidian'dan ilgili notlar\u0131 \u00e7eken bir d\u00fc\u011f\u00fcm:<\/p>\n<pre><code class=\"language-python\">def retrieve_from_obsidian(state: AgentState):\n    # Obsidian kasas\u0131ndan ilgili anahtar kelimelere g\u00f6re notlar\u0131 okuma\n    # \u00d6rn: 'state.current_asset' ile ilgili notlar\u0131 arama\n    asset = state.get(\"current_asset\", \"GENEL\")\n    obsidian_path = \"\/path\/to\/your\/ObsidianVault\"\n    relevant_notes = []\n    for filename in os.listdir(obsidian_path):\n        if filename.endswith(\".md\") and asset.lower() in filename.lower():\n            with open(os.path.join(obsidian_path, filename), 'r', encoding='utf-8') as f:\n                relevant_notes.append(f.read())\n    return {\"obsidian_notes\": \"\\n---\\n\".join(relevant_notes)}<\/pre>\n<p><\/code><br \/>\nKarar alma d\u00fc\u011f\u00fcm\u00fc, LLM'i kullanarak piyasa verileri ve Obsidian notlar\u0131na g\u00f6re bir karar verir:<\/p>\n<pre><code class=\"language-python\">from langchain_openai import ChatOpenAI\nfrom langchain_core.prompts import ChatPromptTemplate\n\nllm = ChatOpenAI(model=\"gpt-4o\", temperature=0)\n\ndef make_decision(state: AgentState):\n    prompt = ChatPromptTemplate.from_messages([\n        (\"system\", \"Sen deneyimli bir finansal analist ve ticaret ajan\u0131s\u0131n. Ge\u00e7mi\u015f deneyimlerinden \u00f6\u011frenerek en iyi karar\u0131 ver.\"),\n        (\"human\", f\"Mevcut piyasa verileri: {state['market_data']}\\n\"\n                  f\"Ge\u00e7mi\u015f notlar ve g\u00f6zlemler: {state['obsidian_notes']}\\n\"\n                  f\"Hangi i\u015flemi yapmal\u0131y\u0131m? (AL, SAT, BEKLE) ve neden?\")\n    ])\n    chain = prompt | llm\n    response = chain.invoke(state)\n    decision = response.content # Yan\u0131t\u0131 parse ederek karar\u0131 ve gerek\u00e7eyi \u00e7\u0131kar\n    return {\"decision\": decision}<\/pre>\n<p><\/code><br \/>\nBu d\u00fc\u011f\u00fcmler bir LangGraph grafi\u011fi i\u00e7inde birle\u015ftirilir.<\/p>\n<h4>Obsidian ile Veri Al\u0131\u015fveri\u015fi<\/h4>\n<p>Obsidian ile veri al\u0131\u015fveri\u015fi, temel olarak dosya sistemi i\u015flemleriyle ger\u00e7ekle\u015ftirilir. Ajan, belirli bir i\u015flem veya g\u00f6zlemle ilgili bilgileri yeni bir Markdown dosyas\u0131 olarak Obsidian kasas\u0131na kaydedebilir.<\/p>\n<pre><code class=\"language-python\">import os\n\ndef save_to_obsidian(state: AgentState):\n    obsidian_path = \"\/path\/to\/your\/ObsidianVault\/Trade_Logs\"\n    if not os.path.exists(obsidian_path):\n        os.makedirs(obsidian_path)\n\n    timestamp = datetime.now().strftime(\"%Y%m%d%H%M%S\")\n    filename = f\"Trade_Log_{state['current_asset']}_{timestamp}.md\"\n    filepath = os.path.join(obsidian_path, filename)\n\n    content = f\"# {state['current_asset']} \u0130\u015flem Logu - {timestamp}\\n\\n\" \\\n              f\"<strong>Piyasa Verileri:<\/strong>\\n<\/pre>\n<p><\/code>json\\n{json.dumps(state['market_data'], indent=2)}\\n<\/p>\n<pre><code class=\"language-plaintext\">\\n\\n\" \\\n              f\"<strong>Karar:<\/strong> {state['decision']}\\n\\n\" \\\n              f\"<strong>Gerek\u00e7e:<\/strong> [LLM'den gelen gerek\u00e7e buraya parse edilmeli]\\n\\n\" \\\n              f\"<strong>Sonu\u00e7:<\/strong> [\u0130\u015flem sonucunu buraya ekle]\\n\\n\" \\\n              f\"<strong>Etiketler:<\/strong> #trading #AI #{state['current_asset']}\\n\"\n\n    with open(filepath, 'w', encoding='utf-8') as f:\n        f.write(content)\n    print(f\"Obsidian'a kaydedildi: {filename}\")\n    return state # Durumu de\u011fi\u015ftirmeden geri d\u00f6nd\u00fcr<\/pre>\n<p><\/code><br \/>\nBu sayede, her i\u015flem sonras\u0131 ajan\u0131n deneyimi, Obsidian'da kal\u0131c\u0131 ve yap\u0131land\u0131r\u0131lm\u0131\u015f bir \"haf\u0131za\" olarak saklan\u0131r.<\/p>\n<h3>Haf\u0131zay\u0131 Y\u00f6netme ve Karar Alma S\u00fcreci<\/h3>\n<p>Bir \"hat\u0131rlayan\" ajan i\u00e7in haf\u0131za y\u00f6netimi, sadece veri depolamaktan \u00f6teye ge\u00e7er; do\u011fru zamanda do\u011fru bilgiyi geri \u00e7a\u011f\u0131rabilme ve bu bilgiyi karar alma s\u00fcrecine entegre edebilme yetene\u011fini i\u00e7erir.<\/p>\n<h4>K\u0131sa ve Uzun Vadeli Haf\u0131za Mekanizmalar\u0131<\/h4>\n<p>*   <strong>K\u0131sa Vadeli Haf\u0131za:<\/strong> LangGraph'\u0131n durum (state) mekanizmas\u0131 ve LLM'lerin ba\u011flam penceresi (context window) k\u0131sa vadeli haf\u0131zay\u0131 temsil eder. Ajan, mevcut i\u015flem d\u00f6ng\u00fcs\u00fc i\u00e7inde ald\u0131\u011f\u0131 kararlar\u0131, analiz sonu\u00e7lar\u0131n\u0131 ve o anki piyasa verilerini bu k\u0131sa vadeli haf\u0131zada tutar.<br \/>\n*   <strong>Uzun Vadeli Haf\u0131za:<\/strong> Obsidian kasas\u0131, ajan\u0131n uzun vadeli haf\u0131zas\u0131d\u0131r. Ge\u00e7mi\u015f i\u015flemlerin kay\u0131tlar\u0131, piyasa g\u00f6zlemleri, strateji notlar\u0131 ve \u00f6\u011frenilen dersler burada kal\u0131c\u0131 olarak depolan\u0131r. Ajan, belirli bir varl\u0131k veya piyasa durumu hakk\u0131nda karar verirken, Obsidian'dan ilgili ge\u00e7mi\u015f notlar\u0131 sorgulayarak bu uzun vadeli haf\u0131zay\u0131 kullan\u0131r.<\/p>\n<h4>Obsidian'dan Geri \u00c7a\u011f\u0131rma ve \u00d6\u011frenme<\/h4>\n<p>Ajan, karar alma a\u015famas\u0131na gelmeden \u00f6nce, mevcut piyasa ko\u015fullar\u0131 ve i\u015flem yapmay\u0131 d\u00fc\u015f\u00fcnd\u00fc\u011f\u00fc varl\u0131k hakk\u0131nda Obsidian'dan bilgi \u00e7ekmelidir. Bu \u00e7ekme i\u015flemi, anahtar kelime tabanl\u0131 arama, etiket filtreleme veya hatta anlamsal arama (Obsidian notlar\u0131n\u0131 vekt\u00f6rle\u015ftirip benzerlik aramas\u0131 yaparak) \u015feklinde olabilir. LLM, \u00e7ekilen bu notlar\u0131 \u00f6zetleyerek veya analiz ederek ajan\u0131n karar verme s\u00fcrecine entegre eder. Bu, ajan\u0131n ge\u00e7mi\u015fte benzer durumlarda nas\u0131l davrand\u0131\u011f\u0131n\u0131 ve bu davran\u0131\u015flar\u0131n sonu\u00e7lar\u0131n\u0131 \u00f6\u011frenmesini sa\u011flar.<\/p>\n<h4>Karar Alma Algoritmalar\u0131<\/h4>\n<p>Karar alma s\u00fcreci, LangGraph ajan\u0131 i\u00e7indeki bir d\u00fc\u011f\u00fcmde ger\u00e7ekle\u015fir. Bu d\u00fc\u011f\u00fcm, LLM'i kullanarak a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 izleyebilir:<br \/>\n1.  Mevcut piyasa verilerini ve teknik\/temel analiz sonu\u00e7lar\u0131n\u0131 de\u011ferlendir.<br \/>\n2.  Obsidian'dan \u00e7ekilen ge\u00e7mi\u015f notlar\u0131 ve \u00f6\u011frenilen dersleri incele.<br \/>\n3.  Bu bilgileri birle\u015ftirerek potansiyel riskleri ve f\u0131rsatlar\u0131 tart.<br \/>\n4.  Belirli bir i\u015flem (al, sat, bekle) i\u00e7in bir \u00f6neri ve bu \u00f6nerinin gerek\u00e7esini olu\u015ftur.<br \/>\n5.  Gerekirse, bir g\u00fcven puan\u0131 veya alternatif senaryolar sun.<br \/>\nBu s\u00fcre\u00e7, ajan\u0131n sadece kurallara dayal\u0131 de\u011fil, ayn\u0131 zamanda ba\u011flamsal ve deneyime dayal\u0131 kararlar almas\u0131n\u0131 sa\u011flar.<\/p>\n<h3>Riskler, S\u0131n\u0131rlamalar ve Gelecek<\/h3>\n<p>Her ne kadar \"hat\u0131rlayan\" bir YZ ticaret ajan\u0131 b\u00fcy\u00fck potansiyel ta\u015f\u0131sa da, bu t\u00fcr sistemlerin kendi riskleri ve s\u0131n\u0131rlamalar\u0131 vard\u0131r.<\/p>\n<h4>Piyasa Volatilitesi ve Model Hatalar\u0131<\/h4>\n<p>Finans piyasalar\u0131 do\u011fas\u0131 gere\u011fi tahmin edilemezdir. YZ modelleri ne kadar geli\u015fmi\u015f olursa olsun, ani ve beklenmedik piyasa hareketleri (\u00f6rne\u011fin, jeopolitik olaylar, ekonomik krizler) kar\u015f\u0131s\u0131nda zorlanabilirler. Modelin ge\u00e7mi\u015f verilerden \u00f6\u011frendikleri, gelecekteki \"kara ku\u011fu\" olaylar\u0131n\u0131 \u00f6ng\u00f6rmek i\u00e7in yeterli olmayabilir. A\u015f\u0131r\u0131 optimizasyon veya ge\u00e7mi\u015f verilere a\u015f\u0131r\u0131 uyum (overfitting) riskleri de mevcuttur.<\/p>\n<h4>Veri Gizlili\u011fi ve G\u00fcvenlik<\/h4>\n<p>Ticaret ajan\u0131, hassas finansal verilerle \u00e7al\u0131\u015f\u0131r. Veri toplama, depolama ve i\u015fleme s\u00fcre\u00e7lerinde gizlilik ve g\u00fcvenlik en \u00fcst d\u00fczeyde tutulmal\u0131d\u0131r. Obsidian'\u0131n yerel depolama yap\u0131s\u0131, bulut tabanl\u0131 \u00e7\u00f6z\u00fcmlere g\u00f6re belirli avantajlar sunsa da, yine de fiziksel g\u00fcvenlik ve yedekleme stratejileri \u00f6nemlidir. API anahtarlar\u0131n\u0131n ve di\u011fer kimlik bilgilerinin g\u00fcvenli bir \u015fekilde y\u00f6netilmesi kritik \u00f6neme sahiptir.<\/p>\n<h4>Evrimsel \u00d6\u011frenme ve Adaptasyon<\/h4>\n<p>Bu t\u00fcr bir ajan\u0131n gelece\u011fi, s\u00fcrekli evrimsel \u00f6\u011frenme ve adaptasyon yetene\u011fine ba\u011fl\u0131d\u0131r. Ajan\u0131n sadece ge\u00e7mi\u015ften \u00f6\u011frenmekle kalmay\u0131p, ayn\u0131 zamanda yeni piyasa dinamiklerine, yeni veri kaynaklar\u0131na ve de\u011fi\u015fen stratejilere adapte olabilmesi gerekir. Bu, modelin periyodik olarak yeniden e\u011fitilmesini, Obsidian'daki haf\u0131za yap\u0131s\u0131n\u0131n zamanla geli\u015ftirilmesini ve LangGraph ak\u0131\u015f\u0131n\u0131n yeni ara\u00e7larla zenginle\u015ftirilmesini gerektirebilir. Gelecekte, ajan\u0131n kendi stratejilerini A\/B testleriyle de\u011ferlendirme ve en iyi performans\u0131 g\u00f6steren stratejileri otomatik olarak benimseme yetene\u011fi de eklenebilir.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Python, LangGraph ve Obsidian \u00fc\u00e7l\u00fcs\u00fc, finans piyasalar\u0131nda \"hat\u0131rlayan\" ve adaptif bir yapay zeka ticaret ajan\u0131 in\u015fa etmek i\u00e7in g\u00fc\u00e7l\u00fc bir temel sunmaktad\u0131r. LangGraph'\u0131n esnek ajan orkestrasyonu, ajan\u0131n karma\u015f\u0131k karar alma s\u00fcre\u00e7lerini y\u00f6netmesini sa\u011flarken, Obsidian ajan\u0131n uzun vadeli haf\u0131zas\u0131 olarak g\u00f6rev yaparak ge\u00e7mi\u015f deneyimlerden \u00f6\u011frenme yetene\u011fini g\u00fc\u00e7lendirir. Bu yakla\u015f\u0131m, geleneksel algoritmik ticaret botlar\u0131n\u0131n s\u0131n\u0131rlamalar\u0131n\u0131 a\u015farak, piyasa dinamiklerini daha derinlemesine anlayan ve zamanla daha ak\u0131ll\u0131 kararlar alabilen sistemler yaratmam\u0131za olanak tan\u0131r. Elbette, bu alanda hala a\u015f\u0131lmas\u0131 gereken zorluklar ve riskler bulunmaktad\u0131r; ancak bu ara\u00e7lar\u0131n birle\u015fimi, algoritmik ticaretin gelece\u011fi i\u00e7in heyecan verici yeni kap\u0131lar a\u00e7maktad\u0131r.<\/p>\n<h3>SSS (S\u0131k Sorulan Sorular)<\/h3>\n<p><b>S: Neden LangGraph yerine sadece LangChain kullanm\u0131yoruz?<\/b><br \/>\nC: LangGraph, LangChain'in \u00fczerine in\u015fa edilmi\u015f olup, \u00f6zellikle birden fazla ajan\u0131n veya arac\u0131n etkile\u015fimde bulundu\u011fu, durum bilgili ve d\u00f6ng\u00fcsel i\u015f ak\u0131\u015flar\u0131 i\u00e7in tasarlanm\u0131\u015ft\u0131r. Ticaret ajan\u0131 gibi s\u00fcrekli karar alan, haf\u0131zaya ba\u015fvuran ve ad\u0131mlar aras\u0131nda dinamik ge\u00e7i\u015fler yapan sistemler i\u00e7in LangGraph'\u0131n graf tabanl\u0131 yap\u0131s\u0131 daha esnek ve g\u00fc\u00e7l\u00fc bir \u00e7\u00f6z\u00fcm sunar.<\/p>\n<p><b>S: Obsidian yerine ba\u015fka bir not alma arac\u0131 kullan\u0131labilir mi?<\/b><br \/>\nC: Evet, prensipte ba\u015fka Markdown tabanl\u0131 veya API eri\u015fimi olan bir not alma arac\u0131 kullan\u0131labilir. Ancak Obsidian'\u0131n yerel dosya sistemi \u00fczerinde \u00e7al\u0131\u015fmas\u0131, notlar aras\u0131 ba\u011flant\u0131 kurma yetene\u011fi (graf g\u00f6r\u00fcn\u00fcm\u00fc) ve d\u00fcz metin Markdown dosyalar\u0131 kullanmas\u0131, YZ ajan\u0131 i\u00e7in kolay entegrasyon ve yap\u0131land\u0131r\u0131lm\u0131\u015f haf\u0131za olu\u015fturma a\u00e7\u0131s\u0131ndan b\u00fcy\u00fck avantajlar sunar.<\/p>\n<p><b>S: Bu ajan ger\u00e7ek para ile ticaret yapmak i\u00e7in g\u00fcvenli mi?<\/b><br \/>\nC: Bu makalede anlat\u0131lan yap\u0131, bir konsept ve geli\u015ftirme \u00e7er\u00e7evesidir. Ger\u00e7ek para ile ticaret yapmadan \u00f6nce kapsaml\u0131 testler (backtesting, paper trading), risk y\u00f6netimi stratejileri ve g\u00fcvenlik \u00f6nlemleri uygulanmal\u0131d\u0131r. Finans piyasalar\u0131ndaki riskler g\u00f6z ard\u0131 edilmemelidir ve bu t\u00fcr bir ajan\u0131n ticari kullan\u0131m\u0131 y\u00fcksek risk i\u00e7erebilir.<\/p>\n<p><b>S: LLM'ler finansal tahminlerde ne kadar g\u00fcvenilir?<\/b><br \/>\nC: LLM'ler, metin analizi, \u00f6zetleme ve ba\u011flam anlama konusunda olduk\u00e7a yeteneklidir. Haberleri, raporlar\u0131 ve ge\u00e7mi\u015f notlar\u0131 yorumlama konusunda ajana yard\u0131mc\u0131 olabilirler. Ancak, finansal piyasalar\u0131 do\u011frudan tahmin etmek veya kesin yat\u0131r\u0131m tavsiyeleri vermek i\u00e7in tasarlanmam\u0131\u015flard\u0131r ve bu konuda dikkatli kullan\u0131lmalar\u0131 gerekir. Kararlar, her zaman sa\u011flam finansal analiz ve risk y\u00f6netimi prensipleriyle desteklenmelidir.<\/p>\n<p><b>S: Ajan\u0131n haf\u0131zas\u0131 zamanla \u00e7ok b\u00fcy\u00fcrse performans sorunlar\u0131 ya\u015fan\u0131r m\u0131?<\/b><br \/>\nC: Obsidian kasas\u0131ndaki Markdown dosyalar\u0131 b\u00fcy\u00fcd\u00fck\u00e7e, ajan\u0131n ilgili bilgileri h\u0131zl\u0131ca bulmas\u0131 zorla\u015fabilir. Bu durumda, arama algoritmalar\u0131n\u0131 optimize etmek (\u00f6rne\u011fin, anlamsal arama, vekt\u00f6r veritabanlar\u0131 ile entegrasyon) veya haf\u0131zay\u0131 belirli kriterlere g\u00f6re \u00f6zetlemek\/filtrelemek gibi stratejiler uygulanabilir. Ayr\u0131ca, sadece en alakal\u0131 notlar\u0131 \u00e7ekmek i\u00e7in daha sofistike sorgulama mekanizmalar\u0131 geli\u015ftirilebilir.<\/p>\n","protected":false},"excerpt":{"rendered":"S: Neden LangGraph yerine sadece LangChain kullanm\u0131yoruz?\nC: LangGraph, LangChain&#8217;in \u00fczerine in\u015fa edilmi\u015f olup, \u00f6zellikle birden fazla ajan\u0131n veya arac&#8230;","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":[1403],"tags":[],"class_list":{"0":"post-37642","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-python","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>Python, LangGraph ve Obsidian ile &quot;Hat\u0131rlayan&quot; Bir Yapay Zeka Ticaret Ajan\u0131 \u0130n\u015fa Etmek - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\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\/python-langgraph-ve-obsidian-ile-hatirlayan-bir-yapay-zeka-ticaret-ajani-insa-etmek\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python, LangGraph ve Obsidian ile &quot;Hat\u0131rlayan&quot; Bir Yapay Zeka Ticaret Ajan\u0131 \u0130n\u015fa Etmek\" \/>\n<meta property=\"og:description\" content=\"S: Neden LangGraph yerine sadece LangChain kullanm\u0131yoruz? C: LangGraph, LangChain&#039;in \u00fczerine in\u015fa edilmi\u015f olup, \u00f6zellikle birden fazla ajan\u0131n veya arac...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/python-langgraph-ve-obsidian-ile-hatirlayan-bir-yapay-zeka-ticaret-ajani-insa-etmek\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-11T10:00:43+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=\"17 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/python-langgraph-ve-obsidian-ile-hatirlayan-bir-yapay-zeka-ticaret-ajani-insa-etmek\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/python-langgraph-ve-obsidian-ile-hatirlayan-bir-yapay-zeka-ticaret-ajani-insa-etmek\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Python, LangGraph ve Obsidian ile &#8220;Hat\u0131rlayan&#8221; Bir Yapay Zeka Ticaret Ajan\u0131 \u0130n\u015fa Etmek\",\"datePublished\":\"2026-01-11T10:00:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/python-langgraph-ve-obsidian-ile-hatirlayan-bir-yapay-zeka-ticaret-ajani-insa-etmek\/\"},\"wordCount\":3062,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Python\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/python-langgraph-ve-obsidian-ile-hatirlayan-bir-yapay-zeka-ticaret-ajani-insa-etmek\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/python-langgraph-ve-obsidian-ile-hatirlayan-bir-yapay-zeka-ticaret-ajani-insa-etmek\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/python-langgraph-ve-obsidian-ile-hatirlayan-bir-yapay-zeka-ticaret-ajani-insa-etmek\/\",\"name\":\"Python, LangGraph ve Obsidian ile \\\"Hat\u0131rlayan\\\" Bir Yapay Zeka Ticaret Ajan\u0131 \u0130n\u015fa Etmek - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-11T10:00:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/python-langgraph-ve-obsidian-ile-hatirlayan-bir-yapay-zeka-ticaret-ajani-insa-etmek\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/python-langgraph-ve-obsidian-ile-hatirlayan-bir-yapay-zeka-ticaret-ajani-insa-etmek\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/python-langgraph-ve-obsidian-ile-hatirlayan-bir-yapay-zeka-ticaret-ajani-insa-etmek\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Python, LangGraph ve Obsidian ile &#8220;Hat\u0131rlayan&#8221; Bir Yapay Zeka Ticaret Ajan\u0131 \u0130n\u015fa Etmek\"}]},{\"@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":"Python, LangGraph ve Obsidian ile \"Hat\u0131rlayan\" Bir Yapay Zeka Ticaret Ajan\u0131 \u0130n\u015fa Etmek - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","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\/python-langgraph-ve-obsidian-ile-hatirlayan-bir-yapay-zeka-ticaret-ajani-insa-etmek\/","og_locale":"tr_TR","og_type":"article","og_title":"Python, LangGraph ve Obsidian ile \"Hat\u0131rlayan\" Bir Yapay Zeka Ticaret Ajan\u0131 \u0130n\u015fa Etmek","og_description":"S: Neden LangGraph yerine sadece LangChain kullanm\u0131yoruz? C: LangGraph, LangChain'in \u00fczerine in\u015fa edilmi\u015f olup, \u00f6zellikle birden fazla ajan\u0131n veya arac...","og_url":"https:\/\/fatihsoysal.com\/blog\/python-langgraph-ve-obsidian-ile-hatirlayan-bir-yapay-zeka-ticaret-ajani-insa-etmek\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-11T10:00:43+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"17 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/python-langgraph-ve-obsidian-ile-hatirlayan-bir-yapay-zeka-ticaret-ajani-insa-etmek\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/python-langgraph-ve-obsidian-ile-hatirlayan-bir-yapay-zeka-ticaret-ajani-insa-etmek\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Python, LangGraph ve Obsidian ile &#8220;Hat\u0131rlayan&#8221; Bir Yapay Zeka Ticaret Ajan\u0131 \u0130n\u015fa Etmek","datePublished":"2026-01-11T10:00:43+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/python-langgraph-ve-obsidian-ile-hatirlayan-bir-yapay-zeka-ticaret-ajani-insa-etmek\/"},"wordCount":3062,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Python"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/python-langgraph-ve-obsidian-ile-hatirlayan-bir-yapay-zeka-ticaret-ajani-insa-etmek\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/python-langgraph-ve-obsidian-ile-hatirlayan-bir-yapay-zeka-ticaret-ajani-insa-etmek\/","url":"https:\/\/fatihsoysal.com\/blog\/python-langgraph-ve-obsidian-ile-hatirlayan-bir-yapay-zeka-ticaret-ajani-insa-etmek\/","name":"Python, LangGraph ve Obsidian ile \"Hat\u0131rlayan\" Bir Yapay Zeka Ticaret Ajan\u0131 \u0130n\u015fa Etmek - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-11T10:00:43+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/python-langgraph-ve-obsidian-ile-hatirlayan-bir-yapay-zeka-ticaret-ajani-insa-etmek\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/python-langgraph-ve-obsidian-ile-hatirlayan-bir-yapay-zeka-ticaret-ajani-insa-etmek\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/python-langgraph-ve-obsidian-ile-hatirlayan-bir-yapay-zeka-ticaret-ajani-insa-etmek\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Python, LangGraph ve Obsidian ile &#8220;Hat\u0131rlayan&#8221; Bir Yapay Zeka Ticaret Ajan\u0131 \u0130n\u015fa Etmek"}]},{"@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\/37642","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=37642"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37642\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=37642"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=37642"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=37642"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}