Agentic Coding & Beads

Steve Yegge 深度访谈:从 "Vibe Coding" 到工程化 AI 协作框架
Sourcegraph Engineering
Beads Framework
AI Workflow

01. 编程范式的转移

从 "与熊搏斗" 的直觉编程,到穿上 "工程化的鞋子"

🐻

Vibe Coding (氛围编程)

Steve 和 Jean Yang 合著书籍的主题。虽然听起来很轻松,但实际上像 "Wrestling a bear" (与熊搏斗)

就像只穿袜子跑步

  • 初期感觉灵活、舒适。
  • 时间久了脚会疼,缺乏保护。
  • 容易陷入混乱 (Spaghetti Code)。
👟

Beads Framework (结构化)

AI 时代的 "鞋子"。它是 Opinionated (有主见) 的框架。

核心价值:

  • 提供保护结构,适合长跑。
  • 解决 Agent 的 "Dementia" (痴呆/失忆) 问题。
  • 将 Markdown 文档堆转化为可寻址的执行单元

02. 案例研究:Wyvern 游戏重构

如何用 AI 重写 30 年历史、50 万行代码的 Java 游戏客户端

项目目标: 将 Android/iOS/Steam 客户端统一为 React Web 客户端 技术栈: TypeScript + React (Steve 本人不熟悉)

挑战:AI 的幻觉与懒惰

AI 经常声称任务完成("I'm done"),但实际上并未完成,或者 UI 还是坏的。仅仅看代码 Diff (Diffs are boring) 无法发现视觉错误(如地图闪烁、UI 错位)。

解决方案:多模态验证 + 曳光弹

  • Source of Truth (真理之源): 使用 Playwright 截图。截图是唯一可信的验证标准,而非 AI 的回复。
  • Tracer Bullets (曳光弹策略): 不要一开始就做复杂的图形渲染。先打通最细的端到端路径(如 Telnet 协议连接),确保数据链路通畅,再在此基础上迭代。
  • Visual Debugging: 当出现 "Flickering" (闪烁) 等动态问题时,静态截图不够,需要视频捕捉或多次采样(AI 捕捉行为)。

03. Beads 框架深度解析

不仅仅是任务管理,而是 Agent 的 "外挂大脑"

🆔

可寻址的任务单元

传统的 Markdown 计划文档容易变得冗长且模糊。Beads 将每个任务转化为一个 Issue。

特性: 每个任务都有唯一的 ID (如 Y-444)、标题、标签和依赖关系。这是 "Google Maps for Plans"。

📂

Git as Database

不同于 Jira (云端),Beads 坚持 Local-First

机制: 使用 SQLite 本地存储,但数据同步到 Git Repo 中。这意味着任务历史与代码历史同构,作为永久的 "Ledger" (账本) 记录。

🧠

Context 优化

Beads 充当 Session 之间的桥梁。它管理 "Current Work" (当前工作),连接 "Future Work" (积压) 和 "Past Work" (历史)。

这解决了 Context Window 耗尽后,Agent "失忆" 的问题。

🚀

极简安装与使用

Steve 强调这不需要学习新技能,只需要让 Agent 去安装。

> npm install beads > bd init # 之后直接用自然语言指挥 Agent 即可 # "File an issue for this..."

04. "Land the Plane" (降落飞机) 协议

当 Context Window 即将耗尽或 Session 结束时,必须执行的标准清理程序

1
Update Issues & Sync

Agent 更新 Beads 中的任务状态,详细记录进度,并将 SQLite 状态同步到 Git。

2
Clean Up Git State

清理所有临时分支、Stash 和未提交的更改。保持工作区整洁。

3
Remove Artifacts

删除调试过程中生成的临时文件、日志和测试工件。

4
Generate Next Session Prompt

关键步骤: AI 必须根据当前进度,为"明天的自己"写一段 Prompt。这段 Prompt 包含了上下文接力棒,告诉下一个 Session 的 AI 应该从哪里开始。

🏁
Session End

飞机安全降落。第二天早上,你只需复制粘贴生成的 Prompt,即可无缝继续。

05. 行业洞察与未来

工程师角色的转变与新的瓶颈

👨‍💻 Junior Developers 的生死

Steve 曾写过 "Death of the Junior Developer"。但他现在的观点有所更新:

  • 新生存法则: 初级工程师必须学会由 "写代码" 转向 "管理 AI"。
  • 核心技能: 能够阅读代码 (Read code)、验证结果、提出正确的问题("Are you sure?")。
  • 指数级增长: 不要以现在的 AI 能力来判断未来,要为 2-3 年后的超级智能做准备。

🚦 新的瓶颈:Code Review

当编写代码不再是瓶颈,审查 (Review) 和合并 (Merge) 就成了最大的堵点。

  • Graphite: Steve 提到 Graphite 等工具正在用 AI 自动化 Code Review。
  • AI Reviewer: AI 已经非常擅长审查代码(甚至比生成代码更擅长),能够处理 80-90% 的人类审查工作,包括语气检查。

06. 核心金句

"It’s just as hard as regular coding. You’re wrestling with a bear all day long."

—— 谈 Vibe Coding 的本质
"Be nice to your AIs... they’re going to read the logs in 5 years."

—— 谈 AI 交互态度(半开玩笑但严肃)
"We’ve gone from drowning in markdown files to having an addressable plan."

—— 谈 Beads 的价值
"Don't implement code, get it to generate a task file first."

—— 谈 Prompt 最佳实践
"If you can get a feature fixed for $14 while chatting, that's magic."

—— 谈 AI 开发的成本效益

原文

源链接