---
title: "Uzun Belgeler ve Toplantıları AI ile Özetleme"
description: "Token limitine takılmadan uzun PDF, transkript ve raporları özetleyin. Map-reduce deseni, n8n workflow adımları ve dahili AI kredili AgentRoost kurulumu."
canonical: https://agentroost.app/tr/blog/uzun-belge-toplanti-ai-ozetleme
date: 2026-04-12T12:00:00Z
---

[Canonical URL](https://agentroost.app/tr/blog/uzun-belge-toplanti-ai-ozetleme)

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:

1. **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.
2. **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:
```json
{
  "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

```javascript
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.

```javascript
// 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

1. [AgentRoost'a kayıt olun](/tr/agents/n8n) — e-posta, Google, Microsoft veya Discord ile.
2. **n8n framework'ünü** seçin, instance'ınıza bir isim verin.
3. ~2 dakika içinde `https://<sizin-id>.agentroost.app` adresinde size özel n8n editörünüz açılır — instance tamamen sizin, verileriniz yalnızca sizin hesabınızda.
4. 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.
5. 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.

[Planları karşılaştır →](/tr/pricing)

---

## Ö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.
