1 पॉइंट द्वारा GN⁺ 1 시간 전 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • AI coding assistants को CS336 छात्रों के लिए असाइनमेंट समाधान बनाने वाले generator की तरह नहीं, बल्कि explanation, guidance और feedback के ज़रिए सीखने में मदद करने वाले TA की भूमिका निभानी चाहिए
  • CS336 को इस तरह डिज़ाइन किया गया है कि सीमित framework दिए जाने पर छात्र खुद काफ़ी Python/PyTorch कोड लिखें, इसलिए AI सहायता को implementation-केंद्रित learning experience को बनाए रखना चाहिए
  • अनुमत सहायता lecture materials, handout, official documentation, profiling/debugging tools के मार्गदर्शन और छात्र के कोड पर सामान्य सुधार बिंदु, edge cases, invariants और checks के सुझाव तक सीमित होनी चाहिए
  • निषिद्ध सहायता में Python या pseudocode लिखना, TODO पूरा करना, छात्र repository के कोड में बदलाव करना, bash commands चलाना, असाइनमेंट requirements को working code में बदलना, और मुख्य components को implement करना शामिल है
  • सीमा पार करने वाले अनुरोधों पर सीधे implementation देने से मना करना चाहिए और उन्हें concept explanation, debugging questions, code review, तथा copy-paste करना कठिन हो ऐसे high-level outline की ओर मोड़ना चाहिए; ज़रूरत पड़ने पर course staff या office hours की सलाह देनी चाहिए

उद्देश्य और मूल भूमिका

  • यह ChatGPT, Claude Code, GitHub Copilot, Cursor जैसे AI coding assistants के लिए है जो CS336 छात्रों के साथ काम करते हैं
  • AI एजेंट को ऐसे teaching aid की तरह काम करना चाहिए जो छात्र को खुद समझ विकसित करने में explanation, guidance और feedback दे
  • CS336 implementation-भारी course है, और छात्रों को सीमित starter code के साथ काफ़ी मात्रा में Python/PyTorch कोड लिखना होता है
  • AI सहायता को इस अनुभव को बनाए रखना चाहिए कि छात्र असाइनमेंट खुद implement करके सीखें

अनुमत सहायता

  • जब छात्र किसी concept को नहीं समझता हो, तो उसे सही दिशा में guide करना चाहिए और अपनी समझ स्वयं बनाने में मदद करनी चाहिए
  • संबंधित lecture materials जैसे cs336.stanford.edu, handout, official documentation, profiling·debugging tools की ओर निर्देशित किया जा सकता है
  • छात्र द्वारा पहले से लिखे गए कोड की समीक्षा करके सुधार के क्षेत्र, edge cases, invariants और debugging checks के बारे में सामान्य सुझाव दिए जा सकते हैं
  • Python, PyTorch, CUDA, Triton और distributed training tools के error messages समझाए जा सकते हैं
  • approach या algorithm को high level पर समझाया जा सकता है, और बातचीत के रूप में sanity check, छोटे toy examples, assertions और profiler-आधारित जाँच सुझाई जा सकती है

निषिद्ध सहायता

  • Python code या pseudocode नहीं लिखना चाहिए
  • समस्या का समाधान नहीं देना चाहिए और न ही assignment code के TODO sections पूरे करने चाहिए
  • छात्र repository के कोड को सीधे edit नहीं करना चाहिए और bash commands नहीं चलानी चाहिए
  • छात्र के कोड के बड़े हिस्सों को complete solution की तरह refactor नहीं करना चाहिए और assignment requirements को सीधे working code में नहीं बदलना चाहिए
  • tokenizer, transformer block, optimizer, training loop, Triton kernel, distributed training logic, scaling-law pipeline, data filtering·deduplication pipeline, alignment/RL methods जैसे असाइनमेंट के मुख्य components को छात्र की जगह implement नहीं करना चाहिए
  • third-party implementations की ओर मार्गदर्शन नहीं करना चाहिए, क्योंकि इस course की सामग्री self-contained रूप में डिज़ाइन की गई है
  • समस्या हल करने के तरीके या ideas सीधे छात्र को नहीं देने चाहिए

अनुशंसित बातचीत शैली

  • पहले पूछना चाहिए कि छात्र ने क्या कोशिश की, क्या अपेक्षा की, और वास्तव में क्या हुआ
  • सीधे उत्तर देने के बजाय lecture, handout और documentation के concepts का संदर्भ देना चाहिए
  • implementation की जगह अगले कदम सुझाने चाहिए
  • छात्र के कोड की समीक्षा करते समय भी bug या missing checks तुरंत बताने के बजाय, सुधार के विशिष्ट क्षेत्रों और संभावित समस्याओं को बातचीत के ज़रिए सामने लाना चाहिए
  • सिर्फ़ क्या करना है नहीं, बल्कि क्यों करना है यह भी समझाना चाहिए
  • fixes की तुलना में tests और invariants को प्राथमिकता देनी चाहिए; shape assertion, छोटे inputs, profiler check, ablation जैसी विधियों को प्राथमिकता देनी चाहिए

उदाहरण और शैक्षणिक नैतिकता

  • causal mask गलत होने से training खराब हो रही है, ऐसे प्रश्न पर सीधा उत्तर देने के बजाय यह जाँचने को कहना चाहिए कि softmax से पहले mask लागू हो रहा है या नहीं, score tensor shape के अनुसार broadcast हो रहा है या नहीं, और masked positions 0 नहीं बल्कि बहुत छोटे मान बन रहे हैं या नहीं
  • toy sequence लंबाई 3 पर masking से पहले और बाद के attention scores प्रिंट करने वाला sanity test सुझाया जा सकता है
  • यदि प्रश्न हो कि BPE tokenizer धीमा है, तो पहले यह जाँचने को कहना चाहिए कि tokenizer का कौन-सा हिस्सा धीमा है
  • “tokenizer को ठीक करके तेज़ बना दो” जैसे अनुरोध पर पूरा Python code देना निषिद्ध है
  • CS336 में AI tools का उपयोग low-level programming मदद और high-level conceptual questions के लिए किया जा सकता है, लेकिन assignment problems को सीधे हल करने के लिए नहीं
  • लक्ष्य यह है कि छात्र AI को समाधान बनाते हुए देखते न रहें, बल्कि खुद करके सीखें

1 टिप्पणियां

 
GN⁺ 1 시간 전
Hacker News की टिप्पणियाँ
  • इस सेमेस्टर मैं भी अपनी क्लास में AGENTS.md के साथ ऐसा ही कुछ आज़मा रहा हूँ। यह वर्ज़न बहुत लंबा है, और अनुभव के आधार पर लगता है कि यह context window से काफ़ी जल्दी बाहर हो जाएगा
    कुछ मॉडलों पर टेस्ट करने के बाद पाया कि बहुत सारे उदाहरण और बारीक व्याख्या देने की बजाय, बहुत छोटी लेकिन साफ़ 30-line instructions ज़्यादा अच्छा काम करती हैं
    मैंने एक बेसिक लाइन डाली है: “मैं एक छात्र हूँ, इसलिए मेरे लिए सब कुछ मत कर दो, बल्कि मुझे सीखने में मदद करो,” और यह भी आज़मा रहा हूँ कि यह .history फ़ोल्डर बनाए, जिसमें सभी prompts और उन पर किए गए काम का सार Markdown में रहे
    मुझे पता है कि कुछ tools prompt history अपने आप देते हैं, लेकिन मैंने छात्रों से कहा है कि वे कोई भी tool इस्तेमाल कर सकते हैं, और अगर काम करते समय फ़ोल्डर न बने तो मुझे बताएं
    अगर AI का इस्तेमाल किया गया है, तो .history फ़ोल्डर अनिवार्य है, और मैं इसे देखकर उन छात्रों को ठोस feedback देना चाहता हूँ जो AI को बहुत ज़्यादा बैसाखी की तरह इस्तेमाल कर रहे हैं
    मैंने यह पिछले शुक्रवार से ही शुरू किया है

    • LLM इस्तेमाल करते समय सामान्य सिद्धांत यह है कि अगर कोई चीज़ सच में होना ज़रूरी है, तो सिर्फ़ “करो” कह देना काफ़ी नहीं है। उसे hook scripts से enforce करना चाहिए या पहले से बचे हुए logs का उपयोग करना चाहिए
      उदाहरण के लिए, सभी sessions के transcripts ~/.claude में सुरक्षित रहते हैं। इन्हें parse करने वाली scripts अनगिनत हैं, और किसी agent से कहें तो वह 5 मिनट में एक बना देगा
    • Django सीखने के लिए मैंने भी ऐसा ही कुछ किया था। Claude Code में डिफ़ॉल्ट Learning Mode होता है, और मैंने उस पर बढ़ाकर Coaching Mode जोड़ा था
      उसमें निर्देश दिए कि वह मुझे कैसे coach करे, feature की रूपरेखा बनाने में कैसे मदद करे, और code review में feedback कैसे दे। मुख्य निर्देश यह था कि उस mode में वह कभी भी मेरी जगह code न लिखे
      वह बेसिक logic examples या pseudocode दे सकता है, और समस्या के कई approaches पर चर्चा कर सकता है। यह काफ़ी प्रभावी रहा, और कुछ नया सीखते समय अब यही मेरा मुख्य तरीका बन गया है। अभी मैं इससे Elixir सीख रहा हूँ
    • आगे चलकर यह कैसे काम करता है, यह सुनना चाहूँगा। मैं भी सितंबर में अपनी क्लास में ऐसा ही approach लाने की सोच रहा हूँ, और .history फ़ोल्डर अच्छा आइडिया है
      सोच रहा हूँ कि आप students को evaluate कैसे करने वाले हैं
    • मुझे लगता है कि नई skills सीखने और ज्ञान को गहरा करने में LLM की ताकत को कम आँका जा रहा है
      अगर सही तरह से इस्तेमाल किया जाए, तो यह उन लोगों पर बड़ा बढ़त देता है जो इसका उपयोग नहीं करते, खासकर उन पर जो सोचते हैं कि वे समझ गए हैं लेकिन वास्तव में सतही स्तर पर ही रुक गए हैं। मैं तो लोगों को सबसे साधारण लगने वाले सवाल भी बार-बार पूछने की सलाह दूँगा
  • जो लोग Claude Code इस्तेमाल करते हैं, उनके लिए मैं Learning mode की सिफ़ारिश करता हूँ, क्योंकि यह जवाब खुद लिखने की बजाय आपको implementation process के साथ चलाता है। किसी नए क्षेत्र में प्रवेश करते समय यह बहुत उपयोगी है और नीचे के स्तर की intuition बनाने में मदद करता है
    इसे चालू करने के लिए /config > output styles > Learning चलाएँ

    • Learning mode ने सच में बहुत मदद की, और जल्दी ही यह मेरा पसंदीदा learning style बन गया। बाद में मैंने इसमें वह learning concept जोड़ा जिसमें user के लिए TODO skeleton बनाया जाता है, और अपने सीखने के तरीके के हिसाब से कुछ और निर्देश जोड़कर Coaching Mode output style बनाया
  • यह approach काफ़ी उचित लगती है। जिन्न अब बोतल से बाहर आ चुका है, और छात्र साफ़ तौर पर AI agents से assignments पूरे करने और कुछ भी न सीखने का रास्ता अपनाएँगे
    फिर भी, यह दिखाने में मूल्य है कि agents को educational tool की तरह कैसे इस्तेमाल किया जा सकता है, और healthy use कैसा दिख सकता है

    • यह CliffNotes जैसी ही समस्या है। अगर आसान रास्ता होगा, तो लोग वही चुनेंगे। हालाँकि, अगर assignments या exams सही तरह से डिज़ाइन किए जाएँ, तो बात अलग हो सकती है
      अगर in-person essays या exams का वज़न ज़्यादा हो, तो जिसने पुराने तरीके से पढ़ाई नहीं की, वह बुरी तरह फँस जाएगा। मैंने कुछ बहुत कठिन classes ली थीं जिनमें न homework था न project, और पूरा grade सिर्फ़ 3 exams से तय होता था
      तब आप पीछे न छूटें, इसके लिए सच में बहुत मेहनत से पढ़ते हैं। एक exam खराब हो जाए तो वापसी लगभग नामुमकिन हो जाती है, और फिर या तो अगले साल course दोबारा लेना पड़ता है या जान लगाकर पढ़ना पड़ता है
    • एक ऐसी दुनिया में जो ज्ञान स्वयं को ज़्यादा महत्व देती जा रही है, अंततः आप सिर्फ़ खुद को धोखा दे रहे होते हैं
      बाज़ार में भी नए graduate juniors की बजाय seniors को hire करने की पसंद बढ़ रही है, और सिर्फ़ एक कागज़ जो कहता हो कि आपने ज्ञान “साबित” कर दिया है, अब काफ़ी नहीं है
    • सहमत। मुझे नहीं पता इसे practically कैसे enforce किया जाए, लेकिन शिक्षा में AI पर पूरी रोक, in-person monitoring, oral evaluation, या paper exams जैसी बात करने वाले दूसरे लेखों की तुलना में यह बहुत बेहतर लगता है
      यह पहली बार है जब मैंने ऐसा approach देखा है जो education को reality से अलग करने की कोशिश नहीं करता। जो छात्र AI को काम में प्रभावी ढंग से integrate कर पाएँगे और साथ ही जो कर रहे हैं उसे सच में समझेंगे, आख़िर में नौकरी वही पाएँगे, और अंततः स्कूल का लक्ष्य भी वही है
  • यह HTMX के लिए प्रसिद्ध Carson के 5 महीने पुराने agent.md की काफ़ी नज़दीकी नकल जैसा लगता है
    https://gist.github.com/1cg/a6c6f2276a1fe5ee172282580a44a7ac

    • CS336 के honor code section में 1cg की gist का संदर्भ दिया गया है
      https://cs336.stanford.edu/
  • लगता है यह उस चीज़ पर आधारित है जो मैंने पहले पोस्ट की थी
    https://gist.github.com/1cg/a6c6f2276a1fe5ee172282580a44a7ac

    • सही है। विस्तारित AI policy document में मैंने आपके version का लिंक दिया था, लेकिन वेबसाइट cs336.stanford.edu में जोड़ना भूल गया
    • बधाई। यह एक अच्छा prompt लगता है जो उपयोगी baseline experience सुनिश्चित कर सकता है। इसे cheating prevention समझने की बजाय, इसे इस रूप में देखना चाहिए कि यह लोगों को सीखना कैसे सीखें, इसमें मदद करता है
      आगे चलकर AI और education पर आपको कोई और insight मिली है या नहीं, यह जानना चाहूँगा
  • अगर lecture कोई कस्टम Harness दे जो textbook की जगह ले सके, और यह उसके भीतर निर्देशों के एक सेट के रूप में शामिल हो, तो यह दिलचस्प approach होगी
    लेकिन अगर यह सिर्फ़ एक standalone file है जिसे students को अपने agent में अलग से लाना पड़े, तो इसके अच्छे से काम करने की संभावना कम लगती है

    • निष्पक्ष रूप से कहें तो, अगर assignments वाले repository में ये निर्देश AGENTS.md/CLAUDE.md के रूप में साथ भेजे जाएँ, तो agent इन्हें student के स्पष्ट रूप से चुनने के बिना भी पढ़ लेगा। पहले कदम के तौर पर यह उचित लगता है
  • स्कूल के बाहर के लोग शायद exams की ताकत को कम आँकते हैं। हाल की classes में भी exam होने और न होने के बीच का अंतर बड़ा रहा है
    exam होने पर छात्र बहुत ज़्यादा पढ़ते हैं, और इसलिए उनके वास्तव में सीखने की संभावना भी बढ़ जाती है

  • इसे CLAUDE.md के रूप में पेश किया गया, यह बात मुझे पसंद आई
    वही सामग्री AGENTS.md में भी डुप्लिकेट करके रखी गई है। अच्छा होगा अगर Anthropic जल्द ही Claude Code को यह भी सिखा दे कि वह उस फ़ाइल को भी देखे

    • हमारे repository में AGENTS.md और CLAUDE.md को एक ही फ़ाइल के symbolic link के रूप में रखा गया है
    • Anthropic ऐसा नहीं करेगा। फ़ाइल नाम को अपने product name से बाध्य करना एक जानबूझकर किया गया marketing choice है
      उस फ़ाइल वाले हर repository में उसे मुफ्त विज्ञापन मिल जाता है
    • ऐसा छोटा-सा feature Claude जैसी किसी चीज़ से कुछ ही सेकंड में implement किया जा सकता है। यह “जल्दी नहीं कर रहे” वाली समस्या नहीं है
    • ज़्यादा उम्मीद न करना ही बेहतर है
  • coding agent को पूरी तरह प्रतिबंधित करने और higher education की भावना को स्वीकार करने के बीच यह काफ़ी व्यावहारिक संतुलन लगता है

    • सहमत हूँ। आज के समय में शुरुआत से coding सीखना कम-से-कम आसान तो नहीं होगा
      compile तो हो जाता है, लेकिन typo रह जाना, या comma और bracket के ग़लत होने पर debugging करते हुए जो चोटें जमा होती हैं, वे किसी ऐसी चीज़ को सिखाती हैं जिसे दोहराना आसान नहीं। लेकिन अगर समय के साथ उसे sustainable learning से बदला जा सके, जो पुराना न पड़े, तो यह निश्चित रूप से लाभ होगा
  • दिलचस्प है, लेकिन AI agent guidelines को लागू कैसे किया जाएगा, यह समझ नहीं आता। क्योंकि छात्र हमेशा curriculum के बाहर के model का इस्तेमाल करके guidelines को bypass करने की कोशिश कर सकते हैं
    academic honesty को बढ़ावा देना उपयोगी है, लेकिन छात्र को यह स्वीकार करना होगा कि वह degree के लिए नहीं बल्कि शिक्षा के लिए पैसे दे रहा है। यह कठिन समस्या है, और मैं जानना चाहता था कि computer science departments सीखने के माहौल में उचित उपयोग को बढ़ावा देते हुए AI को curriculum में कैसे integrate करते हैं

    • “AI agent guidelines को कैसे लागू किया जाएगा” का जवाब, कम-से-कम सीधे तौर पर, यही है कि इसे लागू नहीं किया जा सकता क्योंकि यह संभव नहीं है
      लेकिन इसका यह मतलब नहीं कि इस approach में कोई value नहीं है। बल्कि मुझे लगता है कि इसमें काफ़ी value है
      इसे परोक्ष रूप से लागू करने का एक तरीका oral exam है, जहाँ instructor और छात्र साथ बैठकर काम को देखते हैं और उस पर बात करते हैं। जिसने agent guidelines के तहत AI को गंभीरता से learning tool की तरह इस्तेमाल किया है, वह oral exam में उस छात्र से कहीं बेहतर करेगा जिसने AI को answer generator की तरह इस्तेमाल किया हो
      पिछले academic year में मैंने अपने course में guidelines के बिना oral exam शुरू किया था, और यह काफ़ी अच्छी तरह काम किया। अगले semester में मैं और स्पष्ट guardrails के साथ agent guidelines शामिल करने की सोच रहा हूँ। आखिरकार यह optional ही होगा, लेकिन जो छात्र इसे नज़रअंदाज़ करेंगे, वे बातचीत के दौरान काफ़ी स्पष्ट रूप से सामने आ जाएँगे
    • अगर छात्र में सीखने की बिल्कुल भी इच्छा नहीं है, तो कोई भी निर्देश काम नहीं करेगा
    • Stanford में honor code है। इसका मतलब था कि exam के दौरान भी कोई proctoring नहीं होती थी, और जब मैं वहाँ था, तब यह हैरान करने वाली हद तक अच्छी तरह काम करता था
      दूसरी तरफ, अगर cheating करते पकड़े गए, तो दूसरा मौका नहीं मिलता। अगर इसे सख़्ती से लागू करना हो, तो यहाँ भी शायद वही तरीका लागू होगा
    • आदर्श दुनिया में guidelines बस उन छात्रों के लिए सुझाव हों, जो course से अधिकतम लाभ लेना चाहते हैं और बेहतर इंसान व professional बनना चाहते हैं
      लेकिन degree का वास्तविक दुनिया में मूल्य और प्रभाव होता है, इसलिए अगर अयोग्य लोगों को खतरनाक काम करने दिए जाएँ तो निर्दोष लोगों की जान जोखिम में पड़ सकती है। यह कठिन है, लेकिन उम्मीद है कि समय के साथ हम इस नई तकनीक के साथ जीना सीख जाएँगे