RA.Aid — 自主软件开发助手
通过研究、规划与实施的三个阶段流程,自主完成多步骤软件开发任务。
- Star 数
- ★ 2.2k
- 最近更新
- 1 年前
- License
- Apache-2.0
- 主语言
- Python
- FA 评分
- 52/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 开发者希望自动重构代码库,如将数据库连接改为连接池,可使用 --cowboy-mode 全自动执行。
- 不适合
- 无法接受代理自动执行 shell 命令和修改代码的团队,除非启用人工确认模式
- 不愿配置多个 API 密钥并承担按量计费成本的个人用户
- 源码审查
- 52/100 · 缺口较多
这个 Agent 能做什么,适合哪些场景?
RA.Aid 是一个基于 LangGraph 构建的独立编码智能体,可自主执行研究、规划和实施三阶段流程,处理多步骤开发任务。它能够分析代码库、制定执行计划,并通过 shell 命令和文件操作执行代码更改。支持多种 LLM 提供商(Anthropic、OpenAI、OpenRouter 等),可通过 --use-aider 集成 aider 编辑器,并利用 Tavily API 进行网络研究。其交互式 CLI 提供多种模式,如纯研究模式、人类循环模式、牛仔模式(自动批准 shell 命令)和聊天模式。安装简单(pip install ra-aid),提供丰富的命令行选项以配置模型、日志、成本追踪等。适用于需要自动化完成复杂编码任务的开发者,但需注意其自动执行 shell 命令和代码更改的潜在风险。
RA.Aid 接收用户以 -m 或 --msg-file 提供的任务消息,通过三阶段工作流执行:研究阶段(分析代码库、收集上下文)、规划阶段(将任务分解为可执行步骤)、实施阶段(执行计划,包括运行 shell 命令、使用内置工具或通过 aider 进行文件修改)。它利用 LangGraph 管理智能体状态和工具调用,支持调用 Tavily API 进行自主网络搜索,并在需要时使用 OpenAI o1 等推理模型。它还提供命令行选项,如 --research-only 仅做研究,--cowboy-mode 跳过命令确认,--hil 或 --chat 启用交互式模式,以及 --server 启动带 Web 界面的服务器。生产输出为代码更改、测试运行和详细日志。
- 开发者希望自动重构代码库,如将数据库连接改为连接池,可使用 --cowboy-mode 全自动执行。
- 架构师需要分析现有代码库,了解认证流程或错误处理模式,可使用 --research-only 模式生成解释。
- 维护者需要跨代码库更新废弃 API 调用,可交给 RA.Aid 自动完成修改。
- 开发者想要新功能,但需要交互式指导,可使用 --chat 模式进行对话式合作。
- 团队希望将 RA.Aid 集成到 CI/CD 流程中自动运行测试和代码修改,可配置 --auto-test 和 --cowboy-mode。
如何安装或部署这个 Agent?
安装 Python 3.8+ 和系统依赖(Windows 需安装 ripgrep)。然后使用 pip 安装:pip install ra-aid。在 .env 文件中设置 API 密钥,如 ANTHROPIC_API_KEY 或 OPENAI_API_KEY。可选安装 aider:pip install aider-chat。
如何使用这个 Agent?
基本用法:ra-aid -m "你的任务"。常用参数:--research-only 只研究不实施;--cowboy-mode 自动批准 shell 命令;--hil 或 -H 启用人类循环;--chat 进入聊天模式;--use-aider 集成 aider。示例:ra-aid -m "重构数据库连接代码" --cowboy-mode。
这个 Agent 有哪些优点和局限?
- 三阶段架构(研究-规划-实施)使复杂任务更可靠地执行。
- 支持多种 LLM 提供商,避免锁定单一供应商。
- 可选用 aider 集成,利用其专业代码编辑能力。
- 自动网络研究能力,使用 Tavily API 获取实时信息。
- 提供人类循环和聊天模式,便于用户干预和指导。
- 自动执行 shell 命令和代码更改存在风险,需在版本控制下使用并审查差异。
- 需要多个 API 密钥,可能产生费用。
- 依赖外部服务(Anthropic、OpenAI、Tavily 等),网络中断会影响功能。
- 模型性能差异大,默认 Claude 模型最佳,其他模型可能效果不佳。
- 牛仔模式可能跳过确认提示,需谨慎使用。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| RA.Aid — 自主软件开发助手 当前 | 52 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 2.2k | 1 年前 | Python | OpenAI API · Claude API |
| MAC(Multi-Agent CAD) | 75 · 表现良好 | 命令行工具免费 + 模型费 | ★ 1k | 2 天前 | Python | OpenAI API |
| DeerFlow 超级代理工作台 | 63 · 存在缺口 | 自托管服务免费 + 模型费 | ★ 84k | 今天 | Python | OpenAI API · Claude API |
| Code Puppy | 57 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 869 | 今天 | Python | Codex · OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:README明确警告工具会自动执行shell命令和修改代码,并建议在版本控制仓库中使用,这体现了对用户风险的提示。--cowboy-mode可跳过确认,但默认有审批提示,因此user_confirmation得2分。least_privilege得1分,因为工具需要广泛的shell和文件权限,但未提供细粒度权限控制。data_flow_transparency得1分,因为文档说明了API密钥的使用,但未详细说明数据流向。sensitive_data_handling得1分,因为API密钥通过环境变量管理,但未说明加密或存储方式。dependency_security得1分,因为依赖列表中有固定版本(如fuzzywuzzy==0.18.0),但未提及漏洞扫描。external_effects得2分,因为工具会执行shell命令和修改文件,但文档有警告。rollback得1分,因为建议使用git diff审查,但未提供自动回滚机制。source_attribution得1分,因为作者信息在pyproject.toml中,但发布者未验证。
self_consistency得2分,因为README和pyproject.toml中的描述一致,但存在重复的示例编号(如示例2重复)。dependency_availability得2分,因为依赖列表完整,但未提供锁定文件。failure_messages得1分,因为文档提到错误处理,但未提供具体的错误消息示例。
audience_and_scenarios得2分,因为文档覆盖了多种使用场景(研究、规划、实现)。capability_boundaries得2分,因为明确说明了研究、规划、实现三个阶段。trigger_precision得2分,因为提供了详细的命令行选项。environment_fit得2分,因为支持多种操作系统和提供商。
information_architecture得2分,因为README结构清晰,有目录。install_notes得2分,因为提供了Windows、Unix、macOS的安装说明。naming_stability得1分,因为项目处于Beta阶段,版本可能变化。examples_and_faq得2分,因为提供了多个示例,但缺少FAQ。known_limitations得2分,因为README有风险警告。license得3分,因为提供了完整的Apache-2.0许可证。versioning_changelog得1分,因为release.yml有提取changelog的脚本,但未提供CHANGELOG文件。maintenance_responsibility得1分,因为作者信息明确,但发布者未验证。
output_usability得2分,因为提供了CLI和web界面,输出格式多样。marginal_value得2分,因为提供了自动化开发功能,但依赖外部API。cost_benefit得1分,因为文档提到成本跟踪,但未提供具体成本数据。
claim_traceability得1分,因为README声称功能,但未提供测试证据。cross_source_corroboration得1分,因为只有单一来源。fact_inference_separation得1分,因为文档中区分了事实和推断,但不够明确。
- 工具会自动执行shell命令和修改代码,务必在版本控制仓库中使用,并审查git diff。
- --cowboy-mode会跳过确认提示,可能导致意外操作,请谨慎使用。
- 发布者身份未验证,请自行评估风险。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
v0.30.2 Release v0.30.2
-
v0.30.1 Release v0.30.1
发布说明摘录
[0.30.1] - 2025-05-06 - Switch to CIAYN backend for gemini-2.5-pro-preview-05-06在 GitHub 查看 ↗ -
v0.30.0 Release v0.30.0
发布说明摘录
[0.30.0] - 2025-05-06 Added - Agent Thread Management: Introduced a new system (ra_aid/utils/agent_thread_manager.py) for managing the lifecycle of agent threads, allowing for better control and monitoring of running agents. Includes functions to register, unregister, stop, and check the status of agent threads. - Session Deletion API: Added a DELETE /v1/session/{session_id} endpoint to allow for stopping an active agent session and marking it as "halting" (ra_aid/server/api_v1_sessions.py). …在 GitHub 查看 ↗