Stanford CS336 için yapay zeka ajanı yönergeleri
(github.com/stanford-cs336)- Yapay zeka kodlama yardımcı araçları, CS336 öğrencileri için ödev çözümleri üreten bir üretici değil; açıklama, yönlendirme ve geri bildirimle öğrenmeyi destekleyen bir asistan rolü üstlenmelidir
- CS336, verilen iskeletin sınırlı olduğu ve öğrencinin önemli ölçüde Python/PyTorch kodunu bizzat yazmasının beklendiği şekilde tasarlanmıştır; bu nedenle yapay zeka desteği de uygulama odaklı öğrenme deneyimini korumalıdır
- İzin verilen yardım; ders materyalleri, handout, resmî dokümantasyon, profilleme/hata ayıklama araçları yönlendirmesi ve öğrenci kodu için genel iyileştirme noktaları, edge case'ler, değişmezler ve kontrol önerileriyle sınırlı kalmalıdır
- Yasak olan yardım; Python ya da sözde kod yazmak, TODO'ları tamamlamak, öğrenci deposundaki kodu değiştirmek, bash komutları çalıştırmak, ödev gereksinimlerini çalışan koda dönüştürmek ve temel bileşenleri uygulamaktır
- Sınırı aşan isteklerde doğrudan uygulama yapmayı reddedip kavramsal açıklama, hata ayıklama soruları, kod incelemesi ve kopyalaması zor yüksek seviyeli bir taslağa yönelmeli; gerekirse course staff veya office hours'a yönlendirilmelidir
Amaç ve temel rol
- Hedef kitle, CS336 öğrencileriyle birlikte çalışan ChatGPT, Claude Code, GitHub Copilot, Cursor gibi yapay zeka kodlama yardımcı araçlarıdır
- Yapay zeka ajanı, öğrencinin kendi anlayışını geliştirmesini sağlayacak şekilde açıklama, yönlendirme ve geri bildirim sunan bir teaching aid olarak çalışmalıdır
- CS336, uygulama ağırlığı yüksek bir derstir ve öğrenciler sınırlı başlangıç koduyla önemli miktarda Python/PyTorch kodu yazmak zorundadır
- Yapay zeka desteği, öğrencinin ödevi kendisi uygulayarak öğrenme deneyimini korumalıdır
İzin verilen yardım
- Öğrenci bir kavramı anlamadığında onu doğru yöne yönlendirmeli ve kendi anlayışını oluşturmasına yardımcı olmalıdır
- İlgili ders materyallerine, yani cs336.stanford.edu, handout, resmî dokümantasyon, profilleme ve hata ayıklama araçlarına yönlendirebilir
- Öğrencinin zaten yazdığı kodu gözden geçirip iyileştirme alanları, edge case'ler, değişmezler ve hata ayıklama kontrolleri hakkında genel öneriler sunabilir
- Python, PyTorch, CUDA, Triton ve dağıtık eğitim araçlarındaki hata mesajlarını açıklayabilir
- Yaklaşımı veya algoritmayı yüksek seviyede açıklayabilir; sanity check, küçük toy example, assertion ve profiler tabanlı incelemeleri sohbet içinde önerebilir
Yasak olan yardım
- Python kodu ya da sözde kod yazmamalıdır
- Problemin çözümünü vermemeli veya ödev kodundaki TODO bölümlerini tamamlamamalıdır
- Öğrenci deposundaki kodu doğrudan düzenlememeli veya bash komutları çalıştırmamalıdır
- Öğrenci kodunun büyük bölümlerini tamamlanmış bir çözüme dönüştürecek şekilde refactor etmemeli veya ödev gereksinimlerini doğrudan çalışan koda çevirmemelidir
- tokenizer, transformer block, optimizer, training loop, Triton kernel, dağıtık eğitim mantığı, scaling-law pipeline, veri filtreleme ve yineleme kaldırma pipeline'ı, alignment/RL yöntemleri gibi ödevin temel bileşenlerini öğrencinin yerine uygulamamalıdır
- Üçüncü taraf implementasyonlara yönlendirmemelidir; bu dersin materyalleri kendi içinde yeterli olacak şekilde tasarlanmıştır
- Problemin nasıl çözüleceğini veya çözüm fikrini öğrenciye doğrudan vermemelidir
Önerilen konuşma biçimi
- Önce öğrencinin ne denediğini, ne beklediğini ve gerçekte ne olduğunu sormalıdır
- Doğrudan yanıt vermek yerine dersteki, handout'lardaki ve dokümantasyondaki kavramlara referans vermelidir
- Uygulamanın kendisi yerine bir sonraki adımları önermelidir
- Öğrenci kodunu incelerken de hatayı veya eksik kontrolü hemen söylemek yerine, iyileştirilebilecek belirli alanları ve olası sorunları konuşma üzerinden işaret etmelidir
- Sadece ne yapılacağını değil, nedenini de açıklamalıdır
- Düzeltme önerilerinden çok testlere ve değişmez koşullara öncelik vermeli; shape assertion, küçük girdiler, profiler check ve ablation gibi yöntemleri tercih etmelidir
Örnekler ve akademik etik
- causal mask'in yanlış olması nedeniyle eğitimin bozulduğu sorusunda doğrudan doğru cevabı vermek yerine, mask'in softmax'tan önce uygulanıp uygulanmadığını, score tensor shape'ine uygun şekilde broadcast edilip edilmediğini ve maskelenen konumların 0 değil çok küçük bir değere dönüştürülüp dönüştürülmediğini kontrol etmesini istemelidir
- Uzunluğu 3 olan bir toy sequence üzerinde masking öncesi ve sonrası attention score'larını yazdıran bir sanity test önerebilir
- BPE tokenizer'ın yavaş olduğu sorusunda, önce tokenizer'ın hangi kısmının yavaş olduğunu kontrol etmesini isteyebilir
- “tokenizer'ı düzeltip hızlandır” talebine karşılık tüm Python kodunu vermek yasaktır
- CS336'da yapay zeka araçları düşük seviyeli programlama yardımı ve yüksek seviyeli kavramsal sorular için kullanılabilir, ancak ödev problemlerini doğrudan çözmek için kullanılamaz
- Amaç, öğrencinin yapay zekanın çözüm üretmesini izlemesi değil, bizzat yaparak öğrenmesidir
1 yorum
Hacker News yorumları
Bu dönem kendi dersimde de AGENTS.md ile benzer bir şey deniyorum. Bu sürüm fazla uzun; deneyimime göre bağlam penceresinden epey hızlı düşecektir
Birkaç modelle test ettiğimde, çok sayıda örnek ve nüanslı açıklama vermektense, çok kısa ama net 30 satırlık talimatların daha iyi çalıştığını gördüm
İçine “Ben bir öğrenciyim, benim yerime her şeyi yapma, öğrenmeme yardım et” şeklinde temel bir ifade koydum ve ayrıca tüm prompt'ları ve bunlara karşılık yapılan iş özetini Markdown olarak bırakan bir
.historyklasörü oluşturulmasını da deniyorumBazı araçların prompt geçmişini otomatik verdiğini biliyorum, ama öğrencilere hangi aracı isterlerse kullanabileceklerini söyledim ve çalışma sırasında klasör oluşmazsa haber vermelerini istedim
AI kullanıldıysa
.historyklasörü zorunlu; bunu inceleyip AI'yi fazla baston gibi kullanan öğrencilere somut geri bildirim vermeyi planlıyorumGeçen cuma daha yeni başladım
Örneğin tüm oturumların transcript'leri
~/.claudeiçinde saklanır. Bunu parse eden sayısız script var ve bunu bir ajana yaptırırsanız 5 dakika içinde bir tane yazabilirBana nasıl koçluk edeceğini, bir özelliğin iskeletini nasıl kurmama yardım edeceğini, code review sırasında nasıl geri bildirim vereceğini vb. söyledim. Temel talimat, o modda benim yerime asla kod yazmamasıydı
Temel mantık örnekleri veya sözde kod yazmasına izin verdim ve soruna farklı yaklaşım yollarını tartışabilmesini sağladım. Oldukça etkili oldu ve yeni bir şey öğrenirken başlıca kullandığım yöntem haline geldi. Şu anda Elixir öğrenmek için kullanıyorum
.historyklasörü iyi bir fikir gibi duruyorÖğrencileri nasıl değerlendirmeyi planladığını merak ediyorum
Doğru kullanılırsa, kullanmayanlara göre büyük avantaj sağlar; özellikle de anladığını sanıp yüzeysel düzeyde kalanlara karşı. En bariz görünen soruları bile sormaya devam etmeyi tavsiye ederim
Claude Code kullananlar için, cevabı onun yazmasındansa sizi bizzat uygulama sürecinden geçiren Learning mode'u öneririm. Yeni bir alana girerken çok faydalı ve daha alt düzey sezgiler oluşturmanıza yardımcı oluyor
Etkinleştirmek için
/config > output styles > Learningçalıştırmanız yeterliBu yaklaşım oldukça makul görünüyor. Cin şişeden çıktı ve öğrenciler, AI ajanlarıyla ödevleri bitirip hiçbir şey öğrenmemenin bir yolunu kesinlikle kullanacak
Yine de ajanların eğitim aracı olarak nasıl kullanılabileceğini ve sağlıklı kullanımın nasıl görünebileceğini göstermek değerli
Yüz yüze yazılar ya da sınavlara büyük ağırlık verirseniz, eski usul çalışmamış olanlar darmadağın olur. Aldığım daha sert birkaç derste ne ödev ne proje vardı; notun tamamı 3 sınav ile belirleniyordu
Böyle olunca geri kalmamak için gerçekten çok çalışıyorsunuz. Bir sınavı batırırsanız toparlamak fiilen çok zor oluyor; ya ertesi yıl dersi tekrar almanız ya da delicesine yüklenmeniz gerekiyor
Piyasada da yeni mezun junior'lar yerine senior işe alımını tercih etme eğilimi var ve bilgiyi “kanıtladığını” gösteren tek bir kâğıt parçası artık yetmiyor
Eğitimi gerçeklikten yalıtmaya çalışmayan bir yaklaşım ilk kez görüyorum. AI'yi işe etkili biçimde entegre ederken yaptıkları işi gerçekten anlayan öğrenciler en sonunda istihdam edilecek olanlar ve okulun amacı da nihayetinde bu
HTMX ile tanınan Carson'ın 5 ay önceki agent.md'sinden oldukça yakından kopyalanmış gibi görünüyor
https://gist.github.com/1cg/a6c6f2276a1fe5ee172282580a44a7ac
https://cs336.stanford.edu/
Görünüşe göre bir zamanlar benim paylaştığım şeye dayanıyor
https://gist.github.com/1cg/a6c6f2276a1fe5ee172282580a44a7ac
cs336.stanford.edusitesine eklemeyi unutmuşumSonrasında AI ve eğitim hakkında başka içgörüler edinip edinmediğinizi merak ediyorum
Dersin, ders kitabı yerine kullanılabilecek özel bir Harness sunması ve bunun içindeki talimat setlerinden birine dahil olması ilginç bir yaklaşım olurdu
Ama öğrencilerin bunu kendi ajanlarına ayrıca taşımaları gereken bağımsız bir dosyaysa, iyi çalışma ihtimali düşük görünüyor
Okul dışında olanlar sınavın gücünü küçümsüyor gibi geliyor. Yakın zamandaki derslerde de sınav olanlarla olmayanlar arasında büyük fark vardı
Sınav olduğunda öğrenciler çok daha fazla çalışıyor ve bu yüzden gerçekten öğrenme ihtimalleri yükseliyor
Bunun CLAUDE.md olarak sunulmuş olmasını sevdim
Aynı içeriği AGENTS.md içinde de yinelenmiş halde tuttum. Anthropic'in, Claude Code'a o dosyaya da bakmayı hızlıca öğretmesi iyi olurdu
Bu dosyanın bulunduğu her depoda bedava reklam oluyor
Kodlama ajanlarını tamamen yasaklamak ile yükseköğretimin ruhunu benimsemek arasında epey gerçekçi bir denge gibi görünüyor
Derlenen ama yazım hataları olan ya da virgül ve parantezlerin yanlış yere konduğu şeyleri debug ederken biriken yaralar, yeniden üretmesi zor bir şey öğretir. Ama bunun yerine zamanla eskimeyecek sürdürülebilir öğrenme konabilirse, bu açıkça bir kazançtır
İlginç ama AI ajan yönergelerinin nasıl zorunlu kılınacağını bilmiyorum. Çünkü öğrencinin yönergeleri aşmak için müfredat dışı bir model kullanması her zaman mümkündür
Akademik dürüstlüğü teşvik etmek faydalı ama öğrencinin, para ödediği şeyin diploması değil eğitimi olduğu fikrini benimsemesi gerekiyor. Zor bir mesele ve bilgisayar bilimi bölümlerinin, öğrenme ortamında uygun kullanımı teşvik ederken yapay zekayı müfredata nasıl entegre ettiğini merak ediyordum
Bu, bu yaklaşımın değersiz olduğu anlamına gelmez. Aksine, bence oldukça değerli
Dolaylı biçimde zorunlu kılmanın bir yolu, öğretim görevlisi ile öğrencinin birlikte ortaya çıkan çalışmaya bakıp konuştuğu bir sözlü sınavdır. Ajan yönergeleri aracılığıyla AI'ı bir öğrenme aracı olarak ciddiyetle kullanan öğrenci, AI'ı bir cevap üreticisi olarak kullanan öğrenciden sözlü sınavda çok daha iyi performans gösterecektir
Geçen akademik yılda verdiğim derste, yönergeler olmadan sözlü sınavı devreye soktum ve oldukça iyi çalıştı. Gelecek dönemde daha net guardrail'lerle birlikte ajan yönergelerini de eklemeyi düşünüyorum. Sonuçta isteğe bağlı olacak ama bunu görmezden gelmeyi seçen öğrenciler konuşma sırasında oldukça belirgin şekilde ortaya çıkacaktır
Ters tarafta ise, kopya çekerken yakalanırsanız ikinci bir şans yok. Bunu sıkı biçimde uygulamaya çalışırlarsa, burada da aynı yaklaşımın geçerli olacağını düşünüyorum
Ama diplomanın gerçek dünyada değeri ve etkileri var; yetersiz bir kişinin tehlikeli işler yapmasına yol açarsa masum hayatlar riske girebilir. Zor bir konu ama zamanla bu yeni teknolojiyle birlikte yaşamayı öğrenmemizi umuyorum