1. The Engine: Closing The Loop (闭环引擎)
Agent 开发的根本原则:不要让 Agent 仅仅输出 代码,必须赋予它执行 和自我修正 的权利。没有闭环的 Agent 只是玩具。
1. 对话与设计(Prompting)
→
2. 编织代码(Weaving)
→
3. 自动验证(Gate Check)
→
4. 读取 StdErr(Diagnosis)
↺
WHY IT MATTERS
Peter 强调,AI 经常写出看起来完美但运行时崩溃的代码(幻觉)。通过配置 Agent 运行本地测试(Local CI)并读取错误日志,AI 能够像人类工程师一样进行 "Trial and Error"(试错),直到 Tests Pass。这把 "Human in the loop" 变成了 "Human on the loop"(人类在环上监督,而非在环中干活)。
2. Advanced Tactics (进阶技法)
遇到难以复现的 Bug?不要手动打断点。
操作: 命令 Agent 编写一个临时的 CLI 工具,专门用于触发特定的边缘情况(Edge Case)。
User: "写一个 CLI 工具,每 100ms 调用一次该网络接口,并对比 TypeScript 版和 Swift 版的返回结果差异。"
Agent: [Writes debug-cli.ts] -> [Runs] -> "Found race condition in line 42."
WHY
AI 编写一次性脚本的成本极低(几秒钟)。利用这一优势,将所有的手动调试过程(点击、等待、观察)自动化。
现在的代码库不仅是给人类读的,更是给 Agent 读的。
一致性命名: 严格遵守文件夹结构,Agent 依赖路径来推断功能。
插件化设计: Peter 将核心改为插件架构,便于 AI 独立编写和测试小模块,互不干扰。
参考范例: 保留优秀的示例代码作为 "Golden Sample"。
WHY
Agent 擅长模仿(Pattern Matching)。如果你告诉它“参考 `/plugins/weather` 的写法实现 `/plugins/spotify`”,只要架构清晰,它能完美复刻风格。
3. The Starcraft Mode (多线程并发管理)
🐙
像指挥官一样思考,而非打字员
Peter 形容现在的状态像玩《星际争霸》。因为 Agent 生成代码需要时间(数分钟),为了保持心流(Flow),必须并行处理 。
🖥️ Terminal 1: Agent A 正在重构数据库层(预计 10 分钟)。
🖥️ Terminal 2: Agent B 正在编写新的 CLI 工具(预计 2 分钟)。
🖥️ Terminal 3: Agent C 正在运行 "Full Gate" 测试。
🧠 Human: 正在审查 Agent A 的设计思路,同时构思 Agent B 的下一步 Prompt。
WHY & CHALLENGE
这极大地提高了产出(一天 600 commits),但也极大地增加了认知负荷 。这需要开发者具备极强的 Context Switching(上下文切换)能力和系统架构能力。
4. Memory & Ensouling (记忆与赋灵)
Claudebot 之所以感觉像“人”,是因为独特的初始化和记忆机制。
🐣 The Bootstrap Ritual (诞生仪式)
Agent 第一次启动时,会读取一个特殊的 bootstrap.md。这不仅是配置,更是“人设植入”。它定义了 Agent 的名字、核心价值观(如:幽默、保护用户隐私)。初始化完成后,该文件被删除,转化为长期记忆。
🧠 Dynamic Markdown Memory
放弃 SQL 数据库,使用 Markdown 文件作为大脑:
User.md: 用户画像(喜好、作息)。
Soul.md: Agent 自我进化记录。
WHY
LLM 天生亲和 Markdown。让 Agent 自己读写这两个文件,比让它去操作 SQL 数据库更灵活、更不容易出错,且能保留“模糊的上下文”而非僵硬的数据。
5. Tooling Philosophy (工具哲学)
特性
MCP (Model Context Protocol)
CLI (Command Line Interface)
上下文消耗
高 (需预加载所有 Schema)
极低 (按需调用)
数据处理
返回完整 JSON (Pollution)
精准 (使用 grep/jq 过滤)
Agent 亲和度
中等
极高 (LLM 训练数据含大量 Bash)
PETER'S TAKE
Peter 认为目前 MCP 存在“上下文污染”问题。他倾向于编写轻量级的 CLI 工具(如 `home-cli`, `weather-cli`),让 Agent 在终端中像 Linux 高手一样通过管道(Pipe)组合命令,只获取它关心的那一行数据。
Generated based on deep analysis of The Pragmatic Engineer Podcast.
核心思想:Code Review 已死,Prompt Request 当立;从编写代码转向编织系统。