<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Coding on fyvo1d's Blog</title><link>https://fyvo1d.cybercarrot.net/tags/coding/</link><description>Recent content in Coding on fyvo1d's Blog</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Sat, 11 Jul 2026 21:00:00 +0800</lastBuildDate><atom:link href="https://fyvo1d.cybercarrot.net/tags/coding/index.xml" rel="self" type="application/rss+xml"/><item><title>Agent时代的（游戏）编程食用指南</title><link>https://fyvo1d.cybercarrot.net/posts/2026/07/agentic-programming-00/</link><pubDate>Sat, 11 Jul 2026 21:00:00 +0800</pubDate><guid>https://fyvo1d.cybercarrot.net/posts/2026/07/agentic-programming-00/</guid><description>&lt;h2 id="tldr"&gt;TL;DR&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;opus 4.8 &amp;gt; GPT 5.5/opus 4.6 &amp;gt;= GLM 5.2 &amp;gt;= dpskv4pro/gpt5.4mini&lt;/li&gt;
&lt;li&gt;claude code &amp;gt; codex &amp;gt; cursor &amp;raquo;&amp;raquo;&amp;raquo; copilot（好吧其实我主要用cc和codex）&lt;/li&gt;
&lt;li&gt;优质代码 = 先写文档后开发 + 全量review&lt;/li&gt;
&lt;li&gt;完全自动化把需求转为代码的时代还没到&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;写的时候还没出5.6，之后可能会试（大概吧&amp;hellip;&amp;hellip;）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="引子"&gt;引子&lt;/h2&gt;
&lt;p&gt;终于是从做题区毕业了的我开始了实习搬砖生涯，当我在公司第一次打开codex并且输入了我的需求，只用copilot自动补全的我被吓到眩晕瘫坐，那一刻就像看到原子弹爆炸（并没有）&lt;/p&gt;
&lt;p&gt;然而在燃烧了大量token后我发现，很显然我还是比agent稍强一点&lt;/p&gt;
&lt;h2 id="20267的agent能力"&gt;2026/7的agent能力&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;其实跟2026/4没什么区别&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;因为LLM coding能力的快速提升和Agent harness开始流行，今天已经没有人会质疑Agent能不能进入生产环境了，从各个维度上看：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;写代码：在完整的上下文和正确的指引下，可以写出正确且干净的业务代码，并且比大部分初级程序员强&lt;/li&gt;
&lt;li&gt;读代码：比人读快多了，而且几乎没有幻觉&lt;/li&gt;
&lt;li&gt;自动化：搭配Skill/MCP能完成大部分的日常工作&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这样看来貌似程序员确实没什么用了，然而呢&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;以上（尤其是写代码）指的是opus4.8/GPT5.5的能力，差一些的模型很容易写出漏洞百出的代码&lt;/li&gt;
&lt;li&gt;完整的上下文在任何一个软件工程项目中，都不存在&lt;/li&gt;
&lt;li&gt;除非需求一定不变，不可能在一开始就提出正确的指引&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;所以程序员实际上还是能够在AI大人的帮助下发挥一些作用的，包括但不限于记住项目中大量的潜规则，和需求方扯皮，最重要的是你比Fable便宜呀&lt;/p&gt;
&lt;h2 id="agent其实也是条做题区"&gt;Agent其实也是条做题区&lt;/h2&gt;
&lt;p&gt;使用Agent的过程中发现最大的问题就是，LLM作为一个端到端系统，它只关心写出来的东西看起来对不对。Agent看代码对不对无非两个途径——编译有没有错误，测试是不是全绿&lt;/p&gt;
&lt;p&gt;这就引入了两个问题，首先Agent写出来的东西很多时候会有一些隐含的非常不容易被注意到的bug（当然更好更贵的模型现在不那么容易发生），更有甚者会通过改编译流程/测试代码来寻求通过；另一个问题更加致命——目前的Agent几乎没有软件架构设计的概念，如果在完全不规范接口，不设计抽象分层的情况下，代码会极快地膨胀，最后变成人类完全无法维护的屎山&lt;/p&gt;
&lt;p&gt;此外项目中常常有各种各样的潜规则和若干种实现同一个逻辑的方法，如果任其自由，Agent很可能用已经废弃的API或是大量的重复造轮子，生产各种各样的一次性代码和胶水代码，更改这些添加额外的心智负担，而且并不能达到提效的目的&lt;/p&gt;
&lt;h2 id="那怎么办"&gt;那怎么办&lt;/h2&gt;
&lt;p&gt;为了更好的利用Agent，我的工作流大概如下&lt;/p&gt;
&lt;h3 id="潜规则和项目约定"&gt;潜规则和项目约定&lt;/h3&gt;
&lt;p&gt;为了应对项目中已经存在和可能产生的大量潜规则，我们必须在项目中包含一些文档给Agent保存跨会话的约定。（注意这些文件应该进git）&lt;/p&gt;
&lt;p&gt;那当然要使用每家Agent都有的类似AGENT.md的特殊文件了，在codex中是AGENT.md，cc中是CLAUDE.md。注意，为了防止Agent在自己上下文里面塞乱七八糟的内容产生噪声，coding场景使用的Agent应该关闭memory，自己维护一个项目集的记忆。Agent每个会话开始都会自动把文件添加到自己的上下文&lt;/p&gt;
&lt;h4 id="写什么"&gt;写什么&lt;/h4&gt;
&lt;p&gt;这是我目前使用的模板&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# 这是 PROJECT.md 示例模板；如果在实际项目中看到这行文字，应按该项目的真实情况覆写本文件。

# 前序要求

`PROJECT.md` 应使用中文书写，除非命令、路径、代码标识或外部规范必须保留原文。

`PROJECT.md` 不应包含任何不能上传到云端的内容，包括但不限于 token、密钥、凭据、内网地址、敏感本地路径、个人信息、设备信息、客户数据或未公开业务信息。

# 项目结构

描述项目的整体结构，以及每个主要目录、模块或文件负责什么。

只记录后续 agent 理解项目和定位代码时必须知道的信息。不要虚构不存在的目录、模块或职责。

# 规则

记录项目中必须遵守的稳定规则。

可以包含编码规则、技术选择、模块边界、运行约定、测试约定、隐含副作用，以及代码中没有明确写出但修改时必须考虑的行为。

只写已经存在或已经确定的规则。不要把猜测、临时方案或尚未落地的设计写进来。

# 更新规则

修改代码后必须实时检查并更新 `PROJECT.md`，但只记录后续 agent 必须知道的稳定信息。

不要把设计文档、临时讨论、实现过程、一次性排查记录或过长背景写进来。

更新应保持最小化：新增必要信息，删除过期信息，避免重复描述代码本身已经清楚表达的内容。
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;其实主要就三点：把潜规则写里面，每次修改同步更新，其他内容一律不进。你会发现这个文件很简单，几乎没有任何开发相关的内容，别急，还有第二关：&lt;/p&gt;</description></item></channel></rss>