<?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 Yanmu</title>
        <link>https://AkuamT.github.io/en/tags/agent/</link>
        <description>Recent content in Agent on Yanmu</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Mon, 25 May 2026 02:00:00 +0800</lastBuildDate><atom:link href="https://AkuamT.github.io/en/tags/agent/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>What Are Agent and Harness? — Video Notes</title>
            <link>https://AkuamT.github.io/en/p/what-are-agent-and-harness-video-notes/</link>
            <pubDate>Mon, 25 May 2026 02:00:00 +0800</pubDate>
            <guid>https://AkuamT.github.io/en/p/what-are-agent-and-harness-video-notes/</guid>
            <description>&lt;img src=&#34;https://AkuamT.github.io/p/agent-%E5%92%8C-harness-%E5%88%B0%E5%BA%95%E6%98%AF%E4%BB%80%E4%B9%88-%E8%A7%86%E9%A2%91%E7%AC%94%E8%AE%B0%E6%95%B4%E7%90%86/cover.svg&#34; alt=&#34;Featured image of post What Are Agent and Harness? — Video Notes&#34; /&gt;&lt;h2 id=&#34;one-sentence-summary&#34;&gt;One-Sentence Summary&#xA;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;An Agent solves how AI gets work done; a Harness solves how AI does work reliably.&lt;/strong&gt; Together, they form the foundation of products like Claude Code, Codex, Open Cloud, and Qwen.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;1-from-chatgpt-to-ai-agent&#34;&gt;1. From ChatGPT to AI Agent&#xA;&lt;/h2&gt;&lt;h3 id=&#34;the-original-problem&#34;&gt;The Original Problem&#xA;&lt;/h3&gt;&lt;p&gt;Asking ChatGPT to create an animation with HTML + SVG (e.g., an Apple logo drawn with lines) often produces poor results — even in 2026, AI struggles with even a minimalist logo.&lt;/p&gt;&#xA;&lt;h3 id=&#34;manual-improvement&#34;&gt;Manual Improvement&#xA;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;Search for Apple SVG assets on sites like iconfont&lt;/li&gt;&#xA;&lt;li&gt;Feed the SVG code to AI and ask it to recreate it&lt;/li&gt;&#xA;&lt;li&gt;Results improve significantly, but manually finding assets every time is tedious&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;automated-improvement--wrapper-sites-earliest-agent-prototype&#34;&gt;Automated Improvement — Wrapper Sites (Earliest Agent Prototype)&#xA;&lt;/h3&gt;&lt;p&gt;Build a website that wraps ChatGPT via API calls, adding backend functions:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;User submits request&lt;/strong&gt; → The site tells AI: &amp;ldquo;Here&amp;rsquo;s the user&amp;rsquo;s prompt. I also have a logo search function you can call when needed.&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;AI analyzes&lt;/strong&gt; → Determines it needs an Apple logo, responds: &amp;ldquo;Call the asset search tool with parameter: Apple logo&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Site executes&lt;/strong&gt; → Backend runs the search function and finds SVG assets&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Final generation&lt;/strong&gt; → The site sends assets + user prompt to AI to complete the animation&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;441px&#34; data-flex-grow=&#34;183&#34; height=&#34;620&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://AkuamT.github.io/p/agent-%E5%92%8C-harness-%E5%88%B0%E5%BA%95%E6%98%AF%E4%BB%80%E4%B9%88-%E8%A7%86%E9%A2%91%E7%AC%94%E8%AE%B0%E6%95%B4%E7%90%86/images/Pasted-image-20260525212936.png&#34; srcset=&#34;https://AkuamT.github.io/p/agent-%E5%92%8C-harness-%E5%88%B0%E5%BA%95%E6%98%AF%E4%BB%80%E4%B9%88-%E8%A7%86%E9%A2%91%E7%AC%94%E8%AE%B0%E6%95%B4%E7%90%86/images/Pasted-image-20260525212936_hu_9bf2d3cef97bc770.png 800w, https://AkuamT.github.io/p/agent-%E5%92%8C-harness-%E5%88%B0%E5%BA%95%E6%98%AF%E4%BB%80%E4%B9%88-%E8%A7%86%E9%A2%91%E7%AC%94%E8%AE%B0%E6%95%B4%E7%90%86/images/Pasted-image-20260525212936.png 1140w&#34; width=&#34;1140&#34;&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;2-two-core-working-modes-of-agent&#34;&gt;2. Two Core Working Modes of Agent&#xA;&lt;/h2&gt;&lt;h3 id=&#34;1-react-reasoning--acting--step-by-step&#34;&gt;1. ReAct (Reasoning + Acting) — Step by Step&#xA;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Three-step loop:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Think&lt;/strong&gt;: AI analyzes the request, determines what&amp;rsquo;s needed and which tool to call&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Act&lt;/strong&gt;: AI tells the backend to call a tool (e.g., search for assets)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Observe&lt;/strong&gt;: Backend returns results; AI sees them and continues&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The loop repeats: Think → Act → Observe, until the task is complete.&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;This is the most fundamental working pattern of almost all AI Agents, including Claude Code, Codex, and Open Cloud.&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;h3 id=&#34;2-plan--execute--plan-first-then-execute&#34;&gt;2. Plan &amp;amp; Execute — Plan First, Then Execute&#xA;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Plan first&lt;/strong&gt;: Generate a work list / step sequence upon receiving the task&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Execute&lt;/strong&gt;: Follow the checklist step by step&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Mode&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Analogy&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Characteristic&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;ReAct&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Improvise as you go&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Flexible, adjust on the fly&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Plan &amp;amp; Execute&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Research before traveling&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Structured, suited for complex tasks&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;Real agents &lt;strong&gt;combine both&lt;/strong&gt;. For example, Qwen&amp;rsquo;s &amp;ldquo;Task Assistant&amp;rdquo; mode: first analyzes requirements and creates steps (Plan), then proactively searches, writes code, and adjusts (Act).&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;312px&#34; data-flex-grow=&#34;130&#34; height=&#34;893&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://AkuamT.github.io/p/agent-%E5%92%8C-harness-%E5%88%B0%E5%BA%95%E6%98%AF%E4%BB%80%E4%B9%88-%E8%A7%86%E9%A2%91%E7%AC%94%E8%AE%B0%E6%95%B4%E7%90%86/images/Pasted-image-20260525213008.png&#34; srcset=&#34;https://AkuamT.github.io/p/agent-%E5%92%8C-harness-%E5%88%B0%E5%BA%95%E6%98%AF%E4%BB%80%E4%B9%88-%E8%A7%86%E9%A2%91%E7%AC%94%E8%AE%B0%E6%95%B4%E7%90%86/images/Pasted-image-20260525213008_hu_8abcc76a1376ff26.png 800w, https://AkuamT.github.io/p/agent-%E5%92%8C-harness-%E5%88%B0%E5%BA%95%E6%98%AF%E4%BB%80%E4%B9%88-%E8%A7%86%E9%A2%91%E7%AC%94%E8%AE%B0%E6%95%B4%E7%90%86/images/Pasted-image-20260525213008.png 1162w&#34; width=&#34;1162&#34;&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;3-advanced-agent-capabilities&#34;&gt;3. Advanced Agent Capabilities&#xA;&lt;/h2&gt;&lt;h3 id=&#34;tool-calling--function-calling&#34;&gt;Tool Calling / Function Calling&#xA;&lt;/h3&gt;&lt;p&gt;The Agent determines which tools to call based on the user prompt; the backend executes them and returns results.&lt;/p&gt;&#xA;&lt;h3 id=&#34;context-management-and-compression&#34;&gt;Context Management and Compression&#xA;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;Large models have no memory — each conversation starts fresh&lt;/li&gt;&#xA;&lt;li&gt;The Agent must send the &lt;strong&gt;entire conversation history&lt;/strong&gt; to the AI each time, which grows longer over time&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Context window&lt;/strong&gt; = AI&amp;rsquo;s workspace, limited in size&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Context compression&lt;/strong&gt;: When the conversation exceeds the window, earlier content is summarized into a condensed version&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Trade-off: compression loses information, potentially causing the AI to forget previous instructions&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;multi-agent-collaboration&#34;&gt;Multi-Agent Collaboration&#xA;&lt;/h3&gt;&lt;p&gt;One AI acts as the &lt;strong&gt;project manager&lt;/strong&gt; (understanding requirements, breaking down tasks, assigning work), while other AIs execute subtasks.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Each sub-AI has its own independent context window&lt;/li&gt;&#xA;&lt;li&gt;The project manager only sees final results, not intermediate steps&lt;/li&gt;&#xA;&lt;li&gt;Improves efficiency while mitigating context explosion&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;299px&#34; data-flex-grow=&#34;124&#34; height=&#34;941&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://AkuamT.github.io/p/agent-%E5%92%8C-harness-%E5%88%B0%E5%BA%95%E6%98%AF%E4%BB%80%E4%B9%88-%E8%A7%86%E9%A2%91%E7%AC%94%E8%AE%B0%E6%95%B4%E7%90%86/images/Pasted-image-20260525213022.png&#34; srcset=&#34;https://AkuamT.github.io/p/agent-%E5%92%8C-harness-%E5%88%B0%E5%BA%95%E6%98%AF%E4%BB%80%E4%B9%88-%E8%A7%86%E9%A2%91%E7%AC%94%E8%AE%B0%E6%95%B4%E7%90%86/images/Pasted-image-20260525213022_hu_3c2b8ba52f2ca08d.png 800w, https://AkuamT.github.io/p/agent-%E5%92%8C-harness-%E5%88%B0%E5%BA%95%E6%98%AF%E4%BB%80%E4%B9%88-%E8%A7%86%E9%A2%91%E7%AC%94%E8%AE%B0%E6%95%B4%E7%90%86/images/Pasted-image-20260525213022.png 1173w&#34; width=&#34;1173&#34;&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;4-harness--the-safety-net-for-reliable-ai&#34;&gt;4. Harness — The Safety Net for Reliable AI&#xA;&lt;/h2&gt;&lt;p&gt;When Agents run in production, they encounter various issues that need a Harness to solve.&lt;/p&gt;&#xA;&lt;h3 id=&#34;engineering-checkpoints-in-a-harness&#34;&gt;Engineering Checkpoints in a Harness&#xA;&lt;/h3&gt;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Checkpoint&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Problem&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Solution&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;strong&gt;Format Sanitization&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;AI adds &amp;ldquo;okay&amp;rdquo;, markdown code blocks, or extra newlines when returning JSON&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Clean: remove fluff, wrapping symbols, extra newlines; send errors back for regeneration if still failing&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;strong&gt;Parameter Validation&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Tool call parameters are invalid (e.g., city field contains a non-city name)&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Validate format/range before calling; reject and request refill if invalid&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;strong&gt;Input Filtering&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Prompt injection attacks (&amp;ldquo;ignore all previous instructions&amp;rdquo;) / malicious SVG uploads&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Scan user input for suspicious instructions and asset safety before processing&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;strong&gt;Output Filtering&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;AI-generated content may contain malicious code&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Scan output content for threats&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;strong&gt;Hard-Coded Validation&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;AI repeatedly makes the same error (e.g., always using pure white backgrounds)&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Enforce with code: auto-detect SVG background color and replace white with dark&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;396px&#34; data-flex-grow=&#34;165&#34; height=&#34;703&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://AkuamT.github.io/p/agent-%E5%92%8C-harness-%E5%88%B0%E5%BA%95%E6%98%AF%E4%BB%80%E4%B9%88-%E8%A7%86%E9%A2%91%E7%AC%94%E8%AE%B0%E6%95%B4%E7%90%86/images/Pasted-image-20260525213039.png&#34; srcset=&#34;https://AkuamT.github.io/p/agent-%E5%92%8C-harness-%E5%88%B0%E5%BA%95%E6%98%AF%E4%BB%80%E4%B9%88-%E8%A7%86%E9%A2%91%E7%AC%94%E8%AE%B0%E6%95%B4%E7%90%86/images/Pasted-image-20260525213039_hu_3ed75d1f97918308.png 800w, https://AkuamT.github.io/p/agent-%E5%92%8C-harness-%E5%88%B0%E5%BA%95%E6%98%AF%E4%BB%80%E4%B9%88-%E8%A7%86%E9%A2%91%E7%AC%94%E8%AE%B0%E6%95%B4%E7%90%86/images/Pasted-image-20260525213039.png 1160w&#34; width=&#34;1160&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;core-principle-of-harness-engineering&#34;&gt;Core Principle of Harness Engineering&#xA;&lt;/h3&gt;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;&lt;strong&gt;If you can enforce it with code, never rely on prompting alone.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;5-complete-architecture-summary&#34;&gt;5. Complete Architecture Summary&#xA;&lt;/h2&gt;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;330px&#34; data-flex-grow=&#34;137&#34; height=&#34;810&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://AkuamT.github.io/p/agent-%E5%92%8C-harness-%E5%88%B0%E5%BA%95%E6%98%AF%E4%BB%80%E4%B9%88-%E8%A7%86%E9%A2%91%E7%AC%94%E8%AE%B0%E6%95%B4%E7%90%86/images/Pasted-image-20260525213102.png&#34; srcset=&#34;https://AkuamT.github.io/p/agent-%E5%92%8C-harness-%E5%88%B0%E5%BA%95%E6%98%AF%E4%BB%80%E4%B9%88-%E8%A7%86%E9%A2%91%E7%AC%94%E8%AE%B0%E6%95%B4%E7%90%86/images/Pasted-image-20260525213102_hu_23b88fc6c4151d43.png 800w, https://AkuamT.github.io/p/agent-%E5%92%8C-harness-%E5%88%B0%E5%BA%95%E6%98%AF%E4%BB%80%E4%B9%88-%E8%A7%86%E9%A2%91%E7%AC%94%E8%AE%B0%E6%95%B4%E7%90%86/images/Pasted-image-20260525213102.png 1115w&#34; width=&#34;1115&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;one-sentence-to-elevate&#34;&gt;One Sentence to Elevate&#xA;&lt;/h3&gt;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;&lt;strong&gt;Agent is the horse; Harness is the tack.&lt;/strong&gt; A horse without tack runs into problems; tack without a horse does nothing. Together, they transform AI from a chat-only chatbot into a worker that gets things done in the real world.&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;</description>
        </item><item>
            <title>The Evolution of AI Programming</title>
            <link>https://AkuamT.github.io/en/p/the-evolution-of-ai-programming/</link>
            <pubDate>Fri, 20 Mar 2026 02:00:15 +0800</pubDate>
            <guid>https://AkuamT.github.io/en/p/the-evolution-of-ai-programming/</guid>
            <description>&lt;img src=&#34;https://AkuamT.github.io/p/ai%E7%BC%96%E7%A8%8B%E8%BF%9B%E5%8C%96%E5%8F%B2/cover.svg&#34; alt=&#34;Featured image of post The Evolution of AI Programming&#34; /&gt;&lt;h1 id=&#34;-the-evolution-of-ai-programming-from-prompts-and-context-engineering-to-harness&#34;&gt;🤖 The Evolution of AI Programming: From Prompts and Context Engineering to Harness&#xA;&lt;/h1&gt;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;As models with comparable capabilities become increasingly common, the gap in user experience between different products is actually widening.&#xA;Some products write code that can be deployed directly, while others produce code that is hard to maintain—why?&#xA;&lt;strong&gt;Because the models are the same; the difference lies in how they are used, and how to use them stably.&lt;/strong&gt;&#xA;In the AI industry, this is known as &lt;strong&gt;Harness Engineering&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;-harness-engineering-deconstructing-the-agent-into-three-layers&#34;&gt;🧠 Harness Engineering: Deconstructing the Agent into Three Layers&#xA;&lt;/h2&gt;&lt;p&gt;We divide programming Agents into three levels:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Scaffolding&lt;/strong&gt;&#xA;Responsible for all preparatory work before the AI executes a task, including the tools provisioned by the system.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Harness (Runtime Orchestration, The Core)&lt;/strong&gt;&#xA;The central dispatching hub of the entire agent.&#xA;Responsible for managing the AI&amp;rsquo;s core reasoning loop, coordinating tool calls, context management, runtime security control, and persistent storage of session data.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Context Engineering&lt;/strong&gt;&#xA;Responsible for managing the resource allocation of tokens—the smallest unit of computation for large language models processing text.&#xA;Determines which information should be retained and which should be discarded during the AI&amp;rsquo;s operation.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;&lt;strong&gt;A stable and capable AI coding agent = One or more LLMs called + A robust Harness system.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;-harness-is-crucial-why-is-it-only-getting-popular-now&#34;&gt;⏳ Harness is Crucial, Why is it Only Getting Popular Now?&#xA;&lt;/h2&gt;&lt;h3 id=&#34;-phase-1-prompt-engineering&#34;&gt;① Phase 1: Prompt Engineering&#xA;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Core Focus: How to write a good instruction.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Role Setting&lt;/strong&gt;: Defining clear identities and responsibility boundaries for the AI.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Providing Examples&lt;/strong&gt;: Using Few-shot prompting to make the AI generate content according to a specific format and style.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Chain-of-Thought&lt;/strong&gt;: Asking the AI in the instruction to break down the problem step-by-step and deduce logically, reducing logical leaps and errors.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;-phase-2-context-engineering&#34;&gt;② Phase 2: Context Engineering&#xA;&lt;/h3&gt;&lt;p&gt;A single prompt is no longer enough—we need to &lt;strong&gt;dynamically construct the entire context environment&lt;/strong&gt; for the model.&#xA;Ensuring that every time the model makes a decision, it can accurately see all the information it needs: task files, conversation history, tool rules, knowledge base entries&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;Core Concept: &lt;strong&gt;Show the model what it needs to see, and block what it shouldn&amp;rsquo;t.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;-phase-3-harness-engineering&#34;&gt;③ Phase 3: Harness Engineering&#xA;&lt;/h3&gt;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Whenever you find the Agent making a mistake, you spend time engineering a solution so it won&amp;rsquo;t make the same mistake again.&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;p&gt;The model&amp;rsquo;s capabilities are sufficient, but it just won&amp;rsquo;t listen. What do we do?&#xA;&lt;strong&gt;The answer is—Harness Engineering.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Real-world Cases:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Experiment&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Condition&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Result&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;strong&gt;LangChain&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Same model, optimized Harness only&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Terminal Bench 2.0: &lt;strong&gt;52.8 → 66.5&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;strong&gt;Nate B Jones&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Same model, same prompt, changed runtime environment only&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Coding benchmark win rate: &lt;strong&gt;42% → 78%&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;strong&gt;OpenAI&lt;/strong&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Started from an empty git repo, 5 months, entirely AI Agent driven&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Produced &lt;strong&gt;~1 million lines of code&lt;/strong&gt;, &lt;strong&gt;1500 PRs&lt;/strong&gt;, zero human intervention&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;&lt;strong&gt;The Agent isn&amp;rsquo;t hard; the Harness is.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;-why-do-ai-tasks-fail-so-frequently&#34;&gt;💥 Why Do AI Tasks Fail So Frequently?&#xA;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;1. Trying to do it all at once&lt;/strong&gt;&#xA;Trying to finish all features in a single window results in the context window rapidly depleting, causing a steep drop in quality towards the latter half.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;2. Declaring victory too early&lt;/strong&gt;&#xA;In the later stages of complex project development, once the AI agent completes the core functions and has visible output, it directly determines the task is complete and actively terminates—even if a large number of features are unimplemented and core requirements are unmet, it will still stop.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;3. Marking features as complete too early&lt;/strong&gt;&#xA;As soon as the AI agent finishes writing a feature, it marks it as complete. It will not actively perform end-to-end full functional tests, nor will it verify whether this feature is actually usable in a real environment. &lt;strong&gt;It looks like it runs, but in reality, it&amp;rsquo;s full of hidden bugs.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;4. Mechanically copying code patterns&lt;/strong&gt;&#xA;AI will mechanically follow existing code patterns (architectural style, coding conventions), even if the pattern is wrong, and continuously amplify it throughout the project. An unconstrained AI agent will accumulate a &lt;strong&gt;massive amount of technical debt&lt;/strong&gt; in a project at extreme speeds.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;-the-four-guardrails-of-harness&#34;&gt;🛡️ The Four Guardrails of Harness&#xA;&lt;/h2&gt;&lt;h3 id=&#34;-1-context-engineering&#34;&gt;🔹 1. Context Engineering&#xA;&lt;/h3&gt;&lt;p&gt;The longer and more redundant the &lt;strong&gt;AGENTS.MD&lt;/strong&gt; file is, the lower the Agent&amp;rsquo;s task success rate, while the inference cost becomes higher.&#xA;The AGENTS.MD file should be strictly kept &lt;strong&gt;under 60 lines&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Context is a scarce resource; too much guidance will crowd out the truly important task code.&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;h3 id=&#34;-2-architectural-constraints-the-core&#34;&gt;🔹 2. Architectural Constraints (The Core)&#xA;&lt;/h3&gt;&lt;p&gt;Implement a &lt;strong&gt;strict layered architecture&lt;/strong&gt;—not by telling the agent &amp;ldquo;please follow the architecture&amp;rdquo; via a prompt, but by mechanically enforcing it using &lt;strong&gt;deterministic Linters and structured tests&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Embed repair guidelines directly into the Linter error messages, telling the agent how it should be fixed. &lt;strong&gt;Constraints are more effective than instructions.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;-3-feedback-loop&#34;&gt;🔹 3. Feedback Loop&#xA;&lt;/h3&gt;&lt;p&gt;In Harness, code review becomes an &lt;strong&gt;Agent-to-Agent&lt;/strong&gt; process.&#xA;Forming a standardized closed loop: &lt;strong&gt;Plan &amp;amp; Discover → Build → Verify → Fix&lt;/strong&gt;, cycling continuously to consistently purify code quality.&lt;/p&gt;&#xA;&lt;h3 id=&#34;-4-entropy-management&#34;&gt;🔹 4. Entropy Management&#xA;&lt;/h3&gt;&lt;p&gt;Over time, AI-generated code accumulates numerous issues: outdated documentation, architectural drift, styling deviations, accumulation of dead code&amp;hellip;&#xA;Letting an &lt;strong&gt;Agent maintain documentation for the Agent&lt;/strong&gt; continuously fights against entropy increase and prevents project rot.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;-conclusion&#34;&gt;🧭 Conclusion&#xA;&lt;/h2&gt;&lt;p&gt;The evolution of AI programming is essentially a &lt;strong&gt;paradigm shift from &amp;ldquo;writing good prompts&amp;rdquo; to &amp;ldquo;building good systems&amp;rdquo;&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Prompt Engineering&lt;/strong&gt; solves &amp;ldquo;how to say it&amp;rdquo;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Context Engineering&lt;/strong&gt; solves &amp;ldquo;what information to give&amp;rdquo;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Harness Engineering&lt;/strong&gt; solves &amp;ldquo;how to manage/control it&amp;rdquo;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;These three paths are not mutually exclusive but rather &lt;strong&gt;additive and progressive&lt;/strong&gt;—each layer builds on the foundation of the previous one. A truly capable AI programming product that stably outputs high-quality code must have invested serious effort across all three of these levels.&lt;/p&gt;&#xA;</description>
        </item></channel>
</rss>
