<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/">
	<channel>
		<title>Coding Agent on Datensch.eu</title>
		<link>https://datensch.eu/tags/coding-agent/</link>
		<description>Recent content in Coding Agent on Datensch.eu</description>
		<generator>Hugo -- 0.165.0</generator>
		<language>en</language>
		<copyright>This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.</copyright>
		<lastBuildDate>Wed, 03 Jun 2026 00:00:00 +0000</lastBuildDate>
		<atom:link href="https://datensch.eu/tags/coding-agent/index.xml" rel="self" type="application/rss+xml" />
		
		
		<item>
			<title>Current state of AI orchestration</title>
			<link>https://datensch.eu/projects/ai-orchestration/</link>
			<pubDate>Wed, 03 Jun 2026 00:00:00 +0000</pubDate><author>Florian Maurer</author><guid>https://datensch.eu/projects/ai-orchestration/</guid>
			<description><![CDATA[coding with infinite monkeys - I tried things, so you don&#39;t have to]]></description><content type="text/html" mode="escaped"><![CDATA[<p>As a follow up to my post about <a href="../opencode-usage" >OpenCode</a>, I am also interested in AI orchestration tools, like PaperClip or Gastown.</p>
<p>In this post I am talking about the integration of OpenCode to Paperclip as orchestration tool.
It can be integrated into PaperClip - a &ldquo;software factory for AI agents&rdquo;.</p>
<h2 id="paperclip">PaperClip<a href="#paperclip" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
      stroke-linecap="round" stroke-linejoin="round" class="feather">
      <path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path>
      <line x1="8" y1="12" x2="16" y2="12"></line>
   </svg></a></h2>
<p>The general idea sounds as crazy as it gets.
A single agent is created as a CEO and has the ability to &ldquo;hire&rdquo; (aka create) other agents to work with him.
This way, an Agent can specialize on a specific task. In theory.</p>
<p>The fun thing is, that this does not work at all in the current setup.
The agents are communicating with each other through tickets, something is failing, nothing productive happens.</p>
<p>It can also very well be that I did not invest enough, as I did only run GPT-OSS 120b as a model with it.
Interestingly, the <code>mistralai-mistral-small-4-119b-2603</code> model does not work well for programming and tool calling - even though it was meant to be good at this.</p>
<p>An overview of the user interface can be seen below. Agents can hire new personas. Each being another instance of openai/codex/claude/opencode.
Thats a great tool to burn through tokens.</p>





<figure class="small "><img src="https://datensch.eu/img/ai-agents/paperclip-org-chart.png" alt="Overview of paperclip user interface showing a CEO, CTO agent and founding engineer"
            decoding="async" /><figcaption><p>Overview of paperclip user interface showing a CEO, CTO agent and founding engineer</p></figcaption></figure>
<h3 id="ai-slop---what-a-time-to-be-alive">AI slop - What a time to be alive<a href="#ai-slop---what-a-time-to-be-alive" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
      stroke-linecap="round" stroke-linejoin="round" class="feather">
      <path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path>
      <line x1="8" y1="12" x2="16" y2="12"></line>
   </svg></a></h3>
<p>Of course, as an &ldquo;agentic&rdquo; tool, paperclip is also mainly developed by LLM tools.</p>
<p>When configuring Paperclip, the docs are often not helpful as they change all the time, so that links to them often not working.
Links within the docs are also not consistent, which makes it hard to find what you need.</p>
<p>When configuring OpenCode as an agent to be used within Paperclip, the paperclip config environment is not used after creating an agent: <a href="https://github.com/paperclipai/paperclip/issues/5507" target="_blank" >https://github.com/paperclipai/paperclip/issues/5507</a></p>
<p>Workspace detection does not work with paperclip: <a href="https://github.com/paperclipai/paperclip/issues/469" target="_blank" >https://github.com/paperclipai/paperclip/issues/469</a></p>
<p>And various other issues I have run into, which are also not fixed after a few weeks.
We will see where this is going.
As Open-Weights models are getting stronger, they will be cheaper to run and will not be stuck in loops as they are currently.
For hosted frontier models, these tasks are far to expensive, as the whole &ldquo;company&rdquo; does not really move forward together.</p>
<h3 id="wrap-up">Wrap up<a href="#wrap-up" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
      stroke-linecap="round" stroke-linejoin="round" class="feather">
      <path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path>
      <line x1="8" y1="12" x2="16" y2="12"></line>
   </svg></a></h3>
<p>Related post with similar experience for Gas Town: <a href="https://www.dolthub.com/blog/2026-01-15-a-day-in-gas-town/#did-it-work" target="_blank" >https://www.dolthub.com/blog/2026-01-15-a-day-in-gas-town/#did-it-work</a></p>
<p>With <a href="https://github.com/dtnewman/burn-baby-burn" target="_blank" >https://github.com/dtnewman/burn-baby-burn</a> you generally burn your tokens more efficiently and do not receive anything from it either.</p>
<p>Lets take a look back to it in 6 months and see if we solved layer 2 AI.</p>
]]></content>
		</item>
		
		<item>
			<title>Current state of AI software tools</title>
			<link>https://datensch.eu/projects/opencode-usage/</link>
			<pubDate>Wed, 20 May 2026 00:00:00 +0000</pubDate><author>Florian Maurer</author><guid>https://datensch.eu/projects/opencode-usage/</guid>
			<description><![CDATA[coding with infinite monkeys - I tried things, so you don&#39;t have to]]></description><content type="text/html" mode="escaped"><![CDATA[<p>In the German state I live in, NRW, we have the academic infrastructure provider KI:connect.
This provider provides access to LLMs for all academies of the state, by aggregating requests and anonymously proxying all requests together to a single Azure OpenAI endpoint.</p>
<p>This is generally very good and helps to integrate various tools without paying a lot for research.
Specifically, besides of limited quota of <code>gpt-5.2</code> from OpenAI, there is unlimited access to <code>openai-gpt-oss-120b</code> and <code>mistralai-mistral-small-4-119b-2603</code>.</p>
<p>I did integrate this smoothly into various open-source software tools:</p>
<ul>
<li><a href="https://github.com/open-webui/open-webui/" target="_blank" >Open-WebUI</a></li>
<li>continue.dev as Open-Source VSCodium integration</li>
<li><a href="https://github.com/openclaw/openclaw/" target="_blank" >OpenClaw</a></li>
<li><a href="https://github.com/sipeed/picoclaw" target="_blank" >PicoClaw</a> as light weight claw alternative</li>
<li><a href="https://f-droid.org/packages/com.inspiredandroid.kai/" target="_blank" >Kai 9000</a> as private chat agent on the phone</li>
<li><a href="https://www.jan.ai/" target="_blank" >Jan AI</a> as desktop chat agent</li>
</ul>
<p>In this post I am talking about the integration to OpenCode as a coding agent</p>
<h2 id="opencode">OpenCode<a href="#opencode" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
      stroke-linecap="round" stroke-linejoin="round" class="feather">
      <path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path>
      <line x1="8" y1="12" x2="16" y2="12"></line>
   </svg></a></h2>
<p>OpenCode is quite similar to how Cursor or Claude CLI tools are working, but it uses a BYOK (bring your own key) approach.
Besides of the API-Key from KI Connect, one needes a configuration of OpenCode in <code>~/.config/opencode/opencode.json</code> like this:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;$schema&#34;</span><span class="p">:</span> <span class="s2">&#34;https://opencode.ai/config.json&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;model&#34;</span><span class="p">:</span> <span class="s2">&#34;kiconnect/openai-gpt-oss-120b&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;autoupdate&#34;</span><span class="p">:</span> <span class="kc">false</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;server&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;port&#34;</span><span class="p">:</span> <span class="mi">4096</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="p">},</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;provider&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;kiconnect&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;KIConnect NRW&#34;</span>
</span></span><span class="line"><span class="cl">      <span class="s2">&#34;options&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&#34;baseURL&#34;</span><span class="p">:</span> <span class="s2">&#34;https://chat.kiconnect.nrw/api/v1/&#34;</span>
</span></span><span class="line"><span class="cl">      <span class="p">},</span>
</span></span><span class="line"><span class="cl">      <span class="nt">&#34;models&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&#34;openai-gpt-oss-120b&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">          <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;GPT OSS 120B&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">          <span class="nt">&#34;cost&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">            <span class="nt">&#34;input&#34;</span><span class="p">:</span> <span class="mf">0.04</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="nt">&#34;output&#34;</span><span class="p">:</span> <span class="mf">0.18</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">          <span class="p">},</span>
</span></span><span class="line"><span class="cl">          <span class="nt">&#34;limit&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">            <span class="nt">&#34;context&#34;</span><span class="p">:</span> <span class="mi">131072</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="nt">&#34;output&#34;</span><span class="p">:</span> <span class="mi">8192</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">          <span class="p">},</span>
</span></span><span class="line"><span class="cl">        <span class="p">},</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&#34;mistralai-mistral-small-4-119b-2603&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">          <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;Mistral Small 4&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">          <span class="nt">&#34;cost&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">            <span class="nt">&#34;input&#34;</span><span class="p">:</span> <span class="mf">0.15</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="nt">&#34;output&#34;</span><span class="p">:</span> <span class="mf">0.60</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">          <span class="p">},</span>
</span></span><span class="line"><span class="cl">          <span class="nt">&#34;limit&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">            <span class="nt">&#34;context&#34;</span><span class="p">:</span> <span class="mi">262144</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="nt">&#34;output&#34;</span><span class="p">:</span> <span class="mi">64000</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">          <span class="p">},</span>
</span></span><span class="line"><span class="cl">        <span class="p">},</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&#34;gpt-5.2&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">          <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;GPT 5.2&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">          <span class="nt">&#34;cost&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">            <span class="nt">&#34;input&#34;</span><span class="p">:</span> <span class="mf">0.375</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="nt">&#34;output&#34;</span><span class="p">:</span> <span class="mf">2.25</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="nt">&#34;cache_read&#34;</span><span class="p">:</span> <span class="mf">0.0375</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="nt">&#34;cache_write&#34;</span><span class="p">:</span> <span class="mf">0.01</span>
</span></span><span class="line"><span class="cl">          <span class="p">},</span>
</span></span><span class="line"><span class="cl">          <span class="nt">&#34;limit&#34;</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">            <span class="nt">&#34;context&#34;</span><span class="p">:</span> <span class="mi">400000</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">            <span class="nt">&#34;output&#34;</span><span class="p">:</span> <span class="mi">128000</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">          <span class="p">},</span>
</span></span><span class="line"><span class="cl">        <span class="p">}</span>
</span></span><span class="line"><span class="cl">      <span class="p">}</span>
</span></span><span class="line"><span class="cl">    <span class="p">}</span>
</span></span><span class="line"><span class="cl">  <span class="p">}</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span></code></pre></div><p>It is important that the context information is provided to opencode as well.
Costs are given in $ per 1M token which is taken from other hosting providers which provide access to the open weights models.</p>
<p>This is usable for small projects and works quite well for smaller software projects.</p>
<h3 id="comparison">Comparison<a href="#comparison" class="anchor" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
      stroke-linecap="round" stroke-linejoin="round" class="feather">
      <path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path>
      <line x1="8" y1="12" x2="16" y2="12"></line>
   </svg></a></h3>
<p>In contrast to Cursor Agent, Claude or Github Copilot, the tools are often not using as many tools.
Therefore, they return quite fast and did not work thoroughly, evaluate different paths or do something else.
This is even the case when using GPT-5.2 via API in OpenCode.</p>
<p>This leads me to use other tools much more.
There are some opencode extensions like <a href="https://github.com/obra/superpowers/" target="_blank" >superpowers</a>, but I did not find a good approach to get them to be equally good as cursor with compose-2.5 for example.</p>
<p>Yet, I am sure that this will improve in the next months as newer models appear.
And it is of course good to be prepared.
As soon as more complex tasks can be automatically solved with open-source coding agents, this will really be a game changer for privacy as well.</p>
]]></content>
		</item>
		
	</channel>
</rss>
