<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet href="/feed_style.xsl" type="text/xsl"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="https://www.rssboard.org/media-rss"><channel><title>Ai on Pejibaye Blog</title><link>https://kaeruct.github.io/tags/ai/</link><description>Recent content in Ai on Pejibaye Blog</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>Andrés Villarreal • Code: &lt;a href="https://github.com/kaeruct/kaeruct.github.io/blob/main/LICENSE">MIT&lt;/a> • Content: &lt;a href="https://github.com/kaeruct/kaeruct.github.io/blob/main/LICENSE-content">CC BY 4.0&lt;/a></copyright><lastBuildDate>Sun, 07 Jun 2026 09:53:43 +0200</lastBuildDate><atom:link href="https://kaeruct.github.io/tags/ai/index.xml" rel="self" type="application/rss+xml"/><icon>https://kaeruct.github.io/logo.png</icon><item><title>Conquering Entropy: Cultivating Trust</title><link>https://kaeruct.github.io/posts/2026/06/07/conquering-entropy-cultivating-trust/</link><pubDate>Sun, 07 Jun 2026 09:53:43 +0200</pubDate><guid>https://kaeruct.github.io/posts/2026/06/07/conquering-entropy-cultivating-trust/</guid><description><![CDATA[<blockquote>
<p>Part of &ldquo;<a href="/posts/2026/06/06/conquering-entropy-intro/">Conquering Entropy</a>&rdquo;</p>
</blockquote>
<p>Most of the issues I have with AI-generated code are related to trust. Do I trust the person who wrote this ticket? Do I trust that the engineer who opened this PR understood the ticket and guided the coding agent to implement it properly? Do I trust the coding agent&rsquo;s implementation? Do I trust our test suite to catch regressions before they hit production? Do I trust our CI/CD to properly build, test, and deploy our change? Do I trust our observability setup to alert us when the ai-generated code breaks production? Do I trust the AI SRE (Site Reliability Engineer) to properly diagnose the issue and help us mitigate it? Do I trust GitHub <a href="https://mrshu.github.io/github-statuses/">not to have an incident</a> when we need it the most?</p>
<p>Trust is hard to earn and easy to lose. So I think it&rsquo;s crucial to foster a culture of trust within the engineering team. You must trust engineers to do the right thing.</p>
<h2 id="encouraging-accountability">Encouraging Accountability</h2>
<p>I find it helpful to clearly communicate something like this: &ldquo;You are accountable for what you ship. If this breaks production and you authored the PR, you should be there to fix it.&rdquo;</p>
<p>If engineers are made accountable for the code they ship, they should be given the agency to produce it with their preferred methods. Even if you&rsquo;re not AI-pilled, you have to admit that AI agents do generate a lot of code very fast. Code still needs to be generated, and the expectation is that now it&rsquo;s cheap to generate a lot of it. To cope with this, engineers must be allowed to put some measures in place to ensure the quality of the codebase does not degrade.</p>
<p>In a healthy organization, the engineers should trust each other to only push code of reasonable quality. I say reasonable because it&rsquo;s not pragmatic to obsess over quality and try to ship always 100% perfect code. Even before coding agents most code was already a buggy mess! So it&rsquo;s understandable when a &ldquo;good enough&rdquo; solution is delivered. Often, we trade speed of delivery for quality, and incur some technical debt.</p>
<p>Here are some practices I have found useful to facilitate engineering accountability in this new era of coding:</p>
<h3 id="coding-guidelines">Coding Guidelines</h3>
<p>Have a clear technology strategy: take some time to decide what matters for your codebase and invest in clear guidelines. Both for humans and for the coding agents. Even if the humans don&rsquo;t read the guidelines, their coding agents will, and will follow them (mostly).</p>
<h3 id="deterministic-tooling">Deterministic Tooling</h3>
<p>Make heavy use of deterministic tooling to ensure code quality. Typed languages, linters, dead code detection, security scans, CI/CD, and so on. All of these tools existed before coding agents and help us in the fight against slop. (Stay tuned for a follow-up post with specific recommendations!)</p>
<h3 id="enforce-small-prs">Enforce Small PRs</h3>
<p>Empower the engineers to reject unreviewable PRs. If possible, codify this criteria so any unreviewable PRs are immediately rejected. Of course, make sure to leave room for exceptions.</p>
<h3 id="own-the-tests">Own the Tests</h3>
<p>Write test cases by hand. This is similar to the job of a business analyst. Deeply think about the feature and define proper test scenarios. Discuss this within the team. Coding agents can implement the tests, but they should be defined by humans.</p>
<h3 id="taste-in-product">Taste in Product</h3>
<p>Work in tandem with product to have a coherent product vision. It&rsquo;s very easy to go crazy with AI and implement whatever feature comes to mind. Make sure you only implement useful features that actually bring value to users!</p>
<h3 id="prototype">Prototype</h3>
<p>Throwaway code. Since code is very easy to generate now, it&rsquo;s a good opportunity to try different approaches. Don&rsquo;t just let the coding agent generate one solution. For example, try three radically different approaches and pick the one that best fits the problem and existing system.</p>
<h3 id="focus-on-the-outcome">Focus on the Outcome</h3>
<p>Be pragmatic about the result. Sometimes the code is not the result. The result is a report, or a tool that helps you accomplish something else. For cases like this the quality of the code is not that relevant as long as the result is useful.</p>
]]></description></item><item><title>Conquering Entropy</title><link>https://kaeruct.github.io/posts/2026/06/06/conquering-entropy-intro/</link><pubDate>Sat, 06 Jun 2026 09:44:19 +0200</pubDate><guid>https://kaeruct.github.io/posts/2026/06/06/conquering-entropy-intro/</guid><description><![CDATA[<p>A collection of ideas on how to manage entropy in codebases inundated with AI-generated code and survive in the process.</p>
<h2 id="whats-been-changing">What&rsquo;s Been Changing</h2>
<p>Ever since coding agents became popular, my company&rsquo;s monorepo line count has exploded. The number of pull requests (PR) has roughly doubled (conservatively), and so has the review burden on all engineers. People think the biggest problem now is that there&rsquo;s too much code to review. But there&rsquo;s way worse stuff!</p>
<p>Other negative consequences I have noticed:</p>
<ul>
<li>Degraded shared understanding of the system, since most code is not written by hand anymore. We are missing this step, which helped us solidify our comprehension of the system and strengthen our mental models.</li>
<li>Artifacts which are difficult to understand. For example, tickets heavily written by AI, system design documents, code comments and documentation. This is due to the way LLMs write. People are calling this new language &ldquo;Claudish&rdquo; and I hate it because it muddles communication.</li>
<li>Jumping to conclusions too fast. As difficult as the LLM output can be to understand, sometimes it can be very convincing and people let their guard down and easily trust it. I think we need to &ldquo;trust but verify&rdquo; even harder nowadays.</li>
</ul>
<p>I see a lot of anxiety and worry over what the profession is becoming. This one&rsquo;s tricky and I&rsquo;m afraid I don&rsquo;t have any useful actions to help with this. Personally I have chosen to take advantage of the current tools and focus on maintaining a system that I can be proud of. But in a few years we might not even need humans for this.</p>
<p>More now than ever, it&rsquo;s essential to be able to <a href="/posts/2026/06/07/conquering-entropy-cultivating-trust/">trust</a> each other and the code we deliver.</p>
<h2 id="ai-contributions-are-staying">AI Contributions Are Staying</h2>
<p>In some open source projects (like Zig, NetBSD, GIMP or QEMU), <a href="https://arxiv.org/abs/2603.26487">AI contributions have been banned</a>. Reasons vary, but I see a common thread: lack of trust. Slop, spam, untrusted code, no accountability, licensing.</p>
<p>Within a company, it&rsquo;s not often feasible to ban AI contributions, as the business also expects that the engineers deliver at an accelerated pace. And the incentive within a company is usually to deliver more, show higher performance, get your promotion, salary increase, etc. So as long as there&rsquo;s a tool that improves productivity (or looks like it does), people will use it.</p>
<p>I used to think that if AI usage kept incurring higher and higher costs, it would collapse and everyone would go back to writing code by hand. But I don&rsquo;t think this will happen anymore. There&rsquo;s many &ldquo;good enough&rdquo; open models that can be self-hosted right now, and they&rsquo;re only going to get better. <a href="https://archive.is/kmOqm">Some companies are already experimenting with this</a> to reduce their dependency on the big AI providers.</p>
<p>So it looks like AI usage will not stop. I like it (societal and economical consequences aside). It&rsquo;s allowed me to have a greater impact that I could have had before by doing a lot of the grunt work that is necessary but I never had the time for. Also allowed me to get so much more done on my side projects in which code quality is not the focus. It&rsquo;s also fun to tinker with. I have tried many different setups and enjoy discussing these with my colleagues.</p>
]]></description></item></channel></rss>