<?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>Data on Chronicles of Data Enginenering</title>
    <link>https://blog.veskovujovic.me/tags/data/</link>
    <description>Recent content in Data on Chronicles of Data Enginenering</description>
    <image>
      <title>Chronicles of Data Enginenering</title>
      <url>https://blog.veskovujovic.me/general/floppy.jpg</url>
      <link>https://blog.veskovujovic.me/general/floppy.jpg</link>
    </image>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Tue, 02 Jun 2026 20:06:41 +0200</lastBuildDate>
    <atom:link href="https://blog.veskovujovic.me/tags/data/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>From JSON to TOON: A Drop-in Swap That Cuts Agent Token Costs by 30-50%</title>
      <link>https://blog.veskovujovic.me/posts/from-json-to-toon/</link>
      <pubDate>Tue, 02 Jun 2026 20:06:41 +0200</pubDate>
      <guid>https://blog.veskovujovic.me/posts/from-json-to-toon/</guid>
      <description>&lt;p&gt;&lt;img alt=&#34;toon cover&#34; loading=&#34;lazy&#34; src=&#34;https://blog.veskovujovic.me/posts/from-json-to-toon/toon-cover.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;Your agent makes a tool call. The tool returns &lt;strong&gt;40 rows of JSON.&lt;/strong&gt; That JSON gets stuffed back into the model&amp;rsquo;s context, the model thinks for a bit, calls another tool, gets another 40 rows back, and on it goes.&lt;/p&gt;
&lt;p&gt;By iteration 10, your prompt is mostly curly braces, quoted keys, and the same field names repeated hundreds of times.&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;re paying for every single one of those tokens. And you&amp;rsquo;re paying for them on &lt;em&gt;every subsequent model call in the run&lt;/em&gt;, because tool results stick around in the conversation history.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
