Derslik: cevabı yapıştırmayan asistanı üretimde nasıl tutuyoruz

Fotoğraf, kazanım, ara soru, kontrol sorusu. Çıktıda nihai cevap yok, veli sohbeti görmez. Araç sayısı ayrı yazıdaydı; burada öğrenme döngüsü duruyor.

Çoğu eğitim botu cevabı yapıştırır. Öğrenci kopyalar, bir sonraki soruda yine takılır. Derslik tam tersini deniyor: fotoğraftaki ödevi okur, eksik adımı bulur, o adımı öğrenciye sordurur. Sonuç öğrencinin kendi cümlesinde kurulunca puanlar. Canlı adres: derslik.app.

Kaç araç açtığımızı kaç tool fazla olur yazısında anlattık. Bu yazı model seçimi değil, ürün döngüsü üzerine: cevabı saklamak, kontrol sorusu üretmek, veliye sohbet dökmemek. Üretimde bozulan yerler bunlardır.

Dört hamle, tek yasak

Yasak basittir: asistan nihai sayısal veya şıklı cevabı öğrenciye vermez. Vermişse ürün bozulmuştur; “öğretti” sanırsınız. Önce soruyu görür: kitap, fotokopi, ekran görüntüsü. Konu ve kazanım ayrılır, çünkü 1. sınıf ile 12. sınıf aynı tempo değildir. Sonra cevabı saklar; formülün adı, önceki bilgi, ara işlem. “Eşitliğin iki tarafından ne çıkarsan denge bozulmaz?” gibi bir soru sorar. Takıldığı yer için kısa bir mikro ders verir, müfredatı baştan anlatmaz. Anladığını ölçmek için aynı mantığı farklı sayılarla kontrol sorusuna çevirir. 100 üzerinden okunur; harf notu yoktur.

Veli paneli kazanım haritası gösterir: denklemler hızlandı, oran-orantı tekrar istiyor. Öğrencinin özel konuşma metni oraya dökülmez. Bu bir gizlilik kararıdır, süs değil. Dökerseniz çocuk “annem her cümleyi okuyor” diye yazmayı keser.

Çıktı şeması cevabı dışarıda bırakır

Yapılandırılmış çıktıda “doğru sonuç” alanı yoksa model dolduramaz. Doldurduğu yer kopya olur. Derslik tarafında tur kabaca şöyle durur:

type TutorTurn = {
  mode: "question" | "hint" | "micro_lesson" | "checkpoint" | "escalate";
  student_prompt: string;
  skill_id: string;
  hide_final_answer: true;
  unsure: boolean;
};

const schema = {
  type: "object",
  additionalProperties: false,
  required: ["mode", "student_prompt", "skill_id", "hide_final_answer", "unsure"],
  properties: {
    mode: { enum: ["question", "hint", "micro_lesson", "checkpoint", "escalate"] },
    student_prompt: { type: "string", maxLength: 500 },
    skill_id: { type: "string" },
    hide_final_answer: { const: true },
    unsure: { type: "boolean" },
  },
};

Model emin değilse veya fotoğraf okunamadıysa insan öğretmene veya “bu sayfayı tekrar çek”e düşer. Uydurma kazanım yazmak, uydurma haber yazmakla aynı sınıftır. İlkhaber’de kaynak yoksa üretim yok; burada görüntü yoksa adım yok. Araç listesini şişirmiyoruz. Fotoğrafı metne çevir, kazanımı eşle, sıradaki turu üret, kontrol sorusu bas. Dördü yeter. “Web’de ara, benzer soru çal” beşinci araç olarak cazip durur; telif ve yanlış müfredat kapısı açar. Açmıyoruz.

Maliyet ve tempo

Her tuş vuruşunda tam modeli çağırmak faturayı ve gecikmeyi şişirir. Öğrenci üç kelime yazdı diye binlerce token’lık sistem metnini tekrar basmayın. Kısa turda önceki iki adım ve şema yeter. Mikro ders ayrı, daha uzun bağlam ister. Kontrol sorusu ayrıdır: şablon artı rastgele sayılar. Burada model şart değil, bazen şablon yeter. Cevabın ekranda akması şarttır. On saniye boş ekran “bot düştü” demektir. İlk kelime görünsün, cümle bitsin, sonra kontrol sorusu gelsin. Hız sınırı öğrenci başına olsun. Aynı ödevi yirmi kez fotoğraflamak hem maliyet hem kopya denemesidir.

Fotoğraf yanlış okunursa

Kitap sayfası eğri, gölge, yarım kare olabilir. Görüntü modeli “x² + 5x = 0” yerine başka bir satır üretir, sonraki tur yanlış kazanıma bağlanır. Bu yüzden ilk cevap öğrenciye “bu soru mu?” diye teyit ettirilir. Hayır derse tekrar çekilir veya insana düşer. Teyitsiz devam, uydurma haberle aynı sınıftandır.

Kontrol sorusunu her seferinde modele yaptırmayın. Kazanım belli, şablon var, sayıları siz üretin. Model burada hem pahalıdır hem de bazen önceki yanlış okumayı tekrar eder. Şablon aynı denklem tipi, katsayılar rastgele, çözüm hâlâ öğrencidedir.

function checkpointFor(skill: "linear_eq") {
  const a = 2 + Math.floor(Math.random() * 5);
  const b = 1 + Math.floor(Math.random() * 9);
  return `Eşitliği bozmadan ${a}x + ${b} = 0 ifadesinde x'i yalnız bırak.`;
}

Öğrenci kontrol sorusunu da fotoğraflayıp “cevap ver” diye basarsa yine saklanır. Döngü kapanmaz. Kapatan şey doğru ara adımı kendi yazmasıdır. Bunu kaydederiz: tur sayısı, insana düşme, kontrol sonucu. “Model bozdu” yetmez; hangi kazanım, kaç tur, teyit var mı, o lazım.

Derslik erken erişim ürünüdür. “MEB onaylı”, “sınav garantisi”, “öğretmenin yerini alır” yok. 1–12. sınıf MEB akışına göre konu dili kuruluyor; her kazanımın veri seti sonsuz değil. Sözel derste de adım adım sorulur; “paragrafın doğru şıkkı X” diye kapatılmaz. Cevap botu istiyorsanız bunu kurmayın. Öğrenci takılınca soru soran bir masa istiyorsanız yapay zeka araçları veya iletişim.