# ARES
**Repository Path**: dboy019/ares
## Basic Information
- **Project Name**: ARES
- **Description**: 程序员自己的定制化AI Harness编程助手
- **Primary Language**: Python
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 7
- **Forks**: 2
- **Created**: 2026-05-04
- **Last Updated**: 2026-07-17
## Categories & Tags
**Categories**: ai
**Tags**: Harness, AI, Agent
## README
ARES
多智能体协作系统 · 上下文感知记忆
会思考、会规划、会执行、会反思的 Agent 军团
---
## 架构总览

ARES 由 **四大核心模块** 组成,协同完成从需求到交付的全链路:
| 模块 | 职责 |
|------|------|
| **Agents 智能体集群** | 核心执行链路:路由 → 规划 → 执行 |
| **提示词注入** | 知识供给层:Wiki / Rules / Skills / Memory |
| **上下文管理** | 动态状态追踪与跨会话继承 |
| **异步钩子** | 后置反哺循环,不阻塞主流程 |
---
## 一、Agents 智能体集群
系统的核心执行引擎,采用分层路由策略:
```
[ARES]
↙ ↘
简单任务↓ ↓复杂任务
↓ ↓
[Army] ◀═══ [Mastermind] ← 子任务分发(虚线)
↘ ║
[Scout] [Soldier]
```
### ARES — 入口 · 路由 · 人格化输出
系统的唯一入口。接收用户输入后,判断任务复杂度并选择执行路径:
- **简单任务** → 直接派发给 Army(QUICK 路径)
- **复杂任务** → 先交给 Mastermind 拆解规划(SLOW 路径)
负责人格化输出、会话恢复、交互式追问。
### Mastermind — 指挥官 · 规划与协调
只规划不干活。收到复杂任务后:
1. **COLLECT 阶段** — 回忆检索相关 Skill 和知识
2. **PLAN 阶段** — 将大任务拆解为结构化的子任务树(TaskTree)
3. **DISPATCH 阶段** — 通过虚线将子任务分发给 Army 执行
### Army — 工程师 · ReAct 执行循环
核心执行单元,遵循 ReAct(思考→行动→观察)循环:
- 接收来自 ARES 的直接任务或来自 Mastermind 的子任务
- 每一步从 ContextIndex 中查询相关上下文作为指导
- 超出轮数限制时自动创建新 Army 实例继承上下文继续执行
### Scout & Soldier — 子执行者
Army 的两个专用工具 Agent:
| Agent | 职责 |
|-------|------|
| **Scout** | 搜索代码库、读取文件、定位上下文 |
| **Soldier** | 终端命令执行、文件写入、API 调用 |
---
## 二、提示词注入
Agent 的知识供给层,由 Mastermind 回忆检索、Army 注入指导。
| 组件 | 说明 |
|------|------|
| **Wiki** | 维基知识库,项目级长期积累的领域知识 |
| **Rules** | 规则约束,编码规范、安全策略等硬性要求 |
| **Skills** | 技能指南,特定场景的最佳实践模板 |
| **Memory** | 长期记忆,历史对话中的关键经验沉淀 |
**数据流**:Mastermind 在 COLLECT 阶段根据任务意图召回相关 Skill → 将 Skill 指令及引用文件索引作为子任务参数下发给 Army → Army 在每步 Action 前查询 ContextIndex 获取精准上下文。
---
## 三、上下文管理
动态维护执行过程中的状态信息,支持跨会话继承。
| 组件 | 说明 |
|------|------|
| **ContextIndex** | 临时上下文索引,记录当前任务相关的文件路径、内容摘要、操作等级(强/中/弱) |
| **Evolutionary Report** | 演进式报告,记录每次执行的反思结果和改进方向 |
| **Artifacts** | 会话产出物,本次对话生成的所有文件和变更清单 |
**特性**:
- 动态更新:随执行进度实时追加
- 跨会话继承:新 Army 实例自动承接父级的完整上下文索引
- 可追溯:每条记录包含来源路径和内容摘要
---
## 四、异步钩子
任务完成后触发的后置处理管道,不阻塞主流程。
| Hook | 功能 |
|------|------|
| **SoulEvolution Hook** | SOUL 人格进化,根据执行反馈调整行为模式 |
| **WikiFeedback Hook** | 写入维基,将有效经验沉淀到项目知识库 |
| **Reflexion Hook** | 轨迹反思,分析执行链路的效率瓶颈 |
| **MemoryExtraction Hook** | 提取知识,从对话中提炼可复用的模式 |
---
## 快速开始
```bash
# 克隆仓库
git clone
cd ARES
# 启动后端
cd backend
pip install -r requirements.txt
python -m uvicorn main:app --reload --port 8000
# 启动前端(新终端)
cd frontend
npm install
npm run dev
```
打开 http://localhost:5173 开始使用。
---
## 技术栈
| 层 | 技术 |
|----|------|
| **前端** | React 18 · TypeScript · Vite · Ant Design · Monaco Editor |
| **后端** | FastAPI · Python 3.12+ · asyncio |
| **LLM** | OpenAI 兼容协议(GLM / MiniMax / Ollama / SiliconFlow) |
---
## 项目结构
```
ARES/
├── backend/app/services/fsm_agent/ # ★ 核心:Agent 军团
│ ├── ares.py # 门面 + 三速路由
│ ├── mastermind.py # 指挥官(规划/拆分/分发)
│ ├── army.py # 工程师(ReAct 执行循环)
│ ├── scout.py # 侦察兵(搜索/读取)
│ ├── soldier.py # 执行者(写入/调用)
│ ├── base.py # 状态机基类
│ ├── feedback_hook.py # 异步钩子管线
│ └── prompts/ # 各 Agent 的 System Prompt
├── backend/app/services/
│ ├── ai/ # LLM 统一客户端(多模型路由)
│ ├── context_index.py # 上下文索引引擎
│ ├── skill_manager.py # 技能管理与检索
│ └── recall_tool.py # 知识回忆工具
├── frontend/src/ # React 前端(实时流式渲染)
└── README.md # 本文档
```
---
Made with ☕ by the ARES team