<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>代码质量 on Time Friend</title><link>https://time-friend.com/zh/tags/%E4%BB%A3%E7%A0%81%E8%B4%A8%E9%87%8F/</link><description>Recent content in 代码质量 on Time Friend</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Thu, 05 Feb 2026 09:45:00 +0000</lastBuildDate><atom:link href="https://time-friend.com/zh/tags/%E4%BB%A3%E7%A0%81%E8%B4%A8%E9%87%8F/index.xml" rel="self" type="application/rss+xml"/><item><title>Agent 改完的代码, 你敢直接合吗</title><link>https://time-friend.com/zh/archive/claude-code-self-verification/</link><pubDate>Thu, 05 Feb 2026 09:45:00 +0000</pubDate><guid>https://time-friend.com/zh/archive/claude-code-self-verification/</guid><description>&lt;p&gt;Claude 改完代码说了一声&amp;quot;Done&amp;quot;, 你看了一眼觉得差不多, 就合并了。然后周一线上挂了。&lt;/p&gt;
&lt;p&gt;没有可运行的检查, agent 觉得&amp;quot;做完了&amp;quot;和你觉得&amp;quot;做完了&amp;quot;是两码事。最贵的 bug 不是崩溃, 是安安静静返回了错误结果。&lt;/p&gt;
&lt;h2 id="最简单的-prompt-里加一句"&gt;最简单的: prompt 里加一句&lt;/h2&gt;
&lt;p&gt;最轻量的做法, 就是在 prompt 末尾加一句话:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;改完之后跑一下测试, 不通过就继续修.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Claude 改完代码会自己去跑 &lt;code&gt;npm test&lt;/code&gt;, 挂了就回头看代码, 修好了再跑。全过程不需要你介入。&lt;/p&gt;
&lt;p&gt;但这有个问题——它只按照自己理解的标准来验证。如果你的测试覆盖率不够, 或者&amp;quot;完成&amp;quot;的定义比跑通测试更复杂, 就需要更多层。&lt;/p&gt;
&lt;h2 id="分层往上加"&gt;分层往上加&lt;/h2&gt;
&lt;h3 id="第一层-prompt-内检查"&gt;第一层: prompt 内检查&lt;/h3&gt;
&lt;p&gt;就是上面说的, 告诉它跑测试。日常小改动用这个就够了。&lt;/p&gt;
&lt;h3 id="第二层-定义完成标准"&gt;第二层: 定义完成标准&lt;/h3&gt;
&lt;p&gt;在 prompt 里说清楚什么算&amp;quot;做完&amp;quot;:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;每次修改完运行 npm run build &amp;amp;&amp;amp; npm test, 把输出发给我.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这样你至少能看到它跑了什么、输出了什么, 不是它说 done 你就信。&lt;/p&gt;
&lt;h3 id="第三层-不让它糊弄"&gt;第三层: 不让它糊弄&lt;/h3&gt;
&lt;p&gt;加一句关键的:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;修复根因, 不要掩盖错误.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这能防止 agent 用空的 try-catch 或者假的 fallback 数据来敷衍你。&lt;/p&gt;
&lt;h3 id="第四层-goal-条件"&gt;第四层: &lt;code&gt;/goal&lt;/code&gt; 条件&lt;/h3&gt;
&lt;p&gt;把验证条件设成会话级的 goal, 每次修改后自动检查:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/goal 测试全部通过, 构建产物不超过 200KB
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Claude 会在每轮修改后重新检查, 不满足就继续改, 不需要你每次都说&amp;quot;再跑一下测试&amp;quot;。&lt;/p&gt;</description></item></channel></rss>