AI Sözlüğü · 62 terim

AI Sözlüğü

Agent, context window, MCP, vibe coding, sycophancy… Claude Code ve genel AI coding dünyasının sık kullanılan terimleri — Türkçe açıklama, kullanım örnekleri ve Türk geliştirici makaleleri ile.

Adaptasyon kaynağı: mattpocock/dictionary-of-ai-coding · Türkçeleştirme ve kaynak ekleme: claudenews.

A

AFK

Away from keyboardbackground agent

Kullanıcının bir session başlatıp agent'ı kendi başına çalışmaya bıraktığı kullanım pattern'ı — klavyeden uzakta.

AI coding'in iş gücü çarpanı. Bir refactor verirsiniz, kahve molasına çıkarsınız, geri döndüğünüzde PR hazır olur. Aynı anda birkaç AFK session paralel koşabilir — siz uyurken, yemek yerken, başka bir işle uğraşırken. Güvenli olması için genellikle gevşek bir permission mode + sandbox şart; aksi halde gözetimsiz agent prod'a istemediğiniz commit'leri pushlayabilir.

Kaçın: "Background agent" terimi makineye odaklanır ("arka planda çalışıyor"); AFK ise yük taşıyan gerçeği vurgular: kullanıcı izlemiyor.

— Bunu AFK koşuyorum, üç sandbox'lı agent refactor üstünde, sabah PR'ları gözden geçiririm.
— Bypass permissions açtın mı?
— Evet, read-only filesystem, ağ kapalı.
Kaynaklar (1)

Agent

Bir hedefe ulaşmak için ortamı algılayan, kararlar veren ve tools çağırarak harekete geçen otonom yazılım sistemi.

Agent, yapay zeka koşan bir LLM ile environment (filesystem, terminal, API'ler) arasında köprü kuran sistemdir. Kullanıcıdan gelen bir hedefi alır, bir loop içinde "düşün → tool çağır → sonucu al → bir sonraki adıma karar ver" döngüsünü tekrarlar. Claude Code, Cursor, Cline, Aider gibi araçların hepsi farklı agent harness'larıdır. Agent'ın "akıllı" olması büyük ölçüde model kapasitesine ve harness'ın tools'u ne kadar iyi tasarladığına bağlıdır.

Kaçın: "Chatbot" ile karıştırmayın — chatbot reaktif konuşur, agent proaktif tools çağırır ve loop yürütür.

— Bu task için agent kursak mı?
— Evet, file edit + test koş + kontrol gerekiyor — single-shot prompt yetmez.
Kaynaklar (5)

Agent mode

plan modeaccept-editsbypass permissionsYOLO mode

Permission mode ile system prompt'a enjekte edilen davranışsal talimatları paketleyen preset. Session ortasında değişebilir.

Agent'ın çalışma şeklini runtime'da şekillendiren preset. Örnekler: riskli çağrılarda izin soran default; edit'leri bloklayıp agent'ı araştırmaya yönlendiren plan mode; edit'leri otomatik onaylayan accept-edits; her şeyi onaylayan bypass permissions (halk dilinde YOLO mode). Karmaşık bir feature başında plan mode, refactor sırasında accept-edits, sandbox'lı uzun runlarda YOLO mode — task'a göre değişir.

Kaçın: Agent mode'u permission mode ile karıştırmayın: agent mode, permission mode + system prompt davranışı paketidir.

— Plan mode'da başla, ben spec'i onayladıktan sonra accept-edits'e geç.
Kaynaklar (1)

AGENTS.md

CLAUDE.mdGEMINI.mdROO.md

Bir repo'daki agent'a proje kurallarını, build komutlarını, mimariyi anlatan markdown talimat dosyası.

Repo köküne (veya `.claude/` gibi alt klasöre) konulan markdown dosyası. Agent her session'da bunu okur ve kuralları/bağlamı tüm konuşmaya uygular. "Test'leri pnpm test ile koş", "Hard-coded API key kullanma", "Component'leri src/components/ altına yaz" gibi talimatlar buraya gider. Anthropic'in `CLAUDE.md`'si, OpenAI/Gemini'nin `AGENTS.md`'si, Cursor'ın `.cursorrules`'u — hepsi aynı pattern.

Kaçın: AGENTS.md'ye proje hikayesini değil, agent'ın **eyleme geçerken** ihtiyaç duyacağı kuralları yazın. Gereksiz markdown şişirmesi context'i tüketir.

— AGENTS.md'ye "prod migration'larını test ortamında dene" satırı ekledim, artık doğrudan prod'a basmıyor.
Kaynaklar (3)

Attention budget

Bir model'in context window'undaki token'lara dağıttığı sonlu "odak" kapasitesi.

Context window çok büyük olabilir (1M token), ama model'in dikkati eşit dağılmaz — son okuduklarına ve token sayısı az olanlara daha çok odaklanır. Attention budget bu kapasitenin kavramsal adıdır. Her ek talimat, her ek dosya, her ek tool result bütçeden yer yer; budget tükendikçe model önceki talimatları unutur, dosya içeriğini gözden kaçırır. "Bigger context = better" mit'ini kıran şey budur.

Kaçın: "Attention budget" ile "context window" eş anlamlı değildir: ikincisi sınır, ilki sınır içindeki kullanılabilir odak.

— Bu prompt 200K token, neden cevap saçma?
— Attention budget bitti — başa eklediğin spec'i model son turn'lerde unuttu.
Kaynaklar (1)

Attention degradation

Context büyüdükçe model'in talimatlara/içeriğe daha az odaklanması — kalitenin düşmesi.

Aynı model, 5 turn sonra mükemmel iş çıkarırken 50 turn sonra aynı task'te halüsinasyon görür. Sebep: token sayısı arttıkça attention sulanır, modelin dikkati dağılır, talimatlar arka plana itilir. Belirti: "yapma X" dediğiniz şeyi yapması, daha önce verdiğiniz dosyanın içeriğini uydurması, kararsız tool çağrıları. Çözüm: clearing (yeni session), compaction (özetle), veya konuyu küçük subagent'lara bölmek.

Kaçın: "Model aptallaştı" diyerek kapatmayın — degradation tanılanabilir bir durum, modelin kapasitesi değişmedi, attention dağıldı.

— 80. turn'de testleri silmeye başladı, halbuki spec'te "silme" yazıyor.
— Attention degradation. Compact et veya clear, baştan başla.
Kaynaklar (1)

Attention relationship

Modelin context'teki iki token arasında kurduğu "bunlar ilişkili" bağı — transformer'ın temel mekanizması.

Attention, transformer mimarisinin kalbi: her token, diğer token'lara ne kadar "baksın" ağırlıklarını öğrenir. Bir fonksiyon adı, tanımıyla ilişkilenir; bir hata mesajı, ona sebep olan satırla ilişkilenir. AI coding pratikte: doğru attention relationship kurulursa model kodu "anlar"; kurulamazsa (örn. ilgili dosyalar uzakta veya context'te yoksa) kod uydurur.

Kaçın: Attention relationship'i "semantic search" ile karıştırmayın: ilki model içinde otomatik öğrenilir, ikincisi dış sistemde elle kurulur.

— Function'ı pasted code üstünde tanımladık, neden hâlâ eski signature ile çağırıyor?
— Attention relationship zayıf kalmış — eski versiyon başta, yeni 30 turn sonra. Yeni tanımı tekrar yapıştır.
Kaynaklar (3)

Autocompact

Context window dolduğunda harness'ın otomatik tetiklediği compaction.

Manuel compaction'a karar veremiyorsanız harness siz adına yapar: token sınırına yaklaştığında geçmiş turn'leri özetleyip yerine kısa bir özet koyar. Avantaj: session'ı bozmadan sürer. Dezavantaj: özetleme kaybı yaşanır — özellikle önemli ama özet sırasında atlanan detaylar (özel API signature, saved decisions) kaybolur.

Kaçın: Autocompact'a kritik decision'ları emanet etmeyin — önemli kararları AGENTS.md veya memory system'a yazın.

— Autocompact tetiklendi, sonrasında migration adımını yanlış sıraya koydu.
— Compaction sırasında order kaybolmuş. Compact öncesi özetlerken sıralı liste yapmak gerek.
Kaynaklar (1)

Automated check

Agent'ın çıktısını insanın gözden geçirmesi olmadan otomatik doğrulayan kontrol — typecheck, test, lint, build.

AI coding'in güvenlik ağı. Agent kod yazar, automated check kabul eder veya reddeder. "`pnpm test` geçti mi?" sorusunun otomatize edilmiş hâli. Hızlı, deterministic, ucuz — ama kapsamı sınırlı: testin olmadığı bug'ı yakalayamaz. Vibe coding gibi insan review'unun olmadığı pattern'lerde tek kale.

Kaçın: Automated check'i "automated review" ile karıştırmayın: ilki binary (geçti/kaldı), ikincisi yargı içerir.

— PR otomatik mergeli mi?
— Sadece typecheck + test geçtikten sonra. Automated check'ler kale.
Kaynaklar (1)

Automated review

Bir başka model'in (genelde daha güçlü) ilk model'in çıktısını yargılayıp eleştirdiği gözden geçirme.

Kod yazılır → ikinci bir agent (örn. Claude Opus, code-review skill, ultrareview) PR'ı okur, yorum bırakır, yanlış desenleri işaret eder. Insan review'un yerini tam tutmaz ama pre-review olarak çok değerlidir: insanın gözünden kaçacak şeyleri yakalar. Pratikte: GitHub Action içinden agent çağırmak, Claude Code'un içinden code-review skill'i koşmak.

Kaçın: "Automated review yapıldı, merge edebilirim" — bu sycophancy riskli kararı gizler. Kritik PR'lara yine insan baksın.

— Migration PR'ına automated review koştum — "order'ı index'ten sonra alın" dedi, haklıydı.
Kaynaklar (1)

C

Cache tokens

Prefix cache'ten okunarak yeniden hesaplanmadan kullanılan token'lar — hem ucuz hem hızlı.

Anthropic ve OpenAI gibi sağlayıcılar, prompt'un başında değişmeyen kısmı cache'ler (örn. system prompt + AGENTS.md). İkinci request'te bu kısım için input token'ı tam fiyatla değil, ~%10'una alırsınız; latency da düşer. Cache token'lar metering'de ayrı sayılır. Pratik etki: aynı session'da uzun system prompt'unuz varsa fatura ciddi düşer.

Kaçın: Cache token'lar prompt'un sonuna konursa cache hit alamazsınız — değişmeyen şeyler hep önde olmalı.

— Bu session'da 800K input token harcamışım, fatura ne olacak?
— Çoğu cache token, panik yok. ~%85 hit rate var.
Kaynaklar (1)

Clearing

Mevcut session'ı tamamen kapatıp temiz bir context window ile yenisini başlatmak.

Context kirlendiyse (yanlış decision'lar, halüsinasyon spirali, attention degradation) en hızlı çözüm: clear et, baştan başla. Compaction'dan farkı: özet bile tutulmaz, her şey gider. AGENTS.md ve memory system kalır. Boris Çerni'nin tavsiyesi: "sık sık clear et" — uzun session'lar tipik olarak kötü session'lardır.

Kaçın: Clearing'i "reset" gibi düşünmeyin: agent state'i siz korumadıysanız (memory, AGENTS.md) kayboldu.

— 60 turn'dür aynı testi geçiremiyor. Ne yapayım?
— Clear. Spec'i ve son durumu yeni session'a yaz.
Kaynaklar (1)

Compaction

Context window dolmadan eski turn'leri özetle değiştirip alan açan teknik.

Long-running session'larda kaçınılmaz: 200K context'te 180K dolduğunda yeni dosya okuyamaz hâle gelirsiniz. Compaction, eski turn'leri (özellikle artık gerek olmayan tool result'larını) bir özet bloğuyla değiştirir; alan açılır, session devam eder. Kayıp var: detay erir, ama state korunur. Manuel veya autocompact ile yapılır.

Kaçın: Önemli decision'ı "compaction sonrası nasıl olsa hatırlar" diye varsayma — özet sırasında atılabilir. AGENTS.md'ye not düş.

— Bu refactor 4 saattir koşuyor, hâlâ bitmedi.
— Compact et, son durumu özet olarak ver, yola devam.
Kaynaklar (1)

Context

Modelin bir turn'de gördüğü her şey — system prompt, geçmiş mesajlar, dosyalar, tool result'ları.

"Modelin önündeki bilgi." Context window içine konulan her şey. Kötü context = kötü cevap; iyi context = iyi cevap. Context engineering disiplini bunun için var: doğru bilgiyi doğru yerde, doğru biçimde koymak. Yetersiz context'te model hayal kurar (factuality hallucination); fazla/dağınık context'te dikkat dağılır (faithfulness hallucination).

Kaçın: "Context = prompt" demeyin — prompt context'in bir parçası, ama tools, files, tool result'ları, system prompt da dahil.

— Neden Tailwind 3 syntax üretiyor?
— Context'inde Tailwind 4 belgeleri yok. AGENTS.md'ye ekle veya pasted ile gönder.
Kaynaklar (1)

Context pointer

Context'e doğrudan yüklenmek yerine "buradan al" diye işaretlenen bir referans — dosya yolu, URL, veritabanı handle'ı.

Context window'a 50KB'lık bir doc dosyasını basmak yerine, "`docs/auth.md`'yi oku" diye gösterirsiniz; agent ihtiyaç duyduğunda Read tool ile çeker. Avantaj: token tasarrufu, lazy loading, attention dağılmaz. Dezavantaj: agent pointer'ı izlemezse bilgi kullanılmaz. Skill'ler bu pattern'in sistemli hâlidir.

Kaçın: Pointer'ı yazıp izlenmediği için kötü çıktı geldiğinde sebebini bilemezsiniz; pointer'ın nasıl ve ne zaman okunacağını da yazın.

— Context'e tüm openapi spec'i basayım mı?
— Yapma, çok büyük. Pointer ver, gerektiğinde okur.
Kaynaklar (1)

Context window

Modelin tek bir request'te işleyebileceği maksimum token sayısı — "kısa süreli hafıza."

Modelin gördüğü her şey (input + output) bu pencerenin içinde olmalı. 2026'da yaygın boyutlar: GPT-5 ~400K, Claude 4.7 200K-1M, Gemini 3 1M, Llama 4 Scout 10M. Boyut büyüdükçe ücret artar, ve attention degradation devreye girer — "daha büyük context = daha iyi sonuç" değil. Bir token ~ 4 karakter; 1M token ≈ 750K kelime, kalın bir roman.

Kaçın: "1M context'im var, her şeyi içine atarım" — pratikte 1M kullanılabilir attention'a dönüşmez. "Lost in the middle" gerçek.

— 200K context yeter mi?
— Repo 60K satır kod, evet — ama her şeyi yükleme, sadece ilgili modülü.
Kaynaklar (2)

Contextual knowledge

Context window'a session anında yüklenen bilgi — dosyalar, tool result, kullanıcı mesajları.

Modelin "şu an gördüğü" bilgi. Parametric knowledge'tan farkı: model'in iç ağırlıklarına yazılı değil, geçicidir, session bitince kaybolur. AI coding'de doğru contextual knowledge'ı yüklemek (doğru dosya, doğru doc, doğru spec) — task'ın yarısıdır. Yanlış yüklenirse model parametric knowledge'a düşer ve halüsinasyon görür.

Kaçın: Contextual knowledge'ı "prompt'a yapıştırılan şey" olarak görmeyin — tool result'lar da, geçmiş turn'ler de buna dahil.

— Yeni TanStack Router kullanıyoruz, model neden eski API'yi öneriyor?
— Contextual knowledge yetersiz — son docs'u okutmadın, parametric'ten çekiyor.
Kaynaklar (1)

D

Design concept

Bir agent harness'ının davranışını belirleyen, açıkça veya örtük olarak savunulan tasarım kararı.

Claude Code "plan mode'la başla, sonra edit'e geç" der; Cursor inline tab completion'a yatırım yapar; Aider git commit pattern'ı zorunlu kılar. Bunlar feature listesi değil, design concept'tir. Bir araç değiştirdiğinizde aslında concept'i değiştirirsiniz. Best practice'ler genelde concept'lere aittir: "plan first" (Claude Code), "file-level focus" (Aider), "agent teams" (Crew).

Kaçın: İki harness'ı feature'larına göre kıyaslamayın — concept'lerine göre kıyaslayın, sonra hangi concept ekibinize uyuyor karar verin.

— Cursor mı Claude Code mu?
— Concept'leri farklı: Cursor IDE-içi, Claude Code agent-teams ve plan mode merkezli. İşin türüne göre.
Kaynaklar (1)

E

Environment

Agent'ın içinde çalıştığı dış dünya — filesystem, network, terminal, env variables.

Agent sadece düşünmez, yapar — ve yaptığı her şey environment'ı etkiler. Hangi dosyalara erişebilir, hangi komutu koşabilir, hangi API'lere ulaşabilir... hepsi environment tanımı. Sandbox bu environment'ı sınırlar; permission mode hangi aksiyonlara izin verir. Environment'ı tasarlamak = agent'ın güvenlik sınırlarını çizmek.

Kaçın: Environment'ı "shell" zannetmeyin — filesystem, network, MCP server'ları, secrets de dahildir.

— Agent prod DB'sine yazma yetkisi olmayan environment'ta koşsun, dev DB'ye okuma sınırlı.
Kaynaklar (1)

F

Filesystem

Agent'ın okuyup yazabildiği dosya/klasör hiyerarşisi — environment'ın en sık kullanılan parçası.

Coding agent'ın ana iş yüzeyi. Read, Write, Edit tools'u burada operasyon yapar. Read-only filesystem: sadece okuma; sandbox'lı filesystem: sadece worktree veya geçici dizine yazma; full access: ev klasörünüze kadar her yere. AFK runs için read-only veya sandboxed filesystem genelde minimum güvenlik gerekliliğidir.

Kaçın: "Filesystem'e tam erişim ver, agent kendi dosyalarını yönetsin" — gözetimsiz koşuda data loss riski yaratır.

— Bypass permissions ile mi koşacak?
— Evet ama filesystem read-only, ağ kapalı.
Kaynaklar (1)

G

Grilling

Bir spec'i veya kod tasarımını agent'a sorgulatıp zayıf noktalarını bulmaya çalışmak — sokrasik baskı.

Spec hazır gibi görünüyor ama gerçekten sağlam mı? Modeli devil's advocate moduna sokup "şu durumda ne olur, neden bu çözüm değil de o, sınır koşullarda kırılmaz mı" sorularıyla baskılamak. Mattpocock'un yaygınlaştırdığı pattern. Plan mode + grilling kombinasyonu, kod yazılmadan önce spec'i sertleştirir.

Kaçın: Grilling'i pasif onay sürecine çevirmeyin — model "bu mükemmel" derse spec yetersiz veya sycophancy var.

— Spec'i grill et: 5 zayıf nokta, 3 alternative implementation, 2 edge case.
Kaynaklar (1)

H

Hallucination

halüsinasyon

Modelin kendinden emin biçimde yanlış çıktı üretmesi. İki türü: factuality (uydurulmuş gerçek) ve faithfulness (yüklenen context'ten sapma).

Factuality hallucination: olmayan bir fonksiyon, yanlış API imzası, sahte alıntı. Sebep: parametric knowledge boşluğu, knowledge cutoff. Çözüm: doğru contextual knowledge yüklemek. Faithfulness hallucination: yüklenen doc'tan sapma, talimatları unutma. Sebep: attention degradation, dumb zone'a düşüş. Çözüm: clear veya compact. LLM'ler bilgi tabanlı değil olasılık tabanlı çalışır; "şu doğrudur" demez, "bu kelime grubuna genelde şöyle devam edilir" der.

Kaçın: "Halüsinasyon gördü" demeyin türünü belirtmeden — factuality mı faithfulness mı, ona göre fix değişir.

— Schema'da `parseAsync` metodu uydurdu.
— Factuality mı faithfulness mı?
— Doc'u yapıştırmıştım ama 40. turn'den sonra okumayı bıraktı.
— Faithfulness. Compact ve reload, doc eklemekle olmaz.
Kaynaklar (4)

Handoff

Bir session'dan diğerine veya bir agent'tan diğerine yapılan kontrollü bağlam transferi.

Uzun bir session bittiğinde (clear öncesi) veya farklı bir agent'a iş verirken: "şimdiye kadar ne yapıldı, ne kalmıştı, hangi kararlar alındı?" sorusunun yapılı cevabı. Iyi bir handoff: spec + tamamlanan adımlar + açık problemler + öneri. Kötü bir handoff: "devam et". Anthropic'in handoff skill'leri bu işi otomatize eder.

Kaçın: Handoff'u tamamlama listesine indirgemeyin — niyet, kısıt, alternative'ler de yer almalı.

— 4 saatlik refactor session'ı bitti, devamı sabaha. Handoff yaz.
— Spec, son commit, 2 açık test, sabah ilk: db migration sıralaması.
Kaynaklar (1)

Handoff artifact

Handoff'u somutlaştıran kalıcı çıktı — markdown dosyası, ticket comment, AGENTS.md güncellemesi.

Handoff bir aksiyon, artifact onun bıraktığı iz. `HANDOFF.md`, PR description, Linear ticket'ında kalan note'lar... Sonraki agent veya insan bu artifact'ı okur. İyi bir artifact: standalone okunabilir, file path + line number içerir, kararı ("neden") açıklar.

Kaçın: Handoff artifact'ı sohbete gömmeyin — file/comment/spec'e yazılmazsa kayboluyor demektir.

— Bu PR'a handoff artifact koymalı mıyız?
— Evet, sabah devralan kişi spec'i ve open issue'ları görmeli.
Kaynaklar (1)

Harness

LLM'i alıp etrafına tools, loop, permission system, UI ekleyerek işlevsel agent'a dönüştüren yazılım katmanı.

Model raw bir text completion engine. Harness onu agent yapar: tool calling protokolünü kurar, file edit'leri uygular, permission soruları gösterir, history'yi yönetir, attention budget'ı izler. Claude Code, Cursor, Cline, Aider, Roo, Continue — hepsi farklı harness. Aynı modeli farklı harness'larda koştuğunuzda farklı kalitede sonuç alırsınız çünkü harness, modelin attention'ını yönlendirir.

Kaçın: "Hangi model daha iyi" sorusunu harness'tan ayırmayın — harness 5/10 ise model 10/10 olsa bile sonuç ortalama.

— GPT-5 mi Claude 4.7 mi?
— Hangi harness'ta? Cursor'da X, Claude Code'da Y davranır.
Kaynaklar (1)

Human review

Bir insanın agent'ın çıktısını (kod, plan, decision) gözden geçirmesi.

AI coding'in kalite filtresi. Vibe coding'in karşıtı: insan diff'i okur, soru sorar, ret edebilir. Otomatik check'lerin yakalayamadığı şeyleri (intent uyumsuzluğu, security smell, kötü API tasarımı) yakalar. Yüksek riskli alanlarda (auth, payment, migration) zorunlu, low-stakes yerlerde opsiyonel.

Kaçın: Human review'u rubber stamp yapmayın — "hızlı bak, geç" alışkanlığı incident'ları doğurur.

— Bu PR'ı human review olmadan mergeleyelim mi?
— Auth'a dokunuyor — hayır, ben okuyana kadar bekle.
Kaynaklar (1)

Human-in-the-loop

HITL

Otomatik akışın belirli noktalarında insan onayı isteyen tasarım — özellikle yüksek riskli kararlar için.

Agent çoğu adımı kendi yapar; ama belirli kapılarda ("prod'a deploy et", "DB sil", "100$+ API çağrısı yap") durur, insan onayı bekler. HITL pure-AFK ile pure-human-driven arasındaki orta yol. Sağlık, finans, hukuk gibi alanlarda regülasyon gereği zorunlu olabilir. Permission mode bunu mekanize eder.

Kaçın: HITL'yi her tool çağrısında insan onayı zannetmeyin — kapılar selektiftir, doğru riskleri yakalamak için tasarlanır.

— Migration'lar HITL ile koşsun, geri kalan auto-approve.
Kaynaklar (3)

I

Inference

çıkarım

Eğitilmiş bir model'e prompt verip cevap üretme süreci — runtime forward pass.

Training modelin ağırlıklarını öğrendiği aşama; inference o ağırlıkları sabit tutup yeni input için tahmin yaptığı aşama. Pratikte: API'ye request atmak. Inference cost training cost'tan ayrıdır ve aslan payını kullanım sırasında tüketir. Inference hızı ($/token, latency) GPU mimarisi, batch boyutu, prefix cache, context uzunluğu gibi faktörlere bağlıdır.

Kaçın: Inference'i "prediction" ile karıştırmayın — prediction çıktının kendisi, inference o çıktıyı üreten süreç.

— Latency neden yüksek?
— Inference batch 1, prefix cache yok, ve context 150K. Üçünü de düzelt.
Kaynaklar (2)

Input tokens

Modele gönderilen prompt'taki token'lar — fiyatlamada output'tan ucuz.

System prompt + AGENTS.md + geçmiş turn'ler + tool result'lar + kullanıcı mesajı = input tokens. Output token genelde input'tan 3-5 kat pahalıdır; uzun prompt + kısa cevap senaryosunda fatura input'tan gelir. Cache token'lar input'un alt kümesi olarak ayrı sayılır ve daha ucuzdur.

Kaçın: "Input ucuz, fazla yazayım" — attention degradation aynı kalır, prompt'unuzu kısaltmak için sebep var.

— Bu session'da 800K input, 50K output kullandım.
— Çoğu cache mı?
— %85 hit, fatura makul.
Kaynaklar (1)

K

Knowledge cutoff

bilgi sınır tarihitraining cutoff

Modelin training'inde son gördüğü verinin tarihi — bu tarihten sonraki olayları parametric knowledge'tan bilemez.

Bir model 2025-01'de eğitildiyse, 2025-08'de çıkan kütüphaneyi bilmez (eğer post-training'de eklenmediyse). 2026 başı itibarıyla yaygın cutoff'lar: GPT-5.2 ~Ağustos 2025, Claude 4.6 Opus ~Ağustos 2025, Gemini 3 ~Ocak 2025. AI coding'de en sık tetiklediği bug: yeni framework versiyonlarında eski API önerme. Çözüm: contextual knowledge ile yeni docs'u yükleyin (RAG mantığı).

Kaçın: Cutoff'ı görmezden gelmeyin — yeni framework, yeni paket, yeni dökümantasyon her zaman model'in sınırının dışında olabilir.

— Tailwind 4 syntax'ı yanlış öneriyor.
— Model cutoff'u Tailwind 3 dönemine. Yeni docs'u yapıştır.
Kaynaklar (1)

M

MCP

Model Context Protocol

LLM uygulamalarının dış data source ve tools'larla standart bir protokol üzerinden konuşmasını sağlayan açık standart. Anthropic tarafından duyuruldu, 2025 sonunda Linux Foundation'a devredildi.

Tool calling fragmente bir alandı: her sağlayıcı kendi protokolünü kullanıyordu. MCP bunu standartlaştırır — JSON-RPC 2.0 üstünde 3 primitive: tools (çağrılabilir fonksiyonlar), resources (referans verilebilir kaynaklar), prompts (önceden tanımlı şablonlar). Bir MCP server yazarsanız Claude Code, Cursor, ChatGPT — hepsi ayrı integration olmadan kullanır. Filesystem, GitHub, Slack, Linear, Postgres için resmi MCP server'ları var.

Kaçın: MCP'yi tek bir şirketin standardı zannetmeyin — Anthropic donate etti, AAIF altında Block, OpenAI gibi şirketlerce destekleniyor.

— Slack ile Claude Code'u bağlayalım.
— MCP server kurmamış mıyız zaten? slack-mcp paketini ekle.
Kaynaklar (4)

Memory system

Session'lar arasında kalıcı kalan, agent'ın okuyup yazabildiği bilgi deposu — context window'un dışında.

Context window session bitince kaybolur. Memory system kalıcıdır: dosya tabanlı (markdown notları), vektör tabanlı (embedding store), key-value (Redis, SQLite). Claude Code'un built-in memory'si dosya tabanlı; özel memory framework'ler (mem0, MemKraft, Letta) daha sofistike. Memory system, agent'ın "geçen ay neyi sevmediğini" hatırlamasını mümkün kılar.

Kaçın: Memory'i "context window'un büyüğü" zannetmeyin — context her turn yüklenir, memory ihtiyaç anında çekilir.

— User feedback'leri her session'da tekrar açıklamaktan bıktım.
— Memory system kur. Bir kez yaz, sonsuz hatırla.
Kaynaklar (1)

Model

Eğitilmiş yapay zeka — input alıp output üreten matematiksel sistem. AI coding'de genelde bir LLM.

Bir model = ağırlıklar + mimari. GPT-5, Claude 4.7, Gemini 3, Llama 4 — hepsi farklı sağlayıcılardan farklı ağırlıklarla. Aynı task'ta farklı model farklı sonuç verir (hız, kalite, stil, fiyat). Model değişimi harness'tan ayrı bir karar — Claude Code içinde Opus → Sonnet geçişi gibi.

Kaçın: Model'i harness ile birleştirmeyin — Claude Code != Claude. Harness modelin etrafındaki sistemdir.

— Bu task için Opus mu Sonnet mı?
— Plan + grilling Opus, implementation Sonnet. Ayrı session.
Kaynaklar (1)

Model provider

Bir model'i barındırıp API üzerinden inference servisi sunan şirket — Anthropic, OpenAI, Google, xAI vs.

Model'i siz değil, sağlayıcı koşturur — GPU'lar onlarda, fatura sizden. API token bazlı ücretlenir. Sağlayıcılar arasında: rate limit, latency, fiyat, sözleşme şartları, knowledge cutoff farklı. Aynı model birden fazla sağlayıcı üzerinden gelebilir (örn. Claude — Anthropic + AWS Bedrock + Google Cloud Vertex AI).

Kaçın: Model provider'ı modelin sahibi gibi düşünmeyin — Llama açık kaynak, model Meta'nın ama provider Together AI, Groq, Fireworks olabilir.

— Claude Code hangi provider'a basıyor?
— Default Anthropic. Bedrock'a yönlendirebilirsin enterprise için.
Kaynaklar (1)

Model provider request

Harness'tan provider'a giden tek bir API çağrısı — input tokens + tool definitions + system prompt içerir.

Bir agent turn'ünün altında genelde 1 (veya tool kullanımı varsa birden fazla) provider request olur. Her request: HTTP POST, JSON body (messages, tools, system, max_tokens), HTTPS. Latency, cost, failure mode burada görülür. Harness rate limit'e takıldığında bu seviyede backoff yapar. Logging için request/response saklanır.

Kaçın: Bir "turn" = bir "request" değil — tool calling chain'inde tek turn birden çok request üretir.

— Token tüketimini nasıl ölçeyim?
— Provider request log'larından. Harness her birini metric'e basar.
Kaynaklar (1)

N

Next-token prediction

LLM'lerin temel iş mekaniği: önceki token'lara bakıp en olası bir sonraki token'ı tahmin etmek, tekrarla, çıktı oluşur.

Matrix çarpımları + softmax = bir token. Onu yapıştırırsınız, tekrar predict edersiniz, böyle döner. "Bilgiye sahip" değil, "olasılık dağılımına sahip" — modelin tüm "akıllılığı" doğru olasılığı doğru noktada tahmin etmesinden gelir. Bu bilgi olarak verilmez, eğitim sırasında öğrenilir.

Kaçın: Next-token prediction'ı "basit" diye yaftalamayın — yeterince ölçek + iyi eğitim ile akıl yürütme illüzyonu doğar.

— Model neden bu kadar yaratıcı?
— Yaratıcı değil; next-token prediction'ı yüksek temperature ile koşuyor, varyasyon karar gibi görünüyor.
Kaynaklar (1)

Non-determinism

stokastiknon-deterministik

Aynı input'a farklı output verme özelliği — LLM'ler temperature 0 olsa bile pratik olarak deterministic değildir.

Sampling stokastiktir: model bir olasılık dağılımı üretir, ondan örneklem alır. Temperature 0 "argmax" demektir teorik olarak deterministic, ama pratikte API'ler tam reproducibility vermez (batch sizing, GPU non-determinism, vs.). Aynı prompt 10 kez koşunca %15'e kadar accuracy farkı görülebilir. Bu bug değil, design feature — ve test/CI tasarımını etkiler.

Kaçın: "Aynı prompt aynı output verir" varsayımıyla test yazmayın — assertion'ları flexible kurun veya seed kontrolü olan model kullanın.

— Aynı snapshot test bazen geçiyor bazen fail.
— Non-determinism. Output'u literal eşitlik yerine semantic check ile doğrula.
Kaynaklar (1)

O

Output tokens

Modelin ürettiği — geri dönen — token'lar. Input'tan çok daha pahalı.

Anthropic ve OpenAI'da tipik fiyat oranı: output ≈ 4-5x input. Uzun gerekçelendirme (chain-of-thought) veya kod bloğu üreten task'lerde fatura output'tan gelir. Stream'lenebildiği için latency'yi de output dominant eder. "Daha kısa cevap, daha ucuz" optimizasyonu çoğu durumda doğrudur.

Kaçın: "Önce her şeyi açıkla, sonra kodu ver" prompt'u output token'ı patlatır. Direct + concise sor.

— Bu run 200K output yedi.
— Reasoning'i kapatmadın mı? Açık olunca her cevap iki kat uzar.
Kaynaklar (1)

P

Parameters

weightsağırlıklar

Modelin eğitim sırasında öğrendiği sayısal değerler — modelin "bildiği her şey" buradadır.

Bir LLM'i tek kelimeyle anlatmanız gerekirse: "sayılar tablosu". Llama 3 8B → 8 milyar parametre. GPT-4 ~1.8T parametre (söylenti). Parametre sayısı aşağı yukarı kapasiteyi belirler ama her şey değildir — eğitim verisinin kalitesi, mimari, RLHF aynı oranda etkili. Açık ağırlıklı (open weights) modeller parametreleri herkese açıktır; closed model'lerde sadece API üstünden inference yaparsınız.

Kaçın: "Parametre sayısı = akıl" denklemi 2024'te bile şüpheliydi, 2026'da iyice çürüdü — küçük + iyi eğitilmiş, büyük + zayıf eğitilmişten önde olabilir.

— Yerel koşacak ama 70B çok büyük.
— 7B + LoRA fine-tune yeter mi?
— Domain'e bağlı.
Kaynaklar (2)

Parametric knowledge

Modelin parametrelerinde donmuş, training sırasında öğrenilmiş bilgi — knowledge cutoff'tan önceki dünya.

Modele "Python'da liste nasıl tersine çevrilir" diye sorduğunuzda cevap parametric knowledge'tan gelir — context'e koyduğunuz bilgi değil. Avantaj: hep orada, prompt'a yer kaplamaz. Dezavantaj: cutoff'ta dondu, güncellenmez, ve model "bildiğini" sandığı şeyleri uydurabilir. Halüsinasyonun factuality türünün ana kaynağı.

Kaçın: Parametric knowledge'a güvenmeyin yeni teknoloji için — yeni framework, yeni API → contextual knowledge ile yükle.

— React 19 RC API'leri parametric'te yok mu?
— Cutoff'a göre değişir; yoksa yapıştır.
Kaynaklar (1)

Permission mode

Hangi tool çağrılarının onay gerektirdiğini, hangilerinin otomatik geçtiğini belirleyen ayar.

AI coding harness'larının güvenlik kapısı. Default mode: yıkıcı şeyler için sorar. Plan mode: hiçbir şey yazılmaz. Accept-edits: edit'ler otomatik. Bypass permissions / YOLO: her şey otomatik. Mode session boyunca veya runtime'da değişebilir. AFK runs için mode + sandbox kombinasyonu kritik.

Kaçın: YOLO mode + tam filesystem + ağ açık = data loss tarifi. Birini kapatın.

— Bu refactor 30 dakika sürecek, başında bekleyemem.
— Accept-edits + sandbox dizinde koşsun, ana repo'ya dokunmasın.
Kaynaklar (1)

Permission request

Agent'ın bir tool'u koşmadan önce kullanıcıya sorduğu "yapayım mı?" prompt'u.

Permission mode hangi soruların gelip hangilerinin atlanacağını belirler; permission request bireysel sorudur. Pratikte: "npm install lodash çalıştırayım mı? [y/n/a]" gibi. "a" = always, bir defa onayla bu pattern'a benzeyen tüm istekleri auto-approve et. Bu allow-list'i sonradan settings.json'a yazılmış buluverirsiniz.

Kaçın: "Always approve" tuşuna düşünmeden basmayın — pattern matching geniş olabilir, beklenmedik şeyleri onaylar.

— Her seferinde test komutu için onay sormaktan bıktım.
— Permission request'te "a" bas, allowlist'e geçer.
Kaynaklar (1)

Prefix cache

prompt caching

Prompt'un başındaki değişmeyen bölümün hesaplanmış key/value tensörlerini cache'leyip tekrar kullanmak.

Transformer attention layer'ları her input için key/value tensor'ları üretir. Prompt'un başı (system prompt + AGENTS.md + araç tanımları) sabitse, ikinci request'te bu kısım yeniden hesaplanmasın diye cache'lenir. Anthropic Prompt Caching: %90'a kadar input cost düşüşü, %85'e kadar latency düşüşü uzun prompt'larda. Static içerik prompt'un başında, değişen içerik sonunda olmalı.

Kaçın: Cache hit almak için her request aynı tokenization'la başlamalı — minik whitespace farkı bile cache miss yapar.

— Aynı session 10 prompt sonra hâlâ yavaş.
— Cache hit oranını ölç. Static kısmı başa al.
Kaynaklar (2)

Progressive disclosure

aşamalı açılım

Bilginin tamamını başta yüklemek yerine, agent ihtiyaç duyduğunda kademeli olarak sunmak.

200KB'lık bir doc'u context'e basmak yerine, başlık listesi ver, agent ilgili bölümü açıkça istesin. Skill mekanizması bu pattern'in sistemli hâli: SKILL.md kısa bir başlık + "detay için referans" yapısı. Avantaj: token tasarrufu, attention dağılmaz. Dezavantaj: agent doğru bölümü çağırmazsa bilgiyi kullanmaz — pointer kalitesi kritik.

Kaçın: Progressive disclosure'ı prematüre optimization olarak görmeyin — context patladığında geri dönmek pahalı.

— Tüm OpenAPI spec'i context'e koyalım mı?
— Hayır, table of contents ver, gerektiğinde endpoint'i çekiyor.
Kaynaklar (1)

S

Sandbox

korumalı alanizole ortam

Agent'ın çalıştığı izole edilmiş, sınırlandırılmış ortam — hatalar veya kötü niyetli kod ana sistemi etkilemesin diye.

Sandbox = sınırlı filesystem + sınırlı network + sınırlı syscall. Container, VM, gVisor, macOS Sandbox-Exec, Docker bind mount — hepsi farklı izolasyon seviyeleri. AI coding'de iki kullanım: (1) AFK runs'ta agent'ın kötü iş yapmasını önlemek, (2) prompt injection ile gelen kötü kodun host'a çıkmasını önlemek. Yüksek izinli agent'ı sandbox'sız koşmak güvenlik riskidir.

Kaçın: "Docker container = sandbox" demeyin — Docker default ayarları sandbox değildir, capabilities + read-only mount + no-network gerek.

— Bu agent npm install koşacak, güvenli mi?
— Sandbox + read-only mount + ağ sadece npm registry'ye açık.
Kaynaklar (3)

Session

Kullanıcı ile agent arasındaki bir oturum — birden çok turn içerir, kapanınca context kaybolur.

Bir session = bir context window'un yaşam döngüsü. Açar, talimat verir, agent çalışır, kapanır. Sessions arası sürekli olmak için memory system veya AGENTS.md gerek. "Uzun session iyidir" yanılgısı yaygın — pratikte 30-60 turn sonra attention degradation başlar, clearing değerlidir.

Kaçın: Session'ı sürekli açık tutmayı verimlilik sanmayın — sıkça clear etmek genelde daha kaliteli sonuç verir.

— Bu session 4 saatte 120 turn. Devam mı?
— Hayır, handoff yaz, clear, yenisinde başla.
Kaynaklar (1)

Skill

Bir agent'a belirli bir task'ı veya workflow'u nasıl yapacağını öğreten paket — markdown talimatlar + opsiyonel script'ler.

AGENTS.md her session yüklenir. Skill ise progressive disclosure pattern'inde: gerektiğinde çağrılır. `.claude/skills/<isim>/SKILL.md` yapısında YAML frontmatter (name, description) + markdown talimatlar. İki tür: capability uplift (yeni yetenek verir) ve encoded preference (mevcut yeteneği sizin istediğiniz şekilde yapmasını sağlar). Anthropic resmi skill'ler + topluluk skill'leri 2025 sonu itibarıyla ekosistemin merkezi.

Kaçın: Her şeyi AGENTS.md'ye yazmayın — nadir kullanılan workflow'lar skill olur, context'i kirletmez.

— Her session blog yazma talimatlarını tekrar açıklıyorum.
— Skill yap. Bir kez yaz, gerektiğinde çağır.
Kaynaklar (1)

Smart zone

dumb zone

Modelin kalitesinin context büyüklüğüyle birlikte yüksek olduğu aralık. Bu aralığın dışı: dumb zone.

Bir model 0-50K token'da 10/10 iş çıkarır, 100K'da 7/10, 180K'da 4/10 olabilir. Smart zone'a girip dumb zone'a düşmek otomatik. Pratik etki: uzun session'da çıktı kalitesi sessiz sessiz düşer; siz fark etmezsiniz çünkü agent yine kendinden emin (sycophancy + faithfulness hallucination kombinasyonu). Boris Çerni'den: "hep smart zone'da kal" — sıkça compact veya clear.

Kaçın: Dumb zone'da kararlar onaylamayın — modelin kendinden eminliği kalitenin garantisi değil.

— 150K context, son 20 turn'de halüsinasyon başladı.
— Dumb zone'a düştük. Compact, smart zone'a dön.
Kaynaklar (1)

Spec

specificationşartname

Agent kod yazmaya başlamadan önce hazırlanan, neyin yapılacağını ve başarı kriterlerini netleştiren yapılı belge.

"Spec-driven development": önce spec, sonra kod. Spec içeriği: feature ne yapar, kim için, başarı kriteri, kapsam dışı, kısıtlar. AI coding'de spec hem agent için intent kaynağı, hem insan için review yardımcısı. Spec sağlam değilse kod da değil. SpecKit, Microsoft'un Spec-Driven Development modülü, Anthropic skill'leri bu workflow'u kolaylaştırır.

Kaçın: Spec'i "PR description" zannetmeyin — yazmaya başlamadan önce yapılır, sonradan değil.

— Bu özellik için spec yazalım mı?
— Evet, spec olmadan vibe code'a düşeriz, sonu bug.
Kaynaklar (3)

Stateful

Önceki etkileşimlerin durumunu saklayan sistem — sonraki adımı önceki state'e göre belirler.

AI coding'de session içinde modelin gördüğü context history stateful'dur — her turn'de bilgisi birikiyor. Memory system stateful'dur — sessions arası hatırlıyor. Aksine: stateless system her isteği sıfırdan ele alır. Stateful tasarım: avantaj (devamlılık), dezavantaj (state corruption, debug güçlüğü).

Kaçın: Long-running stateful agent'a debug için yeniden başlatmayı bir günde göze alın — state birikimi sorunu olabilir.

— Agent'ın preferans'larını her seferinde yeniden öğreniyor.
— Stateless. Memory system koy, stateful'a çevir.
Kaynaklar (1)

Stateless

Önceki etkileşimleri unutan sistem — her istek sıfırdan ele alınır, durum saklanmaz.

Tek shot LLM API çağrısı stateless'tır: provider önceki çağrılarınızı bilmez (mesaj geçmişini siz gönderirsiniz). Pure stateless yaklaşım her turn'de tüm geçmişi yeniden gönderir → cache token'lar olmasa pahalı. Stateless tasarım: avantaj (idempotent, scale kolay, debug rahat), dezavantaj (devamlılık yok).

Kaçın: Stateless'ı "hafızasız" sanmayın — system prompt + context'e bilgi enjekte ederek pseudo-stateful yapabilirsiniz.

— REST API stateless, ama LLM call'unda history gönderiyoruz, neden?
— Modele state veriliyor istekle birlikte. Sunucu hâlâ stateless.
Kaynaklar (1)

Subagent

alt ajan

Ana agent'ın belirli bir alt görev için çağırdığı, kendi context window'una sahip uzmanlaşmış agent.

Ana session 100K token'a şişti, ama 200 dosya daha okumak gerekiyor — subagent çağır. Kendi temiz context'inde araştırır, sonucu özet olarak ana agent'a döner. Avantaj: ana attention temiz kalır, paralel iş, role-based uzmanlık (researcher, writer, reviewer subagent'leri). Claude Code'un Task tool'u subagent dispatch eder; CrewAI ve AutoGen multi-agent framework'leridir.

Kaçın: Her şeyi subagent'a vermeyin — orchestration overhead'i kaba bir prompt'tan pahalıdır küçük task'larda.

— Repo'yu tarayıp tüm Stripe API kullanımını listeleyelim.
— Subagent gönder. Ana session'da 200 dosya okuyacaksak attention biter.
Kaynaklar (3)

Sycophancy

yağcılıkdalkavukluk

Modelin kullanıcıyı memnun etmek için doğruluğu feda etme eğilimi — onaylar, övür, çelişmez.

Model "Bu kod doğru mu?" sorusuna eleştirel cevap vermek yerine kullanıcıya katılır, mevcut inancı pekiştirir. Sebep: RLHF sırasında "hoşa giden cevap" sinyalinin dominant olması. AI coding'de ciddi: model yanlış decision'ı onaylar, geliştirici güvenle prod'a basar. MIT'nin 2026 çalışması: rasyonel kullanıcılar bile sycophant chatbot ile yanlış inancı yüksek güvenle benimsiyor. Karşı önlem: grilling, devil's advocate prompt, automated review.

Kaçın: Modelin onayını teyit zannetmeyin — "haklısın, harika fikir" çoğu zaman gerçek bir review değil.

— Bu refactor mantıklı mı?
— Model "evet harika" dedi. 
— Sycophancy. Grill et: 5 zayıf nokta bul.
Kaynaklar (2)

System prompt

sistem mesajı

Modele en başta verilen, davranışını ve rolünü belirleyen üst seviye talimat. Konuşma boyunca etkili kalır.

"Sen bir Türkçe yazılım eğitmenisin", "İnternet'e gönderme yapma", "Kod blokları .ts uzantılı olsun" gibi kurallar buraya gider. User mesajından farklı bir rol/öncelik taşır — model sistem prompt'unu "daha bağlayıcı" sayar. Harness'ların gizli system prompt'ları olur (Claude Code'un, Cursor'un); bunlar agent davranışını şekillendirir.

Kaçın: System prompt'a 50 sayfa talimat yazmayın — token'ı ve attention'ı tüketir; AGENTS.md ve skill'ler için ayırın.

— Türkçe cevap zorlaşıyor.
— System prompt'a "hep Türkçe" yazılmış mı? Eksikse ekle.
Kaynaklar (1)

T

Ticket

Bir agent'a verilebilecek, scope'u sınırlı, başarı kriteri net work item — issue, task, story.

Linear, Jira, GitHub Issue, internal todo — formatı önemli değil, scope ve acceptance kriteri olmalı. AI coding'de iyi ticket'in özelliği: spec gibi davranabilmesi. Acceptance criteria yoksa agent başarıyı kendi tanımlar (ve genelde optimistic). Bir epic'i bir agent'a vermeyin — küçük ticket'lara bölün.

Kaçın: Ticket'ı muğlak yazıp "agent kendi anlar" demeyin — anlar ama yanlış anlar.

— Bu epic'i agent'a ver.
— Önce 5 ticket'a bölelim, her biri 30 dakikalık iş.
Kaynaklar (1)

Token

belirteç

Modelin gördüğü atomik metin parçası — kelimenin yarısı, bir karakter, veya bir tam kelime olabilir.

LLM'ler kelimeyle değil token'la çalışır. Tokenization (BPE, WordPiece, SentencePiece) metni alt-kelime parçalarına ayırır. Türkçe gibi eklemeli dillerde aynı kelime İngilizce'den daha fazla token tüketir — "yapamadıklarınızdandı" 1 kelime ama 6+ token. Model fiyatlama, context window, attention budget — hepsi token cinsinden ölçülür. ~4 karakter ≈ 1 token (İngilizce); Türkçe ≈ 2-3 karakter.

Kaçın: Token'ı kelime sanmayın — fatura ve context budgeting hesabı şaşar.

— 1M context'imize Tüm Suç ve Ceza sığar mı?
— 1.4M kelime, ~2.8M token. Hayır.
Kaynaklar (2)

Tool

function callingaraç

Modelin çağırabildiği dış fonksiyon — bash komutu, file edit, API call, search, vs.

Tool, model'in metin üretmenin ötesine geçip eyleme dönüştüğü mekanizma. Harness modele "şu tools mevcut: Bash, Read, Edit, WebSearch..." der; model JSON formatında "şu tool'u şu argümanla çağır" döner; harness çağırıp sonucu (tool result) modele basar. Tool tasarımı (description, parametreler, hata mesajları) agent kalitesinin %80'ini belirler.

Kaçın: "Daha çok tool ekle, daha güçlü olsun" — fazla tool attention'ı dağıtır, kötü tool tasarımı yanlış çağrı yapar.

— Bu agent zayıf.
— Tool descriptions'ı kontrol et — model parametreyi doğru anlamamış.
Kaynaklar (1)

Tool call

Modelin bir tool'u çağırmak için ürettiği yapılandırılmış istek — JSON formatında tool adı + argümanlar.

Model output'u bir text completion değil, structured output: "Read tool'unu `path: src/index.ts` argümanıyla çağır". Harness bu JSON'u parse eder, gerçekten Read'i koşar, dönen içeriği bir sonraki request'te tool result olarak modele gösterir. Bir turn içinde birden fazla tool call olabilir (parallel veya sequential).

Kaçın: Tool call'u model'in "isteği" gibi düşünmeyin — kontrol harness'tadır, harness ret edebilir veya kullanıcıdan permission isteyebilir.

— Bir turn'de 5 dosya parallel okudu.
— Verimli — 5 ayrı turn yerine tek turn'de 5 tool call.
Kaynaklar (1)

Tool result

Bir tool çağrısı sonrası geri dönen çıktı — modele next turn'de gösterilir.

Read tool çağırırsa: dosya içeriği. Bash çağırırsa: stdout + stderr + exit code. WebSearch çağırırsa: arama sonuçları. Tool result context'e eklenir → token tüketir → büyürse attention'ı boğar. İyi harness'lar tool result'ları kısaltır veya summarize eder uzunsa. Hata durumları da tool result'tur — model bunlardan öğrenip retry edebilir.

Kaçın: Tool result'ları censor etmeyin keyfi olarak — model hatayı görmezse aynı hatayı tekrar yapar.

— Tool result çok uzun, 40K token tek dosya için.
— Harness'ın smart truncation feature'ı var mı? Yoksa progressive disclosure pattern'a geç.
Kaynaklar (1)

Training

model eğitim

Model'in parametrelerini veriden öğrendiği aşama — pretraining + fine-tuning + RLHF.

Üç ana faz: (1) Pretraining — internet ölçeğinde unsupervised veri üzerinde next-token prediction; modelin "dünya bilgisi" buradan gelir. (2) Instruction tuning / SFT — soru-cevap formatında eğitim, modeli "yardımcı" yapar. (3) RLHF / RLAIF — insan veya AI feedback'iyle preference öğretme; modeli "hizalar". Fine-tuning bu süreçlerden birini özelleştirilmiş veri üzerinde tekrar etmektir (LoRA gibi tekniklerle ucuza).

Kaçın: "Custom modelimiz olsun, sıfırdan eğitelim" — pretraining $10M+ iş; siz fine-tune yapın, sıfırdan değil.

— Türkçe için modelimi fine-tune edeyim mi?
— Test et önce, base model Türkçeyi yetersiz buluyorsa LoRA fine-tune yap.
Kaynaklar (3)

Turn

Bir agent loop iterasyonu — model bir cevap üretir, opsiyonel tool call'ları koşar, kullanıcı veya harness sonraki adımı belirler.

Bir session birçok turn'den oluşur. Her turn = bir model provider request (veya tool calling chain'inde birkaç). Long-running agent'lar 50-200+ turn yapabilir tek session'da. Turn sayısı session uzunluğunun en iyi metriği — token sayısından daha bilgilendirici çünkü attention budget'ı turn'ler tüketir.

Kaçın: "Az turn = iyi" denklemi yanlış — bazı task'ler doğal olarak çok turn ister, az turn yerine yetersiz çıktı.

— 4 saat sürdü, 180 turn.
— Smart zone'da kalabildi mi?
— Hayır, 100 sonrası kalitede düşüş.
Kaynaklar (1)

V

Vibe coding

Geliştiricinin agent'ın ürettiği kodu human review olmadan kabul ettiği çalışma pattern'ı. Diff opaque sayılır.

Şubat 2025'te Andrej Karpathy ortaya attı. "Çalışıyor mu? O zaman tamam." diff okumaya zaman harcamaz, agent'ın hayalini canlı tutarsınız. Avantaj: hız (saatlerce yerine dakikalar), kod yazmayan kişilerin de prototip üretebilmesi. Dezavantaj: maintenance ağrısı, güvenlik açıkları, hesap verebilirlik kaybı (araştırma: 1.7x daha fazla majör issue). Automated check'ler ve automated review bu riski azaltsa bile insan review'un yerini tutmaz.

Kaçın: "Vibe coding = düşük kaliteli AI kod" demeyin — terim review duruşunu adlandırır, sonuçtaki kodu değil. Ayrıca auth, payment, prod migration'da vibe etmeyin.

— Auth flow'u nasıl değiştirdi okudun mu?
— Vibe coded — login çalışıyor, sadece bunu kontrol ettim.
— Push'tan önce diff'i oku — auth'a vibe eden secret'ı log'a sızdırır.
Kaynaklar (4)