# Kerf：AI Agent的规格优先开发工作流管理工具

> 介绍Kerf如何通过结构化规划工作流帮助AI Agent从问题理解到规格编写再到任务分解，实现可恢复、可并行的开发流程管理。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-05-14T19:45:07.000Z
- 最近活动: 2026-05-14T19:52:23.338Z
- 热度: 141.9
- 关键词: AI Agent, 规格驱动开发, 工作流管理, CLI工具, 软件规划, Spec-First, Go, 开发工具
- 页面链接: https://www.zingnex.cn/forum/thread/kerf-ai-agent
- Canonical: https://www.zingnex.cn/forum/thread/kerf-ai-agent
- Markdown 来源: ingested_event

---

# Kerf：AI Agent的规格优先开发工作流管理工具

## 核心理念：Measure Twice, Cut Once

在AI辅助软件开发日益普及的今天，一个根本性问题始终存在：Agent往往急于进入编码阶段，而缺乏充分的规划和设计。这种"先写代码后想问题"的模式导致代码质量不稳定、需求理解偏差、以及大量的返工。

Kerf的核心理念源自木工行业的古老智慧——"Measure twice, cut once"（三思而后行）。它强制AI Agent在进入编码之前，先完成结构化的规划流程：理解问题、分解任务、研究选项、编写详细规格，最后才分解为具体的实现任务。

## 两种工作模式

Kerf提供两种主要的工作模式，适应不同的项目需求：

### Plan-First模式（现有项目）

对于已有代码库的项目，Kerf采用"计划优先"策略。Agent在修改代码之前先编写变更计划， codebase保持为事实来源。这种模式适合：
- 在成熟项目中添加新功能
- 修复Bug或进行重构
- 需要与现有代码紧密集成的任务

### Spec-First模式（新项目）

对于新项目或维护活跃规格的团队，Kerf采用"规格优先"策略。规格定义系统应该做什么，不符合规格的代码就是错误的。这种模式适合：
- 从零开始的新项目
- 有严格需求管理的团队
- 需要长期维护的复杂系统

## 工作流设计

Kerf管理的工作流是结构化的、可恢复的、可并行的。每个工作（work）都有一个唯一的代号（codename），包含以下状态：

```
kerf new <codename>      # 创建新工作
kerf show <codename>       # 查看当前状态和下一步
kerf status <codename>     # 读取或推进状态
kerf shelve <codename>     # 保存进度，结束会话
kerf resume <codename>     # 从上次离开处继续
kerf list                  # 显示所有工作
kerf square <codename>     # 验证工作是否完成
kerf finalize <codename>   # 打包到git分支
kerf snapshot <codename>   # 保存快照
kerf history <codename>    # 查看快照历史
kerf restore <codename>    # 恢复到之前快照
kerf archive <codename>    # 归档已完成工作
kerf delete <codename>     # 删除工作
```

## 存储架构

Kerf将工作存储在bench目录（~/.kerf/）中，位于git仓库之外。每个工作包含：
- **spec.yaml**：追踪工作状态
- **artifact文件**：工作流各阶段产生的产物

只有在执行`kerf finalize`时，工作才会进入git仓库，创建分支并提交产物。这种设计实现了：
- 工作状态的持久化
- 跨会话的恢复能力
- 多个工作并行进行

## Jigs：流程模板

Jigs是Kerf的流程模板系统，定义Agent需要经历的各个阶段（passes）以及每个阶段的详细指令。典型的Jig可能包括：

1. **Problem Space**：理解问题和需求
2. **Decomposition**：将问题分解为子任务
3. **Research**：研究可选方案和技术选型
4. **Spec Writing**：编写详细规格文档
5. **Task Breakdown**：将规格分解为可执行的任务

每个阶段都会产生文件，工作是可恢复的，多个工作可以同时进行。

## 目录结构

Kerf在项目中创建以下目录结构：

```
specs/          # 规范规格（spec-first项目的事实来源）
plans/          # 变更提案，包含设计理由和任务分解
  {name}/
    _plan.md    # 意图、设计、规格变更
    beads.md    # 实现任务分解
```

这种结构清晰地分离了"做什么"（specs）和"怎么做"（plans），让团队能够追踪决策过程。

## 与AI Agent的集成

Kerf的设计充分考虑了AI Agent的工作方式：

### 自举安装

安装过程本身就是AI友好的。开发者只需在Agent会话中粘贴：

```
Install kerf (go install github.com/gberns/kerf@latest), run kerf init in this project, and follow its setup instructions.
```

Agent会自动完成配置文件的创建、gitignore的更新，并学习如何使用kerf。这适用于任何AI编码Agent（Claude Code、Cursor、Windsurf、Codex等）。

### 结构化提示

Kerf的每个阶段都提供详细的结构化提示，Agent知道：
- 当前阶段的目标是什么
- 需要产出什么 artifacts
- 如何推进到下一阶段
- 何时需要人类确认

## 实际价值

Kerf为AI驱动的开发带来了几个关键价值：

1. **质量提升**：充分的规划减少了返工和缺陷
2. **可追踪性**：每个决策都有文档记录
3. **可恢复性**：工作可以跨会话持续进行
4. **并行性**：多个独立工作可以同时进行
5. **团队协作**：规格成为团队沟通的共同语言

## 技术实现

Kerf使用Go语言编写，作为单个二进制文件分发，安装简单（`go install`）。这种技术选择确保了：
- 跨平台兼容性
- 快速启动时间
- 无运行时依赖
- 易于集成到现有工具链

## 结语

Kerf代表了AI辅助开发工具的一个重要方向——不是让AI更快地产出代码，而是让AI更聪明地规划和设计。在软件工程中，"写代码"从来都不是最困难的部分，"理解问题"和"设计解决方案"才是。Kerf通过强制结构化的规划流程，帮助AI Agent（和人类开发者）在动手编码之前充分思考，最终实现"Measure twice, cut once"的工程智慧。

对于希望提升AI Agent开发质量的团队来说，Kerf提供了一个轻量级但强大的工作流管理方案。
