Uzun Belgeler ve Toplantıları AI ile Özetleme
Bir saatlik toplantı transkripti. 80 sayfalık hukuki sözleşme. Rakip analiz raporu. Bunları modele "summary yap" diye yapıştırdığınızda ya token limitine çarparsınız ya da model metnin ortasını sessizce keser — ve siz fark etmezsiniz.
Bu yazı o sorunu doğrudan ele alıyor: uzun belgeler için parçala-özetle-birleştir (map-reduce) deseni nedir, n8n'de nasıl kurarsınız, hangi modeli seçersiniz ve AgentRoost üzerinde API anahtarı olmadan nasıl çalıştırırsınız.
Sorunun kökü: bağlam penceresi bir boru değil, bir kova
Çoğu LLM'in "context window"u vardır — kaç token'ı aynı anda görebildiği. GPT-4o'da bu ~128k, bazı modellerde 32k, bazılarında 200k+. Ama "128k token destekliyor" cümlesini "256 sayfalık PDF'i yapıştır, özet çıkar" olarak okumak yanıltıcı.
İki somut sorun var:
- Uzun bağlam = daha yüksek fiyat ve gecikme. Token sayısı iki katına çıktığında maliyet de (genellikle) iki katına çıkar. 80k token'lık bir prompt pahalıdır.
- Ortada kaybolma (lost in the middle). Araştırmalar, modellerin uzun bağlamların ortasındaki bilgileri başına ve sonuna kıyasla daha kötü hatırladığını gösteriyor. 200k token destekliyor ≠ 200k token'ı eşit dikkatle okuyor.
Çözüm: metni küçük parçalara bölmek, her parçayı bağımsız özetlemek, sonra bu özetleri birleştirmek. Map-reduce denen bu desen, Hadoop'tan LLM dünyasına geçti.
Map-Reduce Deseni Adım Adım
[Ham Metin]
|
v
[Parçalara Böl] ← chunk_size: ~2000-3000 kelime
|
v
[Her Parçayı Özetle] ← "map" aşaması (paralel çalışabilir)
|
v
[Özetleri Birleştir] ← "reduce" aşaması
|
v
[Final Özet]
Ne kadar parçalamalı?
Parça boyutu seçimi dengeleme gerektiriyor:
| Parça Boyutu | Avantaj | Dezavantaj |
|---|---|---|
| Çok küçük (500 kelime) | Ucuz, hızlı | Bağlam kopukluğu, cümle ortası kesimleri |
| Orta (2000-3000 kelime) | Anlamlı bağlam, makul maliyet | Çoğu belgede ideal nokta |
| Çok büyük (10k+ kelime) | Daha az API çağrısı | Token israfı, yavaş, pahalı |
Önerim: Toplantı transkriptleri için 1500-2000 kelime, teknik raporlar için 2500-3000 kelime. Cümle sınırında kes, kelime ortasında değil.
n8n'de Map-Reduce Özet Workflow'u
Aşağıda gerçek bir n8n workflow'u var. Düğümleri sırayla açıklıyorum.
1. Tetikleyici: Webhook veya Schedule Trigger
Webhook kullanıyorsanız metin dışarıdan POST ile gelir:
{
"text": "... toplantı transkripti ...",
"title": "Q3 Satış Toplantısı"
}
Schedule Trigger kullanıyorsanız (örn. her Cuma akşamı haftalık raporlar için) cron ifadeniz şöyle:
0 18 * * 5
2. Code Düğümü: Metni Parçalara Böl
const text = $input.first().json.text;
const chunkSize = 2500; // kelime sayısı
const words = text.split(' ');
const chunks = [];
for (let i = 0; i < words.length; i += chunkSize) {
chunks.push({
chunkIndex: Math.floor(i / chunkSize),
content: words.slice(i, i + chunkSize).join(' '),
total: Math.ceil(words.length / chunkSize)
});
}
return chunks.map(c => ({ json: c }));
Bu düğüm her parçayı ayrı bir item olarak çıkarır — n8n'in sonraki düğümleri her item için otomatik çalıştırması bu sayede mümkün olur.
3. AI/LLM Düğümü: Map Aşaması (Her Parçayı Özetle)
n8n'in yerleşik "Basic LLM Chain" veya "Summarization Chain" düğümünü kullanın.
System Prompt:
Sen bir uzman editörsün. Sana verilen metin parçasını ({{ $json.chunkIndex + 1 }}/{{ $json.total }}) özetle.
- Önemli kararlar, eylem maddeleri ve rakamlar kaybolmasın
- Özet 150-200 kelime olsun
- Türkçe yaz
Human Message:
{{ $json.content }}
Model seçimi için: bu aşamada pahalı bir model kullanmak gerekmez. claude-3-5-haiku, gpt-4o-mini veya gemini-flash yeterli. Büyük modeli son birleştirme adımı için saklayın.
4. Aggregate Düğümü: Özetleri Topla
"Aggregate" düğümü, map adımından gelen tüm özetleri tek bir array'e toplar:
- Field to Aggregate:
summary(LLM çıktısı) - Output Field Name:
allSummaries
5. AI/LLM Düğümü: Reduce Aşaması (Final Özet)
Bu aşamada daha güçlü bir model mantıklı:
System Prompt:
Sana {{ $json.allSummaries.length }} parçadan oluşan bir belgenin bölüm özetleri verildi.
Bu özetleri tek bir tutarlı metne dönüştür.
Formatı:
## Ana Mesaj
(1-2 cümle)
## Öne Çıkan Noktalar
- (madde madde, max 7 madde)
## Eylem Maddeleri
- (varsa; yoksa bu bölümü kaldır)
Türkçe, profesyonel, sade bir dil kullan.
Human Message:
{{ $json.allSummaries.join('\n\n---\n\n') }}
6. Son Adım: E-posta, Slack veya Webhook
Özet hazır. n8n'in yerleşik Gmail, Slack veya Microsoft Teams entegrasyonuyla gönderin. Ya da başka bir webhook'a POST edin.
Hangi Modeli, Ne Zaman?
| Kullanım | Map Adımı | Reduce Adımı |
|---|---|---|
| Toplantı transkripti | gpt-4o-mini | gpt-4o |
| Hukuki sözleşme | claude-3-5-haiku | claude-sonnet-4-5 |
| Teknik rapor | gemini-flash | claude-sonnet-4-5 veya o3-mini |
| Çok gizli metin | Küçük yerli model | Küçük yerli model |
AgentRoost üzerinde 350'den fazla modele dahili krediyle erişiyorsunuz. Bir workflow'da map adımı için ucuz, reduce adımı için güçlü model seçebilir; API anahtarı değiştirmeden, faturalandırma karmaşasına girmeden geçiş yapabilirsiniz.
Sık Yapılan Hatalar
1. Cümle ortasında kesmek
Kelime sayısıyla bölme kodunuz cümle ortasında kesebilir. Daha sağlam bir yaklaşım: nokta, soru işareti veya ünlem işaretlerinde bölmek.
// Cümle sınırında kesme (basit versiyon)
const sentences = text.split(/(?<=[.!?])\s+/);
2. Parça sayısını takip etmemek
Model "bu metnin 3. parçası" bilgisini bilmeden özetlerse bağlamı kaybedebilir. chunkIndex ve total değerlerini her zaman prompt'a ekleyin.
3. Map adımında büyük model kullanmak
20 parçanız varsa map adımında 20 LLM çağrısı yapılır. Burada pahalı model kullanmak maliyeti gereksiz şişirir. Büyük modeli birleştirme için saklayın.
4. Reduce adımına ham metni de göndermek
"Güvenlik" için hem özetleri hem orijinal metni reduce adımına göndermek cazip görünür. Ama bu tam olarak token israfını geri getirir.
AgentRoost'ta Nasıl Kurarsınız
- AgentRoost'a kayıt olun — e-posta, Google, Microsoft veya Discord ile.
- n8n framework'ünü seçin, instance'ınıza bir isim verin.
- ~2 dakika içinde
https://<sizin-id>.agentroost.appadresinde size özel n8n editörünüz açılır — instance tamamen sizin, verileriniz yalnızca sizin hesabınızda. - Yukarıdaki workflow'u oluşturun. AI/LLM düğümlerindeki "Credential" alanı zaten dolu — dahili AI kredisi otomatik bağlanmış, API anahtarı girmenize gerek yok.
- Webhook URL'nizi not edin:
https://<sizin-id>.agentroost.app/webhook/...— herkese açık HTTPS, sertifika kurmanıza gerek yok.
Fiyat $19,99/ay'dan başlıyor. İlk 14 gün içinde memnun kalmazsanız iade garantisi var. İstediğiniz zaman iptal edebilirsiniz.
Özet: Ne Öğrendik
Map-reduce özet deseni, uzun metinleri token limitine takılmadan işlemenin kanıtlanmış yolu. Doğru parça boyutu seçimi (2000-3000 kelime), map aşamasında küçük model, reduce aşamasında güçlü model ve cümle sınırında kesme — bu dördü birlikte hem kaliteli hem ekonomik bir sonuç verir.
n8n bu deseni görsel olarak, kod yazmadan kurmanızı sağlıyor. AgentRoost ise o n8n instance'ını — ve içindeki AI çağrılarını — tek bir fiyata çalıştırıyor; sunucu kurulumu, API anahtarı yönetimi veya SSL sertifikası olmadan.
Sıkça sorulan sorular
Kaç sayfalık belgeyi bu yöntemle özetleyebilirim?
Pratik bir sınır yok — yeterli parçaya böldüğünüz sürece. 500 sayfalık bir belge 200 parçaya bölünür, her parça ayrı özetlenir, sonra özetler birleştirilir. Reduce adımında oluşan birleşik özet metni modelin bağlam penceresine sığıyorsa sorun yok; sığmıyorsa reduce adımını da iki kademeye bölebilirsiniz (hiyerarşik map-reduce).
AgentRoost'ta API anahtarı girmem gerekiyor mu?
Hayır. n8n instance'ınızın AI/LLM düğümleri AgentRoost'un dahili AI kredisiyle önceden bağlı geliyor. OpenAI, Anthropic veya başka bir sağlayıcıya kendiniz kayıt olmanız ya da ödeme yapmanız gerekmiyor. Krediler aylık planınıza dahil.
Hangi modeli seçmeliyim?
Büyük resim: map adımı için gpt-4o-mini, claude-3-5-haiku veya gemini-flash gibi hızlı ve ucuz modeller; reduce adımı için gpt-4o, claude-sonnet-4-5 veya o3-mini gibi daha güçlü modeller. AgentRoost'ta 350'den fazla model arasından workflow içinde serbestçe seçebilirsiniz.
Verilerim AgentRoost'ta güvende mi?
n8n instance'ınız size özel, tek kiracılı çalışır. Workflow verilerinizi başka kullanıcılarla paylaşmıyoruz. Gizli belgeler için hangi LLM sağlayıcısının kullanıldığını kontrol edebilir ya da ilgili sağlayıcının veri gizliliği politikasını ayrıca inceleyebilirsiniz.
İstediğim zaman iptal edebilir miyim?
Evet. AgentRoost aylık abonelik bazlı çalışır, yıllık taahhüt yoktur. Dashboard'dan istediğiniz zaman iptal edebilirsiniz. İlk 14 gün içinde iptal ederseniz tam iade alırsınız.