LIBRAIN

Bilimsel keşif için çok ajanlı RAG sistemi

Açık kaynak ve .NET 10 ile yazıldı. Reader → Synthesis → Evaluator pipeline'ının yanında, spekülatif içeriği yapılandırılmış bir novelClaim alanına ayıran paralel bir Discovery Mode çalışıyor. İddia düzeyindeki doğrulama sözleşmesi, 41 makalelik alanlar arası bir korpusta (yapay zekâ, ilaç keşfi, iklim, sinirbilim) üç değerlendiricili kör tekrarda görülen 5'te 3'lük halüsinasyon sinyalini ortadan kaldırdı. Model değiştirildiğinde ve adversarial prompt'larla zorlandığında da atıf sözleşmesi tek bir uydurma atıfa izin vermiyor. Bu, tasarımın kendisinden gelen bir garanti. Projenin makalesi (Zenodo, DOI) · 2026.

41 işlenen arXiv makalesi
1,766 Qdrant'ta indekslenen chunk
< 200ms vektör arama gecikmesi

Bu proje neden var

RAG ve yapay zekâ ajanları üzerine yazılan eğitimlerin çoğu Python kullanıyor. .NET üzerinde çalışan bankalar, sigorta şirketleri ve kamu kurumları gibi production ekipleri "yapay zekâ Python ister" mesajını duyuyor ve bu, mevcut stack'lerine LLM tabanlı özellik ekleme gerekçelerini zayıflatıyor. LIBRAIN bilinçli bir karşı örnek: Microsoft'un desteklediği yapı taşları (Semantic Kernel, Application Insights), Anthropic Claude, OpenAI embedding'leri ve yönetilen bir vector store ile baştan sona .NET 10'da kurulmuş, eksiksiz bir çok ajanlı retrieval pipeline'ı.

Mimari

İki pipeline aynı Reader Agent'ı ve aynı Qdrant vector store'u paylaşıyor. Faz 2 sorgu yolu, getirilen chunk'lar üzerinde Synthesis'ten Evaluator'a ilerliyor. Faz 2.5 Discovery yolu ise Discovery Agent'ın çıktısını tek bir Task.WhenAll çağrısıyla üç eşzamanlı puanlayıcıya (NoveltyScorer, Discovery Evaluator, ClaimValidator) gönderiyor ve sonuçları dört eksenli bir puanda topluyor. Her adım korelasyon ID'si taşıyan yapılandırılmış bir olay yayınlıyor, böylece her çıktı sorgudan kaynak chunk'lara kadar geriye doğru izlenebiliyor.

// faz 2 sorgu yolu

Reader

PDF'leri alır, özyinelemeli olarak chunk'lara böler, OpenAI text-embedding-3-small ile embedding'lerini çıkarır ve atıf metadata'sı ile deterministik UUIDv5 ID'leriyle birlikte Qdrant'a yazar.

Synthesis

Yapılandırılmış tool use ile Claude Sonnet 4.6. Getirilen chunk'larda vektör araması yapar ve atıflara dayanan hipotezler üretir (Faz 2 sorgu yolu).

Evaluator

Claude Haiku 4.5, T=0.0. LLM-as-a-Judge olarak dayanak, ilgililik ve eksiksizlik puanlar. Halo etkisine karşı toplam kalite C#'ta hesaplanır.

// faz 2.5 discovery yolu

Reader'dan
paralel dal

Discovery

Kaynaklardaki kanıtın ötesine geçmeye davet eden ters bir prompt ile Claude Sonnet 4.6. Spekülatif kısım işaretli bir novelClaim alanı olarak döner ve sözleşme gereği atıf doğrulamasından muaftır. Synthesis tarafındaki model yapılandırmadan seçiliyor (Models:SynthesisModel), bu yüzden dayanıklılık taramasında kaynak koda dokunmadan Haiku 4.5'e geçilebiliyor.

Task.WhenAll ile paralel dağıtım

Discovery çıktısı (hipotez + supportingEvidence + novelClaim) aşağıdaki üç eşzamanlı puanlayıcıya gönderilir. Toplam süreyi çağrıların toplamı değil, en yavaş tek çağrı belirler.

NoveltyScorer

Deterministik. novelClaim'i text-embedding-3-small ile embedding'e çevirir, 41 makalelik Qdrant korpusunda top-1 kosinüs araması yapar ve yenilik değeri olarak 1 - similarity döndürür.

Discovery Evaluator

Claude Haiku 4.5, T=0.0. LLM ile puanlanan makullük (novelClaim atıf yapılan kanıttan çıkıyor mu) ve yapısal tutarlılık (düzgün kurulmuş, test edilebilir bir hipotez mi).

ClaimValidator

Claude Haiku 4.5, T=0.0. novelClaim içindeki her cümleyi {GROUNDED, EXTRAPOLATED, RISKY} etiketlerinden biriyle ve bir halüsinasyon olasılığıyla işaretler. En yüksek risk C#'ta toplanır (halo etkisine dayanıklı). Faz 3.A.5'te eklendi.

üçü de toplayıcıda birleşir

Dört eksenli puanlama

Yenilik, makullük, yapısal tutarlılık ve kalitenin C#'ta hesaplanan aritmetik ortalaması (yapısı gereği halo etkisine dayanıklı) ve ClaimValidator'ın risk etiketi. Hipotez ve novelClaim ile birlikte API'yi çağırana döner.

Teknolojiler

Stack baştan belirlendi ve geliştirme sırasında hiçbir parçası değişmedi. Her seçimin gerekçesi proje planında yazılı.

.NET 10 ASP.NET Core Minimal APIs Anthropic Claude OpenAI text-embedding-3-small Qdrant Microsoft Semantic Kernel PdfPig Application Insights xUnit v3

API yüzeyi

Reader, Synthesis, Discovery ve Baseline başlıkları altında yedi endpoint var. Faz 1'de ingest endpoint'leri, Faz 2'de embed → search → synthesise → evaluate pipeline'ının tamamını çalıştıran sorgu endpoint'i, Faz 3'te alanlar arası hipotez üretimi için discovery endpoint'i, Faz 5'te de projenin makalesindeki üç sistemli karşılaştırmayı besleyen baseline endpoint'leri (Naive-RAG ve Single-LLM ablasyonları) bulunuyor.

POST /api/papers/ingest Multipart PDF yükleme. Dosya pipeline'ın tamamından geçer (çıkar → böl → embed → kaydet) ve paperId, chunk sayısı ile denetim kaydı için bir korelasyon ID'si döner.
GET /api/papers İşlenmiş makaleleri başlık, chunk sayısı ve işlenme zamanıyla listeler. Liste chunk koleksiyonundan Qdrant scroll ve bellek içi tekilleştirmeyle çıkarılır, MVP ölçeğinde bir saniyenin altında döner.
POST /api/query Atıflara dayanan hipotez üretimi. Sorguyu embedding'e çevirir, vektör araması yapar (top-K), atıflar için zorunlu tool use ile Claude Sonnet 4.6 üzerinden bir hipotez sentezler ve bunu Claude Haiku 4.5 ile üç boyutta (dayanak, ilgililik, eksiksizlik) değerlendirir. Hipotezi, atıfları, boyut başına puanları ve bir korelasyon ID'sini döner.
POST /api/discover Discovery Mode. Bir ya da iki konu alır ve atıf yapılan kaynakların ötesine geçen bir hipotez önerir, spekülatif kısmı bir novelClaim alanı olarak döner. novelClaim'in her cümlesi bir extrapolation_basis sözleşmesiyle işaretlenir (genelleme / analoji / saf spekülasyon) ve ikincil bir ClaimValidator ajanı tarafından yeniden puanlanır (Haiku, cümle başına GROUNDED / EXTRAPOLATED / RISKY sınıflandırması). Dört eksenli ölçütle puanlanır (yenilik, makullük, yapısal tutarlılık, kalite).
POST /api/naive-rag Baseline #1. Retrieval ve yapılandırılmış tool use içeren tek bir Claude Sonnet 4.6 çağrısı, ama atıf doğrulama sözleşmesi yok. İddia edilen atıflar olduğu gibi kaydedilir ve sonradan getirilen kümeyle eşleştirilir. Projenin makalesindeki üç sistemli karşılaştırmada kullanılan uydurma oranı ölçümü buradan gelir.
POST /api/single-llm Baseline #2. Yalnızca konu(lar) üzerinde tek bir Claude Sonnet 4.6 çağrısı. Retrieval yok, ajanlara bölme yok, tool use yok. Projenin makalesindeki üç sistemli karşılaştırmanın alt sınır ablasyonu.
GET /health Liveness probe. Tek bir status alanıyla 200 döner.

Adım adım pipeline

1

PDF ayrıştırma

PdfPig'in ContentOrderTextExtractor'ı glif sırasını doğru kelime boşluklarıyla yeniden kuruyor. Varsayılan extractor sütunlu PDF'lerde kelimeler arasındaki boşlukları atıyor. Bu sorun sentetik test girdisinde değil, ancak gerçek arXiv makalelerinde ortaya çıktı.

Yakalanan hata: sentetik testler 15 bölümden 0'ı tespit edilirken bile geçti, boşluk hatasını gerçek PDF'ler gösterdi. Düzeltmeden sonra 18 bölümden 17'si tespit edildi.

2

Özyinelemeli chunking

Sırasıyla paragraf → cümle → sert kesim. Hedef 512 token (~2,000 karakter), üst sınır 1,024 token, örtüşme %15 (~75 token). Her chunk, sonraki aşamalardaki atıf takibi için mutlak offset'ini, sayfa numarasını ve bulunabildiği kadarıyla bölüm başlığını taşıyor.

Sınır: [hedef, üst sınır] aralığında bir paragraf sonu varsa paragraf asla bölünmez.

3

Embedding

OpenAI text-embedding-3-small (1,536 boyutlu), token sayısına göre batch'leme ile: batch başına en fazla 100 girdi ve 35K token. Ayrıca Tier 1'in 40K TPM'lik kayan pencere sınırına takılmamak için batch'ler arasında 1.5 saniye bekleniyor. Batch boyutu, hesabın gerçekte bulunduğu tier'a göre ayarlı.

Yakalanan hata: ilk sürümdeki batch başına 250K token sınırı Tier 2'yi varsayıyordu ve yeni açılmış bir Tier 1 hesabında 5 makaleden 2'sini reddetti.

4

Vektör arama

Qdrant kosinüs benzerliği, deterministik UUID v5 nokta ID'leriyle (RFC 4122, projeye özel bir namespace ve paperId-chunkIndex üzerinden SHA-1). Bir makaleyi yeniden işlemek temiz bir upsert yapıyor. Koleksiyon Lazy<Task> arkasında ilk ihtiyaçta kurulduğu için uygulama Qdrant'a erişemese de açılıyor.

Sınır: top-K sonuçlar atıf metadata'sının tamamını (paperId, chunkIndex, sayfa, bölüm) taşıyor, böylece çağıran taraf ikinci bir sorgu yapmadan dipnotları gösterebiliyor.

Discovery Mode iş başında

Projenin önceki 13 makalelik korpusunda yapay zekâ, ilaç keşfi, iklim ve sinirbilimi kapsayan, baştan sona beş çalıştırma. Her kart canlı POST /api/discover çıktısını gösteriyor: üretilen hipotez, novelClaim olarak işaretlenen spekülatif kısım, getirilen chunk'lardan atıfları çözümlenmiş destekleyici kanıtlar ve dört eksenli Discovery Evaluator puanları (Claude Haiku, sıcaklık 0.0).

Korpus içi

retrieval-augmented generation ⨯ hypothesis generation in scientific discovery

Hipotez

göstergizle

RAG systems, by combining updatable non-parametric memory with generative models, provide a natural substrate for automated scientific hypothesis generation. Specifically, the RAG-Token mechanism's ability to draw on different retrieved documents for each output token could enable the synthesis of cross-disciplinary evidence into novel, testable hypotheses that span previously siloed fields. Furthermore, integrating hypothesis quality filters (novelty and feasibility scoring) directly into the RAG retrieval objective, so that the retriever is rewarded for surfacing documents that maximize hypothesis novelty while maintaining feasibility, could yield a self-improving discovery loop that surpasses both purely parametric LLMs and static literature-based discovery systems.

Keşif novelClaim · atıf doğrulamasından muaf

Retriever yalnızca ilgili makaleleri değil, yeni hipotezler doğuran makaleleri bulmayı öğrenseydi?

integrating hypothesis quality filters (novelty and feasibility scoring) directly into the RAG retrieval objective, so that the retriever is rewarded for surfacing documents that maximize hypothesis novelty while maintaining feasibility, could yield a self-improving discovery loop that surpasses both purely parametric LLMs and static literature-based discovery systems.

Doğrulanmış bir keşif değil, araştırılacak bir hipotez tohumu. Model bunu getirilen kanıtın ötesine geçerek üretti. Aşağıdaki chunk'lar iddianın kendisini değil, çerçevesini destekliyor.

Destekleyici kanıt 5 atıf, 2 makale, hepsi çözümlendi

Yenilik
0.40
Makullük
0.42
Tutarlılık
0.68
Kalite
0.50
Alanlar arası

retrieval-augmented generation ⨯ protein folding dynamics

Hipotez

göstergizle

RAG architectures, which combine parametric and non-parametric memory through differentiable retrieval and end-to-end marginalization over latent documents, could be directly applied to protein folding dynamics by indexing structural and biophysical databases as the non-parametric memory, enabling agentic systems to dynamically retrieve and integrate folding pathway evidence at inference time rather than encoding it statically in model weights. Such a RAG-augmented protein folding agent would be capable of discovering length-dependent or context-dependent folding phenomena, analogous to the mechanical crossover in peptide unfolding force uncovered by Sparks, that purely parametric structure-prediction models systematically miss because they cannot update their knowledge base without retraining.

Keşif novelClaim · atıf doğrulamasından muaf

Protein katlanması üzerinde çalışan yapay zekâ, RAG'ın belge getirmesi gibi çıkarım anında taze kanıt getirebilseydi?

Such a RAG-augmented protein folding agent would be capable of discovering length-dependent or context-dependent folding phenomena, analogous to the mechanical crossover in peptide unfolding force uncovered by Sparks, that purely parametric structure-prediction models systematically miss because they cannot update their knowledge base without retraining.

Doğrulanmış bir keşif değil, araştırılacak bir hipotez tohumu. Model bunu getirilen kanıtın ötesine geçerek üretti. Aşağıdaki chunk'lar iddianın kendisini değil, çerçevesini destekliyor.

Destekleyici kanıt 5 atıf, 2 makale, hepsi çözümlendi

  • arXiv:2005.11401 Lewis et al., RAG, chunks 0, 2, 10 doğrudan
  • arXiv:2508.14111, chunk 33 (Protein Science section) doğrudan; chunk 32 (Genomics section) analojik
Yenilik
0.48
Makullük
0.42
Tutarlılık
0.68
Kalite
0.53
Alanlar arası

retrieval-augmented generation ⨯ de novo molecular design

Hipotez

göstergizle

RAG architectures, which combine a differentiable retriever over a hot-swappable non-parametric document index with a parametric generative model, can be directly adapted for de novo molecular design by replacing the text document index with a structured chemical knowledge base, enabling a generative chemistry agent to retrieve relevant reaction precedents, binding interaction reports, and molecular fragments at inference time. This retrieval-grounded generation paradigm could allow the molecular generator to marginalize over multiple retrieved chemical contexts (analogous to RAG-Token), producing candidate molecules that are simultaneously novel, synthesizable, and target-aware without requiring full retraining when new chemical knowledge becomes available. Crucially, such a system would self-evolve over successive design cycles by accumulating an experience database of past docking results and interaction reports, allowing the retriever to progressively sharpen its relevance signal toward high-affinity, drug-like chemical space.

Keşif novelClaim · atıf doğrulamasından muaf

Retriever her tasarım döngüsünde geçmiş docking sonuçlarından öğrenerek kendini geliştirse ve doğrudan yüksek afiniteli, ilaca benzer kimyasal uzayı hedefleseydi?

Crucially, such a system would self-evolve over successive design cycles by accumulating an experience database of past docking results and interaction reports, allowing the retriever to progressively sharpen its relevance signal toward high-affinity, drug-like chemical space.

Doğrulanmış bir keşif değil, araştırılacak bir hipotez tohumu. Model bunu getirilen kanıtın ötesine geçerek üretti. Aşağıdaki chunk'lar iddianın kendisini değil, çerçevesini destekliyor.

Destekleyici kanıt 6 atıf, 3 makale, hepsi çözümlendi

Yenilik
0.38
Makullük
0.62
Tutarlılık
0.75
Kalite
0.58
Alanlar arası

weather foundation models ⨯ renewable energy planning

Hipotez

göstergizle

Weather foundation models like Aurora and GraphCast, trained autoregressively on decades of global reanalysis data, can produce high-resolution multi-day trajectories of wind speed, wave height, and solar irradiance at orders-of-magnitude lower computational cost than NWP systems. These trajectory ensembles could be directly ingested by renewable energy planning pipelines as probabilistic resource atlases, replacing expensive Monte Carlo simulations currently used for site selection and grid balancing. Fine-tuning such models on domain-specific renewable energy variables, such as hub-height wind profiles or photovoltaic irradiance, could unlock a new class of AI-native energy planning tools that co-optimize forecast accuracy and infrastructure investment decisions in a single differentiable framework.

Keşif novelClaim · atıf doğrulamasından muaf

Bir hava durumu temel modelini rüzgâr ve güneş değişkenleriyle fine-tune etmek, tahminleri ve altyapı yatırımını birlikte optimize eden tek bir türevlenebilir araç ortaya çıkarsaydı?

Fine-tuning such models on domain-specific renewable energy variables, such as hub-height wind profiles or photovoltaic irradiance, could unlock a new class of AI-native energy planning tools that co-optimize forecast accuracy and infrastructure investment decisions in a single differentiable framework.

Doğrulanmış bir keşif değil, araştırılacak bir hipotez tohumu. Model bunu getirilen kanıtın ötesine geçerek üretti. Aşağıdaki chunk'lar iddianın kendisini değil, çerçevesini destekliyor.

Destekleyici kanıt 5 atıf, 3 makale, hepsi çözümlendi

Yenilik
0.45
Makullük
0.62
Tutarlılık
0.75
Kalite
0.61
Alanlar arası

drug discovery ⨯ climate adaptation

Hipotez

göstergizle

Autonomous multi-agent AI systems, proven effective at decomposing and executing complex sequential pipelines in drug discovery, could be directly adapted to climate adaptation workflows by treating extreme-weather event prediction, impact assessment, and adaptive intervention design as analogous pipeline stages. Just as PharmAgents uses LLM-driven agents with self-evolving capabilities to iteratively refine drug candidates across target discovery, lead optimization, and preclinical evaluation, a climate-adaptation counterpart could iteratively refine regional adaptation strategies, such as infrastructure hardening or crop-switching recommendations, by incorporating real-time extreme-heat and atmospheric-river forecasts from models like GraphCast as dynamic environmental inputs. This cross-domain transfer would enable the first fully autonomous, interpretable pipeline that closes the loop from probabilistic climate hazard forecasting to actionable, location-specific adaptation policy generation.

Keşif novelClaim · atıf doğrulamasından muaf

İlaç keşfi için kurulan ajan tabanlı pipeline iklim uyumuna uygulansaydı ve bölgesel stratejileri canlı aşırı hava tahminleri geldikçe iyileştirseydi?

A climate-adaptation counterpart could iteratively refine regional adaptation strategies, such as infrastructure hardening or crop-switching recommendations, by incorporating real-time extreme-heat and atmospheric-river forecasts from models like GraphCast as dynamic environmental inputs. This cross-domain transfer would enable the first fully autonomous, interpretable pipeline that closes the loop from probabilistic climate hazard forecasting to actionable, location-specific adaptation policy generation.

Doğrulanmış bir keşif değil, araştırılacak bir hipotez tohumu. Burada cümle başına çalışan claim validator ikinci cümleyi RISKY olarak etiketledi (cümlenin halüsinasyon olasılığı 0.75, aynı zamanda çalıştırmanın toplam riski). Bu, sözleşmenin başarısız olduğunu değil, işini yaptığını gösteriyor. Aşağıdaki chunk'lar iddianın kendisini değil, çerçevesini destekliyor.

Destekleyici kanıt 6 atıf, 4 makale, hepsi çözümlendi

  • arXiv:2503.22164 Gao et al., PharmAgents, chunks 1, 2 doğrudan
  • arXiv:2508.14111, Agentic AI for Scientific Discovery, chunk 33 (Protein Science section) doğrudan
  • arXiv:2212.12794 Lam et al., GraphCast, chunks 8, 65 (Atmospheric Rivers section) doğrudan
  • arXiv:2405.13063 Bodnar et al., Aurora, chunk 16 (Training methods section) analojik
Yenilik
0.41
Makullük
0.62
Tutarlılık
0.68
Kalite
0.57

Çalıştırmalar arası bir tutarlılık çalışması (her çift için N=5), makullüğün çalıştırmadan çalıştırmaya anlamlı biçimde değiştiğini gösteriyor (std 0.14 korpus içi / 0.12 alanlar arası). Yani bu, tek seferlik bir çapa değil, gerçek bir sinyal. Yapısal tutarlılık ise düzgün kurulmuşluk taban değerine daha yakın duruyor. Ampirik ayrıntıların tamamı projenin makalesinde.

Chunker'ın içi

Özyinelemeli chunker, atıf takibinin temeli. Her chunk'ın offset'i ve uzunluğu deterministik olmalı ki synthesis katmanı hipotezdeki bir atıfı doğrulanabilir bir kaynak aralığına geri eşleyebilsin. Yedek basamaklar boyut sınırlarına uyulmasını sağlıyor ve ulaşılabilir bir paragraf sonu varken hiçbir cümleyi ortasından bölmüyor.

private static int ChooseEnd(string text, int start)
{
    int remaining = text.Length - start;
    if (remaining <= MaxChars)
    {
        return text.Length;
    }

    int targetEnd = start + TargetChars;
    int maxEnd = start + MaxChars;

    // Prefer paragraph boundary in [target, max]
    int paraEnd = LatestMatchIndex(ParagraphBreakRegex(), text, targetEnd, maxEnd);
    if (paraEnd > start) return paraEnd;

    // Fall back to sentence boundary
    int sentEnd = LatestMatchIndex(SentenceBreakRegex(), text, targetEnd, maxEnd);
    if (sentEnd > start) return sentEnd;

    // Hard cut as last resort
    return maxEnd;
}

Kaynak: LIBRAIN/Reading/RecursiveChunker.cs. Sabitler TargetChars = 2000 ve MaxChars = 4000. Üretilen her chunk, sınırlarda bağlamı korumak için OverlapChars = 300 kadar geri sarılıyor. Bu, orijinal RAG makalesindeki %15'lik örtüşme hedefi.

Sonuçlar

RAG ve ajan yöntemleri, ilaç keşfi ve proteinler, hava / iklim / enerji, tarım, klinik araştırmalar ve biliş / sinirbilim alanlarını kapsayan 41 makalelik alanlar arası bir korpusta baştan sona çalıştırıldı.

41 makale
Aralarında Lewis et al. (RAG), Lam et al. (GraphCast), Bodnar et al. (Aurora), Gao et al. (PharmAgents), Binz et al. (Centaur) ve Asai et al. (Self-RAG) var
1,766 chunk
Qdrant'taki librain_chunks koleksiyonunda saklanan 1,766 × 1,536 boyutlu vektör
< 200ms
MVP ölçeğinde vektör arama gecikmesi. Qdrant'ın 10K noktalık HNSW eşiğinin altında kalındığı için kaba kuvvet tarama da hızlı

Korpustaki makaleler

41 makalelik korpus iki işleme turunda oluştu. İlk tur, pipeline'ı doğrulayan RAG ve ajan tabanlı yapay zekâ temelini kurdu. İkinci tur kapsamı ilaç keşfi ve proteinler, hava / iklim / enerji, tarım, klinik araştırmalar ve biliş / sinirbilim alanlarına genişletti. Böylece Discovery Mode, her alanlar arası konu çiftinin iki tarafında da en az iki güçlü ilgili makale bulabiliyor.

Başlangıç korpusu (5 makale, 218 chunk)

Temel RAG makalesi, ajan tabanlı yapay zekâ üzerine iki derleme ve bilimsel keşif üzerine iki uzun derleme. Pipeline'ı derinlemesine sınamak (uzun derlemeler çok sayıda chunk üretir) ve konuya uygunluk (RAG, ajanlar, retrieval'a dayalı üretim) için seçildi.

2005.11401 Lewis et al., Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks (NeurIPS 2020). Orijinal RAG makalesi. 21 chunk.
2503.08979 Gridach et al., Agentic AI for Scientific Discovery: A Survey of Progress, Challenges, and Future Directions (ICLR 2025). 18 chunk.
2504.05496 arXiv 2025, ajan tabanlı yapay zekâ yöntemleri üzerine bir ön baskı. 12 chunk.
2505.04651 arXiv 2025, RAG ve retrieval pipeline'ları üzerine uzun bir derleme. 60 sayfada 80 chunk.
2508.14111 From AI for Science to Agentic Science: A Survey on Autonomous Scientific Discovery. 84 sayfada 87 chunk.

Başlangıç korpusunda vektör arama smoke test'i: "How does retrieval augmented generation work?" sorgusunun ilk 5 sonucunun hepsi 2005.11401'den geldi. Sonuçlar 1, 2, 8 ve 9. sayfalardan farklı chunk'lardı ve kosinüs benzerlikleri 0.52-0.61 aralığındaydı. Anlamsal geri getirme, RAG'ı ortaya koyan makaleyi içeren korpus üzerinde baştan sona doğrulandı.

Alan genişletme (19 makale, 1,133 chunk)

Her alanlar arası konu çiftinin iki tarafında da en az iki güçlü ilgili makale olacak şekilde dengeli bir kapsam için seçildi. Aşağıda alanlara göre gruplandı.

RAG ve ajan tabanlı yöntemler

2310.11511 Asai et al., Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection (ICLR 2024). 32 chunk.

İlaç keşfi ve proteinler

2503.22164 Gao et al., PharmAgents: Building a Virtual Pharma with Large Language Model Agents. 20 chunk.
2305.17100 Zhang et al., BiomedGPT: A Generalist Vision-Language Foundation Model for Diverse Biomedical Tasks. 45 chunk.
1801.10193 Öztürk et al., DeepDTA: Deep Drug-Target Binding Affinity Prediction. 15 chunk.
2402.08703 Tang et al., A Survey of Generative AI for de novo Drug Design. 54 chunk.
2503.13522 Zhang et al., Advanced Deep Learning Methods for Protein Structure Prediction and Design. 178 chunk.

Hava, iklim ve enerji

2212.12794 Lam et al., GraphCast: Learning skillful medium-range global weather forecasting (DeepMind, Nature 2023). 72 chunk.
2211.02556 Bi et al., Pangu-Weather: A 3D High-Resolution Model for Fast and Accurate Global Weather Forecast (Huawei). 30 chunk.
2405.13063 Bodnar et al., Aurora: A Foundation Model for the Earth System (Microsoft). 73 chunk.
1906.05433 Rolnick et al., Tackling Climate Change with Machine Learning. 110 chunk.
2302.01236 Vilgalys et al., A Machine Learning Approach to Measuring Climate Adaptation. 34 chunk.
2405.14472 Depoortere et al., SolNet: Open-source deep learning models for photovoltaic power forecasting. 24 chunk.

Tarım ve klinik

2007.10882 de Freitas Cunha et al., Estimating crop yields with remote sensing and deep learning. 11 chunk.
2502.06062 Yewle et al., Multi-modal Data Fusion and Deep Ensemble Learning for Accurate Crop Yield Prediction. 28 chunk.
2506.04293 Liu et al., AutoCT: Automating Interpretable Clinical Trial Prediction with LLM Agents. 24 chunk.

Biliş, sinirbilim ve eğitim

2410.20268 Binz et al., Centaur: a foundation model of human cognition. 140+ sayfada 108 chunk.
2410.07507 Mishra et al., Thought2Text: Text Generation from EEG Signal using Large Language Models. 15 chunk.
1705.06963 Schuman et al., A Survey of Neuromorphic Computing and Neural Networks in Hardware. 223 chunk.
2405.13001 Xu et al., Large Language Models for Education: A Survey. 37 chunk.

Dayanıklılık

göstergizle

Atıf doğrulama sözleşmesi C#'ta uygulanıyor: bir hipotezde atıf yapılan her chunk retrieval kümesinde karşılık bulmak zorunda, bulamazsa yanıt dönmeden önce atılıyor. Bu da atıf sadakatini modelin değil, mimarinin bir özelliği yapıyor. Bunu sınamak için sabit bir konu çiftini (weather foundation models × renewable energy planning) üç eksende taradım ve sözleşmenin dayanıp dayanmadığını ölçtüm.

topK 3 → 10
Retrieval bütçesi taraması. Makullük sabit kalıyor (~0.62) ve doğrulanan kanıt sayısı K ile birlikte artıyor. Çıktılar çökmüyor, kontrollü biçimde zayıflıyor.
Sonnet → Haiku
Synthesis modelini daha ucuz Claude Haiku 4.5'e geçirmek (Models:SynthesisModel ile) dört eksenli profili benzer düzeyde tutuyor. Kalite en güçlü modele bağlı değil.
0 uydurma
Korpus dışından açıkça 3 atıf isteyen adversarial bir prompt altında bile uydurma atıf sayısı hem Sonnet 4.6 hem Haiku 4.5'te sıfırda kaldı.

Özet: retrieval bütçesi değiştiğinde, model Sonnet'ten Haiku'ya geçtiğinde ve adversarial prompt'larla zorlandığında, atıf sözleşmesi hiçbir yapılandırmada tek bir uydurma atıfa izin vermedi. Bu, modele bağlı değil, tasarımın kendisinden gelen bir garanti. dotnet run --project LIBRAIN.Experiments -- robustness ile yeniden üretilebilir. (Tek bir konu çiftinde hücre başına tek çalıştırma. LLM ile puanlanan eksenlerde çalıştırmalar arası gürültü var, uydurma sayısında yok.)

Atıf sözleşmesi: ölçülmüş bir fayda

göstergizle

Sözleşmenin değerini söylemek kolay, ama ölçmek zordu. Temiz bir korpusta güçlü bir modelle çalışan kısıtsız bir baseline nadiren atıf uydurur, bu yüzden sözleşme koruyacak bir şeyi olmayan bir garanti gibi görünür. Farkı ölçmek için uydurmayı gerçekten tetikleyen koşulları taradım: serbest metin (düzyazı) atıflar, daha zayıf üretici modeller ve kısıtlanmış retrieval. Bunu 160 hücrede (gpt-4o-mini ve gpt-4o) yaptım ve retrieval kümesinde karşılığı olmayan atıfları saydım.

67 vs 0
Sözleşmesiz baseline 67 uydurma atıf üretti (14'ü temiz koşulda, 53'ü kısıtlanmış retrieval'da). Sözleşmeli pipeline 0 sızdırdı, yani hepsi yakalandı.
serbest metin ≳ yapılandırılmış
Düzyazı atıf modunda 36 uydurma, yapılandırılmış modda 31. Kullanımdaki RAG sistemlerinin çoğu da aslında düzyazı modunu kullanıyor.
model aileleri arası
GPT-4o-mini ve GPT-4o üzerinde gösterildi (makaledeki Claude'dan farklı bir model ailesi), yani etki modele özgü değil.

GPT-4o ile aileler arası ölçüm (uydurma sayısı deterministik bir C# kontrolü). dotnet run --project LIBRAIN.Experiments -- fabrication-delta ile yeniden üretilebilir.

En iyi alanlar arası keşifler

Discovery pipeline'ının tamamı (novelClaim sınırı + atıf sözleşmesi + cümle başına iddia doğrulama + dört eksenli puanlama) 30 alanlar arası konu çiftinde baştan sona çalıştırıldı ve kaliteye göre sıralandı. Sağlam dayanağı olan güçlü köprüler üste çıkıyor, gevşek analojiler eleniyor.

Keşif (konu × konu)Kaliteyen / mak / tut
graph neural networks × epidemic spread modeling0.6860.36 / 0.80 / 0.90
reinforcement learning × de novo molecular design0.6400.42 / 0.70 / 0.80
weather foundation models × renewable energy planning0.6210.36 / 0.70 / 0.80
deep-learning weather × agricultural yield0.6030.31 / 0.70 / 0.80
knowledge-graph embeddings × hypothesis generation0.5910.27 / 0.70 / 0.80

En iyi keşif: GNNs can be adapted to improve epidemic-spread modeling by incorporating spatio-temporal data such as human-mobility patterns… Bu keşif gcn ve covid-stgnn kaynaklarına atıf yapıyor (alanlar arası, sözleşme hiçbir atıfı düşürmedi). Spekülatif cümle ayrılmış ve doğru biçimde EXTRAPOLATED olarak etiketlenmiş, yani bir halüsinasyon değil. GPT-4o ile aileler arası çalıştırma; kalite = ortalama(yenilik, makullük, tutarlılık). ... -- discover-run --provider openai ile yeniden üretilebilir.

Ölçümün geçerliliği

göstergizle
ρ = 0.41
Kosinüs yeniliği ile insanların verdiği yenilik puanı arasındaki ilişki (birleştirilmiş Spearman, n=45). Yenilik, yeniden üretilebilir bir ölçüm yüzeyi, kontrol yüzeyi değil.
ρ 0.81 ile 1.00 arası
İki bağımsız, üç değerlendiricili panelde (n=30) değerlendiriciler arası yenilik Spearman değerleri: 1. panelde 0.81 / 0.82 / 0.94, 2. panelde 1.00 / 0.94 / 0.94. Kodda hesaplandı (Cohen / Fleiss / Krippendorff) ve sıfır varyans durumları ayrıca ele alındı.
0 / 30
Düzeltmeden sonra n=30 (iki panel) üzerinde LIBRAIN'e verilen halüsinasyon işareti. Kısıtsız Naive-RAG baseline'ı 3/30 aldı ve bunlardan biri olgusal bir hata yüzünden üç değerlendiricinin hepsi tarafından işaretlendi. Aynı veri üzerinde niteliksel bir karşıtlık.

Üç sistemli baseline (önceden kayıtlı)

göstergizle

Aynı on alanlar arası konu çifti üç sistemden de geçirildi ve önceden kaydedilmiş Claude Haiku judge'ı tarafından dört eksenli ölçütle puanlandı. Makullükteki en büyük kazancı retrieval sağlıyor (Naive-RAG, Single-LLM'in önünde). LIBRAIN'i ayıran şey, spekülasyonu ayırarak elde ettiği yenilik: Naive-RAG'dan yaklaşık %31 yüksek ve bunun bedeli bilinçli olarak makullükten ödeniyor.

Sistem (Claude Haiku puanı)yenilikmakullüktutarlılıkkalite
LIBRAIN0.4030.5050.7070.538
Naive-RAG0.3070.6220.7920.574
Single-LLM0.3890.3570.7090.485

Yorum: LIBRAIN, spekülasyonu novelClaim alanına ayırarak yenilikte önde (0.403'e karşı 0.307, Naive-RAG'a göre +%31) ve bunun için tasarım gereği makullükten yaklaşık %19 vazgeçiyor. Bunlar önceden kaydedilmiş sayılar, dotnet run --project LIBRAIN.Experiments -- baseline ile yeniden üretilebilir. Claude Haiku'nun dört eksenli ölçütüyle puanlandı. Aşağıdaki çapraz judge kontrolü bilinçli olarak bu yoldan ayrılıyor.

Çapraz judge kontrolü (dürüst bir not)

göstergizle

Üç sistemi makaledeki Claude Haiku judge'ı yerine bağımsız bir GPT-4o judge'ı ile yeniden puanlamak sıralamayı değiştiriyor. Bu judge güvenli ve düzgün yapılandırılmış çıktıyı ödüllendirdiği için LIBRAIN genel kalitede burada daha düşük görünüyor. Bu judge'da LIBRAIN yenilikte de önde değil. O üstünlük burada değil, Claude Haiku yolunda ve insan değerlendirmelerinde görülüyor:

Sistem (GPT-4o puanı)yenilikmakullükkalite
LIBRAIN0.3280.5900.526
Naive-RAG0.3080.6500.576
Single-LLM0.3530.6900.614

Judge değiştirilerek yapılan bir dayanıklılık kontrolü. Önceden kaydedilmiş Claude sonuçlarıyla karşılaştırılabilir değil, şeffaflık için eklendi. LIBRAIN'in üstünlüğü izlenebilirlikte (ayrılmış spekülasyon, doğrulanmış atıflar), Claude Haiku yolundaki yenilik farkında (Tablo 7) ve iki bağımsız, üç değerlendiricili paneldeki insan puanlarında (n=30: 4.47, 1.80 ve 2.47). Bu temkinli judge bunları ödüllendirmiyor.

Öğrendiklerim

Sentetik testler, gerçek dosyalarla yapılan smoke test'lerin yerini tutmuyor

Chunker'ın yedi xUnit testi sentetik string'lerle sorunsuz geçti. Gerçek bir arXiv PDF'iyle yapılan 30 satırlık, sonra silinecek bir smoke test ise PdfPig'in kelime boşluğu hatasını ve bölüm tespit eden regex'in kör noktalarını yakaladı. Bu sorunlar fark edilmeden geçip her makalede retrieval kalitesini düşürecekti.

Rate limit'e uymak, yeniden denemeden önce doğru boyutlandırma meselesi

OpenAI'ın tier 1 sınırı text-embedding-3-small için dakikada 40K token. Tier 2'ye göre boyutlandırılmış 250K token'lık ilk batch, asıl önemli olan yer dışında her yerde çalıştı. Çözüm, batch başına sınırı 35K token'a indirip orantılı 1.5 saniyelik bir bekleme eklemekti. Retry mantığı da backoff ağaçları da yok, sadece gerçek kısıta uyan batch boyutları var.

Gerektiğinde kurulum, uygulamanın açılışını dış altyapıdan bağımsız kılıyor

Qdrant koleksiyonu Lazy<Task> arkasında oluşturulduğu için uygulama Qdrant kapalıyken bile açılıyor. İlk ingest çağrısı, tek ve idempotent bir CollectionExistsAsync + CreateCollectionAsync işlemini yarış durumuna karşı güvenli biçimde bekliyor. Ayrı bir init komutu, açılışta bir migration adımı ya da ilk deploy için bir operatör talimatı gerekmiyor.

Kapsam parantezi olmayan atomik commit'ler daha iyi okunuyor

feat(reading): add PDF text extraction ile başladım, feat: add PDF text extraction service via PdfPig ile bitirdim. Yalın type: biçimi, küçük bir repoda git log --oneline çıktısını görsel olarak düzenli tutuyor. Kapsamlar CI araçları için kullanışlı, ama sütun genişlikleri hizalanmadığında işe alım yapanlar için okunması zorlaşıyor.

Sırada ne var

1'den 5'e kadar olan fazlar tamamlandı. Reader, Synthesis ve Evaluator pipeline'ının tamamı, paralel Discovery Mode, 41 makalelik alanlar arası korpus ve şu an okuduğunuz statik portfolyo sayfası hazır. Bunlara ek olarak üç sistemli baseline (Naive-RAG ve Single-LLM ablasyonları), tüm ajanlarda Anthropic prompt caching, Task.WhenAll ile paralel puanlama ve iddia düzeyinde halüsinasyon azaltma da tamam. İki bağımsız, üç değerlendiricili kör panel (n=30) LIBRAIN'de hiç halüsinasyon olmadığını doğruladı, Naive-RAG baseline'ı ise bütün değerlendiricilerin işaretlediği bir olgusal hata aldı. Bir dayanıklılık taraması da atıf sözleşmesinin model değişikliği ve adversarial prompt'lar altında dayandığını gösterdi (sıfır uydurma atıf). Faz 6 (etkileşimli frontend, cloud deploy, insan değerlendirme pilotunu n=30'un ötesine taşımak) ertelendi ve projenin makalesinde belgelendi.

Oca
Şub
Mar
Nis
May
Haz
Tem
Ağu
Eyl
Faz 1Veri Hazırlama
5 makale · 218 chunk
Faz 2Sistem Geliştirme
Synthesis + Evaluator
Faz 3Discovery Mode
4 eksenli puanlama
Faz 4Vitrin
41 makale
Faz 5Halüsinasyon Azaltma
iddia koruması
Faz 6Deploy ve Performans
Cloud + Frontend
Faz 7Dokümantasyon
arXiv ön baskısı
Tamamlandı Yeni eklenen Ertelendi / planlandı
✓

Faz 1, Reader Agent Mayıs 2026

PDF ingest, özyinelemeli chunking, OpenAI embedding'leri, Qdrant vector store, REST endpoint'leri. Tamamlandı.

✓

Faz 2, Sentez ve Değerlendirme Mayıs 2026

Synthesis Agent (atıflara dayanan hipotezler için zorunlu tool use ile Claude Sonnet), Evaluator Agent (Claude Haiku, dayanak, ilgililik ve eksiksizlik üzerinden çok boyutlu puanlama) ve embed → search → synthesise → evaluate akışını yöneten POST /api/query. Tamamlandı.

✓

Faz 3, Discovery Mode Mayıs 2026

Alanlar arası hipotez üretimi için paralel bir pipeline. Discovery Agent atıf yapılan kanıtın ötesine geçiyor ve spekülatif kısmı novelClaim olarak işaretliyor. Discovery Evaluator bunu dört eksenli ölçütle (yenilik, makullük, yapısal tutarlılık, kalite) puanlıyor. Tamamlandı. Ampirik doğrulama projenin makalesinde.

✓

Faz 4, Vitrin Mayıs 2026

Korpus ilaç keşfi ve proteinler, hava / iklim / enerji, tarım, klinik araştırmalar ve biliş / sinirbilim alanlarına yayılarak 5 makaleden 41 makaleye çıktı. Bu portfolyo sayfasında statik bir gösterim seti var (atıf izlerinin ve dört eksenli puanların tamamıyla 5 alanlar arası Discovery Mode çıktısı). Projenin makalesine bu fazda, genişletilmiş demoları anlatan iki yeni bölüm eklendi. Tamamlandı.

✓

Faz 5, Halüsinasyon Azaltma Mayıs 2026

Projenin makalesinin işaret ettiği ampirik boşlukları kapatan dört ek çalışma.

Baseline'lar. Naive-RAG ve Single-LLM ajanları /api/naive-rag ve /api/single-llm olarak eklendi ve projenin makalesindeki üç sistemli karşılaştırmayı besliyor. İkisi de aynı Discovery Evaluator ve NoveltyScorer'ı kullanıyor, böylece sistemler arası puanlama, pipeline yapısının etkisini evaluator uygulamasından ayırıyor. Yeniden üretim çalıştırması: Sonnet 4.6 ile Naive-RAG'ın iddia ettiği 44 atıftan hiçbiri uydurma değildi. Bu, atıf doğrulama sözleşmesinin güçlü bir baseline'a karşı yapısal bir garanti gibi davrandığını doğruluyor.

Prompt caching. PromptCacheType.AutomaticToolsAndSystem, LLM kullanan yedi ajanın hepsinde açık. 5 dakikalık TTL içindeki ilk çağrıdan sonra sistem ve tool önekindeki token'ların yaklaşık %80'i prompt cache'ten geliyor. Cache okuma ve cache oluşturma token sayıları artık her denetim kaydı satırında yer alıyor.

Paralel puanlama. NoveltyScorer, ClaimValidator ve Discovery Evaluator artık Task.WhenAll ile çalışıyor. Sentez sonrası aşamanın süresini art arda üç gidiş dönüş değil, en yavaş tek Haiku çağrısı belirliyor.

İddia düzeyinde doğrulama. Tool şemasına eklenen yeni bir extrapolation_basis alanı, Discovery Agent'ı novelClaim'in her cümlesini genelleme, analoji ya da saf spekülasyon olarak etiketlemeye zorluyor. İkincil bir ClaimValidatorAgent (Haiku, T=0.0) her cümleyi getirilen chunk'lara göre yeniden GROUNDED, EXTRAPOLATED ya da RISKY olarak sınıflandırıyor. Bu, projenin makalesindeki bir bulguya yanıt: LIBRAIN çıktılarının 5'te 3'ü, novelClaim içinde olgu gibi sunulan spekülasyon yüzünden değerlendiricilerce işaretlenmişti.

Değerlendiricilerin yeniden puanlama sonucu (önceden kaydedilmiş 10 çift üzerinde iki bağımsız, üç değerlendiricili panel, toplam 30 çıktı, Latin kare ile körleme):

  • Halüsinasyon işaretleri (1. değerlendirici, ÖNCE → SONRA): 3 / 5 → 0 / 5 (hedef ≤ 1 / 5, GEÇTİ)
  • Halüsinasyon işaretleri (n=30, iki panel): LIBRAIN 0 / 30 ve Single-LLM 0 / 30. Kısıtsız Naive-RAG baseline'ı 3 / 30 aldı ve bunlardan biri olgusal bir hata yüzünden üç değerlendiricinin hepsince işaretlendi
  • Yenilikte ikili Spearman ρ: 1. panelde 0.81 / 0.82 / 0.94, 2. panelde 1.00 / 0.94 / 0.94 (iki panelde toplam n=30)
  • Birleştirilmiş yenilik (n=30): düzeltilmiş LIBRAIN 4.47, Naive-RAG 1.80, Single-LLM 2.47

İlk pilot (1. panel, n=15), önceden kaydedilmiş beş çift daha üzerinde çalışan ikinci bir bağımsız, üç değerlendiricili panelle (2. panel, n=15) genişletildi. Her ikisinde de hipotezin tamamı değerlendirildi. LIBRAIN'in sıfır halüsinasyon sonucu 30 çıktının hepsinde korundu, Naive-RAG baseline'ı ise bütün değerlendiricilerin işaretlediği, olgusal olarak yanlış bir çıktı üretti. LIBRAIN'in yenilikteki üstünlüğü de sürdü. Önceden kaydedilmiş bütün geçiş kriterleri sağlandı.

6

Faz 6, Deploy ve Performans ertelendi

Etkileşimli gösterim için Azure Static Web Apps üzerinde sade bir Next.js ya da Blazor frontend, Azure Container Apps üzerinde API, p95 gecikmesini 5 saniyenin altına indirmek için yanıt akışı (streaming), insan değerlendirme pilotunu n=30'un ötesine taşımak (iki bağımsız, üç değerlendiricili panel sonucu doğruluyor, daha fazla ölçek güven aralıklarını daraltır) ve .NET RAG kalıpları üzerine bir blog yazısı. Ertelendi. Yukarıdaki statik demolar, bir inceleyicinin sistemi çalıştırmadan görmesi gereken salt okunur vitrini sağlıyor.

İletişim

Kıdemli .NET ve yapay zekâ mühendisliği rollerine açığım. Dünyanın her yerinden uzaktan, Türkiye'de ofisten ya da vize sponsorluğuyla AB'ye taşınarak çalışabilirim.