Token Nedir? Yapay Zekada Token ve Türkçe Metin Neden Daha Çok Token Harcar?
Aynı metnin on tokenizer'da Türkçe ve İngilizce ölçümü, Türkçeyle eğitilmiş tokenizer'larda tersine dönen fark ve OpenAI, Claude ve Gemini'de token saymanın yolları.
Kısaca: Token, bir yapay zeka modelinin metni okurken ve yazarken kullandığı en küçük parçadır ve bir kelime, kelime parçası ya da tek bir karakter olabilir. RuneLab'ın 2 Kasım 2026 ölçümünde aynı metnin Türkçesi, OpenAI'ın o200k_base tokenizer'ında İngilizcesinden 1,45 kat, ölçülen diğer genel amaçlı tokenizer'larda 1,96 kata kadar fazla token tuttu. API maliyeti, bağlam penceresi ve kullanım limitleri bu sayıyla hesaplanır.
ChatGPT, Claude ya da Gemini kullanırken karşınıza çıkan kullanım limitleri, bağlam penceresi ve API faturaları aynı birimle hesaplanır: token. Bir tokenin ne kadar metne denk geldiği ise dilden dile değişir ve İngilizce için verilen kaba ölçüler Türkçede tutmaz.
Token nedir?
#Token, dil modelinin okuduğu ve yazdığı en küçük metin birimidir. Google'ın Machine Learning Crash Course eğitimindeki LLM bölümüne göre bir token bir kelime, bir kelime parçası ya da tek bir karakter olabilir ve modern dil modellerinin çoğu metni kelime parçalarına böler. Model metni harf harf değil, bu parçalar halinde görür. Cevap yazarken de bir sonraki tokeni tahmin ederek ilerler.
Büyük dil modelinin (LLM) genel olarak nasıl çalıştığını LLM nedir yazımızda anlattık. Token, o modelin hem girdisini hem de çıktısını ölçen birim.
Kaba bir ölçü olarak Google, İngilizcede bir tokenin yaklaşık 4 karaktere, 400 tokenin de yaklaşık 300 kelimeye denk geldiğini yazıyor. Aynı kaynak, tokenlere bölmenin dile özgü olduğunu ve token başına karakter sayısının dilden dile değiştiğini de söylüyor. Türkçe için bu oranı kendimiz ölçtük.
Token nasıl oluşur? Tokenizer ve BPE
#Metni tokenlere bölen yazılıma tokenizer denir. Her modelin bir tokenizer'ı ve bir kelime dağarcığı (vocabulary) vardır. Google'ın Gemini API belgelerindeki Understand and count tokens sayfası, modelin kullandığı tüm tokenlerin kümesine kelime dağarcığı, metni tokenlere bölme işine de tokenization dendiğini anlatıyor.
Yaygın yöntemlerden biri BPE'dir (byte pair encoding). Sennrich, Haddow ve Birch'ün 31 Ağustos 2015'te yayımladığı Neural Machine Translation of Rare Words with Subword Units makalesi, nadir ve bilinmeyen kelimeleri daha küçük alt kelime birimleriyle kodlama fikrini makine çevirisine taşıdı. OpenAI'ın tiktoken kütüphanesi de BPE kullanıyor. Kütüphanenin açıklamasına göre BPE geri dönüşlüdür, yani tokenlerden metnin aslı kayıpsız elde edilir. Her metinde çalışır ve sık geçen alt kelimeleri tek parça olarak görmeye çalışır.
Bir kelime kaç tokene bölünür?
#Sık görülen bir kelime tek token olur, nadir bir kelime birkaç parçaya bölünür. Bunu OpenAI'ın o200k_base tokenizer'ıyla 3 Kasım 2026'da kendimiz denedik.
| Metin | Token sayısı | Parçalar |
|---|---|---|
| evlerimizden | 4 | ev · ler · imiz · den |
| from our houses | 3 | from · our · houses |
| Yapay zeka modelleri Türkçe metinde daha çok token harcar. | 16 | Y · apay · z · eka · modeller · i · Türk · çe · met · inde · daha · çok · token · har · car · . |
| AI models spend more tokens on Turkish text. | 9 | AI · models · spend · more · tokens · on · Turkish · text · . |
İngilizce cümlede neredeyse her kelime tek token. Türkçe cümlede "yapay zeka" bile dört parçaya bölünüyor. Bu iki cümle yalnızca bir örnek, asıl karşılaştırma tam metin ölçümünde.
Türkçe metin neden daha çok token harcar? RuneLab ölçümü
#Türkçe metin, genel amaçlı tokenizer'larda aynı içeriğin İngilizcesinden daha çok token harcar, çünkü Türkçenin uzun ve ekli kelimeleri daha çok parçaya bölünür. Bunu ölçmek için aynı içeriğin Türkçe ve İngilizce sürümünü on tokenizer'dan geçirdik. Metin, Birleşmiş Milletler İnsan Hakları Yüksek Komiserliği'nin (OHCHR) yayımladığı İnsan Hakları Evrensel Beyannamesi ve İngilizce aslı Universal Declaration of Human Rights. Türkçe metin 10.383 karakter ve 1.396 kelime, İngilizce metin 10.742 karakter ve 1.779 kelime. Ölçüm tarihi 2 Kasım 2026.
| Tokenizer | Türkçe token | İngilizce token | Türkçe / İngilizce |
|---|---|---|---|
| OpenAI o200k_base (GPT-4o, GPT-4.1, o3, GPT-5) | 3.213 | 2.218 | 1,45 |
| OpenAI cl100k_base (GPT-4, GPT-3.5-turbo) | 4.162 | 2.219 | 1,88 |
| Qwen2.5 ve Qwen3 (aynı tokenizer) | 3.666 | 2.240 | 1,64 |
| Mistral NeMo (Tekken) | 3.460 | 2.264 | 1,53 |
| DeepSeek-V3 | 4.300 | 2.198 | 1,96 |
| Turkish-Llama-8b-v0.1 (YTU COSMOS) | 3.122 | 2.219 | 1,41 |
| Kumru-2B (VNGRS) | 2.106 | 3.472 | 0,61 |
| turkish-gpt2-large (YTU COSMOS) | 2.205 | 3.548 | 0,62 |
| TURNA (BOUN TABILAB) | 1.915 | 3.740 | 0,51 |
Oran 1'in üstündeyse Türkçe sürüm aynı içerik için daha çok token tutuyor, altındaysa daha az. Tablodan dört sonuç çıkıyor.
- Genel amaçlı tokenizer'lar Türkçede 1,41 ile 1,96 kat arası daha çok token harcıyor. OpenAI'ın yeni o200k_base kodlaması 1,45 kat, eski cl100k_base kodlaması 1,88 kat fark gösteriyor, yani OpenAI'ın yeni kodlaması Türkçede eskisinden belirgin biçimde daha verimli.
- İngilizcede kelime başına token sayısı genel amaçlı tokenizer'ların hepsinde yaklaşık 1,25. Türkçede aynı tokenizer'lar kelime başına 2,2 ile 3,1 token kullanıyor.
- Türkçe metinle eğitilmiş tokenizer'larda tablo tersine dönüyor. Kumru-2B, turkish-gpt2-large ve TURNA, Türkçe sürümde İngilizcenin 0,51 ile 0,62 katı kadar token kullanıyor.
- Turkish-Llama-8b-v0.1 genel tokenizer'lara yakın kalıyor (1,41 kat). Hugging Face'teki Turkish-Llama-8b-v0.1 model kartı, modelin Llama 3 8B'nin Türkçe veriyle eğitilmiş bir sürümü olduğunu yazıyor. Kelime dağarcığı da 128.256 tokenle Meta'nın Llama 3 tokenizer'ıyla aynı büyüklükte. Yani model Türkçe veriyle eğitilmiş, ama tokenizer'ı büyük olasılıkla Llama 3'ten geliyor.
Fark dilden mi, tokenizer'dan mı geliyor?
#Fark büyük ölçüde tokenizer'ın hangi metinlerle eğitildiğinden geliyor. Türkçe sondan eklemeli bir dil ve "evlerimizden" gibi tek bir kelime, İngilizcede üç kelimeyle anlatılan bilgiyi taşıyor. Ölçümümüzde Türkçe metin İngilizceden daha az ama daha uzun kelimeden oluşuyor ve genel tokenizer'lar bu uzun kelimeleri daha çok parçaya bölüyor. Türkçeyle eğitilmiş tokenizer'larda farkın tersine dönmesi, sorunun dilin kendisinden çok tokenizer'ın eğitim verisinden kaynaklandığını gösteriyor.
Petrov, La Malfa, Torr ve Bibi'nin 17 Mayıs 2023'te yayımladığı Language Model Tokenizers Introduce Unfairness Between Languages çalışması da aynı metnin farklı dillere çevrilmiş sürümlerinin token uzunluğunun bazı durumlarda 15 kata kadar değişebildiğini yazıyor. Yazarlara göre bu fark maliyete, gecikmeye ve modele verilebilecek bağlam miktarına yansıyor.
Ölçümü nasıl yaptık?
#Aynı metnin iki dildeki sürümünü her tokenizer'ın kendi kütüphanesiyle, özel token eklemeden saydık.
- Metin: OHCHR'nin İnsan Hakları Evrensel Beyannamesi Türkçe ve İngilizce PDF'leri, başlık, önsöz ve 30 madde. Metin PDF'ten Poppler 24.04 tabanlı pdftotext ile, sayfa düzeni (layout) modu kullanılmadan çıkarıldı. Sayfa sonu karakterleri silindi, iki dilde de metin Unicode NFC biçimine getirildi ve kelimeler değiştirilmedi. Başka bir pdftotext sürümüyle çıkarılan metinde token sayıları yaklaşık yüzde 5 değişiyor, Türkçe / İngilizce oranları ise birbirine yakın kalıyor (o200k_base'de 1,45 yerine 1,47).
- Sayım: Tokenler özel token olmadan sayıldı. Başlangıç ve bitiş tokeni ya da sohbet şablonu eklenmedi, yani tablodaki sayılar yalnızca içerik tokenleri. API çağrılarında her mesaja birkaç biçim tokeni daha eklenir.
- Kelime: Kelime sayısı boşluklara göre bölünerek bulundu ve iki dilde aynı kural kullanıldı. Türkçe kelimeler daha uzun olduğu için asıl adil karşılaştırma, tüm metnin Türkçe / İngilizce oranı.
- Araçlar: OpenAI kodlamaları tiktoken 0.14.0 ile, diğerleri Hugging Face transformers 5.22.1 ve tokenizers 0.23.3 ile ölçüldü. Her Hugging Face tokenizer'ı belirli bir sürüm (commit) üzerinden yüklendi ve tokenlerden geri çözülen metnin girdiyle aynı olduğu kontrol edildi. TURNA'nın tokenizer'ı satır sonlarını ve boşlukları sadeleştirdiği için onun kontrolü boşlukları sadeleştirilmiş metinle yapıldı. TURNA'nın token sayısı bu metinde de aynı (1.915).
- Çapraz kontrol: Mistral NeMo sonucu, Mistral'in kendi mistral-common 1.13.0 kütüphanesiyle tekrar ölçüldü ve aynı çıktı (3.460 ve 2.264).
- Tekrar: Ölçüm 3 Kasım 2026'da baştan tekrarlandı ve aynı sayıları verdi.
- Model eşlemesi: Tablodaki OpenAI model adları, tiktoken 0.14.0'ın hangi modele hangi kodlamayı atadığına dayanıyor. Bu sürüm GPT-4o, GPT-4.1, o3 ve GPT-5'i o200k_base'e eşliyor.
Bu ölçüm neyi söylemez?
#Bu ölçüm tek bir metnin ölçülen tokenizer'lardaki sonucunu verir, her metin ve her model için geçerli sabit bir çarpan vermez.
- Tek bir metin: Bu, eski üsluplu resmi bir hukuk metni. Türkçe çeviride hürriyet, haysiyet gibi eski kelimeler var ve OHCHR PDF'inde en az bir yazım hatası bulunuyor ("olarak" yerine "oralak"). Metni olduğu gibi bıraktık. Günlük Türkçe, e-posta, sohbet mesajı, kod ya da teknik belge farklı oranlar verir.
- Ölçülen tokenizer'lar: Tablo OpenAI'ın iki kodlamasını, Qwen, Mistral NeMo ve DeepSeek-V3 tokenizer'larını ve Türkçe için geliştirilmiş dört modelin tokenizer'ını kapsıyor. Claude ve Gemini'de en doğru token sayısını sağlayıcının kendi token sayma aracı verir.
- Token fiyat değildir: Her sağlayıcı tokeni farklı fiyatlıyor, girdi ve çıktıyı ayrı ücretlendiriyor ve fiyat modelden modele değişiyor. Bu tabloda fiyat yok. Aynı modelde girdi tokeni başına ödeme yapıyorsanız, 1,45 kat daha çok token aynı metin için yaklaşık 1,45 kat daha yüksek girdi maliyeti demektir.
- Daha az token daha iyi model demek değil: Türkçeyle eğitilmiş bir tokenizer'ın Türkçe metni daha az tokene bölmesi, o modelin genel olarak daha iyi ya da daha ucuz olduğunu göstermez.
Token sayısı neden önemli?
#Token sayısı önemli, çünkü API maliyeti, bağlam penceresi ve kullanım limitleri tokenle ölçülür.
- API maliyeti: OpenAI, Anthropic ve Google API fiyatlarını token başına veriyor. Gemini API belgesi, maliyetin kısmen girdi ve çıktı tokeni sayısına bağlı olduğunu yazıyor. Türkçe metin daha çok token tutuyorsa, aynı iş Türkçede daha çok token faturalandırır. Token başına fiyatı iş başına maliyete çevirmek ayrı bir hesap. RuneLab'ın Yapay Zeka FinOps: Token Ekonomisi, Bütçeleme ve Birim Maliyet Yönetimi eğitimi bu hesabı token ekonomisi, model yönlendirme, önbellekleme ve birim ekonomisi (unit economics) üzerinden çalışıyor.
- Bağlam penceresi: Modelin bir seferde görebildiği metin miktarı da tokenle ölçülür. Aynı bağlam penceresine Türkçede İngilizceden daha az içerik sığar. Bağlam penceresinin ne olduğunu büyük dil modeli yazımızda anlattık.
- Limitler: Hız ve kullanım limitleri de çoğu zaman token üzerinden tanımlanır. Anthropic'in Token counting belgesi, token saymanın hız limitlerini ve maliyetleri önceden yönetmeye yaradığını belirtiyor. Abonelikli sohbet ürünlerinde de ölçü tokene kayıyor. OpenAI, Aralık 2026'dan itibaren Plus, Pro ve Business planlarında ChatGPT ve Codex kullanımını tokenle ölçeceğini duyurdu. Ayrıntıları ChatGPT kullanım limiti yazımızda anlattık.
Model değişikliği de token sayısını değiştirir. Anthropic'in token sayma belgesine göre Claude 4.7 ve sonraki modeller ile Claude Mythos Preview daha yeni bir tokenizer kullanıyor ve aynı metin bu modellerde önceki modellere göre yaklaşık yüzde 30 daha çok token tutuyor. Belge, artışın tam miktarının içeriğe bağlı olduğunu da yazıyor. Yani aynı sağlayıcıda bile model değiştirince token sayısı değişebilir. Eski bir modelde ölçtüğünüz sayıyı yeni modelin maliyet hesabında kullanmayın.
Araç tanımları da token harcar. OpenAI'ın Counting tokens rehberi, fonksiyon şemaları ve MCP sunucuları gibi araç tanımlarının bağlama token eklediğini ve bu tokenlerin yerel olarak sayılmasının zor olduğunu belirtiyor. Bir yapay zeka asistanına MCP (Model Context Protocol) üzerinden çok sayıda araç bağladığınızda bu tanımlar her istekte bağlam penceresinde yer tutar.
Token sayısı nasıl hesaplanır?
#En doğru token sayısını sağlayıcının kendi token sayma aracı verir.
- OpenAI: Yerel olarak tiktoken kütüphanesiyle sayabilirsiniz. OpenAI'ın rehberi tiktoken'ın düz metinde işe yaradığını, görsel, dosya, araç ve şema içeren isteklerde ise girdi tokeni sayma uç noktasının (input token count) modelin göreceği kesin sayıyı verdiğini söylüyor. Bu sayıya mesaj rolleri gibi biçim tokenleri de dahil.
- Anthropic (Claude): Messages API'deki
count_tokensuç noktası, mesajı göndermeden önce token sayısını veriyor. Belgeye göre ücretsiz ama dakikadaki istek limitine tabi ve sonuç bir tahmin, gerçek sayı küçük bir farkla değişebilir. - Google (Gemini):
count_tokens(countTokens) çağrısı yalnızca girdinin token sayısını veriyor. Yanıttaki usage alanı ise girdi, çıktı, düşünme, önbellek ve araç tokenlerini ayrı ayrı gösteriyor.
Türkçe bir uygulama planlıyorsanız, kendi gerçek metinlerinizden bir örnek alın, kullanacağınız modelin aracıyla sayın ve maliyeti o sayıyla hesaplayın. "1 token yaklaşık 4 karakter" kuralı İngilizce için verilmiş bir ölçü. Bizim ölçümümüzde o200k_base'de Türkçe metin token başına ortalama 3,23 karakter tuttu.
Türkçede token kullanımını azaltmak için ne yapılabilir?
#Türkçede token kullanımını ve token maliyetini azaltmanın dört yolu var.
- Tokenizer'ı karşılaştırın: Ölçümümüzde aynı Türkçe metin için OpenAI o200k_base ile DeepSeek-V3 arasında 1.087 token fark çıktı (3.213 ve 4.300). Model seçerken kendi metninizi birkaç modelde sayın.
- Tekrar eden uzun talimatları önbelleğe alın: Anthropic'in Pricing sayfası, önbellekten okunan girdi tokenlerinin (prompt caching) standart girdi fiyatının küçük bir kısmına mal olduğunu yazıyor. Aynı uzun sistem prompt'unu ya da belgeyi her istekte yeniden işletmek yerine önbellekten okutmak bu yüzden daha ucuz. Bu, token sayısını değil, tekrar eden tokenlerin fiyatını düşürür.
- Gereksiz metni bağlamdan çıkarın: Uzun belge arşivini her istekte göndermek yerine yalnızca ilgili parçaları veren bir RAG kurgusu token tüketimini azaltabilir. Nasıl çalıştığını RAG yanıtları nasıl bulur? yazısında anlattık.
- Türkçe ağırlıklı işlerde yerel modelleri de değerlendirin: Türkçe metinle eğitilmiş tokenizer'lar ölçümümüzde Türkçeyi daha az tokene böldü. Kendi sunucunuzda model çalıştırmak isterseniz internetsiz yapay zeka ve local LLM kurulumu yazımız başlangıç noktası olabilir. Model kalitesini ayrıca test edin.
Model seçimi tek seferlik bir karar olmak zorunda değil, istek bazında da yapılabilir. RuneLab'ın RuneGate'i uygulamalara OpenAI uyumlu tek bir endpoint veriyor, her isteği zorluğuna göre yönlendiriyor ve basit istekleri ekonomik bir modele gönderiyor. Hangi isteğin hangi modele gittiğini maliyetiyle birlikte kaydediyor, her ekibe aylık bütçe tanımlıyor ve bütçe aşılmadan istekleri durduruyor.
Sık sorulan sorular
#Yapay zekada token nedir?
#Yapay zekada token, modelin metni işlerken kullandığı en küçük parçadır. Bir kelime, kelimenin bir parçası ya da tek bir karakter olabilir. Model metni bu parçalar halinde okur ve cevabını da token token üretir.
LLM'de token nedir?
#Büyük dil modellerinde (LLM) token, girdinin ve çıktının ölçü birimidir. Modelin bir seferde görebildiği metin, kullanım limitleri ve API fiyatları token sayısına göre hesaplanır.
1 token kaç kelime eder?
#Dile göre değişir. Google, İngilizcede 1 tokenin yaklaşık 4 karaktere, 400 tokenin yaklaşık 300 kelimeye denk geldiğini yazıyor. RuneLab'ın ölçümünde İngilizce metin genel amaçlı tokenizer'larda kelime başına yaklaşık 1,25 token tutarken, aynı metnin Türkçesi kelime başına 2,2 ile 3,1 token tuttu.
Türkçe neden daha çok token harcar?
#Türkçe sondan eklemeli bir dil ve kelimeleri uzun. Genel amaçlı tokenizer'lar bu kelimeleri daha çok parçaya bölüyor. RuneLab'ın 2 Kasım 2026 ölçümünde aynı metnin Türkçesi, OpenAI o200k_base ile 1,45 kat, DeepSeek-V3 ile 1,96 kat daha çok token tuttu.
ChatGPT'de Türkçe yazmak daha mı pahalı?
#API'de token başına ödeme yapıyorsanız, aynı içerik Türkçede daha çok token tuttuğu için daha çok token faturalandırılır. Ölçümümüzde OpenAI'ın o200k_base kodlamasında fark 1,45 kattı. Abonelikli ChatGPT planlarında ücret plan başına ödeniyor, ama OpenAI Aralık 2026'dan itibaren Plus, Pro ve Business planlarında kullanım hakkını tokenle ölçeceğini duyurdu.
Tokenizer nedir?
#Tokenizer, metni modelin anlayacağı tokenlere bölen ve tokenleri tekrar metne çeviren yazılımdır. Her modelin kendi tokenizer'ı ve kelime dağarcığı vardır, bu yüzden aynı metin farklı modellerde farklı sayıda token tutar.
Token sayısını nasıl hesaplarım?
#En doğru sayı için kullanacağınız modelin kendi aracını kullanın. OpenAI'da tiktoken ya da girdi tokeni sayma uç noktası, Claude'da count_tokens, Gemini'de countTokens çağrısı token sayısını verir. Ortalama karakter kurallarıyla tahmin etmek Türkçede yanıltıcı olabilir.
Türkçe için hangi tokenizer daha verimli?
#RuneLab'ın ölçtüğü genel amaçlı tokenizer'lar arasında Türkçede en az tokeni Turkish-Llama-8b-v0.1 (1,41 kat) ve OpenAI o200k_base (1,45 kat) kullandı. Türkçeyle eğitilmiş Kumru-2B, turkish-gpt2-large ve TURNA ise Türkçe metni İngilizcesinden daha az tokene böldü. Bu, modelin daha iyi olduğu anlamına gelmez.
Kaynaklar
#- RuneLab, Türkçe ve İngilizce token ölçümü (2 Kasım 2026, 3 Kasım 2026'da tekrarlandı): token tablosu, kelime ve karakter sayıları, kelime başına token ve token başına karakter oranları
- OHCHR, İnsan Hakları Evrensel Beyannamesi (Türkçe PDF): ölçümün Türkçe metni
- OHCHR, Universal Declaration of Human Rights (İngilizce PDF): ölçümün İngilizce metni
- Petrov, La Malfa, Torr ve Bibi, Language Model Tokenizers Introduce Unfairness Between Languages (arXiv): diller arası token uzunluğu farkı ve etkileri
- Sennrich, Haddow ve Birch, Neural Machine Translation of Rare Words with Subword Units (arXiv): alt kelime birimleri ve BPE
- Google for Developers, Machine Learning Crash Course, LLM bölümü: token tanımı, İngilizce için karakter ve kelime oranı, tokenlere bölmenin dile özgü olması
- Google, Gemini API belgeleri, Understand and count tokens: kelime dağarcığı ve tokenization tanımı, token sayısının maliyete etkisi, count_tokens ve usage alanı
- Anthropic, Token counting: count_tokens uç noktası, ücretsiz ama limitli kullanım, tahmini sayı, yeni tokenizer ve yaklaşık yüzde 30 artış
- Anthropic, Pricing: prompt caching ve önbellekten okuma fiyatı
- OpenAI, Counting tokens: tiktoken'ın sınırları, girdi tokeni sayma uç noktası, biçim tokenleri ve araç tanımları
- OpenAI, tiktoken GitHub deposu: BPE'nin özellikleri, ölçümde kullanılan 0.14.0 sürümü ve model ile kodlama eşlemesi
- Hugging Face model kartları: Kumru-2B, turkish-gpt2-large, Turkish-Llama-8b-v0.1 model kartı ve TURNA: ölçülen Türkçe tokenizer'lar ve geliştiricileri
İlgili yazılar ve eğitimler
#- LLM nedir? Büyük dil modeli nasıl çalışır?
- ChatGPT kullanım limiti nedir, Aralık'ta ne değişiyor?
- Claude fiyatları 2026: Pro, Max, Ultra ve Team
- ChatGPT Business ve aylık API kredisi
- Yapay zeka ajanı nedir?
- RAG nedir? Yanıtlar belgelerde nasıl bulunur?
- Eğitim: Yapay Zeka FinOps: Token Ekonomisi, Bütçeleme ve Birim Maliyet Yönetimi
