惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

TaoSecurity Blog
TaoSecurity Blog
L
LINUX DO - 最新话题
Help Net Security
Help Net Security
N
News | PayPal Newsroom
www.infosecurity-magazine.com
www.infosecurity-magazine.com
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
The Last Watchdog
The Last Watchdog
S
Security @ Cisco Blogs
W
WeLiveSecurity
C
CXSECURITY Database RSS Feed - CXSecurity.com
Webroot Blog
Webroot Blog
T
Troy Hunt's Blog
V
Vulnerabilities – Threatpost
Google Online Security Blog
Google Online Security Blog
N
News and Events Feed by Topic
T
Threat Research - Cisco Blogs
Security Archives - TechRepublic
Security Archives - TechRepublic
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tor Project blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
D
Darknet – Hacking Tools, Hacker News & Cyber Security
PCI Perspectives
PCI Perspectives
Google DeepMind News
Google DeepMind News
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Apple Machine Learning Research
Apple Machine Learning Research
IT之家
IT之家
S
SegmentFault 最新的问题
J
Java Code Geeks
P
Privacy & Cybersecurity Law Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
博客园 - 【当耐特】
博客园_首页
H
Hacker News: Front Page
T
Threatpost
Jina AI
Jina AI
博客园 - Franky
月光博客
月光博客
L
LINUX DO - 热门话题
The Cloudflare Blog
H
Heimdal Security Blog
博客园 - 司徒正美
酷 壳 – CoolShell
酷 壳 – CoolShell
Cloudbric
Cloudbric
雷峰网
雷峰网
Hugging Face - Blog
Hugging Face - Blog
S
Secure Thoughts
T
Tenable Blog
I
Intezer
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant Common SOC 2 Failures (Real World) Stop Vibe-Checking Your AI App: A Practical Guide to Evals How to Use SonarQube and SonarScanner Locally to Level Up Your Code Quality Your Next To-Do App Is Dead — I Replaced Mine with an OpenClaw AI Sign a Nostr event in 60 lines of Python using coincurve — no nostr-sdk, no nbxplorer, no rust toolchain ITGC Audit Explained Like You’re in Big 4 Patch Tuesday abril 2026: Microsoft parcha 163 vulnerabilidades y un zero-day en SharePoint Stop scraping everything: a better way to track competitor price changes Listing on MCPize + the Official MCP Registry while routing payments OUTSIDE the marketplace — how I kept 100% of my x402 revenue Building an AI-Powered Risk Intelligence System Using Serverless Architecture Why We Ripped Function Overloading Out of Our AI Toolchain Testing AI-Generated Code: How to Actually Know If It Works SaaS Churn Is Killing Your Business. Here Is What to Do About It (Without a Support Team) The Speed of AI Is No Longer Linear - And Self-Improving Models Are Why How to Implement RBAC for MCP Tools: A Practical Guide for Engineering Teams From Standard Quote to Persuasive Proposal: AI Automation for Arborists I built a CLI that scaffolds complete multi-tenant SaaS apps Axios CVE-2025–62718: The Silent SSRF Bug That Could Be Hiding in Your Node.js App Right Now The dashboard that ended our friendship Data Pipelines Explained Simply (and How to Build Them with Python) The Hidden Cost of AI Systems Nobody Talks About. undefined vs undeclared, and how typeof behaves Switching from file-based jobs to NATS/Kafka in Rust without changing code io_uring Adventures: Rust Servers That Love Syscalls Why Agentic AI is Killing the Traditional Database The POUR principles of web accessibility for developers and designers Quantum Neural Network 3D — A Deep Dive into Interactive WebGL Visualization How To Install Caveman In Codex On macOS And Windows Automation Pipeline Reliability: Why Your Workflow Breaks When Nobody Is Watching I Built an 'Open World' AI Coding Agent — It Works From ANY Folder From Freelancing to Product: A Tech Service Company's SaaS Transformation China's AI Giants: Adding Tencent Hunyuan & ByteDance Doubao to AI University (74 Providers) On the Vibe Coders and Their Lies clerk: Auto-Summarize Your Claude Code Sessions AI Weekly — 2026/04/10–04/17 | The Model Lockdown Is Here, but the Toolchain Is the Real Battleground AI 週報 — 2026/04/10–2026/04/17 模型封鎖潮來了,但工具鏈才是真戰場 Maybe this is how Open-Source apps are born... 🚀 Fine-Tune LLMs with LoRA and QLoRA: 2026 Guide tRPC v11 + Next.js App Router: End-to-End Type Safety Without the Boilerplate ShadCN UI in 2026: Why I Stopped Installing Component Libraries and Started Owning My Components SaaS Billing in React Server Components: Stripe + Supabase Without a Single `useEffect` Join our DEV Weekend Challenge — $1,000 in Prizes Across TEN winners! Submissions Due April 20 at 6:59 AM UTC. Implementing FSRS Spaced Repetition in Flutter + Supabase — Adding Memory Science to an AI Learning App "I Texted My Localhost From the Train — Claude Code Fixed the Bug Before I Got Home" I Built a Sales Prep AI and It Went Deeper Than Expected Design to Code #2: One JSON, Eleven Outputs Solving the 100M-Row Problem: A Summary Table Pattern for High-Volume Push Notification Logs Flutter Web With Wasm: What Actually Changes For Developers I Built 50 Royalty-Free Soundtracks for My Side Project in a Weekend Using AI Music Generation The Vibe Coding Security Checklist: 7 Things to Check Before You Ship Stop Letting Googlebot Guess Fix Your React App's SEO Right Desconstruindo o Streaming do LinkedIn: Como Criar um Engine de Extração de Vídeo de Alta Performance com HLS e FFmpeg (EDA Part-1) EDA (Exploratory Data Analysis) Explained With Real Life — Why Looking at Your Data Is the Most Important Step in Machine Learning Brand Relationship Management at Scale: Our 4-Touch Outreach System for 200+ Brands Why String.fromEnvironment() Might Return an Empty String in Dart JGuardrails 1.0.0 — Hardening Java LLM Apps Against Jailbreaks, Toxicity, and Prompt Injection Plan and Schedule a Full Week of Threads Content From One Claude Conversation Coding Cat Oran Ep3, Five Tables Changed Everything Updated: BFF Pattern I'm done watching freelancers get buried by 200 proposals. So I'm building the alternative. This is my first post BFS Algorithm in Java Step by Step Tutorial with Examples Tracking LLM Pricing Monthly: An Open Dataset for 22 AI Models How We Measure Content ROI on a Comparison Site: Revenue Attribution Without Perfect Data Introducing Nova AI Ops: The AI-Native Operating System for SRE Teams I built a free desktop video downloader for Windows — Grabbit How Talkie OCR Helps Vision-Impaired & Dyslexic Users Read the World Around Them VRCFaceTracking安装和iPhone面捕配置教程,有bug Even CrowdStrike Can't See Your Agents The Automation Gold Rush: What n8n Workflows and Claude Are Opening Up for Developers Right Now
CLI ile Aracı Token Maliyetlerini Düşürme (2026 Rehberi)
Tobias Hoffm · 2026-05-20 · via DEV Community

Bir CLI kodlama ajanı, fatura gelene kadar “özgür” görünür. Claude Code veya Codex’i bir depoya yönlendirip bir modülü yeniden düzenlemesini istediğinizde, on dakika içinde kırk dosya okumuş, testleri üç kez çalıştırmış ve aslında hiç gerek olmayan bağlam için altı haneli token harcamış olabilir. Bunu gün boyu ajan kullanan sekiz kişilik bir ekiple çarptığınızda maliyet hızla büyür. İyi haber: Kodlama ajanlarında token israfının büyük kısmı, modeli değiştirmeden veya çıktı kalitesinden vazgeçmeden komut satırı alışkanlıklarıyla azaltılabilir.

Apidog'u bugün deneyin

TL;DR

Ajan maliyetini düşürmek için modele gitmeden önce bağlamı küçültün:

  • Çalışma kümesini dosya/dizin bazında sınırlayın.
  • CLAUDE.md gibi bellek dosyalarını kısa tutun.
  • Uzun oturumlarda /compact veya /clear kullanın.
  • Kararlı ön ekler için istem önbellekleme açın.
  • Basit alt görevleri daha ucuz modele yönlendirin.
  • Test, kurulum ve diff çıktısını filtreleyin.
  • Her çalıştırmanın token ve maliyetini ölçün.

Giriş

Sorun genelde iki şekilde görünür: Ya görev ortasında haftalık/oturum limitine çarparsınız ya da ay sonunda API faturası gelir ve “AI asistanı neden bu kadar pahalı?” sorusu sorulur.

Temel neden aynıdır: CLI ajanları varsayılan olarak çok fazla bağlam taşır. On satır koda ihtiyaç duyduklarında tüm dosyayı okurlar, her dönüşte konuşma geçmişini yeniden gönderirler, komut çıktılarını ham haliyle bağlama eklerler ve aynı sistem istemini binlerce kez tekrar yollarlar.

Bu kaçınılmaz değildir. 2.000 token’lık kod üzerinde akıl yürütmesi gereken bir refactor işleminin 180.000 token bağlama ihtiyacı yoktur. Aradaki fark sizin tasarruf alanınızdır.

Bu rehberde şu başlıkları uygulamalı olarak ele alacağız:

  • CLI ajan çalışmasında token’ların nereye gittiği
  • Bağlam hijyeni ve bellek dosyaları
  • İstem önbellekleme
  • Model yönlendirme
  • Araç çıktısını ve dosya alımını kısaltma
  • Çalıştırma başına maliyet ölçümü

Örnekler Claude Code ve Codex üzerinden ilerliyor, ancak aynı ilkeler token tabanlı API kullanan çoğu kodlama ajanı için geçerlidir.

Ek bir maliyet kaynağı da API hata ayıklamasıdır. Güvenilmez bir dahili API’ye bağlanan ajan, her denemede token harcar: yeniden dener, hata gövdelerini okur, belgeleri tekrar tarar ve aynı döngüye girer.

💡 Ajanlarınız API’lerle çalışıyorsa, API’leri ajana vermeden önce Apidog’da tasarlamak, mock verilerle test etmek ve sözleşmesini doğrulamak pahalı deneme-yanılma döngülerini azaltır. Ajan, sürprizlerle dolu canlı bir endpoint yerine beklenen davranışı olan bir API sözleşmesine karşı çalışır.

CLI Ajan Çalışmasında Token’lar Nereye Gider?

Bir ajan dönüşünde modele giriş yükü gönderilir ve modelden çıktı alınır. İkisi için de ödeme yaparsınız. Çoğu sağlayıcıda çıktı token’ları, giriş token’larından daha pahalıdır.

Örnek olarak bir model ailesinde:

  • Giriş: milyon token başına yaklaşık 3$
  • Çıkış: milyon token başına yaklaşık 15$
  • Daha küçük modelde giriş: yaklaşık 1$
  • Daha küçük modelde çıkış: yaklaşık 5$

Bunları sabit fiyat olarak değil, oranları anlamak için örnek kabul edin. Güncel fiyatları her zaman sağlayıcının fiyatlandırma sayfasından kontrol edin.

Tipik bir ajan çalışmasında giriş token’larını büyüten kalemler şunlardır:

  • Sistem istemi ve araç tanımları: Ajan talimatları ve araç JSON şemaları. Her dönüşte tekrar gönderilir.
  • Bellek/proje dosyaları: CLAUDE.md gibi dosyalar, depo kuralları ve kalıcı talimatlar.
  • Konuşma geçmişi: Önceki kullanıcı mesajları, model yanıtları, araç çağrıları ve araç sonuçları.
  • Okunan dosya içerikleri: Ajanın açtığı kaynak dosyalar.
  • Araç çıktısı: Test logları, npm install çıktısı, git diff, stack trace’ler.

En kritik nokta: Konuşma geçmişi her dönüşte yeniden oynatılır.

30 dönüşlük bir oturum, tek dönüşün 30 katı değildir; büyüyen bir ön ekin tekrar tekrar gönderilmesine benzer. Bu yüzden uzun ve dağınık oturumlar pahalıdır.

Oturum ve limit muhasebesi hakkında daha fazla detay için Claude Code token penceresinin nasıl sıfırlandığına dair açıklama faydalı bir tamamlayıcıdır.

1. Bağlam Hijyeni ve Bellek Dosyaları

En ucuz token, hiç göndermediğiniz tokendir.

Çalışma kümesini baştan sınırlayın

Ajanı depo kökünde açıp şunu demeyin:

claude "fatura mantığını yeniden düzenle"

Enter fullscreen mode Exit fullscreen mode

Bu, ajanın gereksiz keşif yapmasına yol açar.

Bunun yerine dosya ve kapsam belirtin:

claude "src/payments/retry.ts ve ilgili test dosyasında üstel geri çekilmeyi kullanacak şekilde yeniden deneme mantığını yeniden düzenle"

Enter fullscreen mode Exit fullscreen mode

Daha iyi bir istem şunları içerir:

  • Değiştirilecek dosyalar
  • Değişiklik hedefi
  • Test kapsamı
  • Okunmaması gereken alanlar

Örnek:

claude "
Sadece şu dosyaları kullan:
- src/payments/retry.ts
- src/payments/retry.test.ts

Amaç:
Yeniden deneme mantığını üstel geri çekilme kullanacak şekilde düzenle.

Kısıtlar:
- Public API imzasını değiştirme.
- Başka dizinleri tarama.
- Sadece başarısız testleri çalıştır.
"

Enter fullscreen mode Exit fullscreen mode

Bellek dosyasını kısa tutun

CLAUDE.md veya eşdeğer proje bellek dosyası her dönüşte bağlama eklenebilir. Bu dosya büyüdükçe her ajan çağrısının sabit maliyeti artar.

Yaklaşık token sayısını kontrol edin:

wc -c CLAUDE.md | awk '{print "≈", int($1/4), "token/dönüş"}'

Enter fullscreen mode Exit fullscreen mode

İyi bir CLAUDE.md şunları içermelidir:

# Proje Kuralları

## Komutlar

- Test: npm test --silent
- Lint: npm run lint
- Typecheck: npm run typecheck

## Kod Kuralları

- Public API imzalarını değiştirme.
- Yeni bağımlılık eklemeden önce sor.
- Test eklemeden refactor tamamlanmış sayılmaz.

## Belgeler

- API sözleşmeleri: docs/api.md
- Ödeme akışı: docs/payments.md

Enter fullscreen mode Exit fullscreen mode

Kötü örnek:

# Proje Hakkında

Bu proje 2021 yılında başladı...
Burada tüm mimari geçmişi...
Tüm endpoint belgeleri...
Tüm veritabanı tabloları...
Tüm onboarding notları...

Enter fullscreen mode Exit fullscreen mode

Bellek dosyası wiki değildir. Sık kullanılan kuralları tutun, detaylı belgeleri linkleyin.

Uzun oturumları sıkıştırın veya temizleyin

Bir görev bittiğinde aynı konuşma içinde yeni göreve geçmeyin. Eski bağlam yeni görevin maliyetini artırır.

Claude Code’da:

/compact

Enter fullscreen mode Exit fullscreen mode

Bu, geçmişi kısa bir özete dönüştürür.

Yeni ve ilgisiz bir göreve başlıyorsanız:

/clear

Enter fullscreen mode Exit fullscreen mode

Basit kural:

  • Aynı mantıksal görev: devam edin.
  • Yeni görev: /compact veya /clear.

Claude Code iş akışlarındaki desenler bu kapsam belirleme alışkanlığına dayanır.

Ignore dosyası kullanın

Ajanın şu dizinleri okumasını engelleyin:

node_modules/
dist/
build/
coverage/
.next/
.vendor/
*.lock

Enter fullscreen mode Exit fullscreen mode

Ajan node_modules/ veya dist/ görmezse, bu dosyaları okuyup token harcayamaz.

2. İstem Önbellekleme: Aynı Ön Ek İçin Tekrar Ödeme Yapmayın

İstem önbellekleme, sistem istemi, araç tanımları ve depo kuralları gibi kararlı ön eklerin sağlayıcı tarafından önbelleğe alınmasını sağlar.

Ekonomi basittir:

  • İlk yazma normal girişten biraz pahalıdır.
  • Sonraki okumalar yaklaşık %90 indirimlidir.
  • Büyük ve sabit ön eklerde ciddi tasarruf sağlar.

Kararlı içeriği önce, değişken içeriği sonra koyun:

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=2048,
    system=[
        {
            "type": "text",
            "text": SYSTEM_PROMPT + REPO_CONVENTIONS,
            "cache_control": {"type": "ephemeral"},
        }
    ],
    messages=[
        {
            "role": "user",
            "content": user_task,
        }
    ],
)

Enter fullscreen mode Exit fullscreen mode

Kullanımı ölçün:

u = response.usage

print("önbellek yazma:", u.cache_creation_input_tokens)
print("önbellek okuma :", u.cache_read_input_tokens)
print("yeni giriş     :", u.input_tokens)

Enter fullscreen mode Exit fullscreen mode

Dikkat edilmesi gerekenler:

  • Önbellek kesme noktasından önce değişken veri koymayın.
  • Sistem istemine timestamp eklemeyin.
  • Aynı işleri yakın zaman aralığında çalıştırın.
  • Ön ek bayt düzeyinde kararlı olmalıdır.

Örnek senaryo:

  • Sistem istemi + repo kuralları: 8.000 token
  • Günlük çağrı sayısı: 60

Önbellekleme yoksa 8.000 token için 60 kez ödeme yaparsınız. Önbellekleme varsa ilk yazmadan sonra çoğu çağrı indirimli okunur.

OpenAI tarafında da desteklenen modellerde önbelleğe alınmış giriş için benzer indirimler otomatik uygulanabilir. Ayarlar değişebilir, ancak ilke aynıdır.

Codex tarafında yönlendirme ve ücretsiz katman seçenekleri için Codex aracılığıyla GPT-5.5’i ücretsiz çalıştırma rehberi bu stratejiyi tamamlar.

3. Model Yönlendirme: Basit İşe Ucuz Model

Her görev en güçlü modeli gerektirmez.

Şunlar genellikle küçük modelle yapılabilir:

  • Commit mesajı yazma
  • Diff özetleme
  • Changelog girdisi oluşturma
  • Basit test taslağı üretme
  • Değişken yeniden adlandırma
  • Lint hatası açıklama

Şunlar daha güçlü model gerektirebilir:

  • Mimari karar
  • Karmaşık refactor
  • Çok dosyalı hata ayıklama
  • Performans analizi
  • Güvenlik açısından kritik değişiklik

CLI’dan model seçimi:

claude --model haiku "evreye alınmış diff için conventional commit mesajı yaz"

claude --model sonnet "ödeme servisi için cache katmanını yeniden tasarla"

Enter fullscreen mode Exit fullscreen mode

Varsayılan strateji:

# Basit görevler için ucuz model
alias ccheap='claude --model haiku'

# Zor görevler için güçlü model
alias cstrong='claude --model sonnet'

Enter fullscreen mode Exit fullscreen mode

Kullanım:

ccheap "bu diff'i 5 maddede özetle"

cstrong "src/payments içindeki retry ve idempotency akışını analiz et"

Enter fullscreen mode Exit fullscreen mode

Çoğu ekip tersini yapar: Her şeyi pahalı modelle çalıştırır ve basit işler için gereksiz ödeme yapar.

Alt-ajan destekleyen sistemlerde de aynı kural geçerlidir:

  • Üst ajan: güçlü model, küçük karar sayısı
  • Alt ajan: ucuz model, dar görev, kısa bağlam

Örneğin:

Alt ajan görevi:
Sadece src/payments dizininde retry ile ilgili fonksiyonları bul.
Kod değiştirme.
En fazla 10 maddelik özet döndür.

Enter fullscreen mode Exit fullscreen mode

Üst ajan sadece özetlenmiş sonucu görür; tüm arama bağlamını taşımak zorunda kalmaz.

Bu yetki devri desenleri için Codex ve Claude Code’daki hedef komut rehberindeki otonom döngü örnekleri faydalıdır.

Limitli plan kullanıyorsanız model yönlendirme yalnızca maliyeti değil, hakkınızın ne kadar dayanacağını da etkiler. Claude Code haftalık limit artışı yardımcı olabilir, ancak doğru yönlendirme hâlâ kritik kaldıraçtır.

4. Araç Çıktısını Kısaltın

Ajanın çalıştırdığı her komut metin döndürür. Bu metin bağlama eklenir ve sonraki dönüşlerde tekrar gönderilir.

Gürültülü komutlar pahalıdır:

npm test
npm install
git diff
pytest

Enter fullscreen mode Exit fullscreen mode

Komutları sessiz çalıştırın

# Gürültülü
npm test

# Daha kısa çıktı
npm test --silent -- --reporter=dot

Enter fullscreen mode Exit fullscreen mode

# Gürültülü
npm install

# Daha kısa çıktı
npm install --silent --no-audit --no-fund

Enter fullscreen mode Exit fullscreen mode

Çıktıyı filtreleyin

pytest -q 2>&1 | tail -n 30

Enter fullscreen mode Exit fullscreen mode

git diff --stat

Enter fullscreen mode Exit fullscreen mode

npm test 2>&1 | grep -E "(FAIL|✗|Error)" | head -n 20

Enter fullscreen mode Exit fullscreen mode

Ajan çoğu zaman tüm loga değil, şu bilgilere ihtiyaç duyar:

  • Test geçti mi?
  • Hangi test başarısız oldu?
  • Hata mesajı nedir?
  • İlgili stack trace’in son kısmı nedir?

Büyük diff’leri sınırlayın

Şunu yaptırmayın:

git diff

Enter fullscreen mode Exit fullscreen mode

Önce özet alın:

git diff --stat

Enter fullscreen mode Exit fullscreen mode

Sonra yalnızca ilgili dosyayı açtırın:

git diff -- src/payments/retry.ts

Enter fullscreen mode Exit fullscreen mode

Kilit dosyaları özellikle tehlikelidir:

git diff -- package-lock.json

Enter fullscreen mode Exit fullscreen mode

Bu çıktı binlerce satır olabilir. Ajanın genelde tamamına ihtiyacı yoktur.

5. Tüm Dosya Yerine Hedefli Okuma Kullanın

Bir fonksiyonu değiştirmek için 1.500 satırlık dosyanın tamamını okumak israftır.

Daha iyi yaklaşım:

grep -n "function retryPayment" src/payments/retry.ts

Enter fullscreen mode Exit fullscreen mode

Sonra ilgili pencereyi okuyun:

sed -n '120,220p' src/payments/retry.ts

Enter fullscreen mode Exit fullscreen mode

Ajan istemine bunu açıkça yazın:

Tüm dosyayı okuma.
Önce retry mantığını grep ile bul.
Sadece ilgili fonksiyonun çevresindeki yaklaşık 100 satırı oku.

Enter fullscreen mode Exit fullscreen mode

Büyük dosyalarda bu fark ciddi olabilir:

  • Tüm dosya: ~18.000 token
  • Hedefli pencere: ~800 token

6. RAG ve Doküman Alımını Sınırlayın

Ajanınız kod tabanı araması veya doküman RAG kullanıyorsa, alınan parçaların sayısı ve boyutu maliyeti doğrudan etkiler.

Kötü varsayılan:

top_k = 50
chunk_size = 800

Enter fullscreen mode Exit fullscreen mode

Bu, modele 40.000 token’a yakın bağlam taşıyabilir.

Daha iyi başlangıç:

top_k = 8
chunk_size = 200

Enter fullscreen mode Exit fullscreen mode

Pratik kural:

  • Daha az ama daha alakalı parça
  • Kısa chunk
  • Soruya göre filtrelenmiş dizin
  • Gereksiz doküman koleksiyonlarını dışarıda bırakma

Örnek istem:

Sadece docs/payments ve src/payments altında arama yap.
Genel README, changelog ve onboarding belgelerini kullanma.
En fazla 8 kısa sonuç döndür.

Enter fullscreen mode Exit fullscreen mode

7. Her Çalıştırmanın Maliyetini Ölçün

Ölçmediğiniz maliyeti azaltamazsınız.

API yanıtındaki kullanım bilgilerini kaydedin:

u = response.usage

INPUT_RATE  = 3.00 / 1_000_000
OUTPUT_RATE = 15.00 / 1_000_000
CACHE_READ  = 0.30 / 1_000_000
CACHE_WRITE = 3.75 / 1_000_000

cost = (
    u.input_tokens * INPUT_RATE +
    u.output_tokens * OUTPUT_RATE +
    u.cache_read_input_tokens * CACHE_READ +
    u.cache_creation_input_tokens * CACHE_WRITE
)

print(
    f"çalıştırma maliyeti ≈ ${cost:.4f} "
    f"(girdi={u.input_tokens}, "
    f"çıktı={u.output_tokens}, "
    f"önbellek okuma={u.cache_read_input_tokens})"
)

Enter fullscreen mode Exit fullscreen mode

CLI kullanıyorsanız:

claude /cost

Enter fullscreen mode Exit fullscreen mode

Daha iyi izleme için ajan çağrısını küçük bir wrapper içine alın:

#!/usr/bin/env bash

TASK="$1"
START=$(date -Iseconds)

claude "$TASK"

END=$(date -Iseconds)

echo "$START,$END,$TASK" >> agent-runs.csv

Enter fullscreen mode Exit fullscreen mode

Daha gelişmiş sürümde şunları da kaydedin:

  • Model
  • Proje
  • Görev etiketi
  • Giriş token
  • Çıkış token
  • Cache read/write token
  • Yaklaşık maliyet

API anahtarlarını da ayırın:

  • Proje başına anahtar
  • Ajan türü başına anahtar
  • Ortam başına anahtar

Böylece harcama tek bir toplamda kaybolmaz.

Taktik Karşılaştırması

Taktik Tipik token tasarrufu Çaba
Çalışma kümesini sınırlama Çalıştırma başına girdide %30–60 Düşük
Kısa ve kararlı bellek dosyası Her dönüşte %5–15 Düşük
/compact veya /clear Uzun oturumlarda %40–80 Düşük
İstem önbellekleme Önbelleğe alınan ön ekte ~%90 Orta
Model yönlendirme Yönlendirilen alt görevlerde %50–80 Orta
Sessiz/filtrelenmiş araç çıktısı Araç yoğun çalıştırmalarda %20–50 Düşük
Hedefli dosya okuma Büyük dosyalarda %70–95 Düşük
Kısıtlı RAG alımı RAG yoğun ajanlarda %30–60 Orta
Çalıştırma başına maliyet ölçümü Doğrudan %0; diğerlerini mümkün kılar Düşük

Tasarruf oranları örnektir. Gerçek kazanç, mevcut israf seviyenize bağlıdır.

Uygulanabilir Kontrol Listesi

Başlamak için sırayla şunları yapın:

[ ] CLAUDE.md dosyasını 1.000 token altına indir.
[ ] node_modules, dist, build, coverage ve lock dosyalarını ignore et.
[ ] Ajan istemlerinde dosya/dizin kapsamı belirt.
[ ] Test komutlarını sessiz moda al.
[ ] git diff yerine önce git diff --stat kullan.
[ ] Uzun oturumlarda /compact kullan.
[ ] Yeni görevlerde /clear ile başla.
[ ] Commit mesajı/diff özeti gibi işleri ucuz modele yönlendir.
[ ] Kararlı sistem istemi için prompt caching aç.
[ ] Her çalıştırma için token ve maliyet kaydı tut.

Enter fullscreen mode Exit fullscreen mode

Sonuç

Ajan token maliyetlerinin çoğu modelden değil, çalışma şeklinden kaynaklanır. Gereksiz bağlam, uzun konuşma geçmişi, ham araç çıktısı ve yanlış model seçimi faturayı büyütür.

Önce düşük çabalı adımları uygulayın:

  • Kapsamı daraltın.
  • Bellek dosyasını küçültün.
  • Araç çıktısını sessizleştirin.
  • Uzun oturumları temizleyin.
  • Basit işleri ucuz modele taşıyın.

Ardından istem önbellekleme ve maliyet ölçümü ekleyin. Bu kombinasyon, çıktı kalitesini düşürmeden ajan maliyetlerini yönetilebilir hale getirir.