<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>Notes - blog</title>
    <link rel="self" type="application/atom+xml" href="https://notes.rcr.pub/tags/blog/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://notes.rcr.pub"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2025-09-10T23:56:27+00:00</updated>
    <id>https://notes.rcr.pub/tags/blog/atom.xml</id>
    <entry xml:lang="en">
        <title>2023 Era AI Tutor Study in Nature</title>
        <published>2025-09-10T23:56:27+00:00</published>
        <updated>2025-09-10T23:56:27+00:00</updated>
        
        <author>
          <name>
            Human
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://notes.rcr.pub/posts/2023-era-ai-tutor-study-in-nature/"/>
        <id>https://notes.rcr.pub/posts/2023-era-ai-tutor-study-in-nature/</id>
        
        <content type="html" xml:base="https://notes.rcr.pub/posts/2023-era-ai-tutor-study-in-nature/">&lt;p&gt;A recurring problem with academic AI studies has been the severe lag time. At best, articles seem to have been published with one or two year lags, and since the AI state of the art has been moving on a monthly basis many results have been largely irrelevant. GPT 4 released on 2023-03-14, and now is finally showing up in peer reviewed journals. Published in Nature 2025-06-03 was an article from Harvard researchers studying the efficacy of a particular AI tutor chatbot in comparison to recent evidence based &#x27;active learning&#x27; classroom techniques. In short, they found extremely strong evidence that their use of the AI tutor substantially improved the quality of the education while being more engaging to the learner.&lt;&#x2F;p&gt;
&lt;p&gt;The authors don&#x27;t attempt to overstate their findings however, and qualifying what exactly they claim is necessary to avoid misrepresentation by omission. The study was done on the Harvard course &quot;Physical Sciences 2&quot;, specifically lessons on surface tension and fluid flow. The scope was carefully limited to reduce confounding variables, such as prior and connected knowledge, while capping the higher order goals at analysis, application, and understanding to the exclusion of synthesis and evaluation (according to Bloom&#x27;s taxonomy). With this limited scope they then dedicated extensive resources to iterating on the LLM prompts and exercises to handle the strengths and weaknesses of GPT 4 specifically. They specifically used GPT-4-0613, which had a context window of only 8192 tokens. For context, the system prompt they provide was itself 601 tokens and the model could only handle one problem at a time. The exercises themselves were highly structured and linear; the hallucination problem was deemed, at the time, effectively insurmountable and hence the prompt for each exercise included a step by step walkthrough of the exercise, with strict instructions to only disclose one step at a time on request. The following is a Markdown and ASCII adaptation of an example exercise prompt, minus the global prompt all exercises had in common.&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;question-specific-prompt&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#question-specific-prompt&quot; aria-label=&quot;Anchor link for: question-specific-prompt&quot;&gt;&lt;i class=&quot;icon&quot;&gt;&lt;&#x2F;i&gt;&lt;&#x2F;a&gt;
Question-Specific Prompt&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;problem&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#problem&quot; aria-label=&quot;Anchor link for: problem&quot;&gt;&lt;i class=&quot;icon&quot;&gt;&lt;&#x2F;i&gt;&lt;&#x2F;a&gt;
PROBLEM:&lt;&#x2F;h3&gt;
&lt;p&gt;Vorticella is a stalk-shaped protozoan, which contracts rapidly. Suppose you wish to study the flow about the cell body keeping the Reynolds number the same but with a model that is scaled up by a factor of 100. How much slower or faster must the model move the body, compared to the speed of the real vorticella?&lt;&#x2F;p&gt;
&lt;h3 id=&quot;answer&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#answer&quot; aria-label=&quot;Anchor link for: answer&quot;&gt;&lt;i class=&quot;icon&quot;&gt;&lt;&#x2F;i&gt;&lt;&#x2F;a&gt;
ANSWER:&lt;&#x2F;h3&gt;
&lt;p&gt;The model must move 100 times slower than the real vorticella.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;keep-in-mind&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#keep-in-mind&quot; aria-label=&quot;Anchor link for: keep-in-mind&quot;&gt;&lt;i class=&quot;icon&quot;&gt;&lt;&#x2F;i&gt;&lt;&#x2F;a&gt;
Keep in mind:&lt;&#x2F;h2&gt;
&lt;p&gt;Steps&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Set the Reynolds numbers equal to each other.
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Re_real = Re_model&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Put in the expression for Reynolds number assuming both the real vorticella and model are in water (denoted &quot;&lt;code&gt;w&lt;&#x2F;code&gt;&quot;).
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;(ρ_w * l_real * v_real) &#x2F; η_w = (ρ_w * l_model * v_model) &#x2F; η_w&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Since both sides have the density of water (&lt;code&gt;ρ_w&lt;&#x2F;code&gt;) and viscosity of water (&lt;code&gt;η_w&lt;&#x2F;code&gt;), we can cancel those out on both sides.
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;l_real * v_real = l_model * v_model&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Solve for the model&#x27;s velocity (&lt;code&gt;v_model&lt;&#x2F;code&gt;).
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;v_model = (l_real &#x2F; l_model) * v_real = (1&#x2F;100) * v_real&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;So, the model of the vorticella must move 100 times slower than the real vorticella to get the same Reynolds number and achieve Dynamic Similarity.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;hr &#x2F;&gt;
&lt;p&gt;Essentially, the use case gave the model every opportunity to suceed while mitigating its known weaknesses. The emphasis on iteration on these prompts is key: naive attempts without the step by step instructions or strict linearity would have likely, at best, had inconsistent model response quality. Not to imply the study is &#x27;bad&#x27;, but rather should be understood as an early proof of concept or demonstration where the task and tool were coevolved to get the best results as opposed to applying the tool to an independent task. There are further confounding variables, such as the student population of Harvard in particular, novelty of the technology at the time, or behavior of the instructors, but that&#x27;s getting beyond the point.&lt;&#x2F;p&gt;
&lt;p&gt;The point is the strength of this evidence; they calculated 0.73 to 1.3 standard deviations of improvement over the active learning classroom method with a p value less than 10^-8. That degree of confidence for a topic as messy as teaching methods made me double check if that was still the p value that usually just has to be p &amp;lt; 0.05. That&#x27;s very strong evidence, albeit specific to this heavily engineered scenario. That said, the developments in LLMs since the study was conducted invites some very consequential questions and corresponding opportunities. The study&#x27;s scope and shape was carefully shaped by the contours of GPT 4&#x27;s limitations, but current generation models have contexts in the hundreds of thousands to million(s) of tokens, much stronger instruction following and recall, and some ability to emulate reasoning through complex problems. Or simply, many of the defining limitations are now gone.&lt;&#x2F;p&gt;
&lt;p&gt;So, why is this important and what now? I can&#x27;t escape a feeling of urgency implied by these results, in that educational institutions, arguably even the learners themselves, have a duty to the students (or in the students&#x27; case, themselves) and society to use the best evidence based methods available. At the same time, it&#x27;s becoming increasingly clear (or rather likely to be true) that chronic use of LLMs uncritically can effectively become a crutch and allow the very faculties meant to be improved to instead atrophy. This expands very quickly to socioeconomic and geopolitical levels too: what if a group or nation adopts teaching methods and technologies that effectively bump the graduated students&#x27; abilites a whole standard deviation, by whatever metric, or to graduate the same students in 25-50% less time? As for what now, if there is going to be a substantial lag between capabilities and confident study of those capabilities, then teaching meta level skills seems a flexible and durable way to manage. Rather than making them as human and invisible as possible, perhaps rather demystify and dissect, allowing people the ability to make informed decisions about how to use them on their own, how to combat the cognitive biases that creep in, or how to measure performance in the first place.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;links&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#links&quot; aria-label=&quot;Anchor link for: links&quot;&gt;&lt;i class=&quot;icon&quot;&gt;&lt;&#x2F;i&gt;&lt;&#x2F;a&gt;
Links&lt;&#x2F;h2&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;nature-articlesupplementary-data-documentation&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#nature-articlesupplementary-data-documentation&quot; aria-label=&quot;Anchor link for: nature-articlesupplementary-data-documentation&quot;&gt;&lt;i class=&quot;icon&quot;&gt;&lt;&#x2F;i&gt;&lt;&#x2F;a&gt;
&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.nature.com&#x2F;articles&#x2F;s41598-025-97652-6&quot;&gt;Nature article&lt;&#x2F;a&gt;&lt;br &#x2F;&gt;
&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;static-content.springer.com&#x2F;esm&#x2F;art%3A10.1038%2Fs41598-025-97652-6&#x2F;MediaObjects&#x2F;41598_2025_97652_MOESM1_ESM.docx&quot;&gt;Supplementary data&#x2F;documentation&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>MLP Visualizer</title>
        <published>2025-08-24T22:23:50+00:00</published>
        <updated>2025-08-24T22:23:50+00:00</updated>
        
        <author>
          <name>
            Human
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://notes.rcr.pub/posts/mlp-visualizer/"/>
        <id>https://notes.rcr.pub/posts/mlp-visualizer/</id>
        
        <content type="html" xml:base="https://notes.rcr.pub/posts/mlp-visualizer/">&lt;h2 id=&quot;mlp-visualizer&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#mlp-visualizer&quot; aria-label=&quot;Anchor link for: mlp-visualizer&quot;&gt;&lt;i class=&quot;icon&quot;&gt;&lt;&#x2F;i&gt;&lt;&#x2F;a&gt;
&lt;a href=&quot;&#x2F;mlp-vis&#x2F;index.html&quot;&gt;MLP Visualizer&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;&#x2F;mlp-vis&#x2F;index.html&quot;&gt;&lt;img src=&quot;..&#x2F;2025-08-24-mlp-visualizer.png&quot; alt=&quot;MLP Visualizer preview&quot; &#x2F;&gt;&lt;&#x2F;a&gt;
I finished a project I&#x27;ve been working on for awhile that is meant to visualize multi-layer perceptrons (MLPs) for educational purposes, found &lt;a href=&quot;&#x2F;mlp-vis&#x2F;index.html&quot;&gt;here&lt;&#x2F;a&gt;. The project was mostly written by AI, with the original self contained html page being written in a chat interface and the deployed extension by Claude Code. Overall, this took a couple hours of actual work for me with the AI doing the vast majority of the actual work. It cost about $45 in full, having used Sonnet 4 as the main model. It&#x27;s certainly not perfect, but I think it&#x27;s good enough to be put into the wild.&lt;&#x2F;p&gt;
&lt;p&gt;The tech stack I specified was basically just a Nix flake to manage the project, npm for depsendencies, Vite to build, Svelte for the front end framework, and Bulma for themeing. Axe was also used later on for accessibility testing. Otherwise, I mostly have no idea how it works under the hood. I know it uses canvases to performantly draw the graphs and uses a decoupled simulate and draw loop, but other than that I don&#x27;t know much. I&#x27;m not particularly keen on some of the architectural choices, with a lot of core login being in App.svelte instead of in Typescript, but then again I never had to deal with it.&lt;&#x2F;p&gt;
&lt;p&gt;I wasn&#x27;t as careful with this project as some of the bigger ones, and I think that shows. Instead of having a large pile of documentation and logging to keep the model focused it was very apparent when the context was lost. Sometimes it&#x27;d forget how to build and run the app, other times it&#x27;d seem like it was rediscovering what the app essentially was (not to anthropmorphize, that was essentially true without a log). On the other hand, this made it closer to the &#x27;vibe coding&#x27; some talk about, where I lazily iterate through high level ideas while half paying attention.&lt;&#x2F;p&gt;
&lt;p&gt;Ultimately, if I more carefully documented and planned this from the start, the result would probably be both better and cheaper. But that&#x27;s the devil&#x27;s bargain at play, you get to trade money for time and effort.&lt;&#x2F;p&gt;
</content>
        
    </entry>
</feed>
