<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Production AI on Bruce AI 工程笔记</title><link>http://www.heyuan110.com/zh/tags/production-ai/</link><description>Recent content in Production AI on Bruce AI 工程笔记</description><generator>Hugo</generator><language>zh</language><lastBuildDate>Sat, 18 Apr 2026 16:00:00 +0800</lastBuildDate><atom:link href="http://www.heyuan110.com/zh/tags/production-ai/index.xml" rel="self" type="application/rss+xml"/><item><title>Harness 六层架构倒着建：80% 稳定性来自第 5、6 层</title><link>http://www.heyuan110.com/zh/posts/ai/2026-04-18-harness-six-layers-reverse-build/</link><pubDate>Sat, 18 Apr 2026 16:00:00 +0800</pubDate><guid>http://www.heyuan110.com/zh/posts/ai/2026-04-18-harness-six-layers-reverse-build/</guid><description>&lt;p&gt;&lt;img src="http://www.heyuan110.com/posts/ai/2026-04-18-harness-six-layers-reverse-build/cover.webp"
 alt="Harness Engineering 六层倒序构建策略"
 
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 width="1200"
 height="630"
/&gt;
&lt;/p&gt;
&lt;p&gt;Harness Engineering 的六层不是平等权重的。&lt;/p&gt;
&lt;p&gt;这句话推翻了流行讲法。所有的 talk、所有的框架图、所有「Harness Engineering 是什么」的解释都把六层画成一个整齐的栈，告诉你按顺序建：Context → Tools → Execution → Memory → Evaluation → Recovery。讲起来顺、教起来顺、做起来——如果你真的想让 agent 在生产环境稳，完全错。&lt;/p&gt;
&lt;p&gt;我在生产环境跑 AI 编程 harness 60 天，数据在手。&lt;strong&gt;第 5 层评估和第 6 层容错恢复，加起来贡献了大约 80% 的稳定性。&lt;/strong&gt; 第 1-4 层是必要的，但只是入场券，不是 demo agent 和能扛住周一早高峰的 agent 之间的差距来源。如果你这周开始上 Harness Engineering，倒着建。&lt;/p&gt;
&lt;p&gt;这篇是 6 层框架的实施配套文。框架本身已经被多个团队清晰阐述过，我会简短重述，然后把剩余篇幅花在没人讲的部分：哪些层真的重要、按什么顺序投、ROI 各是多少。&lt;/p&gt;
&lt;h2 id="简述六层框架"&gt;简述六层框架&lt;a href="#%e7%ae%80%e8%bf%b0%e5%85%ad%e5%b1%82%e6%a1%86%e6%9e%b6" class="anchor" aria-hidden="true"&gt;&lt;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"&gt;
 &lt;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"&gt;&lt;/path&gt;
 &lt;line x1="8" y1="12" x2="16" y2="12"&gt;&lt;/line&gt;
 &lt;/svg&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;pre class="mermaid"&gt;flowchart TD
 L1["第 1 层 Context&lt;br/&gt;模型看到什么"] --&gt; L2["第 2 层 Tools&lt;br/&gt;模型能做什么"]
 L2 --&gt; L3["第 3 层 Execution&lt;br/&gt;步骤怎么串起来"]
 L3 --&gt; L4["第 4 层 Memory &amp; State&lt;br/&gt;跨轮次记什么"]
 L4 --&gt; L5["第 5 层 Eval &amp; Observability&lt;br/&gt;到底有没有做对？"]
 L5 --&gt; L6["第 6 层 Constraints &amp; Recovery&lt;br/&gt;出错了怎么办"]

 style L1 fill:#1e40af,color:#fff
 style L2 fill:#1e40af,color:#fff
 style L3 fill:#1e40af,color:#fff
 style L4 fill:#1e40af,color:#fff
 style L5 fill:#7c3aed,color:#fff
 style L6 fill:#059669,color:#fff
&lt;/pre&gt;&lt;p&gt;作为分类标签，框架是对的。&lt;strong&gt;作为施工顺序，框架是危险的。&lt;/strong&gt; 从上到下读会让人理解为「先做 Context 再做 Tools 再做 Execution 再做 Memory，最后加 Eval 和 Recovery」。这正是我看到的大多数团队的做法，也正是大多数团队卡在 60-70% 成功率好几个月的原因。&lt;/p&gt;</description></item></channel></rss>