分享一个自用的 全自动开发 多 Agent 编排脚本 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In

节点赞助商

ipwx
0.01D

分享一个自用的 全自动开发 多 Agent 编排脚本

  •  
  •   ipwx Mar 31 835 views

    https://github.com/haowen-xu/autodev

    目前适配了 ChatGPT (codex),计划适配 Claude Code 。

    这是什么?

    一句话:你写一个需求文档,它帮你把代码开发完。

    autodev 是一个多智能体协作脚本。你把功能需求写成一个 Markdown 文件,交给它,它会自动:

    1. 规划:把你的需求拆解成一步一步可执行的开发任务
    2. 开发:dev agent 照着任务清单写代码
    3. 审查:review agent 独立验收,检查代码有没有按要求做到位
    4. 仲裁:如果 dev 和 review 反复对不上,仲裁者出面调解
    5. 合并:验收通过后,自动提交、合并、推送

    核心机制

    Plan → Dev → Review 闭环

    你的需求文档 (xxx.md) ↓ [plan agent] ← 把需求细化为可执行步骤 ↓ ┌─────────────────────────────────────┐ │ [dev agent] 按清单开发 │ │ (disagreement → arbitrator) │ │ [review agent] 独立审查 │ └─────────────────────────────────────┘ ↓ 审查通过 [merge] 提交 / 合并 / 推送 

    dev 和 review 各自维护一份 todo 清单(内容一一对应),互不干扰地推进。

    • dev 认为"开发完成"→ 交给 review 验收
    • review 认为"没做完"→ 打回给 dev 继续
    • 连续两次都对不上 → 仲裁者出场

    仲裁者( Arbitrator )

    仲裁者是最终裁判。它会:

    • 阅读 dev 和 review 双方的清单和分歧
    • 要么改写双方的清单,让 dev 重新开发
    • 要么判定开发已完成,跳过争议直接进入合并

    仲裁最多进行 5 轮,防止死循环。


    快速上手

    1. 安装

    pip install git+https://github.com/haowen-xu/autodev.git 

    2. 准备需求文档

    在项目里写一个 Markdown 文件,描述你要开发什么功能。格式可以参考 docs/plans/ 目录下的示例。

    前提:你的代码库需要有 docs/ 文档体系和 AGENTS.md 文件,用来给各个 agent 提供项目上下文。可以参考本项目的写法。

    3. 运行

    # 基本用法 autodev -P docs/my-feature.md # 开独立 worktree (推荐:不影响主干,可并行开多个功能) autodev -P docs/my-feature.md -T # worktree 完成后自动合并回主分支 autodev -P docs/my-feature.md -T --merge 

    并行开发多个功能

    -T 参数会在同一个代码库开一个独立的 git worktree,这意味着:

    • 不同功能互不干扰
    • 可以同时跑多个 autodev 进程,并行开发不同 feature
    • 每个 worktree 完成后加 --merge 自动合并回主干
    No Comments Yet
    About     Help     Advertise     Blog     API     FAQ     Solana     5616 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 08:42 PVG 16:42 LAX 01:42 JFK 04:42
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86