<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Brian Scaturro&#39;s Blog</title>
    <link>https://brianscaturro.com/</link>
    <description>Recent content on Brian Scaturro&#39;s Blog</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 01 Dec 2025 10:58:42 -0500</lastBuildDate>
    <atom:link href="https://brianscaturro.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Cogs: Agents as Channels</title>
      <link>https://brianscaturro.com/posts/cogs-agents-as-channels/</link>
      <pubDate>Mon, 01 Dec 2025 10:58:42 -0500</pubDate>
      <guid>https://brianscaturro.com/posts/cogs-agents-as-channels/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;channel.gif&#34; alt=&#34;Two cog agents passing a value across a Clojure core.async channel&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;LLM based applications are inherently workflow oriented. All of our favorite tools and services in this new glorious age are predicated upon us messaging an agent and then waiting for a response. Sometimes we have to wait for a while because those agents are using tools or messaging other agents that have access to different tools.&lt;/p&gt;&#xA;&lt;p&gt;Clojure&amp;rsquo;s &lt;a href=&#34;https://clojure.github.io/core.async/rationale.html&#34;&gt;core.async&lt;/a&gt; was made for this sort of coordination. It provides an excellent set of tools for creating async workflows. The stated purpose being &amp;ldquo;to provide facilities for independent threads of activity, communicating via queue-like channels&amp;rdquo;.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
