把 AI 编码助手变成“多线程”工作流:Async Code Agent 完整实践指南
用一杯咖啡的时间,把原本需要排队等待的代码任务,变成批量并行处理。
为什么要让 AI 同时做很多事?
过去,我们让 Claude Code 这样的 AI 助手一次只改一个文件、跑一次测试、提一条 PR。
现在,Async Code Agent 把每次「等待」变成「并行」:
-
同时让 3 个不同模型的 agent 给同一段代码做审查; -
在同一仓库里并行跑 5 条重构任务,互不干扰; -
最终把通过测试的任务一键生成 PR,失败的直接回滚。
一句话:把时间花在「决策」而不是「排队」上。
Async Code Agent 是什么?
它是一个开源的 任务管理系统,把「AI 驱动的编码任务」封装成可并行的容器任务,并通过一个类 Codex 的网页界面管理。
图 1:任务列表页,每个卡片即一次并行任务
图 2:不同 agent 产出的 diff 可以并排查看
核心能力速查表
能力 | 用日常语言解释 | 实际场景举例 |
---|---|---|
多 Agent 并行 | 同时跑多个 AI 模型 | 让 Claude Code 与 GPT-4 一起重构同一函数,看谁更简洁 |
容器级隔离 | 每条任务都在独立容器里,互不干扰 | 一条任务把依赖升级崩了,其他任务继续跑 |
Git 全流程 | 自动克隆、提交、推送、开 PR | 任务跑完直接发 PR,省去手工操作 |
结果对比 | 网页端并排查看 diff、测试报告 | 一眼就能看出哪份代码通过了 CI |
一键自托管 | Docker Compose 一条命令即可本地或服务器部署 | 公司内网也能用,数据不离开本地 |
入门:十分钟跑起来
1. 准备环境
-
已安装 Docker 与 Docker Compose -
一个 Anthropic API Key(Claude 用) -
(可选)一个 Supabase 项目,用来持久化数据
2. 一键启动
# 克隆代码
git clone <repo-url>
cd async-code
# 复制环境模板
cp server/.env.example server/.env
# 编辑 server/.env,把 ANTHROPIC_API_KEY 填进去
# 如果用 Supabase,再把 SUPABASE_URL、SUPABASE_ANON_KEY、SUPABASE_SERVICE_ROLE_KEY 填进去
# 构建并启动
docker-compose up --build -d
启动成功后:
-
前端:http://localhost:3000 -
后端 API:http://localhost:5000
3. 可选:Supabase 建表
进入 Supabase 的 SQL Editor,粘贴并执行 db/init_supabase.sql
即可。
使用流程(Step by Step)
Step 1 设置 GitHub Token
首次打开网页,会提示输入 GitHub Personal Access Token,权限只要 repo
即可。
Step 2 指定仓库
在「Repository」输入框里填:
owner/repo-name
branch: main
Step 3 选择 Agent
下拉框里默认有 claude-code
,后续你可以自己扩展别的模型。
Step 4 提交任务
在「Task」文本框里用自然语言描述需求,例如:
把 utils.py 里所有 print 语句改成 logging,并补全单元测试。
点击「Run」,系统会:
-
克隆仓库到独立容器; -
启动 agent 执行指令; -
跑测试; -
把结果回传到前端。
Step 5 对比 & 合并
-
左侧树形目录浏览文件 diff; -
点击「Create PR」即可把通过测试的变更推送到 GitHub 并打开 PR。
FAQ:你可能会问的问题
Q1:没有 GPU 能跑吗?
A:可以。Agent 调用的是云端模型(如 Claude),本地只负责调度和容器,资源消耗极低。
Q2:公司内网无法访问 GitHub 怎么办?
A:把仓库先镜像到内网 GitLab,再把 origin
改成内网地址即可。
Q3:怎样增加新模型?
A:在 server/agents/
新建 Python 文件,实现 run(task_context)
接口,然后在 agents.yaml
注册即可。
Q4:任务失败了如何调试?
A:网页上直接点开任务卡片底部「Logs」即可查看容器 stdout/stderr,和在本地 docker logs
看到的内容完全一致。
开发模式:如何改前端或后端
步骤 | 前端(Next.js) | 后端(Flask) |
---|---|---|
1 | cd async-code-web && npm install |
cd server && pip install -r requirements.txt |
2 | npm run dev 监听 3000 端口 |
python main.py 监听 5000 端口 |
3 | 热更新自动刷新浏览器 | 修改代码后 Flask 自动 reload |
生产部署:最小可用清单
-
在 server/.env
把FLASK_ENV=production
与FLASK_DEBUG=False
-
导出环境变量: export NODE_ENV=production
-
构建并启动: docker-compose up --build -d
-
日志监控: docker-compose logs -f
架构速描(面向技术决策者)
-
前端:Next.js + TypeScript + TailwindCSS,CSR 为主,接口走 REST。 -
后端:Python Flask,负责把任务翻译成 Docker API 调用。 -
任务隔离:每任务一个容器,镜像内预装语言运行时与依赖。 -
数据持久化:可选 Supabase Postgres 表 tasks
,runs
,outputs
。 -
扩展点: -
新模型 → 新增 agent 模块; -
新仓库类型 → 新增 GitProvider 类; -
新通知渠道 → 新增 Notifier 类。
-
一句话总结
Async Code Agent 把「AI 帮我写代码」这件事,从单线程脚本升级成可扩展、可对比、可回滚的流水线。
把重复劳动留给机器,把决策权留给你。