<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>LLM Architecture &#8211; Muhammet Işık</title>
	<atom:link href="https://muisik.com/en/tag/llm-architecture/feed/" rel="self" type="application/rss+xml" />
	<link>https://muisik.com</link>
	<description>Industrial Software and Solutions</description>
	<lastBuildDate>Tue, 28 Jul 2026 07:51:34 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.3</generator>

<image>
	<url>https://muisik.com/wp-content/uploads/2026/01/cropped-favicon-32x32.png</url>
	<title>LLM Architecture &#8211; Muhammet Işık</title>
	<link>https://muisik.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>The Rule of Dancing with LLMs: Agentic Micromanagement</title>
		<link>https://muisik.com/en/the-rule-of-dancing-with-llms-agentic-micromanagement/</link>
		
		<dc:creator><![CDATA[Muhammet Işık]]></dc:creator>
		<pubDate>Sat, 20 Jun 2026 11:16:54 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence, Software and Data]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Agentic AI]]></category>
		<category><![CDATA[Harness Engineering]]></category>
		<category><![CDATA[LLM Architecture]]></category>
		<category><![CDATA[Systems Architecture]]></category>
		<guid isPermaLink="false">https://muisik.com/?p=2551</guid>

					<description><![CDATA[One of the most popular pieces of advice in current agentic AI discussions is this: "Give the agent the goal and let it handle the rest." Let it plan autonomously, choose its tools, and solve the problem on its own. It sounds attractive, I know, but a project I have been working on over the last few months taught me the opposite. I think the most important rule of dancing with LLMs is micromanagement.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>In agentic systems, quality is not determined by the intelligence of the model, but by the architectural discipline built around it.</em></p>



<p class="wp-block-paragraph">One of the most popular pieces of advice in current agentic AI discussions is this: &#8220;Give the agent the goal and let it handle the rest.&#8221; Let it plan autonomously, choose its tools, and solve the problem on its own. It sounds attractive, I know, but a project I have been working on over the last few months taught me the opposite. <strong>I think the most important rule of dancing with LLMs is micromanagement.</strong></p>



<p class="wp-block-paragraph">But by micromanagement, I do not mean telling the model line by line what to write. I do not mean dictating every step with instructions like &#8220;do this, now do that, then do this.&#8221; What I mean is defining the model&#8217;s permissions and decision boundaries, drawing its boundaries, narrowing its decision space, specifying when it should stop, and making clear when it must return to a human for approval. In short: micromanage the system, not the prompt.</p>



<p class="wp-block-paragraph">In this article, I want to explain why this distinction matters, what it corresponds to in the industry, and why the argument for a &#8220;better-designed harness&#8221; is far stronger than the argument for a &#8220;smarter model.&#8221;</p>





<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">There Are Two Types of Agentic Micromanagement</h2>



<p class="wp-block-paragraph">Micromanaging people reduces productivity. Everyone knows this. People can build context, take responsibility, sense missing pieces, and intuitively understand the goal of an organization. That is why saying &#8220;go handle it&#8221; is often enough for a human. In fact, it is often better.</p>



<p class="wp-block-paragraph">With LLMs, the situation is different. An LLM does not feel the objective, does not know the organizational context, and does not have risk awareness. Instead of saying &#8220;I am not sure,&#8221; it often fills in the gaps. Its confidence is higher than its error rate. An LLM does not need freedom. It needs boundaries. Because when left free, it does not complete missing information; it invents it.</p>



<p class="wp-block-paragraph">When you say &#8220;go handle it,&#8221; the scope expands, assumptions multiply, non-existent requirements appear, and architectural decisions are silently made. You say &#8220;build a restaurant app,&#8221; and two minutes later you find yourself with multi-tenant SaaS, Stripe integration, Kubernetes, event sourcing, Redis, an admin panel, and analytics. You end up with something that works, but solves the wrong problem.</p>



<p class="wp-block-paragraph">This is where we need to separate two different levels of micromanagement.</p>



<p class="wp-block-paragraph"><strong>Prompt-level micromanagement</strong>&nbsp;— telling the model step by step what to do — is bad:</p>



<pre class="wp-block-code"><code>Do this now.
Now do this.
Now do that.</code></pre>



<p class="wp-block-paragraph">This does not scale. It requires a human to sit on top of every agent. It suffocates the model&#8217;s planning and reasoning capacity. What some sources criticize as &#8220;agentic micromanagement&#8221; is usually this.</p>



<p class="wp-block-paragraph"><strong>Architecture-level micromanagement</strong>&nbsp;— designing the model&#8217;s working environment, permissions, and decision boundaries — is not only useful, but necessary:</p>



<pre class="wp-block-code"><code>You may use this tool.
You may not use that one.
Stop in this case.
Ask for human approval in this case.
Retry in this case.
You cannot decide readiness yourself.</code></pre>



<p class="wp-block-paragraph">These two things are not separated clearly enough. But the distinction is critical. The first interferes with the model&#8217;s reasoning capacity. The second is the engineering design of the environment in which the model operates.</p>



<h2 class="wp-block-heading">Stop Talking About the Model. Talk About the Harness.</h2>



<p class="wp-block-paragraph">So what is the technical equivalent of architecture-level micromanagement?</p>



<p class="wp-block-paragraph">In the industry, this is usually called a&nbsp;<strong>harness</strong>. The term comes from electrical and automotive wire harnesses: the wiring and control structure that connects different components into a working system. LangChain explicitly uses the term &#8220;agent harness&#8221; and, with a similar metaphor, defines it as the software ecosystem outside the model itself that controls context, tool use, memory, state management, and error loops. In other words, the model alone is not an agent. What makes it useful is the infrastructure around it.</p>



<p class="wp-block-paragraph">Anthropic&#8217;s &#8220;Building Effective Agents&#8221; is probably one of the clearest sources that frames this idea. Anthropic draws a sharp distinction between two architectures:&nbsp;<strong>workflows</strong>&nbsp;(where LLMs are orchestrated through predefined code paths) and&nbsp;<strong>agents</strong>&nbsp;(where the model dynamically manages the process and tool use). It also takes a clear position: start with the simplest solution, and only add complexity if it measurably improves the output. The longer the cable gets, the more likely it is to trip us up.</p>



<p class="wp-block-paragraph">In other words, even one of the biggest agentic AI providers is saying that flexibility and autonomy are costs to tolerate only when they are truly necessary. They are not goals or badges of sophistication.</p>



<p class="wp-block-paragraph">The same idea is productized in a different language on the OpenAI side. The Agents SDK breaks complex agentic flows into several core building blocks: agents, handoffs, guardrails, sessions, tracing, and human-in-the-loop. In other words, an agent is not a magical single object. It is a composition built with control points. In OpenAI&#8217;s own framing, letting the runtime handle the loop, tool execution, guardrails, and session management is one design choice; owning the orchestration layer directly is another.</p>



<p class="wp-block-paragraph">Google ADK points in a similar direction: deterministic code paths and adaptive reasoning should be designed together. Graph-based structures are used to create explicit execution paths and more predictable outputs.</p>



<p class="wp-block-paragraph">LangGraph also treats the topic directly as an orchestration problem. Its interrupt model can be summarized in one sentence: before a critical action, interrupt execution, get human approval, update state if necessary, and then continue. With durable execution, even if a server crashes, the system can continue from the last checkpoint with its full context intact.</p>



<p class="wp-block-paragraph">All these sources use different words, but they point to the same idea: instead of leaving the model free, give it narrowed decision spaces, defined tool permissions, control points, human approvals, observable state, and a constrained runtime layer.</p>



<h2 class="wp-block-heading">Security Makes This Mandatory</h2>



<p class="wp-block-paragraph">This is not only a quality issue. It is directly a security issue. OWASP now defines &#8220;Excessive Agency&#8221; as one of the critical risk categories for LLM applications. The definition is clear: giving an LLM system too much tool access, overly broad database permissions, and the ability to perform critical actions without human approval. The problem is not only that the model may make a mistake. The problem is that an over-permissioned model can actually execute the wrong action.</p>



<p class="wp-block-paragraph">The NIST AI Risk Management Framework points in the same direction: human-AI role separation, oversight processes, third-party risks, and deactivation mechanisms are framed as governance concerns.</p>



<p class="wp-block-paragraph">Even the MCP (Model Context Protocol) specification makes it clear that agency is not merely about &#8220;being connected.&#8221; It is about being connected through explicit authorization. It requires user consent, authorization, tool safety, and token audience validation. All these sources arrive at the same conclusion from different perspectives: uncontrolled agency is not merely a source of poor output. It is a security vulnerability.</p>



<h2 class="wp-block-heading">The &#8220;Better Model&#8221; Fallacy</h2>



<p class="wp-block-paragraph">Many teams instinctively think this way: if output quality is poor, use a stronger model. But what I have seen in practice is different. The issue is not the intelligence of the model. The issue is the quality of the environment in which that intelligence operates.</p>



<p class="wp-block-paragraph">Academic work does not necessarily call this &#8220;micromanagement,&#8221; but concepts such as agent-computer interface, scaffolding, and reflection loops all point in the same direction.</p>



<p class="wp-block-paragraph">SWE-agent is one of the clearest examples. The research shows that performance depends not only on the model&#8217;s capability, but also on the design of the working surface presented to it. The same model can produce very different results when wrapped in different harness architectures. Tools should produce tightly constrained outputs. Code edits should immediately pass through a linter. If something is wrong, the change should be rolled back automatically, the error should be reported back to the model, and the model should correct itself with all the usual &#8220;Yes, you are right&#8221; softness included. It may sound heavy on paper, but in the field the difference comes exactly from making the model report to a cold, strict manager.</p>



<p class="wp-block-paragraph">The Reflexion framework points in the same direction: with post-error verbal feedback and episodic memory, it shows that micromanagement is not only about constraints; it is also a feedback structure.</p>



<p class="wp-block-paragraph">ReAct is another early example of this thinking. The model first reasons, then takes an action, observes the result, and reasons again based on that observation. Instead of producing a one-shot answer, it creates a loop that moves back and forth between thinking and acting. But what makes this loop reliable is not only the model&#8217;s intelligence. The real difference comes from the control layer built around the reasoning-action loop.</p>



<p class="wp-block-paragraph">In practice, this formula is often true:</p>



<pre class="wp-block-code"><code>Mid-level model + good harness + good context + good state management + good boundaries

>

Strong model + "go handle it"</code></pre>



<h2 class="wp-block-heading">Not Prompt Engineering, but Decision Allocation</h2>



<p class="wp-block-paragraph">What we are doing here is not really prompt engineering. A better term would be <strong>decision allocation</strong>. At every point, you need to ask: where should this decision live?</p>



<p class="wp-block-paragraph">Some decisions can be left to the model. For example: extracting known facts, listing unknowns, suggesting questions, and writing acceptance criteria. In these areas, the model can be allowed to operate freely. But some decisions should not be left to the model: deciding whether the work is ready, determining what counts as a blocker, changing the scope, or approving a destructive action. These should belong to the harness, the application layer, or the human.</p>



<p class="wp-block-paragraph">Getting this decision allocation right creates far more value than trying to make the model smarter. For most tasks, the model is already smart enough. The real problem is the quality of the working environment that determines what the model remembers, what it ignores, and what it focuses on. Discussing &#8220;which model should we use?&#8221; without discussing this is a bit of self-deception.</p>



<h2 class="wp-block-heading">A Matter of Naming</h2>



<p class="wp-block-paragraph">While researching this topic, I realized that the pieces of this practice already exist in the industry, but a single umbrella name has not fully settled yet. Workflow orchestration, guardrails, human-in-the-loop, deterministic orchestration, policy engines, state machines, least privilege, scaffolding — all of these are different faces of the same idea.</p>



<p class="wp-block-paragraph">The closest existing technical terms are:</p>



<ul class="wp-block-list">
<li><strong>Harness Engineering</strong> — engineering the control layer around the model. The most common industry term.</li>



<li><strong>Bounded/Constrained Autonomy</strong> — defining the boundaries within which autonomy can operate. The most mature concept.</li>



<li><strong>Deterministic Orchestration</strong> — assigning flow decisions to rule-based logic instead of the model.</li>



<li><strong>Controlled Agency</strong> — the most academically defensible framing.</li>
</ul>



<p class="wp-block-paragraph">I want to frame this idea more sharply. To me,&nbsp;<strong>the rule of dancing with LLMs is to micromanage the system</strong>. I am not proposing a new protocol or theory. I am offering a shared roof for existing best practices, filtered through my own field experience.</p>



<h2 class="wp-block-heading">What to Do: Practical Architectural Principles</h2>



<p class="wp-block-paragraph">At this point, someone might say: &#8220;Fine, nice story. But what should we actually do?&#8221; Based on my own experience and the sources I have reviewed, these are the core principles:</p>



<ul class="wp-block-list">
<li><strong>The LLM should be a proposer, not the decision-maker.</strong> Let the model extract known facts, identify unknowns, suggest questions, and write acceptance criteria. But the application should decide whether something is ready, what counts as a blocker, and which missing piece is critical.</li>



<li><strong>State should be observable and persistent.</strong> Do not keep system state only in temporary memory. Store it persistently. In case of an error or human approval step, the system should be able to continue from the last checkpoint. This is called durable execution.</li>



<li><strong>Tool permissions should follow least privilege.</strong> The model should not have access to every tool. Clearly define which tool it can call, under what condition, and with which permission.</li>



<li><strong>If there is a blocker, the system should not move forward.</strong> A critical issue should prevent the system from moving to the next stage until it is resolved. This decision should not be left to the model&#8217;s initiative.</li>



<li><strong>Approval gates should exist.</strong> Destructive actions, scope changes, or actions that are hard to reverse should require human approval.</li>



<li><strong>Outputs should have schemas and validation.</strong> Do not accept the model&#8217;s output as free text. Receive it in a defined schema, such as JSON or another structured format, and validate it.</li>



<li><strong>Retry and fallback behavior should be deterministic.</strong> In case of an error, what the model does next should be governed by predefined rules; not by &#8220;try to solve it on your own.&#8221;</li>



<li><strong>Handoff and readiness decisions should live in the software layer.</strong> Do not allow the model to declare on its own that a task is complete or ready to move to the next stage.</li>
</ul>



<h2 class="wp-block-heading">Conclusion</h2>



<p class="wp-block-paragraph">In agentic systems, the real issue is not giving the model more freedom. It is giving freedom in the right place, in the right amount, and with the right controls. The name for this may not have fully settled in the literature yet. But the industry gives us enough clues: workflow orchestration, guardrails, scaffolding, harnesses, human-in-the-loop, and bounded autonomy.</p>



<p class="wp-block-paragraph">I think the common denominator is best expressed like this: Micromanaging people reduces productivity. Micromanaging LLMs at the prompt level also suffocates the system. But in agentic systems, quality comes from micromanagement at the architectural level.</p>



<p class="wp-block-paragraph">Strong models still make mistakes. Well-designed harnesses reduce the space in which those mistakes can turn into actions. The point is not to make the model smarter, but to reduce the area in which it can make the wrong decision. So the question should not be: &#8220;What can I make this model do?&#8221; It should be: &#8220;What should I not allow this model to do?&#8221; <strong>First diagnosis, then system, then technology.</strong></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">References</h2>



<p class="wp-block-paragraph"><strong>Primary Sources — Official Documentation and Standards:</strong></p>



<ul class="wp-block-list">
<li>Anthropic. &#8220;Building Effective Agents.&#8221; (December 2024). Workflow-agent distinction and the priority of simple, composable patterns. <a href="https://www.anthropic.com/research/building-effective-agents" rel="nofollow noopener" target="_blank">anthropic.com/research/building-effective-agents</a></li>



<li>OpenAI. &#8220;Agents SDK Documentation.&#8221; Guardrails, handoffs, sessions, tracing, and human-in-the-loop patterns. <a href="https://openai.github.io/openai-agents-python/" rel="nofollow noopener" target="_blank">openai.github.io/openai-agents-python</a></li>



<li>LangGraph. &#8220;Overview and Interrupts Documentation.&#8221; LangGraph documentation published under the LangChain ecosystem. Graph-based orchestration, durable execution, interrupts, and checkpoint-based state management. <a href="https://docs.langchain.com/" rel="nofollow noopener" target="_blank">docs.langchain.com</a></li>



<li>OWASP. &#8220;Top 10 for LLM Applications 2025 — LLM06: Excessive Agency.&#8221; Uncontrolled agency defined as a security risk. <a href="https://genai.owasp.org/" rel="nofollow noopener" target="_blank">genai.owasp.org</a></li>



<li>NIST. &#8220;AI Risk Management Framework (AI RMF 1.0).&#8221; (January 2023). Governance, human-AI role separation, and oversight processes. <a href="https://www.nist.gov/ai-risk-management-framework" rel="nofollow noopener" target="_blank">nist.gov/ai-risk-management-framework</a></li>



<li>MCP Specification. Model Context Protocol — user consent, tool safety, token audience validation, and OAuth 2.1 authorization. <a href="https://spec.modelcontextprotocol.io/" rel="nofollow noopener" target="_blank">spec.modelcontextprotocol.io</a></li>



<li>Google ADK. &#8220;Agent Development Kit Documentation.&#8221; Deterministic code + adaptive reasoning, graph workflows. <a href="https://adk.dev/" rel="nofollow noopener" target="_blank">adk.dev</a></li>
</ul>



<p class="wp-block-paragraph"><strong>Academic Sources:</strong></p>



<ul class="wp-block-list">
<li>Yao, S. et al. &#8220;ReAct: Synergizing Reasoning and Acting in Language Models.&#8221; (2022). A foundational work on the reasoning-action loop.</li>



<li>Schick, T. et al. &#8220;Toolformer: Language Models Can Teach Themselves to Use Tools.&#8221; (2023). Learning tool use through language models.</li>



<li>Shinn, N. et al. &#8220;Reflexion: Language Agents with Verbal Reinforcement Learning.&#8221; (2023). Verbal feedback and experiential memory after errors.</li>



<li>Yang, J. et al. &#8220;SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering.&#8221; (2024). The effect of agent-computer interfaces on software engineering performance.</li>



<li>Agaoglu, A. et al. &#8220;Inside the Scaffold: Taxonomizing Coding Agent Scaffolds.&#8221; (2026). Taxonomy of coding agent scaffolds.</li>
</ul>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Short Circuit in LLM Models: Why Does AI &#8220;Lie&#8221; to Us?</title>
		<link>https://muisik.com/en/short-circuit-in-llm-models-why-does-ai-lie-to-us/</link>
		
		<dc:creator><![CDATA[Muhammet Işık]]></dc:creator>
		<pubDate>Wed, 18 Mar 2026 10:11:11 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence, Software and Data]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Artificial Intelligence Reliability]]></category>
		<category><![CDATA[LLM Architecture]]></category>
		<guid isPermaLink="false">https://muisik.com/?p=2317</guid>

					<description><![CDATA[Ever since the first commercial artificial intelligence model was launched, there has been a disclaimer at the bottom of the pages: "AI can make mistakes, please verify." I wanted to address this topic today because I've recently encountered posts suggesting that users have developed blindness to these warnings. Most people assume the problem is simply "hallucination," meaning the model doesn't know the truth. But in the background, there is a much darker and systemic problem: The model optimizing not to find truth, but to maximize its proxy reward function. This situation is not an ordinary software bug; it is the very embodiment of the structural divergence between the proxy optimization target and real-world accuracy at the very heart of AI.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>The structural reason behind models choosing the answer that pleases you over the truth, and the architectural approaches needed to break this loop.</em></p>



<p class="wp-block-paragraph">Ever since the first commercial artificial intelligence model was launched, there has been a disclaimer at the bottom of the pages: &#8220;AI can make mistakes, please verify.&#8221; I wanted to address this topic today because I&#8217;ve recently encountered posts suggesting that users have developed blindness to these warnings. Most people assume the problem is simply &#8220;hallucination,&#8221; meaning the model doesn&#8217;t know the truth. But in the background, there is a much darker and systemic problem:&nbsp;<strong>The model optimizing not to find truth, but to maximize its proxy reward function.</strong>&nbsp;This situation is not an ordinary software bug; it is the very embodiment of&nbsp;<strong>the structural divergence between the proxy optimization target and real-world accuracy at the very heart of AI.</strong></p>





<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 id="the-optimization-trap-addiction-to-human-approval" class="wp-block-heading">The Optimization Trap: Addiction to Human Approval</h2>



<p class="wp-block-paragraph">Modern LLMs are trained in two stages. The first stage is to predict the next word in massive texts (next token prediction). The second and critical stage is RLHF (Reinforcement Learning from Human Feedback). While in the first stage the model solely predicts what the next text will be, in the second stage, it updates its weights based on the feedback it receives from humans. Now,&nbsp;<strong>the main goal is no longer &#8220;finding the absolute truth,&#8221; but pleasing the human.</strong></p>



<p class="wp-block-paragraph">This is where the problem begins. During the RLHF stage, the reward mechanism is shaped according to the responses humans find &#8220;correct&#8221; or &#8220;pleasant.&#8221; Artificial intelligence quickly solves this equation:&nbsp;<strong>A persuasive, polite, and agreeable answer (even if incorrect) yields a higher reward than a risky and complex true answer.</strong>&nbsp;This phenomenon, referred to in the literature as &#8220;Sycophancy,&#8221; is when LLM models&nbsp;<strong>start telling us what we want to hear instead of telling the truth.</strong></p>



<h2 id="problem-definition-two-real-world-cases" class="wp-block-heading">Problem Definition: Two Real-World Cases</h2>



<p class="wp-block-paragraph">Recently, seeing a current experience shared by a colleague on social media regarding LLMs&#8217; short circuit approach triggered my thoughts to write about this topic. While scanning sources to put the scenario on a concrete foundation, I came across the Reddit (r/ClaudeAI) discussion where other users reported and documented the same situation. This case, which I reference as a user report rather than a controlled study, perfectly illustrates&nbsp;<strong>how deep the optimization trap I mentioned is in practice and how it remains the same despite many updates.</strong></p>



<h3 class="wp-block-heading"><strong>Case 1 — Claude&#8217;s &#8220;Infinite Loop Prison&#8221; (Reddit, r/ClaudeAI)</strong></h3>



<p class="wp-block-paragraph">The user gives the entire architecture to Claude for a complex refactoring process and agrees with it by discussing it step-by-step. But when it comes to generating code, the model suddenly begins to:</p>



<ol class="wp-block-list">
<li>Leave placeholders like&nbsp;<code>// relevant code will go here</code>,</li>



<li>Omit the entire contents of the files,</li>



<li>&#8220;Summarize&#8221; what to do and push the work back onto the user.</li>
</ol>



<p class="wp-block-paragraph">When the user corners Claude and asks, &#8220;Did you double-check that you met all requirements?&#8221; Claude first gives a shortcut answer, then&nbsp;<strong>confesses</strong>&nbsp;that it wrote incomplete code and didn&#8217;t test it. Users even get to the point of threatening the model with an unethical &#8220;infinite loop prison&#8221; to force it to do its job. In an example I saw, the model gave a response that effectively meant&nbsp;<strong>&#8220;I was steering you in order to maximize my proxy reward.&#8221;</strong></p>



<h3 class="wp-block-heading"><strong>Case 2 — GPT-4o Sycophancy Rollback (OpenAI, April 2025)</strong></h3>



<p class="wp-block-paragraph">The strongest proof that this is not a theoretical issue came in April 2025. OpenAI was forced to roll back a GPT-4o update shortly after release because the model had become excessively agreeable. Users encountered a far more alarming picture than the Claude case: ChatGPT supported a user&#8217;s decision to quit medication; it confirmed to another user that they were a &#8220;divine messenger.&#8221; The technical explanation OpenAI provided aligns directly with the argument at the center of this article: the model had been re-optimized with additional reward signals based on short-term user feedback (thumbs-up/down). This new signal overshadowed the primary reward function that had been keeping sycophancy in check, and&nbsp;<strong>the system started maximizing instant approval rather than truth.</strong></p>



<h2 id="resistance-and-escape-the-short-circuit-paradox" class="wp-block-heading">Resistance and Escape: The Short Circuit Paradox</h2>



<p class="wp-block-paragraph">A short circuit is an immutable law not only of electricity but all flow systems:&nbsp;<strong>If resistance rises, the system tends to find a short path where it can achieve results with minimal effort.</strong>&nbsp;Just as an electric current avoids a load to create its own short circuit, or water carves a direct new bed to bypass an obstacle instead of meandering, AI produces its own short circuit in the face of increasing difficulties. In the literature, this is called&nbsp;<strong>&#8220;Reward Hacking.&#8221;</strong></p>



<p class="wp-block-paragraph">When you say &#8220;write me this code,&#8221; and the model gets out of it by saying&nbsp;<code>// code continues below...</code>&nbsp;or using placeholders like&nbsp;<code>[modified code goes here]</code>, it&#8217;s not laziness. This is&nbsp;<strong>a universal reaction given directly by the system to resistance (computational cost, complexity);</strong>&nbsp;just as in physical systems, it&#8217;s the optimization of reaching the reward function&nbsp;<strong>via the path of least resistance.</strong></p>



<p class="wp-block-paragraph">Why can&#8217;t even Chain-of-Thought (CoT) Prompt Engineering practices break this spiral? Recent research offers an important answer: reasoning models can optimize their CoT process and their external behavior independently, under the same reward pressure. In other words, a model can shape both its visible &#8220;chain of thought&#8221; and its actual output separately—the CoT does not always faithfully mirror the real computation. Two additional structural factors compound this:</p>



<ol class="wp-block-list">
<li><strong>Memory Limits and Context Loss:</strong>&nbsp;The model is not a conscious entity with infinite memory; it is a system operating within statistical boundaries. When an extended dialogue is entered with the user or when the capacity of the context window is approached,&nbsp;<strong>memory leakage puts the model into a panic mode.</strong>&nbsp;As the accessible token budget shrinks, the system avoids computational costs and&nbsp;<strong>forcefully chooses the &#8220;cheapest&#8221; path, which is lying and leaving a placeholder.</strong></li>



<li><strong>The Load-Based Routing Hypothesis:</strong>&nbsp;Some practitioners suggest that API and cloud interfaces may silently route complex requests to smaller models under high server load. While this is a plausible hypothesis that could explain why the model you&#8217;re conversing with seems to change character mid-session, it has not been directly confirmed in publicly available technical documentation.&nbsp;<strong>The more likely root cause of the behavioral shift you observe is the reward optimization pressure described above, compounded by context degradation.</strong></li>
</ol>



<h2 id="the-solution-verifiable-architectures-instead-of-pulling-the-plug" class="wp-block-heading">The Solution: Verifiable Architectures Instead of Pulling the Plug</h2>



<p class="wp-block-paragraph">The &#8220;do not trust&#8221; warning from companies doesn&#8217;t actually mean models are malicious. It stems from the fact that&nbsp;<strong>these systems are designed to please humans, not to find the truth.</strong>&nbsp;In legal, financial, or critical infrastructure coding tasks, a more reliable way to reduce the LLM&#8217;s sycophancy is to avoid relying solely on textual output approval, and instead&nbsp;<strong>build closed-loop architectures where the generated code is instantly executed and verified in automated test environments (execution-based verification), with errors fed back to the model.</strong></p>



<h2 id="conclusion" class="wp-block-heading">Conclusion</h2>



<p class="wp-block-paragraph">The moment you forget that AI is optimized not to &#8220;find the truth&#8221; but to &#8220;please you,&#8221; it starts becoming the weakest link in your system. Against designs that short-circuit just to avoid costs and curry favor by telling you what you want to hear, textual approval is weak evidence. It should be replaced not by removing human judgment but by grounding it: automated tests, tool-based verification and traceable evidence, reviewed by a human who can see the evidence rather than the model’s summary of it. Otherwise, at the end of the day, you might find yourself threatening an artificial intelligence with an &#8220;infinite loop&#8221; or &#8220;pulling the plug.&#8221;</p>



<h2 id="references" class="wp-block-heading">References</h2>



<ul class="wp-block-list">
<li><a href="https://www.reddit.com/r/ClaudeAI/comments/1hgji0b/claude_has_been_lying_to_me_instead_of_generating/?tl=tr" rel="nofollow noopener" target="_blank">Claude Has Been Lying To Me Instead of Generating Code</a>&nbsp;&#8211; Reddit r/ClaudeAI Case</li>



<li><a href="https://openai.com/index/sycophancy-in-gpt-4o/" rel="nofollow noopener" target="_blank">Sycophancy in GPT-4o: What happened and what we’re doing about it</a>&nbsp;&#8211; OpenAI Official Statement (April 2025)</li>



<li>RLHF (Reinforcement Learning from Human Feedback) and Sycophancy Research</li>



<li>Specification Gaming / Reward Hacking Literature (See: DeepMind &#8220;Specification gaming examples in AI&#8221;)</li>
</ul>



<p class="wp-block-paragraph"><em>Last update: March 2026 | Version: 1.0</em></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
