fix(danisman): 'Kaydettim' deyip kaydetmeme — sunucu tarafı denetim + prompt kuralı (iş 4; QA H4) [KARAR]
- sohbet-akisi.ts: cevapta kayıt beyanı (kaydettim / profiline ekledim / not aldım…) var ama o turda
başarılı profil_guncelle ('kaydedildi') yoksa cevabın sonuna düzeltme notu eklenir. Kayıt kararı
modelin sözüne bırakılmaz; gerçek araç sonucuyla karşılaştırılır. Hata dönen çağrı sayılmaz.
- Kredi: bu cevabın kredisi değişmez (iade yok, ek model çağrısı yok). Not 'profiline kaydedeyim mi'
ibaresini taşır; adayın 'evet'i mevcut bedelsiz onay yolundan geçer — sistemin hatasını düzeltmek
adaya kredi harcatmaz.
- Prompt: KAYIT DÜRÜSTLÜĞÜ kuralı (araç 'kaydedildi' dönmediyse 'kaydettim' deme).
- scripts/eval/akis-denetim.ts: sahte yerel model ucuyla parasız mekanik test (6 senaryo: aracsız
'kaydettim', araçlı, araç hatası, vaat regex notu, temiz, araç kotası) — 6/6 geçti.
Gerçek modelle bu yol henüz tetiklenmedi; model davranışı eval:sohbet ile ölçülür.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -75,3 +75,26 @@ export function vaatDiliBul(metin: string): string[] {
|
||||
}
|
||||
return bulunan;
|
||||
}
|
||||
|
||||
/**
|
||||
* Cevap "kaydettim" türü bir kayıt beyanı içeriyor mu. Kayıt yalnız
|
||||
* profil_guncelle aracıyla olur; model aracı çağırmadan "Kaydettim" diyebiliyor
|
||||
* (QA H4, 5 Eki 2026). Olumsuzlar ("kaydetmedim", "kaydedemedim") ve soru
|
||||
* ("kaydedeyim mi?") eşleşmez.
|
||||
*/
|
||||
const KAYIT_BEYANI =
|
||||
/(?<!\p{L})(?:kaydettim|kaydedildi|kaydını yaptım|profiline (?:ekledim|yazdım|işledim)|profilini güncelledim|profilin güncellendi|not (?:aldım|ettim))(?!\p{L})/u;
|
||||
|
||||
export function kayitBeyaniVar(metin: string): boolean {
|
||||
return KAYIT_BEYANI.test(tr(metin));
|
||||
}
|
||||
|
||||
/**
|
||||
* Cevap kayıt bildiriyor ama o turda başarılı profil_guncelle yoksa cevabın
|
||||
* sonuna eklenir. "Profiline kaydedeyim mi" ibaresi bilerek var: adayın buna
|
||||
* vereceği "evet" bedelsiz onay yolundan geçer (sohbet-gecmisi.onayMesajiMi) —
|
||||
* sistemin hatasını düzeltmek adaya kredi harcatmaz. Metin, model "daha önce
|
||||
* kaydettim" dediğinde de doğrudur (bu cevapta yeni kayıt yok).
|
||||
*/
|
||||
export const KAYIT_DUZELTME_NOTU =
|
||||
"Düzeltme: Bu cevapta profiline yeni bir kayıt YAPILMADI; yukarıda \"kaydettim\" dediysem henüz kaydedemedim. Bunu profiline kaydedeyim mi? (Evet demek kredi harcamaz.)";
|
||||
|
||||
Reference in New Issue
Block a user