Aura 实战指南:用 Planner/Worker 双 Agent 架构提升 AI 编码质量
问题:AI 编码工具的「精度瓶颈」
用惯了 Claude Code 或 Cursor 的人都知道,AI 写代码时有两个常见问题:一是上下文一长就开始「跑偏」,改完 A 文件忘了 B 文件的约束;二是直接出代码没有中间规划,改完后一跑就崩,不知道问题出在哪里。
这不是模型能力不够——而是缺少一个工程化的编码流程。今天要介绍的开源工具 Aura,正是一个帮你把 AI 编码流程规范化的 LLM Harness(编码框架)。
Aura 是什么?
Aura(GitHub)是一个开源的 LLM 编码框架,采用 Planner/Worker 双 Agent 架构,让 AI 先写规范说明书(Spec),再按说明书执行编码,每次修改都有差异对比和自动备份。
项目最有趣的特点是自举(Dogfooding)——2026 年 5 月,Aura 用自己处理了超过 11 亿个 DeepSeek Token(约 3 万次 API 请求,花费约 $35),写完了自身大部分代码。
核心架构:Planner → Worker 流程
Planner(规划 Agent)
Planner 读取你的代码库,理解项目结构,然后写一份精确的技术规范(Spec)。这份 Spec 不是伪代码,而是包含具体文件路径、函数签名、接口约定的实施计划。
关键设计:Planner 的输出是结构化规范而非代码——这意味着 Worker 收到的是一份无歧义的目标文档,不会继承 Planner 的推理噪声。你可以通过 Spec 编辑对话框 修改这份规范再交给 Worker。
Worker(执行 Agent)
Worker 按规范执行编码:读取目标文件 → 应用编辑 → 运行验证命令 → 返回结果摘要。
每个文件写入都会弹出 Diff 对比对话框(批准/拒绝/全部批准),每次修改前自动备份到 .aura/backups/。验证失败时 Worker 会恢复重试——不会静默失败。
混合模型配置
Planner 和 Worker 可以用不同的模型,甚至不同的推理深度。例如用 DeepSeek V3 做轻量规划,用 Claude Sonnet 做复杂的代码执行:
Planner: deepseek/deepseek-chat (Thinking: 低) Worker: anthropic/claude-sonnet-4-20250514 (Thinking: 高)
Aura 的特色工具集
结构化编辑:AST 级别的代码修改
普通 AI 编码工具做的是文本替换——通过搜索固定字符串来找到要改的地方,缩进不同就会失败。Aura 提供 edit_symbol 工具,基于 AST(抽象语法树) 找到函数、类或方法的定义并整体替换,不受空格干扰:
支持 Python、JavaScript、TypeScript、Rust 等 30+ 语言的后备启发式解析。
BM25 语义搜索
当对话历史被截断后,AI 经常「忘记」某个函数在哪个文件里。Aura 的 search_codebase 工具维护一个本地 BM25 倒排索引(最多 1500 个文件),支持自然语言查询:
search_codebase(query="支付验证逻辑在哪里")
这比关键字 grep 精准得多——搜索「登录失败处理」也能匹配 auth_error_handler.py。
Sandbox 执行模式
Aura 支持三种执行模式:
| 模式 | 隔离级别 | 适用场景 |
|---|---|---|
| host | 无隔离 | 日常开发 |
| docker | 2GB 内存、2 CPU、只读根文件系统 | 运行不信任的动态工具 |
| wasm | 预留 | 未来 WASM 沙箱 |
Docker 模式会自动降级(如果未安装 Docker),适合运行 AI 生成的临时脚本。
硬件绑定的 API 密钥加密
API 密钥不保存在配置文件中。优先读取环境变量(DEEPSEEK_API_KEY 等),否则加密存储到 ~/.config/Aura/keys.json,使用 Fernet 对称加密 + 机器特征(MAC 地址 + 用户名)派生密钥,文件权限设为 600。
快速上手
安装
git clone https://github.com/CarpseDeam/Aura-IDE.git cd Aura-IDE pip install -r requirements.txt python aura.py
首次启动会有 5 步引导向导:欢迎 → 工作区 → 安全设置 → API 提供商 → 首次任务。
在实际项目中的工作流
以一个典型的「重构用户登录模块」场景为例:
1. 告诉 Planner 需求:在聊天框输入「把登录模块从 Flask 蓝图迁移到 FastAPI,保持 API 签名兼容」。
2. Planner 分析并写 Spec:Aura 读取当前登录模块的所有文件,输出一份包含文件映射、路由对比表、依赖影响的规范文档。你可以在 Spec 编辑对话框 中调整——比如保留某些中间件不改。
3. Worker 执行编码:按 Spec 逐个文件迁移。每次写文件弹 Diff 对比:你会看到改了什么,每行都标红/绿。点击 Approve All 统一批准,Aura 自动 git commit 并生成提交信息。
4. 验证修复:Worker 运行 pytest,如果有测试失败,自动回退到最近的备份点,调整后重试。这个循环可以跑 3-5 次,直到所有测试通过。
关于 Diff 批准
默认情况下 Aura 要求每次文件写入都要人工批准。如果你信任特定任务(如格式化、重构),可以在设置中开启 Auto-Approve。但建议至少第一次用 Aura 时保持默认——它的 Diff 对话框比盲信 AI 更让人放心。
适用场景
- 重构复杂代码:规划 Agent 先分析依赖关系,执行 Agent 再动手,避免”改了 A 文件炸了 B 文件”
- 多文件功能开发:Spec 文档约束了跨文件改动的边界,Worker 不会「自由发挥」
- 教学/团队协作:Spec 本身就是一段可审查的实施计划,比直接看代码 Diff 更容易理解改动意图
- 成本敏感场景:Planner 用低成本的 DeepSeek V3,Worker 用 Claude Sonnet——在 $35 内完成 11 亿 Token 的自举开发就是最好的可参考案例
局限性
- 桌面 GUI 应用(Python + PySide6),对无头服务器环境不友好
- 两份推理(Planner + Worker)消耗更多 Token,简单任务直接用 Single 模式
- 项目较新(当前 10 Stars),社区支持有限
和其他工具对比
| 对比项 | Claude Code | Codex CLI | Aura |
|---|---|---|---|
| 架构 | 单 Agent | 单 Agent | Planner/Worker |
| Diff 审批 | 部分支持 | 无 | 每次写入强制 |
| 多提供商 | ❌(只 Anthropic) | ❌(只 OpenAI) | ✅ 5+ 提供商 |
| AST 编辑 | ❌ | ❌ | ✅ 支持 |
| 沙箱执行 | ❌ | ❌ | ✅ Docker/预留 WASM |
| 自托管 | ❌ | ❌ | ✅ GitHub 克隆即用 |
| 会话成本追踪 | 无 | 无 | ✅ 实时 Token + 美元计费 |