<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Posts on Bhavesh Kalisetti</title><link>https://bkal01.github.io/posts/</link><description>Recent content in Posts on Bhavesh Kalisetti</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 02 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://bkal01.github.io/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>Can Coding Agents Play Pokemon?</title><link>https://bkal01.github.io/posts/radical-red/</link><pubDate>Wed, 02 Sep 2026 00:00:00 +0000</pubDate><guid>https://bkal01.github.io/posts/radical-red/</guid><description>&lt;div class="tldr"&gt;
&lt;strong&gt;TL;DR&lt;/strong&gt;
&lt;br&gt;
I made a new benchmark for coding agents based on 21 difficult Pokemon battles from the fanmade ROM hack Radical Red. Agents need to inspect data in a sandbox to build a team and battle an opponent. As they uncover more information about their opponent, they can update their team under a limited episode budget.
&lt;br&gt;&lt;br&gt;
In an initial eval, GPT 5.6 Luna wins ~83% of its battles within 10 episodes. Pretty strong, but we have levers to scale task difficulty up for future evaluations.
&lt;br&gt;&lt;br&gt;
Code is &lt;a href="https://github.com/bkal01/claude-radical-red"&gt;here&lt;/a&gt; if you want to run some evals yourself or contribute!
&lt;/div&gt;
&lt;h1 id="introduction"&gt;Introduction&lt;/h1&gt;
&lt;p&gt;Recently, Anthropic announced that their new model, Claude Fable 5, &lt;a href="https://www.youtube.com/watch?v=Ty_50J84fMY"&gt;was able to beat Pokemon FireRed using vision only&lt;/a&gt;. Impressive! Like every other benchmark we&amp;rsquo;ve set for AI, Pokemon FireRed too has been saturated. So what now?&lt;/p&gt;</description></item><item><title>Norm Discrepancies in Your VLM Are Probably Fine</title><link>https://bkal01.github.io/posts/vlm-norms/</link><pubDate>Sun, 17 May 2026 00:00:00 +0000</pubDate><guid>https://bkal01.github.io/posts/vlm-norms/</guid><description>&lt;p&gt;Recently I was helping train a VLM from scratch and I noticed something odd: during training, the output norms of the projector&lt;sup class="sidenote-ref"&gt;&lt;/sup&gt;&lt;span class="sidenote"&gt;The projector is the component of a VLM that transforms the patch embeddings outputted by the vision encoder to token embeddings consumable by the LLM.&lt;/span&gt; exploded up to two orders of magnitude higher than the norms of text token embeddings:&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;img src="https://bkal01.github.io/images/vlm-norms/training_curve.png" alt="Projector mean output norm over the course of vision-language alignment training. The norm magnitude rises to roughly two orders of magnitude higher than the text token embedding norms."&gt;
&lt;figcaption&gt;Projector mean output norm over the course of vision-language alignment training. The norm magnitude rises to roughly two orders of magnitude higher than the text token embedding norms.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;</description></item></channel></rss>