# CX **Repository Path**: umb/cx ## Basic Information - **Project Name**: CX - **Description**: 一个极简的、可自我演化的自主代理框架 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-14 - **Last Updated**: 2026-06-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Generic Agent (Rust 重构版) Rust 实现的全能型 AI Agent,支持自我进化的记忆与技能系统。 ## 架构概览 ``` ┌─────────────────────────────────────────────────────────────┐ │ Stage 1: 模型层 │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ LLM Provider │ │ Tool Schema │ │ Response │ │ │ │ - Anthropic │ │ - OpenApi 3.0│ │ Parser │ │ │ │ - OpenAI │ │ - JSON Schema│ │ │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ Stage 2: 闭环层 │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ 9 大原子工具 │ │ StepOutcome │ │ Auto-Retry │ │ │ │ file_* │ │ 标准化反馈 │ │ + 指数退避 │ │ │ │ code_run │ │ │ │ │ │ │ │ web_* │ │ 反思标记 │ │ Context Comp.│ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ Stage 3: 进化层 │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ L0/L2/L3 │ │ TaskPlanner │ │ Goal Hive │ │ │ │ 分层记忆 │ │ (目标分解) │ │ Master-BBS │ │ │ │ 技能固化 │ │ 自主规划 │ │ Worker协调 │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ └─────────────────────────────────────────────────────────────┘ ``` ## 功能特性 ### ✅ 阶段一:模型层 (Model) - **标准化工具定义**:OpenAPI 3.0 风格的工具 schema - **LLM Provider 接口**:支持 Anthropic Claude、OpenAI 等 - **Response Parser**:统一解析工具调用和自然语言回复 ### ✅ 阶段二:闭环层 (Closed-loop) - **9 大原子工具**: - `file_write` - 创建/覆盖文件 - `file_read` - 读取文件内容 - `file_patch` - 精确替换文件片段 - `file_list` - 列出目录文件 - `code_run` - 执行 Python/PowerShell 脚本 - `web_search` - 网页搜索 (Google) - `web_read` - 读取网页内容 - `browser_scan` - 扫描浏览器页面 - `browser_execute_js` - 在浏览器中执行 JavaScript - **标准化反馈 (StepOutcome)**: ```rust pub struct StepOutcome { pub success: bool, pub output: String, pub error: Option, pub tool_calls: Vec, } ``` - **自动重试机制**: - 指数退避重试 (最多 10 次) - 参数自动修正 - 策略降级 (file_patch → code_run) - **反思与进度跟踪**: - 多步任务阶段总结 - `[REFLECTION]` 标记 - 自我纠正能力 ### ✅ 阶段三:进化层 (Evolution) - **分层记忆系统**: - **L0**: Meta-SOP (硬编码内存管理原则) - **L1**: 极简索引 (global_mem_insight.txt, ≤30行) - **L2**: 全局事实库 (global_mem.txt) - **L3**: 技能记忆 (skills/ 目录) - **技能固化 (Skill Crystallization)**: - 任务成功 → 记录路径 → 重写成可执行技能 - 参数模板化与类型推断 - 代码生成 (生成可重复执行的脚本) - **任务规划系统 (TaskPlanner)**: - 自主设定长期目标 - 目标分解为子任务 - 依赖关系追踪 - **Goal Hive BBS**: - Master-Worker 并行架构 - 布告栏协调机制 - 任务发布/认领/完成流程 ## 快速开始 ### 构建 ```bash cd cx cargo build --release ``` ### 配置环境变量 创建 `.env` 文件: ```env ANTHROPIC_API_KEY=your_key_here OPENAI_API_KEY=your_key_here ``` ### 运行 ```bash ./target/release/cx ``` ## 测试用例 ### 技能固化测试 ``` # 第一次执行(底层工具调用) > Create a Python script that calculates fibonacci(10), run it, and save result to fib.txt # 第二次执行(技能复用) > Run fibonacci skill with n=20 ``` ### 任务规划测试 ``` # 自主规划 > Plan a long-term goal: Learn Rust async programming ``` ### Goal Hive 测试 ```rust use generic_agent::hive::{BbsSystem, GoalMaster, WorkerClient}; // 创建 BBS 系统 let bbs = BbsSystem::new(Path::new("./bbs")); // 启动 Master let master = GoalMaster::new(&bbs, "main_board"); master.submit_task("analyze_pr", "分析最新PR并生成报告", vec!["worker1".to_string()]); // Worker 认领任务 let worker = WorkerClient::new(&bbs, "worker1", "main_board"); let tasks = worker.poll_tasks(); for task in tasks { worker.submit_result(&task.id, "PR分析报告..."); } ``` ## 项目结构 ``` cx/ ├── src/ │ ├── main.rs # 程序入口 │ ├── lib.rs # 模块导出 │ ├── agent/ # Agent 核心 │ │ └── mod.rs │ ├── llm/ # LLM 接口 │ │ └── mod.rs │ ├── tools/ # 工具实现 │ │ └── mod.rs │ ├── skills/ # 技能注册表 │ │ └── mod.rs │ ├── memory/ # 分层记忆系统 │ │ └── mod.rs │ ├── planning/ # 任务规划系统 │ │ └── mod.rs │ └── hive/ # Goal Hive BBS │ └── mod.rs ├── Cargo.toml └── README.md ``` ## 目标:越用越聪明 通过一个新手 Agent 在重复执行的任务中,实现: - 调用次数大幅下降 - Token 消耗显著降低 - 执行速度明显加快 真正体现 **"越用越聪明"** 的进化能力。 ## License MIT