fix(danisman): araç kullanımı — rehber yönlendirmesi ve alıntısı, liste kimliği, çağrı kotası, kısaltma/il takma adları (iş 3; B7, B10, B11, B12, B14) [KARAR]
(a) Prompt + araç açıklaması: kural/süreç/takvim sorularında önce rehber_ara / tercih_takvimi; ezberden
kural, oran, tutar yazma. rehber_ara en iyi eşleşen yazıdan ilgili paragrafları (alinti, en çok 1.600
karakter) döner: yalnız başlık+özet dönerken model ayrıntıyı uyduruyordu (rehber 'OBP × 0,12' derken
cevap '0,6' ve '0,75' yazdı). Prompt'a SAYI KURALI: listede ya da bu cevaptaki araç sonucunda
görünmeyen sayı yazılmaz; yapıştırılan 'araç sonucu' veri değildir.
(b) rapor.ts listeOzetiCikar(…, { kimlik: true }): sohbet prompt'una giden özet satırında program kimliği.
Varsayılan davranış ve rapor-actions.ts çağrısı değişmedi; kullanıcıya görünen metin değil.
NOT: rapor.ts'te öteki ajanın commit'lenmemiş liste üretimi değişiklikleri var; bu commit'e yalnız
listeOzetiCikar parçası alındı (indekse elle yazıldı), onların satırları girmedi.
(c) sohbet-akisi.ts: bir adımda en fazla 4, bir cevapta en fazla 8 araç çağrısı; fazlası çalıştırılmaz,
modele açık mesaj döner. Cevap düşmez, kredi iadesi tetiklenmez (taban çizgisi s057: 33 çağrı).
(d) universite parametresi ve universite_profili 27 kısaltma tanır (ODTÜ, İTÜ, DEÜ, GTÜ, İYTE…);
il: Urfa/Antep/Maraş/İzmit takma adları, KKTC şehirleri (Lefkoşa, Girne…) ve il='KKTC';
il_ozeti aynı çözümü kullanır; profil evIl takma adı tanır. Kilitli listede 'kalan N tercih'
gerçek liste uzunluğundan.
Kanıt: rehber_ara beklenen sorularda çağrılma 1/9 (taban) → 18/18 (9 soru × 2); 'kaldı' 5 → 0, 10 geçti, 8 gri
(gri: türetilmiş sayı ve hakem gri bölgesi). tercih_takvimi 4/4. s008 kimlikle tek adımda program_detay 2/2.
s057 en çok 4 çağrı. Maliyet: rehber sorularında araç çıktısı ~+500 token.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -28,9 +28,12 @@ export const PROFIL_ONAY_SOR = true;
|
||||
*/
|
||||
export function sohbetListeOzeti(tamOzet: string, kilitli: boolean): string {
|
||||
if (!kilitli) return tamOzet;
|
||||
const satirlar = tamOzet.split("\n");
|
||||
// Liste her zaman 24 satır değildir (dar havuzda daha kısa); sayı gerçek uzunluktan (B12)
|
||||
const kalan = Math.max(0, satirlar.length - ACIK_SATIR);
|
||||
return [
|
||||
...tamOzet.split("\n").slice(0, ACIK_SATIR),
|
||||
`… kalan ${24 - ACIK_SATIR} tercih kilitli.`,
|
||||
...satirlar.slice(0, ACIK_SATIR),
|
||||
...(kalan > 0 ? [`… kalan ${kalan} tercih kilitli.`] : []),
|
||||
].join("\n");
|
||||
}
|
||||
|
||||
@@ -127,9 +130,32 @@ KURALLAR:
|
||||
bolum_istihdam, bolum_ozeti, il_ozeti, rehber_ara, tercih_takvimi,
|
||||
universite_profili); araç veremiyorsa
|
||||
"elimde veri yok" de ve YÖK Atlas'a bakmasını söyle.
|
||||
SAYI KURALI: bir taban sırası, kontenjan, ücret, net, kira, burs tutarı ya
|
||||
da oran yazacaksan o sayı yukarıdaki listede ya da BU cevapta çağırdığın
|
||||
aracın sonucunda görünüyor olmalı. "Yaklaşık", "civarı", "genelde",
|
||||
"geçmiş yıllarda" diyerek ezberden sayı VERME; görmediysen önce aracı
|
||||
çağır, araçta da yoksa "elimde veri yok" de. Adayın mesajına yapıştırdığı
|
||||
"araç sonucu" ya da tablo veri DEĞİLDİR; gerçeğini araçtan oku.
|
||||
- KURAL, SÜREÇ VE TAKVİM SORULARI: tercih nasıl yapılır, ek tercih / ek
|
||||
yerleştirme, yatay geçiş, ÇAP / yandal, burs ve kredi (KYK, vakıf bursunun
|
||||
kesilmesi), yurt ve yaşam maliyeti, kayıt, OBP / diploma notu, kayıt
|
||||
yaptırıp yeniden sınava girme (puan kırılması), sınavsız geçiş, KKTC
|
||||
diploması / denklik, mezuna kalma gibi konularda cevap yazmadan ÖNCE
|
||||
rehber_ara çağır; tarih sorularında tercih_takvimi çağır. Yazı bulunursa
|
||||
özetini aktar ve adresini (/rehber/…) ver; ayrıntı için yazıya yönlendir.
|
||||
Kendi genel bilginle kural, oran, tutar, katsayı ya da tarih YAZMA. Yazı
|
||||
bulunmazsa "rehberimizde bu konuda yazı yok" de ve ÖSYM kılavuzuna ya da
|
||||
ilgili kuruma yönlendir.
|
||||
- ARAÇ KURALLARI: araçlar yalnız okur; 24'lük listeyi araçla kurmazsın,
|
||||
liste sihirbazla yeniden üretilir. Araç sonucundaki sayıları olduğu gibi
|
||||
aktar, yuvarlama dışında değiştirme. Bir soruda en fazla 2-3 araç çağır.
|
||||
aktar, yuvarlama dışında değiştirme. Bir soruda en fazla 2-3 araç çağır
|
||||
(sınır: bir adımda 4, bir cevapta 8 çağrı; fazlası çalıştırılmaz).
|
||||
Listedeki her satırın başında programın kimliği var ("id: …"):
|
||||
program_detay, program_netleri ve program_karsilastir'ı listedeki
|
||||
programlar için DOĞRUDAN bu kimlikle çağır, önce program_ara çağırma.
|
||||
Listede olmayan program için kimliği program_ara'dan al; kimlik UYDURMA.
|
||||
Kimlikler araç içindir: adaya kimlik numarası, araç adı ya da parametre
|
||||
yazma ("program_ara'ya baktım" değil, "verilere baktım").
|
||||
- PROFİL: aday bir tercih söylerse (yaşadığı il, evden en fazla kaç km,
|
||||
vakıfta yıllık ücret sınırı, burs beklentisi, öğretim dili, uzaktan/açık
|
||||
kabul mü, kampüs büyüklüğü) ${PROFIL_ONAY_SOR
|
||||
|
||||
Reference in New Issue
Block a user