<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Agent on Louis&#39;s blog</title>
        <link>https://blog.louishhy.com/tags/agent/</link>
        <description>Recent content in Agent on Louis&#39;s blog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en-us</language>
        <copyright>Louis Huang</copyright>
        <lastBuildDate>Sat, 16 May 2026 01:15:15 +0000</lastBuildDate><atom:link href="https://blog.louishhy.com/tags/agent/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>On the &#34;efficiency boost&#34; of vibe coding</title>
        <link>https://blog.louishhy.com/post/on-the-efficiency-boost-of-vibe-coding/</link>
        <pubDate>Sat, 16 May 2026 01:15:15 +0000</pubDate>
        
        <guid>https://blog.louishhy.com/post/on-the-efficiency-boost-of-vibe-coding/</guid>
        <description>&lt;p&gt;AI coding agents (in my context, LLM-based ones) are so popular these days that they became ubiquitous in many development environments.
I would hypothesize that one of the main reasons why people are so obsessed with it is how it boosts the efficiency of development.
Indeed, it is hard not to imagine you are a super duper developer when you first see your agent streams out the code in no time and the code just works.&lt;/p&gt;
&lt;p&gt;However, I was starting to notice some issues when reviewing the AI generated code myself. Rather than being confident in what I have done, I started to find that it seems I am looking the code through a thin layer of mist - where it &lt;strong&gt;looks good to me (LGTM)&lt;/strong&gt;, but I am gradually feeling a sense of losing grasp of it.&lt;/p&gt;
&lt;p&gt;At the end, since it works and most projects I am now handling are not serious projects, I just merged it. But not knowing the implications behind each line and just let the agent code will almost definitely lead to unfixable chaos at the end.&lt;/p&gt;
&lt;p&gt;It just urges me to ponder, to what extent did agents boost our efficiency?&lt;/p&gt;
&lt;h2 id=&#34;the-long-term-efficiency-problem&#34;&gt;The long-term efficiency problem
&lt;/h2&gt;&lt;p&gt;There are already research like &lt;a class=&#34;link&#34; href=&#34;https://arxiv.org/abs/2507.09089&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;this&lt;/a&gt; which measures the impact of AI tools on the task completion efficiency of software engineers. But one important limitation of this kind of research is that it only measures the short-term efficiency boost for the engineers. That is, it only evaluates in the timespan of a certain task / task set, without evaluating the efficiency impact on the long-term which originates from the engineer&amp;rsquo;s growth.&lt;/p&gt;
&lt;p&gt;One (not-so-rigorous) analogy to understand this is to imagine:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;a pure vibe coder who does not understand anything about the task, and&lt;/li&gt;
&lt;li&gt;an &amp;ldquo;old-fashioned&amp;rdquo; coder which codes on his own and search / learn troubleshooting method along the way.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Suppose they execute $N$ tasks that is in the similar domain, and consider the function of &lt;strong&gt;total time&lt;/strong&gt; they spent on those tasks.&lt;/p&gt;
&lt;p&gt;The vibe coder&amp;rsquo;s time spent is somewhat $O(N)$ since he throws in a similar prompt and wait for the output, and let AI troubleshoot it. Hence, the vibe coder spents approximately a constant amount of time for each task.&lt;/p&gt;
&lt;p&gt;On the other hand, the &amp;ldquo;old-fashioned&amp;rdquo; coder &lt;em&gt;could&lt;/em&gt; behave like $O(logN)$ which struggles at first but then gradually learn the domain knowledge that supports him to spend less time, and save the troubleshooting time when the LLM just cannot reach the correct answer.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.louishhy.com/post/on-the-efficiency-boost-of-vibe-coding/image-1.png&#34;
	width=&#34;1102&#34;
	height=&#34;776&#34;
	srcset=&#34;https://blog.louishhy.com/post/on-the-efficiency-boost-of-vibe-coding/image-1_hu1409476099791125992.png 480w, https://blog.louishhy.com/post/on-the-efficiency-boost-of-vibe-coding/image-1_hu12022757931894044210.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;The &amp;ldquo;old-fashioned&amp;rdquo; way will win in this kind of scenario&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;142&#34;
		data-flex-basis=&#34;340px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Of course, I am oversimplifying in this analogy. For example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;There is an upper limit for human&amp;rsquo;s code efficiency.&lt;/li&gt;
&lt;li&gt;There are chances that LLMs are so strong that, it ensures 100% accuracy in some closed-form task and deep understanding is just not needed or obsolete. (AI: &lt;strong&gt;&amp;ldquo;JUST TRUST ME :)&amp;rdquo;&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;Agent systems also can grow as system maintainer gradually adds &lt;strong&gt;harness&lt;/strong&gt; to it when encountering problems, making it less error prone and more efficient gradually.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;With that said, I will be very interested if there are more research that looks into the long-term efficiency impact of AI coding agents, since the process of programming definitely happens at a longer time scale, both for individuals and companies.&lt;/p&gt;
&lt;h2 id=&#34;hidden-prerequisite-of-harness-engineering&#34;&gt;Hidden prerequisite of harness engineering
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&amp;ldquo;One cannot ask questions beyond one’s own cognition.&amp;rdquo;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Speaking of harness, I do think it is a great engineering approach to deal with chaotic systems like LLMs (which I think it is), especially the rule-based parts.
You confine the system&amp;rsquo;s state in a &amp;ldquo;nice&amp;rdquo; subspace of the whole vector space by adding constraints such as providing feedback via hard-coded testcases.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;I do recommend the &lt;a class=&#34;link&#34; href=&#34;https://mitchellh.com/writing/my-ai-adoption-journey&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;original blog that brings forward harness engineering&lt;/a&gt; by Mitchell Hashimoto who co-founded HashiCorp and created Terraform.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Despite the popularity of harness engineering, one hidden yet somehow critical prerequisite for writing a harness is that you at least shall have a higher level of understanding comparing to the AI agent. After all, if you do not know the internal details of the system, the implicit domain knowledge and best practice, how can you turn those constraints into rules?&lt;/p&gt;
&lt;p&gt;Unfortunately, those knowledge that are used to control the LLMs cannot be easily acquired.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;System specific knowledge are somehow more confined in the private domain&lt;/li&gt;
&lt;li&gt;Engineering tradeoffs are case-by-case&lt;/li&gt;
&lt;li&gt;Best practices and instincts are hard to learn from textbooks and more learnt by hands-on that involves error and retrospectives.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I once read the &lt;a class=&#34;link&#34; href=&#34;https://www.zhihu.com/question/2018018595418980371/answer/2027039762708541878&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;post (in Chinese)&lt;/a&gt; from Prof. Tuo Zhao about his thought in AI agents and teaching students, where I quote the translation here:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&amp;ldquo;What I learned through this process went far beyond writing C++ or tuning BLAS routines. It was only by building software for a real system — one with actual users, real performance constraints, and production-level demands — that I gradually came to understand what numerical stability really means, what good interface design looks like, and what it takes to make trade-offs under engineering constraints.&amp;rdquo;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&amp;ldquo;Students would come to me with these problems, I would explain the reasoning behind them, and then they would go back and revise their code — only to run into new problems afterward. On the surface, the cycle looked slow. But in reality, it was an incredibly efficient training mechanism. By being forced to implement things themselves, students were also being pushed into thinking at the design level. What they learned wasn’t just how to write code, but how to understand a complex system.&amp;rdquo;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&amp;ldquo;The reason I’m comfortable letting AI rewrite large portions of code is because I already know how to verify the results. … There are countless implementation details you simply cannot learn from reading a textbook. They’re forms of judgment that accumulate slowly through debugging, through mistakes, through running into problems over and over again. … What people lack today is not the ability to write code, but the ability to judge whether code is actually correct. And that kind of judgment can only be built by having implemented things yourself. This creates a paradox that I find deeply unsettling: AI has made implementation easy, yet implementation experience is precisely what builds the ability to verify. Verification ability is a prerequisite for using AI effectively, but the very path that develops that ability is now being eroded by AI itself.&amp;rdquo;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In another sense, although LLM coding agents seem powerful, because of its chaotic nature (e.g. hallucination), its capibility is somehow &lt;strong&gt;soft-capped&lt;/strong&gt; by its user&amp;rsquo;s capability in the context of coding. Missing hands-on and retrospective, in that sense, dangerously lowers this cap.&lt;/p&gt;
&lt;h2 id=&#34;do-we-really-yield-profit-from-agents&#34;&gt;Do we really yield &amp;ldquo;profit&amp;rdquo; from agents?
&lt;/h2&gt;&lt;p&gt;A very simple and trivial rule in finance is that if the return is negative, you should NOT invest in it.
We can easily migrate this reason how we shall use our AI.
The &lt;strong&gt;revenue&lt;/strong&gt; from using AI agent is somehow $T_{handcoding} - T_{prompt}$, while the &lt;strong&gt;cost&lt;/strong&gt; is the difference in, say $T_{review}$, $T_{housekeeping}$ or $T_{harness\ engineering}$ (or maybe plus the bill you paid for your tokens which could skyrocket).&lt;/p&gt;
&lt;p&gt;To be clear, &lt;strong&gt;I am NOT an anti-AI activist&lt;/strong&gt;.
I did research on deep learning and I utilize LLMs in many explorations, learning, brainstorming and summarization tasks,
and they do bring about convenience.&lt;/p&gt;
&lt;p&gt;But still, I do encourage every software engineers to think about how to use LLMs to make the &lt;code&gt;revenue - cost&lt;/code&gt; positive.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Is it okay to not understand the system so deep? Is there a chance that I pay for the cognitive debt in the future?&lt;/li&gt;
&lt;li&gt;Do extra fact-checking and review time exceed the merit of code generation speed?&lt;/li&gt;
&lt;li&gt;Is writing &amp;ldquo;detailed&amp;rdquo; natural language specifications and harness really faster than writing code? After all the most unambiguous specification is code.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Again, those questions should be considered case-by-case in different scenarios, and the answer changes on the nature of the project or the scale of impact.&lt;/p&gt;
&lt;p&gt;I would like to share some circumstances where I do get sure profit from LLM technologies.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Navigation&lt;/strong&gt;: I let AI guide me through the codebase to provide some understanding. It helps me shrink the search space a lot, and I can easily identify if the AI is hallucinating when I inspect the code.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Brainstorming&lt;/strong&gt;: A good nature of chaotic system is that it can diverge which could lead you to considerations you never thought before. Although many of them are easily searchable on the Internet, it is good to talk with it like talking with a junior in a different field where you can keep in mind that it could be wrong.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;ending&#34;&gt;Ending
&lt;/h2&gt;&lt;p&gt;When I was attending my undergraduate lab, my supervisor first told me that &amp;ldquo;engineering is all about tradeoffs&amp;rdquo;.
And it is not in any sense different when we are introducing AI agents into our workflows.
The simplest modelling for the tradeoff is &lt;strong&gt;coding efficiency&lt;/strong&gt; and &lt;strong&gt;growth efficiency&lt;/strong&gt;, but even so caveats exist. AI is here to stay, and a careful retrospective on this, in my opinion, is important in this new development paradigm.&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
