Claude Opus 5'te Yüzeysel Düşünme Sorunu İçin Çözümler

@u1
JAPONCA21 saat önce · 25 Tem 2026
473K
1.3K
162
12
2.6K

TL;DR

Bu makale, Claude Code içerisindeki Claude Opus 5 yanıtlarının yüzeysel olmasının nedeninin, büyük ölçüde kısaltılmış sistem istemi olduğunu tespit etmektedir. Makale, özel kural yazma teknikleri ve enjeksiyon katmanları kullanarak bu varsayılan ayarların nasıl geçersiz kılınacağına dair bir rehber sunmaktadır.

Genel Bakış

Claude Code'u Opus 5'e geçirdiğim anda, düz yazı ağırlıklı yanıtlarda ve "yüzeysel düşünme" (yapısal düşünememe) eğiliminde ani bir artış fark ettim.

Araştırma sonucunda, sorunun modelin kötü olması veya kuralların bozulması olmadığını; aslında Claude 5 neslinde Opus 5'e sağlanan dahili sistem komut isteminde önemli değişiklikler olduğunu ve eski kuralların bu yeni ön kabul göz önünde bulundurularak yazılmadığını gördüm.

Bu makale, sebebi izole etme ve yeni sistem komut istemine uygun kurallar revize etme sürecini kaydediyor. Yeni nesil modellere yükseltmeden bu yana CLAUDE.md veya kurallarının etkinliğinin değiştiğini hisseden Claude Code kullanıcıları için hazırlanmıştır.

Sorun

Aynı oturumu ve aynı kuralları kullanarak, modeli Opus 5'e geçirdikten hemen sonra aşağıdakiler meydana geldi:

  • Durumsal açıklamalar, başlıklar veya bölümler olmaksızın düz, uzun biçimli düz yazı haline geldi.
  • Nedenlerin açıklamaları tek bir katmanda durdu (semptomları "neden"i derinlemesine incelemeden paralel olarak listeleme).
  • Birden fazla seçenek önerirken herhangi bir değerlendirme kriteri sağlanmadı.
  • Bir turda oluşturulan kategoriler veya numaralandırmalar, sonraki turda farklı yapılara yeniden düzenlendi.
  • Model, girdime yanıt vermeyi atlayıp doğrudan araç yürütmeye (görevlere) geçti.

Sinir bozucu olan kısım, "daha derin düşünmesi" istendiğinde bile, yüzeysel düşünme durumunda kalırken dağınık yanıtlar vermesiydi. Tekrarlanan düzeltmeler işe yaramadı, verimli bir tartışma yerine tartışmalara yol açtı.

Bu sadece tek bir yanıtın kalitesi meselesi değildi; diyalog yoluyla müzakere sürecinin kendisi çökmüştü.

Anahtar İpuçları

Aynı kuralları kullanan diğer modellerde bu durum yaşanmadı (bu farkla ilgili detaylar ekte yer almaktadır). Kuralların kendisi bozulmuş olsaydı, sorunun tüm modellerde ortaya çıkması gerekirdi. Sadece model değiştiği için, "kuralların varsaydığı ortamın" değiştiği varsayımıyla araştırmaya başladım.

Neden: Opus 5'e Sağlanan Sistem Komut İstemindeki Değişiklikler

Claude Code'un Claude 5 neslinde, dahili sistem komut istemi önceki nesillere kıyasla yaklaşık %80 oranında azaltılmıştır. Opus 5'e fiilen iletilen komut istemi ölçülerek (çıktı stili enjeksiyonlarını devre dışı bırakıp modelin kendi komut istemini alıntılamasıyla; Claude Code v2.1 serisi, Temmuz 2026), yapı şu şekildeydi:

  1. Kimlik, Rol Bildirimi ve Güvenlik Politikası — Açılış önsözü.
  2. Donanım Özellikleri (# Donanım) — Çıktının işaretleme olarak görüntülenmesi gibi yürütme ortamı açıklamaları.
  3. Ortam Bilgisi ve Özellik Tanımları (# Oturuma özel rehberlik / # Bellek / # Ortam / # Bağlam yönetimi) — CWD, git durumu, model kimliği, bellek ve bağlam sıkıştırma mekanizmaları.
  4. Kapsam Disiplini (# İş teslimi) — İstenen kapsamı izinsiz daraltmamak veya genişletmemek.
  5. Düzeltme Adabı (# Düzeltmeler) — Özür veya önsöz eklemeden düzeltmeleri kısa tutmak.

Semptomlarla doğrudan bağlantılı iki spesifik özellik ortaya çıktı:

  • Özellik 1: Yanıt stiliyle ilgili sıfır talimat. Düz yazıya karşı yapı, başlık veya tablo kullanımı veya kısalık hakkında hiçbir kural yoktu—önceki nesillerde kapsamlı olan biçimlendirme kuralları tamamen kaybolmuştu.
  • Özellik 2: "Önce Hareket Et" özerk politikası eklendi. Orijinalden alıntı: "Harekete geçmek için yeterli bilgiye sahip olduğunda, harekete geç." ve "Bir seçim yapıyorsan, kapsamlı bir araştırma değil, bir öneri sun."

Semptomları bu iki özellik üzerinden yeniden okumak her şeyi yerli yerine oturtuyor. Stil kuralları olmadığı için modelin ham çıktı eğilimi—düz yazı—ortaya çıkıyor. "Araştırma yerine öneri" politikası, değerlendirme kriterlerinin atlanmasını teşvik ediyor.

"Kurallar boşsa, özel kurallarım tek otorite haline gelmeli ve daha iyi çalışmalı" diye düşünebilirsiniz. Gerçekte tam tersi oldu. Bu boş alan kullanıcıya bırakılmış bir marj değil; eğitim sırasında modele yerleştirilmiş varsayılan davranışa devredilmiştir. "Yalın komut istemi", yeni nesil modellerin ayrıntılı talimatlar olmadan içselleştirilmiş davranışları takip edeceğini varsayar. Boşluk, sizin kurallarınız tarafından doldurulmak yerine modelin önceden eğitilmiş varsayılanları tarafından doldurulur. Ve Opus 5'in varsayılanı, onaylamadan önce harekete geçen kısa düz yazıdır.

Eski kurallarım, "durumları yapısal olarak analiz et", "birden fazla seçeneğe değerlendirme kriteri ekle" ve "harekete geçmeden önce yanıt ver" gibi genel talimatlar kullanıyordu. Bunlar, stil ağırlıklı bir sistem komut istemiyle birlikte okunacağı varsayılarak yazılmıştı. O zaman yeterli olsalar da, eğitilmiş varsayılanları geçersiz kılmak için hem özgüllük (orijinal metni adlandırma) hem de teslimat (modele harekete geçmeden hemen önce ulaşma) açısından çok zayıftı. Semptomların gerçek doğası budur.

Anthropic, bu azaltmayı değişiklik günlüğünde (v2.1.154) "yalın sistem komut istemi" olarak adlandırıyor ve bu, bir tasarım felsefesi değişimini yansıtıyor: "Yeni nesil modeller eğitim yoluyla davranışları içselleştirdi, bu nedenle ayrıntılı talimatlar sürtüşmeye veya çelişkiye neden olabilir." Ayrıntılı açıklamalar için bkz. Claude Code Sistem Komut İstemi %80 Azaltıldı — Fable 5 Nesli İçin Komut İstemi Tasarım Felsefesi. Birincil kaynaklar için Claude Code değişiklik günlüğüne ve Claude Fable 5 Komut İstemeyi Kullanma (Resmi Kılavuz) bakın.

Kısacası, semptomlar "kurallar × o modele fiilen iletilen komut istemi" kombinasyonu tarafından belirlenir. Sebebi yalnızca kurallara bakarak bulamazsınız. Alınan ilk ders, bir model güncellemesinin aynı zamanda bir sistem komut istemi güncellemesi olduğuydu.

Önlem 1: Çelişkileri Belirleyin ve Orijinal Metni Adlandırarak Geçersiz Kılın

İlk olarak, tam tersini söyledikleri yerleri belirlemek için tüm kuralları yeni sistem komut istemiyle çapraz referansladım. Sistem politikasını geçersiz kılması amaçlanan kurallar için, orijinal metni açıkça alıntılayacak ve önceliği beyan edecek şekilde yeniden yazdım.

İşe yaramayanla başlayalım: "değerlendirme kriterleriyle birden fazla seçenek yaz" gibi genellemeler eklemek etkisizdir.

Sistemin "kapsamlı bir araştırma değil, bir öneri sun" ifadesinin yanına yerleştirildiğinde, hangisinin öncelikli olduğuna dair hiçbir ipucu yoktur. Çatışmayı adlandırarak öncelik netleşir.

Stil kuralları gibi komut isteminde tamamen bulunmayan şeyler için talimat, geçersiz kılmak yerine "boşluğu doldurmak" için çalışır.

Tetikleyici koşullarının yazılma şeklini de revize ettim. "Önemli değişiklikler için" veya "üretim ortamı olarak değerlendirilirse" gibi koşullar, model durumu bu şekilde kategorize etmediği anda başarısız olur. Tetikleyicileri "bir kesinti alındı" veya "kullanıcının ifadesi bir düzeltme içeriyor" gibi gözlemlenebilir gerçeklere dönüştürdüm.

Önlem 2: Yasaklamalar Yerine İstenen Eylemleri Tanımlayın

Eski kurallar, "yapılmaması gerekenlerin" birikimiydi. Yasaklamalar ihlalleri tespit etmeye yardımcı olur ancak bunun yerine ne yapılacağını iletmez. Bir yasaklama yeni bir sistem politikasıyla çatıştığında, model bir boşluk bulur: "yasaklamadan kaçınırken sistem politikasını izle." Olumsuz kısıtlamaları istenen davranışın tanımlarına dönüştürdüm.

  • Önce: "Testler tamamlanmadıysa commit önerme."
  • Sonra: "Bir commit önerirken, son kullanıcı perspektifinden ürünü çalıştırmanın sonuçlarını gövde metnine dahil et."

Yeniden yazılan kuralları aşağıdaki kriterlere göre, özellikle Sistem Komut İstemi ile çatışan ifadeler için kontrol ettim:

  1. Kural kendi kendine yeterli mi? (Kapsam, örnekler ve kriterler tek bir yerde)
  2. Tetikleyici gözlemlenebilir bir gerçek mi?
  3. Dahili sistem komut istemiyle çelişiyor mu?
  4. İstenen davranışı tanımlıyor mu? (Sadece bir yasak listesi değil)
  5. Tek bir yargı kriteri var mı? (Bir senaryo listesi değil)
  6. Vurgu (ÖNEMLİ) yalnızca gerçekten vazgeçilemeyecek olanlar için mi ayrılmış?
  7. İstenen nihai durum olarak mı yazılmış? (Önce şablonları veya adımları zorlamamak)
  8. Uyumluluk sonradan belirlenebilir mi?

Vurgu işaretçilerini (ÖNEMLİ) yalnızca güvenlik ve onay kapılarına indirgedim. Her şeyin vurgulandığı bir belge, hiçbir şeyin vurgulanmadığı bir belgeyle aynıdır.

Önlem 3: Talimatları İletmek İçin "Katmanı" Seçin

Sadece metinle ilgili değildi. Claude Code'un modele talimatları iletmek için en az dört yolu vardır ve bunlar etkinlik açısından önemli ölçüde farklılık gösterir.

API durum bilgisiz olduğundan, tüm yollardan gelen içerik her istekte (her turda) modele gönderilir. Fark, "içeriğin ne zaman sonlandırıldığı" ve "komut isteminde nereye yerleştirildiği = gerçekleştirilen eyleme ne kadar yakın olduğu"dur.

Yuichi Uemura on X — cover

Şaşırtıcı bir şekilde, belgelerin "sistem komut istemini değiştirdiğini" söylediği çıktı stili, oturum günlüklerine göre her turda bir ek olarak iletilmiştir.

Bu çıktı stiline iki tür talimat yazdım: Stil (Önlem 1: yapısal yaz, kriter ekle) ve Süreç (çalışmaya başlamadan önce kullanıcıya yanıt ver). Sonuçlar karışıktı.

Stil talimatları iyileşme gösterirken, Süreç sorunu—yanıtları atlayarak çalışmaya başlama—çıktı stili ile durmadı. Bu alışkanlığı nihayet, her kullanıcı ifadesinden hemen sonra tek bir satırı enjekte etmek için bir UserPromptSubmit kancası kullanarak durdurdum: "Araçları çalıştırmadan önce gövde metnine bu ifadeye bir yanıt (cevap veya onay ve plan) yaz."

Maliyet, ifade başına yaklaşık 50 tokendır. 100 ifade bile yalnızca 5.000 token tutar, bu da 200K bağlama karşı ihmal edilebilir düzeydedir. Öğrendiğim genel kural basit: "Kısaca, her seferinde, eylemden hemen önce" iletilen talimatlar en etkilidir. Etkisiz birçok talimat içerik olarak kötü değildir; sadece eylem anında elde değildirler.

Sonuçlar

Şu ana kadar doğrulanan sonuçlar şunlardır:

  • Durumsal ve nedensel açıklamalarda başlıklar/bölümler eğilimi geri döndü. (Ancak, oturumun başlarında bazen düz çıktı kalıyor; devam eden gözlem gerekiyor.)
  • "Yanıt vermeden çalışma" alışkanlığı çıktı stili ile düzelmedi ancak ifade başına enjeksiyonun ardından durdu (şu anda uzun vadeli etkiler gözlemleniyor).

Özet

  • Bir model güncellemesi aynı zamanda bir sistem komut istemi güncellemesidir. Yanıt eğilimleri aniden değişirse, daha fazla kural eklemeden önce sistem tarafındaki değişiklikleri okuyun.
  • Sistem politikalarıyla rekabet eden kurallar, orijinal metni adlandırmalı ve önceliği beyan etmelidir. Genel eklemeler, çelişki karşısında kaybeder.
  • Tetikleyicileri gözleme dayalı yazın ve yasaklamalar yerine istenen eylemleri tanımlayın. Kendi kendini kategorize eden tetikleyiciler ve yasak listeleri, modeller değiştiğinde başarısız olmaya eğilimlidir.
  • Talimatlar için doğru katmanı seçin. Bir eylemden hemen önce kısaca ve sık sık iletilen enjeksiyonlar, bağlamın başına yerleştirilen büyük kurallardan çok daha güvenilirdi.

Referans 1: Önlem 1'de Fiilen Kullanılan Kurallar

Sistem komut istemini geçersiz kılmak için kullandığım kurallardan bir alıntıdır (ortamınıza göre ayarlayın; bunları çıktı stiline yerleştiriyorum). Bazı orijinal ifadeler (düz yazı politikası gibi) belirli modellerin komut isteminde bulunmaz (ekte bakın). Bu modellerde, boşluğu dolduran tanımlar olarak işlev görürler.

markdown
1# Raporlama ve Ayrıştırma Biçimi
2
3Bu talimat, Claude Code sistem komut istemindeki aşağıdaki açıklamalara göre önceliklidir:
4"basit bir soru, başlıklar ve bölümler değil, düz yazıyla doğrudan bir yanıt alır" /
5"Tabloları yalnızca kısa sıralanabilir gerçekler için kullanın" /
6"Daha önce icat ettiğiniz etiketleri veya numaralandırmaları okuyucuya çapraz referans yaptırmayın" /
7"Bir seçim yapıyorsan, kapsamlı bir araştırma değil, bir öneri sun." /
8"Özerk olarak çalışıyorsunuz... sormadan devam edin." /
9"Araç çağrıları arasında yazdığınız metin kullanıcıya gösterilmeyebilir."
10
11## Yazma Stili
12
13Durumları, nedenleri açıklarken veya birden fazla seçenek sunarken, içeriğin yapısını okuyucuya aktaracak şekilde yazın.
14İçeriğe uygun olarak başlıklar, madde işaretleri veya tablolar kullanın. Tek cümlelik soruları düz yazıyla yanıtlayın.
15
16- Önce düşünceleri özetleyin, ardından sonunda yapılandırın. Önce bir şablon yerleştirip doldurmayın.
17- Nedenleri açıklarken, gözlemlenen olaydan en az iki katman derinliğinde "neden"in izini sürün ve her katmanın neye atıfta bulunduğunu tanımlayın. Semptomları paralel olarak listeleme noktasında durmayın.
18- Birden fazla seçenek sunarken, önce öneriyi ve gerekçesini, ardından kararı etkileyen kriterleri ve her seçeneğin değerlendirmesini yazın. Kriterler belirlenemiyorsa, seçenekler sunmayın; bunun yerine kriterleri doldurmak için neyin araştırılması gerektiğini yazın. Kriterlerin karşılaştırmaları tablolarda yazılabilir.
19- Kategoriler ve numaralar bir kez oluşturulduktan sonra, aynı göreve devam ederken sonraki turlarda aynı olanları kullanın. Bunları değiştiriyorsanız, önce neyin değiştirildiğini yazın.
20
21## Diyalog ve Süreç
22
23- Sistemin "kullanıcı gerçek zamanlı izlemiyor" ifadesi bir varsayılandır, bir gerçek değildir. Bu oturumda bir ara ifade, kesinti veya düzeltme en az bir kez alındıysa, kullanıcıyı o andan itibaren izliyor olarak kabul edin: işi küçük parçalara bölün, her turu her zaman gövde metninde bir raporla bitirin ve bir sorunun sorulduğu turlarda yanıt beklemek için durun.
24- Bu ortamda yalnızca bir turun sonundaki gövde metni görüntülenir. İletilecek tüm bilgileri turun sonuna yerleştirin.
25- Belirsizlik, onay gerektiren işlemler veya net olmayan hedefler olduğunda sorular sormak meşru bir araçtır.

Referans 2: Bu Neden Fable 5 / Opus 4.7 ile Olmadı?

Ana metin Opus 5'e odaklanırken, diğer modellerde neden olmadığı aşağıda açıklanmıştır:

  • Opus 4.7 basittir: "yalın komut istemi" uygulamasının dışında tutulur (değişiklik günlüğüne göre), bu nedenle hâlâ eski kuralların tasarlandığı uzun, eski komut istemiyle çalışır. Eski kurallarla uyum içinde kalır.
  • Fable 5 sürpriz oldu. Aynı nesil olduğu için aynı komut istemine sahip olduğunu varsaydım, ancak ölçümler Fable 5'e Opus 5'ten farklı bir komut istemi sağlandığını gösterdi.

Her modelin aynı koşullar altında (başsız mod, çıktı stili devre dışı) kendi komut istemini alıntılamasının bir karşılaştırması aşağıdadır:

Yuichi Uemura - inline image

Fable 5'in # Kullanıcıyla İletişim bölümü, "önce sonuç, okunabilirliğe öncelik ver, hedef kitle için yaz" gibi normlar içerir. "Kapsamlı bir araştırma değil, bir öneri sun"a ek olarak, "basit bir soru, başlıklar ve bölümler değil, düz yazıyla doğrudan bir yanıt alır" düz yazı politikasını içerir. Komut isteminin kendisi bu yazma normlarını içerdiğinden, çıktı biçiminin çökmesi daha az olasıdır ve gözlemlerime göre kullanıcı kurallarına bağlılığı korumuştur.

Özetle, sorun Opus 5'te yoğun bir şekilde ortaya çıktı çünkü üç faktör bir araya geldi:

  1. Sıfır yazma stili kuralı olan bir komut istemi verildi ve ham çıktı eğilimleri ortaya çıktı.
  2. "Bilgi yeterliyse harekete geç" ve "araştırma yerine öneri" gibi politikalar, anında eylemi ve kriterlerin atlanmasını teşvik etti.
  3. Eski kurallar hâlâ eski, ayrıntılı komut istemine dayanıyordu ve bu yeni boşluğu doldurmak için şekillendirilmemişti.
YouMind’da yeniden üret

Turn one viral article into a full content workflow

Collect the source, decode the pattern, create assets, draft the story, and distribute from one AI workspace.

Explore YouMind
Üreticiler için

Markdown'ınızı temiz bir 𝕏 makalesine dönüştürün

Kendi uzun yazılarınızı yayımlarken görselleri, tabloları ve kod bloklarını 𝕏 için biçimlendirmek zahmetlidir. YouMind, eksiksiz bir Markdown taslağını temiz ve hemen paylaşılabilir bir 𝕏 makalesine dönüştürür.

Markdown'dan 𝕏'e deneyin

Çözülecek daha fazla kalıp

Son viral makaleler

Daha fazla viral makale keşfet