SPEC-KIT简介+结合CODEX使用

spec-kit

1. 背景 & 核心理念

What & Why

  • 传统开发中,代码往往是「源真理(source of truth)」,而需求/规格/设计文档仅为辅助。
  • 在 SDD 中,流程被反转:规格为主,代码为“实现规格”的表达。
  • 规格必须具备“可执行性”——足够清晰、完整、无歧义,以致于能够“生成”可工作的系统。
  • 开发流程由 “规格 → 实施计划 → 任务 → 代码” 构成,而不仅是“先写代码再补文档”。 oai_citation:3‡The GitHub Blog

主要流程阶段

以下是关键阶段,每个阶段有其目的、关键活动、产出。

阶段名称目的关键活动产出
0Constitution建立项目的治理原则/开发指导方针定义项目原则(代码风格、测试标准、架构约束等)constitution.md
1Specify定义“我要做什么”、为什么做、范畴是什么明确目标、用户、范围、成功标准、约束条件spec.md
2Plan在“做什么”明确之后,定义“我怎么做”技术栈选择、架构设计、数据模型、接口契约plan.md (+子文档)
3Tasks将计划转化为可执行、分配的任务清单将 plan 中模块拆分、定义任务、责任人、完成条件tasks.md
4Implement执行任务,实现代码、测试、发布编写代码、测试、集成、部署完整系统/功能 + 测试 + 文档

附加支持阶段(可选):

  • Clarify:在规格阶段,有未澄清之处 (“NEEDS CLARIFICATION”) 时,进行澄清。
  • Analyze:在 plan/tasks 等阶段,进行交叉文档一致性/覆盖性检查。
  • Checklist:生成自定义质量检查清单,例如“所有用户故事都有测试”“接口定义包含错误代码”等。


2.安装+codex结合

Install Specify

## 方法1
### 安装specify-cli
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git

### init
specify init <PROJECT_NAME>  # --here , 选择codex,sh


## 方法2: 一次性init
uvx --from git+https://github.com/github/spec-kit.git specify init <PROJECT_NAME>

快捷命令: uvx --from git+https://github.com/github/spec-kit.git specify init <project_name> --ai codex --script sh

init后目录结构

.
├── .codex
│   └── prompts
│       ├── speckit.analyze.md
│       ├── speckit.checklist.md
│       ├── speckit.clarify.md
│       ├── speckit.constitution.md
│       ├── speckit.implement.md
│       ├── speckit.plan.md
│       ├── speckit.specify.md
│       └── speckit.tasks.md
└── .specify
    ├── memory
    │   └── constitution.md
    ├── scripts
    │   └── bash
    │       ├── check-prerequisites.sh
    │       ├── common.sh
    │       ├── create-new-feature.sh
    │       ├── setup-plan.sh
    │       └── update-agent-context.sh
    └── templates
        ├── agent-file-template.md
        ├── checklist-template.md
        ├── plan-template.md
        ├── spec-template.md
        └── tasks-template.md

codex中使用speckit.*命令

与claude-code不同,在codex中无法直接使用speckit.*命令,但是可以通过如下mention speckit.*.md来使用。
在这里插入图片描述

  • codex命令:.codex/prompts/speckit.constitution.md XXXX

spec-driven



3.案例:评论模块(“用户评论与回复”)

假设我们要为一个在线产品平台新增「用户评论与回复」功能。


阶段 0:Constitution(治理/约定阶段)

目的

建立项目层面的原则、团队约定、技术边界,为后续所有规格、计划、任务提供指导。

内容(示例)

  • 项目原则
    • 所有新功能必须通过规格驱动(Spec First)——规格文档为主,代码为实现。
    • 功能必须支持国际化 (i18n) 与移动友好。
    • 评论数据必须符合隐私与合规要求(例如不得存储敏感个人信息)。
    • 服务必须具备可扩展性,设计时考虑高并发评论场景。
  • 技术约定
    • 后端主要使用 Java + Spring Boot,数据库使用 PostgreSQL。
    • API 响应时间控制在 300 ms 内。
    • 所有新接口必须伴随自动化测试(单元+集成)且覆盖率 ≥ 80%。
  • 文档约定
    • 每个功能须有 spec.md(规格)、plan.md(计划)、tasks.md(任务清单)三个文档。
    • 文档存放路径遵循 specs/feature‑xxx/ 约定。

产出

constitution.md 文件(或在项目 Wiki 中一个专页)记录上述原则与约定。


阶段 1:Specify(规格阶段)

目的

明确“我们要做什么”、为什么做、成功标准是什么、范围和边界是什么。避免模糊需求。

内容(示例)

背景

平台现有产品展示模块中尚未支持用户评论功能。用户希望能够在产品页面发表评论、查看他人的评论并回复。该功能有助于提升社区互动、增加用户黏性。

功能目标
  • 支持用户对某产品发表评论。
  • 支持用户对已有评论进行 一次回复(回复无需再递归多级回复,仅一层)。
  • 评论列表按时间倒序展示(最新在前)。
  • 支持分页加载评论(每页 20 条)。
  • 评论必须经过审核(管理员审批后才能公开显示)。
范围 & 不在范围
  • 在范围:标准用户发表评论、回复、查看;管理员可审核评论。
  • 不在范围:匿名用户发表评论;评论点赞/踩;多层嵌套回复。
成功标准
  • 评论模块上线后,用户评论功能使用率 ≥ 5%/日。
  • 评论列表加载响应时间 ≤ 500ms。
  • 评论发布接口错误率 < 1%。
约束条件
  • 所有评论数据需脱敏存储,用户名以别名显示。
  • 评论服务必须可横向扩展,支持同时 1000 用户并发发表评论。
  • UI 要兼容移动端和桌面端。

产出

spec.md 文档,包含上述背景、目标、功能清单、范畴、成功标准、约束。


阶段 2:Plan(计划阶段)

目的

在明确“做什么”之后,制定“怎么做”:技术选型、模块划分、接口契约、数据模型、风险识别等。

内容(示例)

  • 技术栈:后端 Spring Boot 3 + Hibernate;前端 React 18;数据库 PostgreSQL。
  • 模块划分:
    • 评论服务模块(CommentService)
    • 审核服务模块(ReviewService)
    • API 层(CommentController)
    • 前端评论组件(CommentList、CommentForm、ReplyForm)
  • 数据模型(简要):
    • comments 表:idproduct_iduser_idcontentreply_to_comment_id(nullable)、status(PENDING/APPROVED/REJECTED)、created_atupdated_at
  • 接口契约(示例):
    • POST /api/v1/products/{productId}/comments — 提交评论。请求体 { content: string },返回评论对象或错误。
    • GET /api/v1/products/{productId}/comments?page=1&size=20 — 获取评论列表。返回分页结构 { items: Comment[], total: int, page: int, size: int }
    • POST /api/v1/comments/{commentId}/reply — 回复评论。请求体 { content: string }
  • 风险与非目标:
    • 风险:高并发下评论写入冲突、审核延迟导致用户体验差。
    • 非目标:实时通知其他用户评论被回复、评论多媒体(图片/视频)支持。
  • 性能预算:在并发 1000 条/秒写入情况下,95 percentile 响应时间 < 300ms。
  • 安全/隐私:内容需过滤敏感词;用户账号需先登录后才能评论。

产出

plan.md 文档,包含上述技术架构、模块划分、接口定义、数据结构、风险清单、性能目标等。


阶段 3:Tasks(任务拆解阶段)

目的

将计划拆解成可执行、可分配、可追踪的任务清单。每个任务明确产出、负责人、完成标准。

内容(示例任务清单)

编号任务标题描述负责人完成标准
T‑01建立 comments 数据表在数据库中创建表定义后端表结构正确、迁移脚本通过、字段符合 plan 中定义
T‑02实现提交评论接口POST /api/v1/products/{productId}/comments后端接口调用成功、内容存储、status = PENDING、返回 201
T‑03实现分页查询评论接口GET /api/v1/products/{productId}/comments后端分页接口正常返回,排序正确,测试覆盖
T‑04实现回复评论接口POST /api/v1/comments/{commentId}/reply后端回复成功、reply_to_comment_id 正确设置、返回符合规范
T‑05前端显示评论列表组件React 组件 CommentList前端评论列表显示正确、分页加载、样式符合设计规范
T‑06前端评论提交表单组件React 组件 CommentForm前端表单校验、提交成功后刷新列表、错误提示正确显示
T‑07管理后台评论审核功能审核页面/接口实现后端+前端管理员可查看评论、批准或拒绝
T‑08性能测试与高并发模拟编写负载测试脚本测试模拟 1000 条/秒写入、响应时间 < 300ms、结果报告

产出

tasks.md 文档,列出所有任务、优先级、依赖、负责人、验收标准。


阶段 4:Implement(实施阶段)

目的

依据任务清单,按计划执行:编码、测试、集成、发布。保持与规格/计划的一致性。

内容(示例)

  • 开发过程:按照 T‑01 到 T‑08 顺序或并行执行,完成每项任务。
  • 编写单元测试、集成测试:例如针对提交评论接口、分页查询接口、回复接口都编写测试用例。
  • 前端集成测试:评论提交后立即刷新列表、分页加载正确。
  • 性能测试执行:使用工具(如 JMeter、k6)模拟高并发场景,验证性能预算。
  • 审核功能上线:管理员审核流程测试完成、前后台联动正常。
  • 部署:将新模块部署到测试环境、上线前代码审查、性能监控指标设置。

完成标准

  • 所有任务完成,测试覆盖率 ≥ 80%。
  • 所有接口文档更新。
  • 性能/安全测试无严重缺陷。
  • 功能上线后用户评论使用率达到预期。

后续运维/演进建议

  • 上线后 2 周内监控评论模块数据、用户反馈。
  • 若有新需求(如匿名评论、点赞功能),回归到 Specify 阶段重新规格。
  • 持续更新 spec.mdplan.md 文档作为“活文档”。

<think>我们正在讨论将Claude Code与AI-Assisted-Task-Executor集成的问题。首先需要明确两个组件的定义和功能: Claude Code: 根据上下文,Claude Code应该是指Anthropic公司开发的Claude模型系列中的代码生成能力,类似于OpenAI的Codex,能够根据自然语言描述生成代码。 AI-Assisted-Task-Executor: 这是一个通用术语,指能够自动执行任务的AI代理系统,如AutoGPT、BabyAGI等。它们通常具备任务分解、工具调用、执行和迭代的能力。 集成可行性分析: 1. 功能互补性: - Claude Code作为代码生成引擎,可以成为AI-Assisted-Task-Executor的工具链之一 - 当任务执行器需要完成编程相关子任务时(如"写一个Python脚本来处理数据"),可调用Claude Code生成代码 2. 技术集成方式: - API调用:通过Claude的API接口(如果开放)将代码生成请求集成到任务执行器 - 提示工程:设计特定提示模板,将任务执行器的上下文信息传递给Claude Code - 结果处理:任务执行器捕获Claude Code生成的代码,并送入执行环境运行 3. 工作流示例: ```mermaid graph TB A[AI-Assisted-Task-Executor] -->|分解任务: 需要生成数据处理脚本| B(调用Claude Code) B --> C[生成Python代码] C --> D[执行环境运行代码] D --> E{验证结果} E --成功--> F[继续后续任务] E --失败--> B ``` 4. 优势: - 利用Claude Code在代码生成领域的优势(可能比Codex更擅长某些语言或场景) - 增强任务执行器处理编程类任务的能力 - 通过组合实现更复杂的自动化流程(如自动开发工具链) 5. 挑战: - API可用性:目前Claude的API访问权限限制(需申请) - 错误处理:生成的代码可能存在缺陷,需要强大的验证机制 - 成本控制:频繁调用可能产生高昂费用 实际案例参考: - 类似集成已在Codex+AutoGPT中实现,如用户要求"创建一个网站爬虫",AutoGPT调用Codex生成爬虫脚本后自动执行[^5] - Hugging Face的Transformer Agents已展示多工具调度能力,可集成不同AI模型[^2] 结论:技术可行,但需解决API集成和错误处理问题。推荐使用开源任务执行器框架(如LangChain)进行原型开发。 $$ \text{集成度评分} = \alpha \cdot \frac{\text{API开放度}}{1} + \beta \cdot \frac{\text{错误处理能力}}{10} \quad (\alpha+\beta=1) $$ 当前建议: 1. 优先选择提供开放API的Claude版本 2. 在任务执行器中添加代码验证模块(如单元测试自动生成) 3. 设置使用频率限制控制成本 §§ 相关问题 §§ 1. Claude Code与其他代码生成模型(如Codex)相比有何优势? 2. 如何为AI任务执行器设计安全的代码执行沙箱? 3. 有哪些开源AI任务执行器框架支持自定义工具集成? 4. 如何评估Claude Code生成代码的质量?</think>### Claude Code 与 AI-Assisted-Task-Executor 集成可行性分析 #### 1. **技术基础兼容性** - **Claude Code 定位**: Claude Code 是基于 Anthropic 大模型的代码生成模块,功能类似 OpenAI Codex[^2],可根据自然语言描述生成可执行代码(如 Python/JS 脚本),支持代码补全和函数级生成。 - **AI-Assisted-Task-Executor 特性**: 作为任务执行代理框架,其核心能力是**调度工具链**(如代码生成器、API 等)完成端到端任务[^3]。其架构天然支持集成外部代码生成引擎: ```mermaid graph LR U[用户任务] --> Executor(任务执行器) Executor -->|调用| Claude[Claude Code] Claude -->|生成代码| Executor Executor -->|执行代码| Result[输出结果] ``` #### 2. **集成技术路径** - **API 层对接**(推荐方案): - Claude 提供 HTTP API 接口,任务执行器通过 RESTful 请求发送任务描述(如 `{"prompt": "爬取网站数据保存为CSV"}`) - 接收 Claude 返回的代码后,执行器自动注入运行环境(如 Python 解释器) $$ \text{集成度} \propto \frac{\text{API 响应速度}}{\text{代码复杂度}} $$ - **SDK 深度集成**: 参考 NVIDIA AI-Assisted Annotation Client 的设计模式[^1],可开发专用适配层: ```python # 伪代码示例:执行器调用 Claude 的 SDK from claude_sdk import CodeGenerator def execute_task(task_description): claude = CodeGenerator(api_key="YOUR_KEY") generated_code = claude.generate(task_description) return sandbox.execute(generated_code) # 在安全沙箱运行 ``` #### 3. **关键优势** 1. **任务泛化能力提升**: Claude 的代码生成能力可扩展执行器处理复杂任务的范围(如数据分析、自动化运维)。 2. **动态错误修复**: 当代码执行失败时,执行器可将错误日志反馈给 Claude 请求修正[^3],实现闭环: ```mermaid graph TB 失败执行 --> 错误分析 -->|发送错误信息| Claude --> 修正代码 --> 重新执行 ``` 3. **多语言支持**: Claude 支持 Python/Java/Go 等语言,弥补单一执行器对特定语言的依赖。 #### 4. **潜在挑战与解决方案** | **挑战** | **解决方案** | |-------------------------|----------------------------------| | 代码安全性风险 | 强制沙箱环境运行 + 静态代码扫描 | | API 调用延迟 | 本地缓存高频生成代码片段 | | 长任务上下文限制 | 任务分解 + 分阶段调用 Claude[^3] | | Claude 输出不确定性 | 添加置信度阈值过滤 ($\text{conf} > 0.85$) | #### 5. **典型应用场景** 1. **自动化数据工程**: `用户描述 → 执行器调度 → Claude 生成 ETL 脚本 → 执行器运行 → 输出数据集` 2. **AI 辅助测试**: 执行器请求 Claude 生成单元测试代码,覆盖核心功能模块[^2]。 3. **持续集成流水线**: 将 Claude 集成到 CI/CD 系统,自动修复基础代码错误。 > **结论**:技术可行且具有高实践价值,建议通过 API 优先方案实施。需关注 Anthropic 的 API 权限策略和用量成本。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值