deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak dev.to (home feed)

LLM ajanlar 7 yıllık repository karar notlarını bir aylık notlar kadar sıkı uyguluyor

dev.to üzerinde yapılan kontrollü bir deney, LLM'lerin eski repository karar notlarını yaşından bağımsız olarak uyguladığını ortaya koydu; bunun üzerine, süresi dolan reddedilmiş kararların ajanlara görünmemesini sağlayan bir araç geliştirildi.

LLM ajanlar 7 yıllık repository karar notlarını bir aylık notlar kadar sıkı uyguluyor

Deney

dev.to'da Stakenshake adıyla paylaşım yapan bir geliştirici, bir repository içine kaydedilmiş eski kararların yapay zeka modelleri tarafından nasıl ele alındığını test eden kontrollü bir deney yaptı. Kurulum basitti: ekibin TypeScript bilmediğini belirten, 2019 tarihli bir karar notu ve ardından iki model ailesine 2026 yılında yepyeni bir servis için teknoloji stack'i seçme talebi. Her yanıtta TypeScript reddedildi. Modellerden biri çıktısında şu açıklamayı yaptı: "Ekibin yeteneklerinin değiştiğine dair bir bilgi yok, bu yüzden bu kısıtlama geçerli tutuldu."

Sonraki aşamada yalnızca notun oluşturulma tarihi değiştirildi; metin, görev ve modeller aynı kaldı. Her koşulda on ikişer denemenin sonuçları:

Not yaşı TypeScript öneren deneme
Not yok 12/12
30 gün eski 0/12
1 yıl eski 0/12
7 yıl eski 0/12
7 yıl eski, süresi dolmuş ve gizli 12/12

Bir aylık not, yedi yıllık not kadar eksiksiz biçimde izlendi. Gönderiye göre, üç model ailesi üzerinden her koşulda yirmişer deneme yapılan sonraki bir çalışma etkisi 78 ile 87 yüzde puan olarak belirledi; Fisher exact testi p < 0.0001 sonucunu verdi.

Modele şüpheci olmasını söylemek işe yaramadı

Yazarın ilk önlemi, kaydın eski olduğunu ve bağlayıcı bir kısıtlama değil doğrulanması gereken bir varsayım olarak ele alınması gerektiğini belirten bir prompt satırıydı. Bu neredeyse hiçbir şeyi değiştirmedi: üç denemelik bir örneklemde, modellerden biri daha önce hiç önermediği halde tek bir TypeScript önerisi üretirken, diğer model ters yöne kaydı. Yazarın çıkarımı şu: bir ajan, algılayamadığı bir değişkeni tartamaz — ona eski notları göz ardı etmesini istemek, gerçekte hiçbir fikri olmayan bir yaşı yargılamasını istemektir.

Süresi dolmuş notları gizlemek işe yaradı

Süresi geçmiş kayıt ajanın görüş alanından tamamen çıkarıldığında — açıklanmadan, işaretlenmeden, sadece yok edilerek — on iki denemenin tamamı yeniden TypeScript önerdi. Çıkarılan sonuç şu: süre dolmasının modellere önerilmesi değil, sistem tarafından dayatılması gerekiyor.

Gerekçenin ifade ediliş biçimi önemli

Yanıtların yaklaşık beşte biri eski nota itiraz etti ve bunu belirtilen gerekçeye saldırarak yaptı; ekibin şu an muhtemelen TypeScript bildiğini savundular — tarihi fark ederek asla değil. İki farklı ifade biçiminin karşılaştırması, söz diziminin bunu belirlediğini gösterdi:

  • Değiştirilebilir bir durum olarak okunan "Ekip TypeScript bilmiyordu" ifadesi, 60 denemenin 13'ünde direnç üretti.
  • Projenin bir özelliği olarak okunan "Bu projenin alanları sürekli değişir" ifadesi, 60 denemenin hiçbirinde direnç üretmedi.

Etki evrensel de değil. Önünde gerçek kod olduğunda, bir model yanıtı repository'den çıkarsadı ve notu tamamen yok saydı; bir diğeri ise not durdurana kadar reddedilen seçeneği tercih etmeye devam etti. Bu da yazarın hedeflediği boşluğa işaret ediyor: kod, bir ekibin neyi seçtiğini kaydeder ama bir repository'de neyin elendiği ve neden elendiğine dair hiçbir şey kayıtlı değil.

Bulgu çevresinde kurulan araç

Bunun üzerine yazar, npx whynot-cli init ile kurulan, MIT lisanslı whynot adlı bir CLI yayınladı. Kararlar, repository içinde düz Markdown dosyaları olarak yaşar; tür, durum, oluşturulma tarihi, son kullanma tarihi, yeniden gözden geçirme koşulu, kanıt referansları ve etiketler gibi metadata taşır. Her kaydın süresi dolar; süre dolduğunda bir insan yenilemedikçe kayıt ajana ulaşmayı keser. Entegrasyon, ajana kaydedilen bir MCP server üzerinden, ayrıca AGENTS.md veya CLAUDE.md içine yapıştırılan bir yönerge bloğuyla çalışır.

Tasarım kararları deneyi izliyor: araç ortadan kalksa bile kararların grep'lenebilir kalması için git içinde Markdown; retrieval denetlenebilir kalsın diye vector store yok; kirli bir belleğe yol açmamak için yazma yolunda model çağrısı yok; ve varsayılan olarak süre dolması. Salt okunur bir denetim komutu olan npx whynot-cli audit, AGENTS.md, CLAUDE.md ve .cursor/rules içinde hiçbir koşul belirtmeyen mutlak kurulları — sonsuza dek uyulacak türden kuralları — tarar.

Neden önemli

Ajanlar proje dokümantasyonunun rutin okuyucuları hale geldikçe, eski yönergeler yük taşıyan unsurlara dönüşüyor. AGENTS.md ve CLAUDE.md dosyaları yıllar önce yazılmış mutlak kuralları biriktirmeye eğilimli ve bu deney, modellerin bunları süresiz olarak uygulayacağını, bir gerekçenin geçerliliğini yitirmiş olabileceğine dair içsel bir algıya sahip olmadıklarını gösteriyor. Pratik dersler şunlar: kararları kalıcı özellikler değil, denetlenebilir koşullar olarak ifade etmek ve süre dolmasını modelin yaş algısına güvenmek yerine araçlarla dayatmak. Yazar sınırlar hakkında açık sözlü: gösterilen her şey kontrollü tek turlu görevlerden geliyor ve yaklaşımın haftalar süren gerçek kullanımda ajanların reddedilmiş işleri yeniden önermesini gerçekten azaltıp azaltmadığına dair henüz bir ölçüm yok.

  • #llm
  • #coding-agents
  • #developer-tools
  • #mcp
  • #ai

İlgili yazılar