Borsacı: Altı Agent, Bir Ortak Akıl — Türkiye Finansını Otonom Analiz Eden Sistem

Giriş
Yapay zeka teknolojisi, basit komutları yerine getiren asistanların ötesine geçerek, artık karmaşık problemleri otonom bir şekilde analiz edip çözümleyebilen sistemlere evrildi. Borsacı, bu yeni nesil yaklaşımın bir ürünüdür: Türkiye finans piyasalarını derinlemesine analiz etmek üzere tasarlanmış, çoklu yapay zeka agent'ı mimarisi üzerine kurulu otonom bir finansal analiz platformudur.
Bu makalede, Borsacı'nin mimari yapısını, agent'lar arasındaki görev dağılımı ve koordinasyon mekanizmasını ve sistemin performansını %50 ila %70 oranında artıran paralel görev yürütme yeteneklerini detaylı bir şekilde inceleyeceğiz.
İçerik
- Tekil Agent Yaklaşımının Sınırları ve Çoklu Agent Mimarisine Geçiş Nedenleri
- Sistemin Genel Mimarisi
- Agent Mimarisi ve Sorumlulukları
- Paralel Görev Yürütme ile Sağlanan Performans Artışı
- BuffettAgent: Değer Yatırımcılığı Odaklı Uzman Analizi
- MCP Protokolü: 43'ten Fazla Finansal Veri Aracına Erişim
- Pratik Uygulama Senaryoları
- Teknik Altyapı ve Kod Örnekleri
- Değerlendirme ve Gelecek Vizyonu
1. Tekil Agent Yaklaşımının Sınırları ve Çoklu Agent Mimarisine Geçiş Nedenleri
Geleneksel (Monolitik) Yaklaşım
Geleneksel yapay zeka sistemlerinde, tüm görevler tek ve büyük bir dil modeli tarafından yönetilir.
Kullanıcı Talebi: "ASELS, THYAO ve GARAN hisselerinin son fiyatlarını getir."
İşleyiş: Tek ve büyük bir agent, bu üç isteği sırayla, art arda işler.
Bu yaklaşımın doğasında bulunan temel sorunlar şunlardır:
- Verimsizlik: Tüm analitik yük tek bir model üzerinde yoğunlaşır, bu da sistemi yavaşlatır.
- Kırılganlık: Süreçteki herhangi bir adımda hata meydana gelirse, tüm işlem başarısız olur ve baştan başlatılması gerekir.
- Performans Kaybı: Görevler paralel olarak işlenemediği için, üç hisse senediyle ilgili bir sorgu, tek bir hisse senedi sorgusunun üç katı zaman alır.
- Uzmanlaşma Eksikliği: Sistem, her görevi ortalama bir yetkinlikle yapar ancak hiçbirinde uzmanlaşamaz.
Borsacı'nin Çoklu Agent Yaklaşımı
Borsacı, bu sorunları gidermek için görevleri uzmanlaşmış agent'lar arasında dağıtan bir mimari benimser.
Kullanıcı Talebi
- Yönlendirici Agent: Talebin niteliğini analiz eder.
- Planlama Agent'ı: Talebi üç bağımsız göreve ayırır (ASELS, THYAO, GARAN verilerini getirme).
- Yürütme Agent'ları: Üç görevi eş zamanlı olarak paralel bir şekilde yerine getirir.
- Doğrulama Agent'ı: Her görevin sonucunun doğruluğunu ve tutarlılığını denetler.
- Sentez Agent'ı: Doğrulanmış verileri anlamlı ve bütünsel bir yanıt haline getirir.
Nihai Yanıt
Bu modüler yapının sağladığı avantajlar açıktır:
- Uzmanlaşma: Her agent, belirli bir görevde uzmanlaşarak sistemin genel verimliliğini ve doğruluğunu artırır.
- Paralel İşlem: Bağımsız görevler aynı anda yürütülerek toplam işlem süresi önemli ölçüde kısaltılır.
- Dayanıklılık: Bir agent'ın görevinde hata oluşması, diğer agent'ların çalışmasını etkilemez; sistemin bütünü kesintiye uğramaz.
- Kaynak Optimizasyonu: Karmaşık planlama adımları için güçlü modeller, basit ve tekrarlı görevler için ise daha hızlı ve maliyet-etkin modeller kullanılır.
2. Sistemin Genel Mimarisi
Borsacı, uyum içinde çalışan altı uzman agent'tan oluşan modüler bir yapıya sahiptir. Sistemin temel amacı, kullanıcıdan gelen talebi en verimli şekilde analiz edip, ilgili agent'lara yönlendirerek doğru ve hızlı bir sonuç üretmektir.
Model Seçim Stratejisi
Sistem, performans ve maliyeti dengelemek amacıyla Google Gemini serisi dil modellerini stratejik bir şekilde kullanır:
Bu strateji, planlama aşamasında Pro modelinin analitik gücünden, yürütme aşamasında ise Flash modelinin hızından faydalanarak sistemin genel performansını optimize eder.
Sistem Akış Diyagramı
3. Agent Mimarisi ve Sorumlulukları
3.1 Yönlendirici Agent (Router)
Sistemin ilk temas noktasıdır. Gelen kullanıcı talebini analiz ederek talebin niteliğine karar verir: "Merhaba" gibi basit bir etkileşime doğrudan yanıt verir, "Buffett analizi" gibi özel bir isteği BuffettAgent'a yönlendirir, birden fazla adımdan oluşan karmaşık talepleri ise ana planlama akışına devreder.
3.2 Planlama Agent'ı (Planner)
Karmaşık bir talebi, mantıksal olarak daha küçük ve yönetilebilir adımlara bölen sistemin stratejistidir. Bu agent, her bir görevin tanımını ve diğer görevlerle olan bağımlılığını belirleyerek bir iş planı oluşturur. Bu plan, görevlerin hangi sırayla ve hangilerinin paralel olarak yürütülebileceğini tanımlar.
3.3 Yürütme Agent'ı (Action Agent)
Planlama Agent'ı tarafından oluşturulan görevleri hayata geçiren birimdir. MCP protokolü üzerinden 43'ten fazla finansal araca erişerek veri toplama, hesaplama yapma gibi işlemleri gerçekleştirir. Hangi görevi yerine getirmek için hangi aracı kullanacağına, dil modelinin doğal dil anlama yeteneği sayesinde kendisi karar verir.
3.4 Doğrulama Agent'ı (Validator)
Yürütme Agent'ı tarafından tamamlanan her görevin sonucunu denetleyen kalite kontrol mekanizmasıdır. Elde edilen verinin beklenen formatta ve tutarlı olup olmadığını kontrol eder. Örneğin, bir hisse senedi fiyatı istendiğinde "veri bulunamadı" gibi bir yanıt gelirse, görevin başarısız olduğunu tespit eder ve yeniden denenmesini sağlar.
3.5 Sentez ve Yanıt Agent'ı (Answer Agent)
Farklı yürütme adımlarından toplanan ham verileri (sayılar, tablolar, metinler) bir araya getirerek, kullanıcı için anlamlı, akıcı ve bütünsel bir yanıt oluşturan agent'tır. Bu agent, teknik verileri herkesin anlayabileceği bir dilde sentezler.
3.6 Grafik Oluşturucu (Chart Generator)
Kullanıcının "grafik" taleplerini işler. Toplanan sayısal verileri (örneğin fiyatların açılış, en yüksek, en düşük ve kapanış değerlerini) kullanarak metin tabanlı (terminalde görüntülenebilen) grafikler oluşturur. Bu işlem, dil modellerinin hatalı veri üretme (halüsinasyon) riskini ortadan kaldırmak için modelden tamamen bağımsız bir kod parçası tarafından gerçekleştirilir.
4. Paralel Görev Yürütme ile Sağlanan Performans Artışı
Sistem performansındaki en önemli iyileştirmelerden biri, bağımsız görevlerin eş zamanlı olarak yürütülmesidir.
- Sıralı İşlem Senaryosu: Üç farklı hisse senedinin verisini getirmek, her birinin ortalama 5 saniye sürdüğü varsayılırsa, toplamda 15 saniye sürer.
- Paralel İşlem Senaryosu: Borsacı, bu üç görevin birbirinden bağımsız olduğunu anlar ve hepsini aynı anda başlatır. Süreç, en uzun süren görevin tamamlanma süresi olan 5 saniyede biter.
Bu yetenek, Topolojik Sıralama (Topological Sort) algoritması sayesinde mümkün olmaktadır. Planlama Agent'ı tarafından oluşturulan görevler ve aralarındaki bağımlılıklar bir graf olarak modellenir. Bu algoritma, grafı analiz ederek hangi görevlerin aynı anda, hangi görevlerin ise belirli bir sırayla çalıştırılması gerektiğini belirleyen bir yürütme planı çıkarır. Bu plan, Python'un asyncio kütüphanesi ile verimli bir şekilde hayata geçirilir.
5. BuffettAgent: Değer Yatırımcılığı Odaklı Uzman Analizi
Warren Buffett tarzı bir değerleme analizi, standart bir finansal sorgudan çok daha karmaşık, çok aşamalı bir süreçtir. Bu nedenle bu görev için özel bir agent geliştirilmiştir.
BuffettAgent, iki aşamalı bir mimari ile çalışır:
- Veri Toplama Aşaması: Gerekli tüm finansal verileri (bilanço, piyasa değeri, vb.) tek ve atomik bir araç çağrısıyla toplar. Bu yaklaşım, daha önce birden fazla çağrı gerektiren işlemleri birleştirerek veri toplama süresini 3 ila 4 kat hızlandırır.
- Analiz Aşaması: Toplanan verileri, Warren Buffett'ın yatırım felsefesini ve analiz çerçevesini taklit etmek üzere özel olarak tasarlanmış bir sistem komutu (system prompt) ile analiz eder. Bu analiz; şirketin iş modeli, rekabet avantajları (ekonomik hendek), sahip olduğu gerçek nakit gücü (owner earnings) ve içsel değerine kıyasla ne kadar iskontolu işlem gördüğünü (güvenlik marjı) içeren kapsamlı bir rapor üretir.
Enflasyondan Arındırılmış Değerleme: Fisher Etkisi
Türkiye gibi yüksek enflasyonlu ekonomilerde geleneksel değerleme modelleri yanıltıcı olabilir. BuffettAgent, bu sorunu aşmak için Fisher Etkisi prensibini kullanarak nominal faiz oranlarını beklenen enflasyondan arındırır ve reel bir iskonto oranı elde eder. Bu sayede, şirketin gelecekteki nakit akışlarının bugünkü değeri, enflasyonun bozucu etkisinden arındırılmış, daha gerçekçi bir temelde hesaplanır.
6. MCP Protokolü: 43'ten Fazla Finansal Veri Aracına Erişim
Borsacı'nin harici veri kaynaklarına erişimi, Model Context Protocol (MCP) adı verilen standart bir protokol üzerinden sağlanır. MCP, yapay zeka agent'larının farklı veri kaynakları ve araçlarla güvenli, standart ve verimli bir şekilde iletişim kurmasını sağlayan bir katmandır.
Bu yaklaşım sayesinde, her bir veri kaynağı için ayrı ayrı kod yazmak yerine, sisteme tek bir MCP adresi tanıtmak yeterlidir. Yürütme Agent'ı, ihtiyaç duyduğu aracı (örneğin, get_bilanco veya get_fund_performance) ve bu aracı kullanmak için gereken parametreleri, görevin tanımını analiz ederek kendisi belirler. Bu esnek yapı, sisteme yeni araçlar eklendiğinde herhangi bir kod değişikliği gerektirmemesini sağlar.
7. Pratik Uygulama Senaryoları
- Basit Fiyat Sorgusu: "Bitcoin fiyatı ne kadar?" gibi bir soru, planlama adımı atlanarak doğrudan yürütülür ve yaklaşık 2 saniyede yanıtlanır.
- Karşılaştırmalı Analiz: "ASELS ve THYAO'nun F/K oranlarını karşılaştır." talebi, paralel yürütme sayesinde yaklaşık 7 saniyede tamamlanır. Bu süre, sıralı bir sistemde 15 saniyeyi bulabilirdi.
- Derinlemesine Buffett Analizi: "Garanti Bankası için Buffett analizi yap." isteği, özel
BuffettAgenttarafından ele alınır ve yaklaşık 12 saniye içinde kapsamlı bir rapor üretilir. - Takip Soruları: "ASELS'in finansalları nasıl?" sorusundan sonra gelen "Peki borçluluk durumu hakkında ne düşünüyorsun?" gibi bir takip sorusu, sistemin konuşma geçmişini hatırlaması sayesinde bağlam içinde ve hızlıca (yaklaşık 3 saniyede) yanıtlanır.
8. Teknik Altyapı ve Kod Örnekleri
Borsacı, Python 3.11+ dilinde, PydanticAI ve plotext gibi kütüphaneler kullanılarak geliştirilmiştir. Projenin kaynak kodları, kurulum talimatları ve daha detaylı teknik açıklamalar GitHub reposunda mevcuttur.
GitHub: https://github.com/saidsurucu/Borsacı
9. Değerlendirme ve Gelecek Vizyonu
Borsacı, modüler mimarisi, paralel işlem yetenekleri ve uzmanlaşmış agent yapısıyla finansal analiz süreçlerini otomatize etme ve hızlandırma konusunda önemli bir potansiyel sunmaktadır.
Gelecek Geliştirmeler:
- Kısa Vadede: Yanıtların anlık olarak akmasını sağlayan "streaming" desteği ve sık kullanılan veriler için bir önbellek (cache) katmanı eklenmesi planlanmaktadır.
- Orta Vadede: Kullanıcıların sistemi daha kolay kullanabilmesi için bir web arayüzü geliştirilmesi ve sistemin güvenilirliğini artırmak için kapsamlı bir test altyapısı kurulması hedeflenmektedir.
- Uzun Vadede: Haberler üzerinden duygu analizi ve portföy optimizasyonu gibi yeni yeteneklere sahip gelişmiş agent'lar eklenmesi ve sesli komut arayüzü entegrasyonu üzerinde çalışılacaktır.
Projeye Katkı
Borsacı, açık kaynaklı bir projedir. Finansal teknolojilere ve yapay zekaya ilgi duyan tüm geliştiricilerin katkılarına açıktır.
Yasal Uyarı
Bu yazılım, yalnızca bilgilendirme ve eğitim amaçlı olarak geliştirilmiştir. Borsacı tarafından üretilen hiçbir içerik, analiz veya veri, yatırım tavsiyesi olarak yorumlanmamalıdır. Finansal piyasalarda yatırım yapmak risk içerir ve kararlarınızı lisanslı bir finansal danışman eşliğinde, kendi araştırmalarınız doğrultusunda almanız gerekmektedir.
İnteraktif Sistem Akış Diyagramı
Aşağıdaki diyagramı zoom yapabilir, kaydırabilir ve node'ları sürükleyebilirsiniz:


