Engineered to run on real hardware — not simulationGerçek donanımda çalışmak üzere tasarlandı — simülasyon değil

An adaptive
memory engine
for multi-agent
LLMs.
Çok-ajanlı
LLM'ler için
uyarlanır bellek
motoru.

MNEMOS scores every event by importance and routes it through three-tier compression — keeping long-horizon reasoning sharp while it runs on real, on-prem or BAA-cloud silicon.MNEMOS her olayı önemine göre skorlar ve üç katmanlı sıkıştırmaya yönlendirir — uzun vadeli akıl yürütmeyi keskin tutarken gerçek, öz-barındırma veya BAA-bulut silikonunda çalışır.

ApproachYaklaşım Importance-routed compressionÖnem-yönlü sıkıştırma DomainsAlanlar Healthcare · FinanceSağlık · Finans DeployDağıtım On-prem or BAA cloudÖz-barındırma veya BAA bulut StatusDurum Design → PoCTasarım → PoC
/010Deployment stages · PoC → ProductionDağıtım aşaması · PoC → Production
/020GPUs at the full HA fleetTam HA filosunda GPU
/030BModel class served on a single GPU (INT4)Tek GPU'da çalışan model sınıfı (INT4)
/040Compliance regimes — HIPAA + PCIUyumluluk rejimi — HIPAA + PCI
The ProblemSorun

The full history
is the bottleneck.
Tüm geçmiş
darboğazdır.

Long-horizon multi-agent LLM systems face an impossible trade-off. Either they forget — truncating history with a lossy sliding window and losing the facts that matter — or they drown in their own past, dragging the entire conversation forward at every step.Uzun vadeli çok-ajanlı LLM sistemleri imkansız bir takasla karşı karşıyadır. Ya unuturlar — geçmişi kayıplı bir kayan pencereyle keserek önemli bilgileri yitirirler — ya da kendi geçmişlerinde boğulurlar, her adımda tüm konuşmayı sürükleyerek taşırlar.

Carrying the full transcript means runaway token counts, rising latency, and eventually hitting the hard context-window limit. And as the prompt swells, critical facts dilute into noise — retrieval gets worse, not better. MNEMOS is built to keep the signal while shedding the bulk.Tüm dökümü taşımak, kontrolden çıkan token sayıları, artan gecikme ve sonunda sabit bağlam-penceresi sınırına çarpmak anlamına gelir. İstem şiştikçe kritik bilgiler gürültüye seyrelir — geri çağırma iyileşmez, kötüleşir. MNEMOS, kütleyi atarken sinyali korumak üzere inşa edilmiştir.

Runaway TokensKontrolsüz Token

Every retained event adds to the prompt — token counts climb relentlessly as the interaction history grows.Tutulan her olay istemi büyütür — etkileşim geçmişi büyüdükçe token sayıları durmaksızın tırmanır.

Rising LatencyArtan Gecikme

Larger contexts mean slower retrieval and slower inference at every single step of the task.Daha büyük bağlamlar, görevin her bir adımında daha yavaş geri çağırma ve daha yavaş çıkarım anlamına gelir.

Context-Window LimitsBağlam Penceresi Sınırları

Histories eventually exceed the model's hard context window, forcing lossy truncation.Geçmişler sonunda modelin sabit bağlam penceresini aşar ve kayıplı kesmeye zorlar.

Information DilutionBilgi Seyrelmesi

Critical facts drown in noise — retrieval failures and degraded reasoning quality follow.Kritik bilgiler gürültüde boğulur — geri çağırma başarısızlıkları ve düşen akıl yürütme kalitesi bunu izler.

The Approach — Importance ScoringYaklaşım — Önem Skorlama

Scoring every
event, I(eₜ).
Her olayı
skorlamak, I(eₜ).

Our scoring model assigns every incoming event a single importance value from four weighted factors. That score is the dial that decides how much of the event survives.Skorlama modelimiz, gelen her olaya dört ağırlıklı faktörden tek bir önem değeri atar. Bu skor, olayın ne kadarının korunacağına karar veren ayar düğmesidir.

I(et) = wrel·R + wrec·T + went·E + wdec·D
w_rel 0.35 · w_rec 0.25 · w_ent 0.25 · w_dec 0.15
∑ wᵢ = 1, (w_rel, w_rec, w_ent, w_dec) = (0.35, 0.25, 0.25, 0.15)∑ wᵢ = 1, (w_rel, w_rec, w_ent, w_dec) = (0.35, 0.25, 0.25, 0.15)
IntuitionSezgi
0.250.25 0.500.50
I =
Importance is a weighted vote of four judges. Relevance speaks loudest (35%), the decision flag only whispers (15%). Stack their weighted opinions left to right and you land on one number from 0 to 1 — just like a course grade that's 35% exam plus 25% homework. Where the bar stops on the ruler decides how the event gets stored.Önem, dört hâkimin ağırlıklı oyudur. İlgi en yüksek sesle konuşur (%35), karar bayrağı yalnızca fısıldar (%15). Ağırlıklı görüşlerini soldan sağa üst üste dizince 0 ile 1 arasında tek bir sayıya ulaşırsın — tıpkı %35 sınav artı %25 ödevden oluşan bir ders notu gibi. Çubuğun cetvelde nerede durduğu, olayın nasıl saklanacağına karar verir.
Worked exampleÖrnek hesap
With R=0.8, T=0.6, E=1.0, D=1: I = 0.35(0.8) + 0.25(0.6) + 0.25(1.0) + 0.15(1) = 0.28 + 0.15 + 0.25 + 0.15 = 0.83 ≥ 0.50 → routed to Verbatim.R=0.8, T=0.6, E=1.0, D=1 iken: I = 0.35(0.8) + 0.25(0.6) + 0.25(1.0) + 0.15(1) = 0.28 + 0.15 + 0.25 + 0.15 = 0.83 ≥ 0.50 → Birebir katmana yönlendirilir.
0.35
Relevanceİlgililik
R(eₜ)

Cosine similarity of TF-IDF vectors between the event and the current query context.Olay ile mevcut sorgu bağlamı arasındaki TF-IDF vektörlerinin kosinüs benzerliği.

cos( v(eₜ), v(Q) )
R = cos(v(e),v(Q)) = v(e)·v(Q) / (‖v(e)‖·‖v(Q)‖); tfidf(k,e)=tf·log(N/df)
TF-IDF cosine similarity between event and query context.Olay ile sorgu bağlamı arasında TF-IDF kosinüs benzerliği.
IntuitionSezgi
θ query event
θ = θ =
R = cos θ = R = cos θ =
in betweenarada
Cosine asks just one thing: do the event and the question point the same way? Two arrows lined up means fully relevant (1); at a right angle means unrelated (0). It ignores length, so a one-line note and a long essay on the same topic score the same — only direction, the meaning, counts.Kosinus tek bir sey sorar: olay ile soru ayni yone mi bakiyor? Iki ok ust uste gelirse tam ilgili (1); dik aciyla durursa ilgisiz (0). Uzunlugu onemsemez, bu yuzden ayni konudaki tek satirlik bir not ile uzun bir yazi ayni puani alir — yalnizca yon, yani anlam, sayilir.
Worked exampleÖrnek hesap
Event and query become TF-IDF vectors over the shared vocabulary; cosine compares direction, not length, so short and long events are judged fairly. If v(e)·v(Q)=2.4 with ‖v(e)‖=2.0 and ‖v(Q)‖=1.5, then R = 2.4 / (2.0·1.5) = 0.80.Olay ve sorgu, ortak söz dağarcığı üzerinden TF-IDF vektörlerine dönüşür; kosinüs uzunluğu değil yönü karşılaştırır, böylece kısa ve uzun olaylar adil biçimde değerlendirilir. v(e)·v(Q)=2.4, ‖v(e)‖=2.0 ve ‖v(Q)‖=1.5 ise, R = 2.4 / (2.0·1.5) = 0.80.
0.25
RecencyYenilik
T(eₜ)

Exponential decay — recent events weigh more, with λ = 0.05.Üstel sönüm — yeni olaylar daha ağır basar, λ = 0.05 ile.

exp(−λ·(T − t))
T(et) = e−λ(T−t), λ = 0.05; t½ = ln2/λ ≈ 13.86
Exponential decay; half-life ≈ 13.9 steps.Üstel sönüm; yarı-ömür ≈ 13,9 adım.
IntuitionSezgi
11/21/41/8+t½+t½+t½0
Old memories fade like an echo, and lambda sets how fast. Every fixed stretch the weight halves: 1 → ½ → ¼ → ⅛, never quite hitting zero. A fact from moments ago still rings loud; one from long ago is barely a whisper.Eski anılar bir yankı gibi söner, ve onların ne kadar hızlı sönmesini lambda belirler. Her sabit adımda ağırlık yarıya iner: 1 → ½ → ¼ → ⅛, ama tam sıfıra hiç ulaşmaz. Az önceki bir bilgi hâlâ gür çınlar; çok eski olan ise ancak bir fısıltıdır.
Worked exampleÖrnek hesap
λ=0.05. An event 10 steps old: T=e−0.50.607. At 30 steps: e−1.50.223. T hits 0.5 at Δ=ln2/0.05≈13.86 steps — the half-life.λ=0.05. 10 adım eski bir olay: T=e−0.50.607. 30 adımda: e−1.50.223. T, Δ=ln2/0.05≈13.86 adımda 0.5'e ulaşır — yarı-ömür.
0.25
Entity SignificanceVarlık Önemi
E(eₜ)

Density of domain keywords: patient names, account numbers, risk codes, dosages.Alan anahtar kelimelerinin yoğunluğu: hasta adları, hesap numaraları, risk kodları, dozajlar.

min(1.0, Count(Ent)/Words × 5)
E(et) = min(1, 5·|Ent(e)| / |Words(e)|)
Domain-entity density; saturates at density ≥ 0.2.Alan-varlık yoğunluğu; yoğunluk ≥ 0,2'de doygunlaşır.
IntuitionSezgi
cap = 1.0tavan = 1.0
density = yoğunluk = 0.050 E = E = 0.25 below captavan altı
The more named things an event carries — patient names, doses, account numbers — the more it matters, so importance climbs with each one. But there's a ceiling: once roughly one in five words is a named entity, the event is already as important as it gets and can't score higher. Like a glass that's full — pour more in and it just spills.Bir olay ne kadar çok adlandırılmış şey taşırsa — hasta adları, dozlar, hesap numaraları — o kadar önemlidir; yani her biriyle önem artar. Ama bir tavan vardır: yaklaşık her beş kelimeden biri adlandırılmış bir varlık olunca olay zaten ulaşabileceği en yüksek öneme ulaşmıştır ve daha fazla puan alamaz. Tıpkı dolu bir bardak gibi — daha fazla dökersen sadece taşar.
Worked exampleÖrnek hesap
3 entities in a 60-word event: density=3/60=0.05 → E=min(1, 5·0.05)=0.25. At ≥12 entities per 60 words density≥0.2, so E saturates at 1.0.60 kelimelik bir olayda 3 varlık: yoğunluk=3/60=0.05 → E=min(1, 5·0.05)=0.25. 60 kelimede ≥12 varlık olduğunda yoğunluk≥0.2 olur, böylece E 1.0 değerinde doygunlaşır.
0.15
Decision CriticalityKarar Kritikliği
D(eₜ)

Binary 1/0 for decision verbs: diagnosed, ordered, confirmed, recommended, authorized.Karar fiilleri için ikili 1/0: teşhis etti, istedi, onayladı, önerdi, yetkilendirdi.

1 if decision-verb else 0
D(et) = 𝟙[ et ∩ Vdec ≠ ∅ ]
1 if the event contains a decision verb (diagnosed, ordered, confirmed, recommended, authorized), else 0.Olay bir karar fiili içeriyorsa 1, yoksa 0.
IntuitionSezgi
0rested1ordered
Think of a light switch with no dimmer: it is either off or on, nothing in between. Each event flips to 1 when a real decision happened — something was diagnosed, ordered, confirmed — and stays 0 when it just rested. So "saw the chart" is 0, but "ordered the scan" snaps to 1: the moments you can never afford to forget.Bunu ara konumu olmayan bir ışık anahtarı gibi düşünün: ya kapalı ya açık, arası yok. Her olay gerçek bir karar verildiğinde 1'e kalkar — bir şey teşhis edildi, istendi, onaylandı — sadece beklediğinde 0 kalır. Yani "grafiğe baktı" 0'dır, ama "taramayı istedi" 1'e geçer: asla unutmayı göze alamayacağınız anlar.
Worked exampleÖrnek hesap
'lisinopril 10 mg ordered' contains 'ordered' ∈ Vdec → D=1. 'patient rested overnight' has no decision verb → D=0.'lisinopril 10 mg istendi' ifadesi 'istendi' ∈ Vdec içerir → D=1. 'hasta gece boyunca dinlendi' ifadesinde karar fiili yoktur → D=0.

Our scoring model uses fixed weights summing to 1.00 with thresholds at I ≥ 0.50 (verbatim) and I < 0.25 (aggressive). These are MNEMOS design parameters, not tuned benchmark settings.Skorlama modelimiz, toplamı 1.00 olan sabit ağırlıklar ve I ≥ 0.50 (birebir) ile I < 0.25 (agresif) eşiklerini kullanır. Bunlar, ayarlanmış kıyas ayarları değil, MNEMOS tasarım parametreleridir.

Three-Tier CompressionÜç Katmanlı Sıkıştırma

Score in.
Strategy out.
Skor girer.
Strateji çıkar.

Level 1 — High ImportanceSeviye 1 — Yüksek Önem
VERBATIM
I ≥ 0.50 — preserve intactolduğu gibi korunur

The most significant events are kept word-for-word. No information is sacrificed for the highest-value memories.En önemli olaylar kelimesi kelimesine tutulur. En değerli bellekler için hiçbir bilgi feda edilmez.

"Patient Jane Doe diagnosed with stage-2 hypertension; lisinopril 10 mg ordered; follow-up confirmed in 14 days.""Hasta Jane Doe'ya evre-2 hipertansiyon teşhisi kondu; lisinopril 10 mg istendi; 14 gün içinde kontrol onaylandı."
Level 2 — Medium ImportanceSeviye 2 — Orta Önem
EXTRACTIVE
0.25 ≤ I < 0.50 — summarizeözetlenir

Keep the first sentence plus the top 50% of sentences ranked by entity density. The gist and the anchors survive.İlk cümle artı varlık yoğunluğuna göre sıralanmış cümlelerin üst %50'si tutulur. Özü ve dayanak noktaları korunur.

"Patient Jane Doe presented for review. Blood work ordered; vitals within expected range.""Hasta Jane Doe değerlendirmeye geldi. Kan tahlili istendi; yaşamsal değerler beklenen aralıkta."
Level 3 — Low ImportanceSeviye 3 — Düşük Önem
AGGRESSIVE
I < 0.25 — entity-centricvarlık-merkezli

Reduce to entities plus active decision terms only — a dense, anchor-preserving trace.Yalnızca varlıklara artı aktif karar terimlerine indirgenir — yoğun, dayanak-koruyan bir iz.

"Patient Jane Doe; vitals stable; blood work ordered.""Hasta Jane Doe; yaşamsal değerler stabil; kan tahlili istendi."
Formal ModelBiçimsel Model

The model,
in full.
Modelin
tamamı.

Here is how compression is formalized end to end — the importance score routes each event to a tier, an extractive rule selects which sentences survive, a compression ratio measures the result, top-k retrieval blends similarity and importance, and a budget-allocation objective sets the target MNEMOS approximates with two thresholds.Sıkıştırma uçtan uca şöyle biçimlendirilir — önem skoru her olayı bir katmana yönlendirir, çıkarımsal bir kural hangi cümlelerin korunacağını seçer, bir sıkıştırma oranı sonucu ölçer, top-k geri çağırma benzerlik ile önemi harmanlar ve bir bütçe-tahsis amacı, MNEMOS'un iki eşikle yaklaştığı hedefi belirler.

C(et) = et if I≥0.50  ;  Extract(et) if 0.25≤I<0.50  ;  Entities∪Decisions if I<0.25
Each event is routed to a compression tier by its importance.Her olay, önemine göre bir sıkıştırma katmanına yönlendirilir.
IntuitionSezgi
0 0.25 0.50 1 Aggressive Extractive Verbatim 0.83
Think of the score as a ball you drop onto a ruler. Two notches at 0.25 and 0.50 split it into three lanes: a low score lands in Aggressive (squeeze it hard), the middle in Extractive (just summarize), and a high score in Verbatim (keep every word). Drop a 0.83 and it rolls into Verbatim, so one number quietly decides the whole strategy.Skoru bir cetvele bıraktığınız bir top gibi düşünün. 0.25 ve 0.50'deki iki çentik onu üç şeride böler: düşük skor Aggressive şeridine düşer (sıkı sıkıştır), orta Extractive olur (sadece özetle), yüksek skor ise Verbatim'e gider (her kelimeyi koru). 0.83'ü bırakın, Verbatim'e yuvarlanır; yani tek bir sayı tüm stratejiyi sessizce belirler.
Worked exampleÖrnek hesap
I=0.83 → Verbatim (I≥0.50). I=0.38 → Extractive (0.25≤I<0.50). I=0.12 → Aggressive (I<0.25).I=0.83 → Birebir (I≥0.50). I=0.38 → Çıkarımsal (0.25≤I<0.50). I=0.12 → Agresif (I<0.25).
Extract(e) = {s₁} ∪ top_⌈(n−1)/2⌉ ρ(s), ρ(s) = |Ent(s)|/|Words(s)|
Keep the first sentence plus the top 50% of sentences by entity density.İlk cümleyi ve varlık yoğunluğuna göre en yüksek %50 cümleyi tut.
IntuitionSezgi
s1s2s3s4s5facts per sentence
Picture a paragraph as a row of bars, each one as tall as the number of facts it carries. You always keep the opening sentence to set the scene, then grab the tallest few that are packed with information. The short, fluffy bars get dropped, leaving a tight summary that still says everything that matters.Bir paragrafı, her biri taşıdığı bilgi kadar uzun çubuklardan oluşan bir sıra gibi düşün. Sahneyi kuran ilk cümleyi her zaman tutar, sonra bilgiyle dolu en uzun birkaç çubuğu seçersin. Kısa, dolgu cümleler atılır; geriye önemli olan her şeyi söyleyen sıkı bir özet kalır.
Worked exampleÖrnek hesap
A 5-sentence event (n=5): keep s₁ plus the top ⌈(5−1)/2⌉=2 sentences by entity density → 3 of 5 sentences retained.5 cümlelik bir olay (n=5): s₁ artı varlık yoğunluğuna göre en üst ⌈(5−1)/2⌉=2 cümle tutulur → 5 cümleden 3'ü korunur.
CR = Σ|e| / Σ|C(e)|
Compression ratio over the full history H (design target ≳ 4×).Tüm geçmiş H üzerinde sıkıştırma oranı (tasarım hedefi ≳ 4×).
IntuitionSezgi
8000tokens1900≈ 4.2×
Compression ratio just asks: how many times smaller did it get? Think of zipping a fat folder so it fits in a quarter of the space. Here 8000 squeezes down to 1900 — roughly four boxes collapsing into one.Sıkıştırma oranı tek bir şeyi sorar: kaç kat küçüldü? Şişkin bir klasörü zipleyip dörtte bir yere sığdırmak gibi düşün. Burada 8000, 1900'e iniyor — yaklaşık dört kutunun bire çökmesi.
Worked exampleÖrnek hesap
If the raw history is 8,000 tokens and the compressed store is 1,900 tokens, CR = 8000/1900 ≈ 4.2×.Ham geçmiş 8.000 token ve sıkıştırılmış depo 1.900 token ise, CR = 8000/1900 ≈ 4.2×.
Rk = top-ke∈M [ α·cos(v(C(e)),v(Q)) + (1−α)·I(e) ], k = 5
Top-k retrieval from the compressed store M, blending similarity and importance.Sıkıştırılmış depo M'den, benzerlik ve önemi harmanlayan top-k geri çağırma.
IntuitionSezgi
similarityimportancemixα / 1−αscoretop 5
Picking what to remember is like a DJ with two sliders: one for how well a memory fits the question, one for how big a deal it was. The alpha knob decides which slider matters more, they blend into a single score, and you simply grab the loudest five. Crank alpha up and a perfect match wins; turn it down and the unforgettable moments rise to the top.Neyi hatırlayacağını seçmek, iki kaydırmacı olan bir DJ'e benzer: biri anının soruya ne kadar uyduğunu, diğeri ne kadar önemli olduğunu gösterir. Alfa düğmesi hangi kaydırmacının ağır basacağına karar verir, ikisi tek bir puanda birleşir ve sen en yüksek beşini alırsın. Alfayı yukarı çek, tam uyan kazanır; aşağı çek, unutulmaz anlar başa geçer.
Worked exampleÖrnek hesap
With α=0.7, an event with cos=0.9 and I=0.6 scores 0.7·0.9 + 0.3·0.6 = 0.63 + 0.18 = 0.81; the 5 highest-scoring events are retrieved.α=0.7 ile, cos=0.9 ve I=0.6 olan bir olay 0.7·0.9 + 0.3·0.6 = 0.63 + 0.18 = 0.81 puan alır; en yüksek puanlı 5 olay geri çağrılır.
max Σ I(e)·qℓ(e)(e)  s.t.  Σ |Cℓ(e)(e)| ≤ B
Pick a per-event tier to maximise retained importance under a token budget B — a knapsack-style allocation; the two thresholds are its greedy approximation.Token bütçesi B altında tutulan önemi en üst düzeye çıkaracak katmanı seç — sırt-çantası tipi tahsis; iki eşik bunun açgözlü yaklaşımıdır.
IntuitionSezgi
Btoken budgetleft out
Think of a shelf with a fixed width — that's your token budget. Each event is an item with a size (how many tokens) and a value (how important). You want to pack in the most value that fits, so a wide-but-weak item gets bumped while a tall-and-tight one stays. Finding the perfect packing is slow, so the two thresholds act as a quick on-the-spot rule: keep it, or leave it out.Sabit genişlikte bir raf düşün — bu senin token bütçen. Her olay bir eşya: bir boyutu (kaç token) ve bir değeri (ne kadar önemli) var. Amacın sığabilen en yüksek toplam değeri istiflemek; bu yüzden geniş ama zayıf bir eşya dışarı atılırken, ince ve değerli olan kalır. En kusursuz istiflemeyi bulmak yavaştır, bu yüzden iki eşik anında karar veren bir kestirme kural gibi çalışır: tut ya da dışarıda bırak.
Worked exampleÖrnek hesap
Each event picks a tier; cost = its compressed token size, value = importance × retained info. The exact problem is a knapsack (NP-hard); the τhilo thresholds are an O(n) greedy per-event policy that approximates the optimum.Her olay bir katman seçer; maliyet = sıkıştırılmış token boyutu, değer = önem × korunan bilgi. Tam problem bir sırt çantasıdır (NP-zor); τhilo eşikleri, optimumu yaklaşıklayan O(n) açgözlü olay-başına bir politikadır.

Interactive — recency decayEtkileşimli — yenilik sönümü

Drag λ to see how fast old events fade; the dashed line marks the half-life.Eski olayların ne kadar hızlı solduğunu görmek için λ'yı sürükle; kesik çizgi yarı-ömrü gösterir.

Δ eventsΔ olay T 0 100 1 .5
λ 0.050
half-life t½yarı-ömür t½ 13.86
T at Δ = 10 / 30 / 50Δ = 10 / 30 / 50 değerinde T 0.607Δ=10 0.223Δ=30 0.082Δ=50
System ArchitectureSistem Mimarisi

Agents → score →
compress → recall.
Ajanlar → skor →
sıkıştır → geri çağır.

TASK INPUT GÖREV GİRDİSİ multi-step request çok adımlı istek AGENT 1TriageTriyaj AGENT 2DiagnosisTanı AGENT 3Medicationİlaç AGENT 4Care PlanBakım Planı MEMORY EVENT STREAM BELLEK OLAY AKIŞI every agent action emits an event eₜ her ajan eylemi bir eₜ olayı üretir IMPORTANCE SCORER ÖNEM SKORLAYICI Relevance · Recency İlgililik · Yenilik Entity · Decision Varlık · Karar ADAPTIVE COMPRESSOR UYARLANIR SIKIŞTIRICI High · Med · Low Yüksek · Orta · Düşük verbatim / extractive / aggressive birebir / çıkarımsal / agresif COMPRESSED STORE SIKIŞTIRILMIŞ DEPO compressed memory sıkıştırılmış bellek vector-backed vektör-destekli CONTEXT RETRIEVAL BAĞLAM GERİ ÇAĞIRMA Top-k = 5 FEEDBACK · CONTEXT BACK TO AGENTS GERİ BESLEME · BAĞLAM AJANLARA DÖNER
AgentAjan Core compressorÇekirdek sıkıştırıcı Memory stageBellek aşaması Event / feedback flowOlay / geri besleme akışı
The Hardware — PoC → Pilot → ProductionDonanım — PoC → Pilot → Production

What real silicon
it takes.
Gerçek silikon
ne gerektirir.

MNEMOS is built to run on real infrastructure, in three growing stages. The heaviest cost at every stage is the LLM-serving GPUs driving the four agents — everything else sizes around them.MNEMOS, üç büyüyen aşamada gerçek altyapıda çalışmak üzere inşa edilmiştir. Her aşamada en ağır maliyet, dört ajanı süren LLM sunan GPU'lardır — geri kalan her şey onların etrafında boyutlandırılır.

Staged hardware roadmap — PoC → Pilot → ProductionAşamalı donanım yol haritası — PoC → Pilot → Production
StageAşamaGoalAmaçSelf-host CAPEXÖz-barındırma CAPEXCloud (BAA)/moBulut (BAA)/ayRecommendedÖnerilen
PoCValidate on real data + a real vector DB at small scaleGerçek veri + gerçek vektör DB ile küçük ölçekte doğrulama~$15–35k~$1–2kCloud-API (BAA)Bulut-API (BAA)
PilotOne domain, real users, real sensitive dataTek alan, gerçek kullanıcılar, gerçek hassas veri~$130–220k~$10–20kOn-prem if data can't leaveVeri dışarı çıkamıyorsa öz-barındırma
ProductionTwo domains, scaled, HA, fully compliantİki alan, ölçekli, HA, tam uyumlu~$720k–1.5M + ~$0.5–1M/yr opex~$40–140kHybrid (sensitive on-prem, rest BAA)Hibrit (hassas veri öz-barındırma, gerisi BAA)

Costs are order-of-magnitude planning figures, not quotes. CAPEX is one-time hardware; cloud figures are monthly BAA-endpoint spend at the corresponding scale.Maliyetler teklif değil, büyüklük mertebesinde planlama rakamlarıdır. CAPEX tek seferlik donanımdır; bulut rakamları ilgili ölçekte aylık BAA uç-nokta harcamasıdır.

PoC — LLM ServingPoC — LLM Sunumu

1× RTX 4090 24GB running an 8B model for the pipeline test — or 1× A100 80GB / RTX 6000 Ada 48GB to serve a 70B-class model at INT4. The heaviest subsystem is LLM inference serving for the four agents.1× RTX 4090 24GB, hat testi için bir 8B model çalıştırır — veya 1× A100 80GB / RTX 6000 Ada 48GB ile bir 70B sınıfı modeli INT4'te sunmak için. En ağır alt sistem, dört ajan için LLM çıkarım sunumudur.

Pilot — LLM ServingPilot — LLM Sunumu

2× H100 80GB (or 2× A100 80GB), serving a 70B AWQ-INT4 model as single-GPU replicas — the lowest latency for the four sequential agents.2× H100 80GB (veya 2× A100 80GB), bir 70B AWQ-INT4 modeli tek-GPU kopyaları olarak sunar — dört sıralı ajan için en düşük gecikme.

Production — LLM ServingProduction — LLM Sunumu

8× H100 / H200 per node × 2–4 nodes (16–32 GPUs), N+1 HA, NVSwitch; tiered models per agent and per-domain fleet isolation.Düğüm başına 8× H100 / H200 × 2–4 düğüm (16–32 GPU), N+1 HA, NVSwitch; ajan başına katmanlı modeller ve alan başına filo izolasyonu.

Systems ModelSistem Modeli

Sizing the
silicon.
Silikonu
boyutlamak.

These are the equations that turn a model plus its traffic into a concrete GPU bill — VRAM, KV-cache per token, concurrency, end-to-end latency, and the cloud-vs-self-hosting break-even — worked through on a 70B INT4 example so the numbers are real, not abstract.Bunlar, bir modeli ve trafiğini somut bir GPU faturasına dönüştüren denklemlerdir — VRAM, token başına KV-önbelleği, eşzamanlılık, uçtan uca gecikme ve bulut ile öz-barındırma arasındaki başabaş noktası — sayılar soyut değil gerçek olsun diye bir 70B INT4 örneği üzerinden işlenmiştir.

VRAM ≈ P·bw (weights) + mkv·S·B (KV cache) + A;  bw = 2 (FP16), 0.5 (INT4)
Total VRAM = weights + KV cache + activation overhead.Toplam VRAM = ağırlıklar + KV önbelleği + aktivasyon payı.
IntuitionSezgi
GPU tank — 80 GBweights 35KV cacheactivation ~2free
Think of GPU memory as a fixed tank — say 80 GB. The model weights pour in first and sit solid at the bottom: a 70B model at INT4 takes about 35 GB and never moves. Then every turn of the conversation stacks KV cache on top, rising as you talk, plus a thin slice for activations — and whatever space is left up top is your working room.GPU belleğini sabit bir depo gibi düşün — diyelim 80 GB. Önce model ağırlıkları dolar ve dipte sağlam durur: INT4’te bir 70B model yaklaşık 35 GB tutar ve hiç oynamaz. Sonra konuşmanın her turu üstüne KV önbelleği yığar, sen konuştukça yükselir; bir de aktivasyonlar için ince bir dilim eklenir — tepede kalan boşluk da senin çalışma alanın olur.
Worked exampleÖrnek hesap
70B at INT4: weights = 70 × 0.5 = 35 GB. Then add the KV cache (next equation) and ~2–3 GB of activation/framework overhead.INT4'te 70B: ağırlıklar = 70 × 0.5 = 35 GB. Ardından KV önbelleğini (sonraki denklem) ve ~2–3 GB aktivasyon/çerçeve payını ekle.
mkv = 2·L·Hkv·dhead·bkv = 2·80·8·128·2 = 327,680 B ≈ 0.31 MB/token
KV-cache per token for a 70B GQA model (80 layers, 8 KV heads, head-dim 128, FP16).70B GQA model için token başına KV önbelleği (80 katman, 8 KV başlığı, başlık-boyutu 128, FP16).
IntuitionSezgi
0.31 MB0.31 MB0.31 MB0.31 MB0.31 MBlonger chat → taller stack
Think of the model as a clerk who files one index card for every word it reads. Each card costs about 0.31 MB on a 70B model, and the pile never shrinks during the chat: one word, one card; ten thousand words, ten thousand cards. The longer you talk, the taller the stack — which is exactly why long conversations quietly fill up memory.Modeli, okuduğu her kelime için bir fiş dolduran bir memur gibi düşün. 70B'lik bir modelde her fiş yaklaşık 0.31 MB yer kaplar ve sohbet boyunca yığın hiç küçülmez: bir kelime, bir fiş; on bin kelime, on bin fiş. Sohbet uzadıkça yığın yükselir; uzun konuşmaların belleği sessizce doldurmasının sebebi tam olarak budur.
Worked exampleÖrnek hesap
Two tensors (K and V) × 80 layers × 8 KV-heads × 128 head-dim × 2 bytes (FP16) = 327,680 bytes = 0.3125 MB per token.İki tensör (K ve V) × 80 katman × 8 KV-başlığı × 128 başlık-boyutu × 2 bayt (FP16) = 327.680 bayt = token başına 0.3125 MB.
Bmax = (VRAMgpu − P·bw) / (mkv·S) = (80 − 35 GB) / (0.31 MB × 8192) ≈ 17 dizi @ 8K
Concurrent 8K-token sequences a single 80 GB GPU serves for a 70B INT4 model.Tek bir 80 GB GPU'nun 70B INT4 model için sunduğu eşzamanlı 8K-token dizisi sayısı.
IntuitionSezgi
free VRAM = 45 GBeach slot = 1 chat @8K = 2.7 GB45 GB ÷ 2.7 GB≈ 16
Once the model's weights claim their slice, what's left is one shared shelf for live chats. Picture a 45 GB shelf where every conversation needs a 2.7 GB box: fit one, then another, then another. Keep stacking until the shelf is full — about 16 boxes — and that's how many people you can serve at the same time.Modelin ağırlıkları kendi payını aldıktan sonra geriye kalan, canlı sohbetlerin paylaştığı ortak bir raf gibidir. 45 GB'lık bir raf düşünün; her sohbet 2,7 GB'lık bir kutu istiyor: bir tane koy, sonra bir tane daha, derken bir tane daha. Raf dolana kadar üst üste dizmeye devam et — yaklaşık 16 kutu — işte aynı anda hizmet verebileceğin kişi sayısı bu kadar.
Worked exampleÖrnek hesap
On an 80 GB GPU: 80 − 35 (weights) ≈ 45 GB free. Each 8K-token sequence needs 0.3125 MB × 8192 ≈ 2.56 GB. 45 / 2.56 ≈ 17 concurrent sequences.80 GB'lık bir GPU'da: 80 − 35 (ağırlıklar) ≈ 45 GB boş. Her 8K-token dizisi 0.3125 MB × 8192 ≈ 2.56 GB gerektirir. 45 / 2.56 ≈ 17 eşzamanlı dizi.
Ltask = Σi=1..4 ( Pi/rpref + Oi/rdec )
End-to-end latency of the 4 sequential agents = sum of prefill + decode time per hop.4 sıralı ajanın uçtan uca gecikmesi = her adımda dolum + çözme süresinin toplamı.
IntuitionSezgi
TriageDiagnosisMedicationCare Planpredecodetotal = sum
The four agents run like a relay race, not all at once — each waits for the baton before it runs. Every agent first reads its prompt (the thin prefill), then writes its answer (the wide decode): Triage finishes, then Diagnosis starts, then Medication, then Care Plan. Four hops back-to-back means the user's total wait is just all four times stacked end to end.Dört ajan aynı anda değil, bir bayrak yarışı gibi sırayla çalışır — her biri bayrağı almadan koşmaz. Her ajan önce kendi istemini okur (ince prefill), sonra yanıtını yazar (geniş decode): Triyaj biter, sonra Teşhis başlar, ardından İlaç, en son Bakım Planı. Dört durak peş peşe olunca, kullanıcının toplam beklemesi bu dört sürenin uç uca eklenmesinden ibarettir.
Worked exampleÖrnek hesap
If each agent reads ~2,000 prompt tokens (prefill ≈3,000 tok/s → 0.67 s) and writes ~400 (decode ≈80 tok/s → 5.0 s), one hop ≈5.7 s; 4 sequential hops ≈23 s end-to-end.Her ajan ~2.000 istem token'ı okur (dolum ≈3.000 tok/s → 0.67 s) ve ~400 token yazarsa (çözme ≈80 tok/s → 5.0 s), bir adım ≈5.7 s; 4 sıralı adım uçtan uca ≈23 s.
Cself = Ccapex/m + Cpow + Cstaff;  Ccloud(x) = p·x;  x* = Cself/p ≈ 1–10B tok/ay
Self-hosting beats the BAA cloud API only past a few billion tokens/month (power + cooling + staff included).Öz-barındırma, BAA bulut API'sini ancak birkaç milyar token/ay üzerinde geçer (güç + soğutma + personel dahil).
IntuitionSezgi
self-host (fixed)cloud API(pay per use)cloud cheaperself-host cheaperx* ≈ a few B/mo$tokens
Owning the GPUs is like leasing a car: one big bill every month whether you drive 10 miles or 10,000. Renting a cloud API is like a taxi: cheap for a quick trip, but the meter never stops. Plot both and they cross at a few billion tokens a month — below that the taxi wins, above it the lease finally pays off.Kendi GPU'nu sahiplenmek araba kiralamak gibidir: ister 10 km ister 10.000 km git, her ay aynı büyük fatura gelir. Bulut API kiralamak ise taksi gibidir: kısa yolda ucuzdur ama sayaç hiç durmaz. İkisini çizdiğinde çizgiler ayda birkaç milyar token civarında kesişir — altında taksi kazanır, üstünde kiralama nihayet kendini amorti eder.
Worked exampleÖrnek hesap
With self-host TCO ≈ $50k/mo (amortised GPUs + power + 1–2 MLOps engineers) and a blended BAA price ≈ $6 per 1M tokens, break-even = 50,000 ÷ 6 ≈ 8.3 billion tokens/month. Below that, the managed BAA API is cheaper.Öz-barındırma TCO ≈ $50k/ay (amortismanlı GPU'lar + güç + 1–2 MLOps mühendisi) ve harmanlanmış BAA fiyatı ≈ 1M token başına $6 ile, başabaş = 50.000 ÷ 6 ≈ ayda 8.3 milyar token. Bunun altında, yönetilen BAA API'si daha ucuzdur.

Interactive — GPU sizing calculatorEtkileşimli — GPU boyutlama hesaplayıcı

Pick a model, quantization, GPU and context length to size VRAM, KV cache and concurrency live.VRAM, KV önbelleği ve eşzamanlılığı canlı hesaplamak için model, kuantizasyon, GPU ve bağlam uzunluğu seç.

Model does not fit — use heavier quantization or a bigger GPU.Model sığmıyor — daha ağır kuantizasyon veya daha büyük GPU kullan.
Weights VRAMAğırlık VRAM
KV / tokenKV / token
KV per sequence @ctxDizi başına KV @ctx
Free VRAMBoş VRAM
Max concurrent sequencesMaks. eşzamanlı dizi
Cost / break-evenMaliyet / başabaş
Break-even volumeBaşabaş hacmi Below this volume the BAA cloud API is cheaper than self-hosting.Bu hacmin altında BAA bulut API'si öz-barındırmadan daha ucuzdur.
Subsystems & ComplianceAlt Sistemler ve Uyumluluk

Everything around
the GPUs.
GPU'ların
etrafındaki her şey.

Vector Memory DBVektör Bellek DB

RAM-bound: ~99 GB at 50M / ~394 GB at 200M vectors (int8, RF=2). The compressed store is served from memory for fast top-k recall.RAM'e bağlı: 50M'de ~99 GB / 200M vektörde ~394 GB (int8, RF=2). Sıkıştırılmış depo, hızlı top-k geri çağırma için bellekten sunulur.

EmbeddingsGömme Vektörleri

Small L4 24GB GPUs handle embedding generation — cheap, parallel, and well separated from the heavy LLM-serving tier.Küçük L4 24GB GPU'lar gömme üretimini yürütür — ucuz, paralel ve ağır LLM-sunum katmanından iyi ayrılmış.

Entity NERVarlık NER

Upgrade from regex to a transformer NER (clinical / financial): L4 for inference + A100 80GB for training. An H100 is overkill here.Regex'ten bir transformer NER'e yükseltme (klinik / finansal): çıkarım için L4 + eğitim için A100 80GB. Burada bir H100 fazlasıyla yeterlidir.

Compliance InfraUyumluluk Altyapısı

HSM HA pair (~$60–120k), next-gen firewall HA pair (~$40–80k), network segmentation, immutable audit logs (6-yr HIPAA / 1-yr PCI), PAN tokenization.HSM HA çifti (~$60–120k), yeni nesil güvenlik duvarı HA çifti (~$40–80k), ağ segmentasyonu, değiştirilemez denetim günlükleri (6-yıl HIPAA / 1-yıl PCI), PAN tokenizasyonu.

GATEEŞİKCOMPLIANCE DECIDESUYUMLULUK KARAR VERİR

The compliance gate. The moment real PHI (HIPAA) or cardholder data (PCI-DSS) is used, consumer LLM APIs are forbidden — only a signed-BAA enterprise endpoint (Azure OpenAI / AWS Bedrock / Vertex / Anthropic enterprise) or fully on-prem self-hosting is allowed. Finance additionally needs its own PCI-DSS attestation, not just a HIPAA BAA.Uyumluluk eşiği. Gerçek PHI (HIPAA) veya kart sahibi verisi (PCI-DSS) kullanıldığı anda tüketici LLM API'leri yasaktır — yalnızca imzalı-BAA kurumsal uç noktası (Azure OpenAI / AWS Bedrock / Vertex / Anthropic kurumsal) veya tamamen yerinde (on-prem) öz-barındırma izinlidir. Finans, yalnızca bir HIPAA BAA değil, ek olarak kendi PCI-DSS beyanına ihtiyaç duyar.

Deployment PathsDağıtım Yolları

Two ways
to run it.
Çalıştırmanın
iki yolu.

Self-Hosted On-PremYerinde Öz-Barındırma

Full data control and the compliance default for sensitive data — the data never leaves the building. Predictable cost at high steady volume, at the price of running your own GPU fleet.Tam veri kontrolü ve hassas veri için uyumluluk varsayılanı — veri binayı asla terk etmez. Yüksek ve istikrarlı hacimde öngörülebilir maliyet, kendi GPU filonuzu çalıştırma bedeliyle.

BAA Managed CloudBAA Yönetilen Bulut

Cheaper at moderate volume, elastic, and no GPU operations to run. Requires a signed BAA, (for finance) a PCI attestation, and PrivateLink so traffic never traverses the public internet.Orta hacimde daha ucuz, esnek ve çalıştırılacak GPU operasyonu yok. İmzalı bir BAA, (finans için) bir PCI beyanı ve trafiğin halka açık internetten geçmemesi için PrivateLink gerektirir.

Self-hosting only beats the BAA cloud API past the order of a few billion tokens/month once power, cooling and 1–2 MLOps staff are counted — below that, the managed BAA API is cheaper.Öz-barındırma, güç, soğutma ve 1–2 MLOps personeli sayıldığında BAA bulut API'sini ancak birkaç milyar token/ay mertebesinin üzerinde geçer — bunun altında, yönetilen BAA API'si daha ucuzdur.

RoadmapYol Haritası

Where MNEMOS
goes next.
MNEMOS bundan
sonra nereye.

DoneTamamlandı

Architecture + Hardware SizingMimari + Donanım Boyutlandırma

The full design: scoring model, three-tier compression, pipeline, and the staged GPU + compliance sizing.Tüm tasarım: skorlama modeli, üç katmanlı sıkıştırma, hat ve aşamalı GPU + uyumluluk boyutlandırması.

NextSıradaki

PoC on Real DataGerçek Veride PoC

Run on real data + a real vector DB — on a single GPU box or a BAA cloud endpoint.Gerçek veri + gerçek vektör DB üzerinde çalıştırma — tek bir GPU kutusunda veya bir BAA bulut uç noktasında.

ThenArdından

Single-Domain PilotTek-Alan Pilotu

A single-domain pilot on a 2×80GB node, with real users and real sensitive data.2×80GB düğüm üzerinde, gerçek kullanıcılar ve gerçek hassas veriyle tek-alan pilotu.

ThenArdından

HA ProductionHA Production

High-availability production across both domains — fleet isolation, N+1 redundancy, full compliance.Her iki alanda yüksek erişilebilirlikli üretim — filo izolasyonu, N+1 yedeklilik, tam uyumluluk.

Forward-looking status, not measured results. MNEMOS is at the design → PoC boundary today.Ölçülmüş sonuçlar değil, ileriye dönük durum. MNEMOS bugün tasarım → PoC sınırındadır.