Özetleme Yapılandırması
Genel Bakış
summarization yapılandırması, konuşma özetleme ve bağlam budama üzerinde merkezi kontrol sağlar. Bu, daha önce özel ve Azure OpenAI uç noktalarında bulunan uç nokta bazlı summarize ve summaryModel alanlarının yerini alır.
Bir konuşma modelin bağlam penceresini aştığında, özetleme sistemi eski mesajları otomatik olarak kısa bir kontrol noktası özetine sıkıştırır. Bu, önemli bağlamı kaybetmeden konuşmaların süresiz olarak devam etmesine olanak tanır. Sistem ayrıca, özetlemeye ihtiyaç duyulmadan önce token alanını geri kazanmak için eski mesajlardaki büyük araç sonuçlarını kademeli olarak azaltan bağlam budama (context pruning) özelliğini de içerir.
Bir özetleme turundan sonra, bağlam kullanım göstergesi, atılan özet öncesi geçmişi yeniden saymak yerine, kalıcı özet temelini ve özet sonrası turları kullanır. Kümülatif kullanım ve maliyet toplamları, dalın tüm harcamalarını içermeye devam eder.
Örnek
summarization:
provider: 'openAI'
model: 'gpt-4o-mini'
maxSummaryTokens: 4096
reserveRatio: 0.05
trigger:
type: 'token_ratio'
value: 0.8
contextPruning:
enabled: true
keepLastAssistants: 3
softTrimRatio: 0.3
hardClearRatio: 0.5
minPrunableToolChars: 50000
softTrim:
maxChars: 4000
headChars: 1500
tailChars: 1500
hardClear:
enabled: true
placeholder: '[Old tool result content cleared]'provider
| Key | Type | Description | Example |
|---|---|---|---|
| provider | String | Özetleme çağrıları için kullanılacak LLM sağlayıcısı. Belirtilmezse, ajanın kendi sağlayıcısını kullanır. | provider: "openAI" |
Varsayılan: Ajanın kendi sağlayıcısı
model
| Key | Type | Description | Example |
|---|---|---|---|
| model | String | Özetleme çağrıları için kullanılacak model. Belirtilmediği takdirde, ajanın kendi modeli kullanılır. | model: "gpt-4o-mini" |
Varsayılan: Ajanın kendi modeli
parameters
| Key | Type | Description | Example |
|---|---|---|---|
| parameters | Object | Özetleme istekleri için ek LLM parametreleri (ör. temperature, top_p). | parameters: { temperature: 0.3 } |
prompt
| Key | Type | Description | Example |
|---|---|---|---|
| prompt | String | İlk özetleme için özel istem. Yerleşik kontrol noktası isteminin yerini alır. |
Varsayılan: Hedef, Kısıtlamalar ve Tercihler, İlerleme, Temel Kararlar, Sonraki Adımlar ve Kritik Bağlam için bölümler oluşturan yapılandırılmış bir kontrol noktası istemi.
updatePrompt
| Key | Type | Description | Example |
|---|---|---|---|
| updatePrompt | String | Önceki bir özet zaten mevcut olduğunda yeniden sıkıştırma için özel istem. Özetin yeni konuşma içeriğiyle güncellenmesi gerektiğinde kullanılır. |
Varsayılan: Yeni mesajları mevcut kontrol noktasıyla birleştiren, eski detayları sıkıştıran ve yakın zamandaki eylemlere daha fazla detay veren yerleşik bir istem.
maxSummaryTokens
| Key | Type | Description | Example |
|---|---|---|---|
| maxSummaryTokens | Number | Özetleme modeli yanıtı için maksimum çıktı token sayısı. | maxSummaryTokens: 4096 |
reserveRatio
| Key | Type | Description | Example |
|---|---|---|---|
| reserveRatio | Number | Token bütçesinin boşluk payı olarak ayrılan kısmı (0–1). Bağlamın mutlak kapasiteye kadar dolmasını engeller. | reserveRatio: 0.05 |
Varsayılan: 0.05 (%5 boşluk payı)
trigger
| Key | Type | Description | Example |
|---|---|---|---|
| trigger | Object | Özetlemenin ne zaman etkinleştirileceğini tanımlar. Belirtilmezse, özetleme işlemi mesaj budama işlemi herhangi bir mesajı sildiğinde tetiklenir. |
trigger Alt anahtarları
| Key | Type | Description | Example |
|---|---|---|---|
| type | String | Tetikleyici stratejisi. Seçenekler: `"token_ratio"`, `"remaining_tokens"`, `"messages_to_refine"`. | type: "token_ratio" |
| value | Number | Seçilen tetikleyici türü için eşik değeri. `token_ratio` için: 0–1 (dahil). `remaining_tokens` ve `messages_to_refine` için: pozitif tam sayı. | value: 0.8 |
Tetikleyici Türleri
| Tür | Değer | Tetiklenme Durumu |
|---|---|---|
token_ratio | 0.0–1.0 | Kullanılan bağlam belirteçlerinin (context tokens) oranı değere ulaştığında veya aştığında |
remaining_tokens | Pozitif tam sayı | Kalan bağlam belirteçleri değere düştüğünde veya altına indiğinde |
messages_to_refine | Pozitif tam sayı | Özetleme için uygun olan mesaj sayısı değere ulaştığında veya aştığında |
| (ayarlanmadı) | — | Budama işlemi herhangi bir mesajı sildiğinde (varsayılan davranış) |
Örnek:
summarization:
trigger:
type: 'remaining_tokens'
value: 8000contextPruning
| Key | Type | Description | Example |
|---|---|---|---|
| contextPruning | Object | Konum tabanlı araç sonucu bozulmasını yapılandırır. Eski mesajlardaki büyük araç sonuçları, token alanını geri kazanmak için kademeli olarak kırpılır veya temizlenir. |
Bağlam budama (context pruning), özetlemeden bağımsız olarak çalışan isteğe bağlı bir özelliktir. Eski mesajlardaki büyük araç çağrısı sonuçlarını hedefler ve iki aşamalı ilerleyen bir süreç uygular:
- Soft trim — Araç sonuçlarını, aralarında üç nokta olacak şekilde yalnızca baş ve son kısımlarını tutacak şekilde kısaltır
- Hard clear — Tüm araç sonucunu kısa bir yer tutucu ile değiştirir
Her iki aşama da konum tabanlıdır: konuşmanın başlangıcına daha yakın olan (daha eski) mesajlar önce budanır.
contextPruning Alt-anahtarları
| Key | Type | Description | Example |
|---|---|---|---|
| enabled | Boolean | Konum tabanlı araç sonucu bozulmasını etkinleştirir. | enabled: true |
| keepLastAssistants | Number | Budamadan korunacak son asistan yanıtlarının sayısı. | keepLastAssistants: 3 |
| softTrimRatio | Number | Soft-trim işleminin etkinleşeceği yaş oranı (0–1). Bu orandan daha eski olan konuşma mesajları, soft-trim için adaydır. | softTrimRatio: 0.3 |
| hardClearRatio | Number | Hard-clear işleminin etkinleşeceği yaş oranı (0–1). Bu orandan daha eski mesajlar, tamamen değiştirilmek üzere adaydır. | hardClearRatio: 0.5 |
| minPrunableToolChars | Number | Budama uygulanmadan önce bir araç sonucunun sahip olması gereken minimum karakter sayısı. Daha küçük sonuçlara dokunulmaz. | minPrunableToolChars: 50000 |
| softTrim | Object | Soft-trim aşaması için yapılandırma. | |
| hardClear | Object | Hard-clear aşaması için yapılandırma. |
Varsayılanlar:
| Alan | Varsayılan |
|---|---|
enabled | false |
keepLastAssistants | 3 |
softTrimRatio | 0.3 |
hardClearRatio | 0.5 |
minPrunableToolChars | 50000 |
softTrim Alt anahtarları
| Key | Type | Description | Example |
|---|---|---|---|
| maxChars | Number | Bir araç sonucunu yumuşak kırpmadan (soft-trimming) sonraki maksimum toplam karakter sayısı. | maxChars: 4000 |
| headChars | Number | Araç sonucunun başından korunacak karakter sayısı. | headChars: 1500 |
| tailChars | Number | Araç sonucunun sonundan korunacak karakter sayısı. | tailChars: 1500 |
Varsayılanlar: maxChars: 4000, headChars: 1500, tailChars: 1500
hardClear Alt anahtarları
| Key | Type | Description | Example |
|---|---|---|---|
| enabled | Boolean | Hard-clear aşamasının aktif olup olmadığı. Devre dışı bırakıldığında, yalnızca soft-trim uygulanır. | enabled: true |
| placeholder | String | Tam olarak temizlendiğinde tüm araç sonucu içeriğinin yerini alan yer tutucu metin. | placeholder: "[Old tool result content cleared]" |
Varsayılanlar: enabled: true, placeholder: "[Old tool result content cleared]"
Örnek:
summarization:
contextPruning:
enabled: true
keepLastAssistants: 5
softTrimRatio: 0.25
hardClearRatio: 0.6
minPrunableToolChars: 30000
softTrim:
maxChars: 6000
headChars: 2500
tailChars: 2500
hardClear:
enabled: true
placeholder: '[Content removed for context management]'Tam Yapılandırma Örneği
version: 1.3.10
cache: true
summarization:
provider: 'openAI'
model: 'gpt-4o-mini'
maxSummaryTokens: 4096
reserveRatio: 0.05
trigger:
type: 'token_ratio'
value: 0.8
contextPruning:
enabled: true
keepLastAssistants: 3
softTrimRatio: 0.3
hardClearRatio: 0.5
minPrunableToolChars: 50000
softTrim:
maxChars: 4000
headChars: 1500
tailChars: 1500
hardClear:
enabled: true
placeholder: '[Old tool result content cleared]'Uç Nokta Başına Ayarlardan Geçiş (Migration from Per-Endpoint Settings)
Daha önce özel veya Azure OpenAI endpoint'lerinde summarize ve summaryModel kullandıysanız:
endpoints:
custom:
- name: 'My Endpoint'
summarize: true
summaryModel: 'gpt-3.5-turbo'Bu alanlar kaldırılmıştır. Bunun yerine en üst düzey summarization yapılandırmasını kullanın:
summarization:
model: 'gpt-4o-mini'Notlar
- Özetleme, uç nokta bazında değil, küresel olarak yapılandırılır.
- Özel endpoint'ler ve Azure OpenAI endpoint'leri üzerindeki
summarizevesummaryModelalanları artık desteklenmemektedir. providervemodelbelirtilmediğinde, özetleme için ajanın kendi provider ve model bilgisi kullanılır.- Context pruning varsayılan olarak devre dışıdır ve
contextPruning.enabled: trueile açıkça etkinleştirilmelidir. - Bağlam budama (context pruning), yalnızca
minPrunableToolCharsdeğerini aşan araç çağrısı sonuçlarını etkiler; daha küçük sonuçlar asla budanmaz. keepLastAssistantsayarı, trim/clear oranlarına bakılmaksızın son konuşma sıralarını budanmaktan korur.- Özel
promptveupdatePromptdeğerleri, yerleşik istemlerin yerini tamamen alır — dikkatli kullanın .envdosyanızdaAGENT_DEBUG_LOGGING=trueayarını yaparak token sayıları ve bağlam budama tanılamaları için ayrıntılı günlük kaydını etkinleştirin.
Bu rehber nasıl?