Skip to content

ysy1166/CodeBoost

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

CodeBoost:基于 Nexent 的代码运行效率优化多智能体系统

1. 项目简介

CodeBoost 是一个基于 Nexent 平台开发的代码运行效率优化多智能体系统。系统面向学生和开发者,能够根据用户提供的一段代码及其入口调用,自动完成复杂度分析、性能基准测试、瓶颈定位、算法优化、代码重写、基准验证和优化报告生成。

与普通问答式编程助手不同,本项目采用"主智能体 + 多个子智能体 + MCP 工具"的结构,并强调"用数据说话"——优化效果通过真实的基准测试数据进行验证,而不是仅凭经验断言。

完整闭环:

输入代码与入口调用
→ 复杂度度量
→ 性能基准测试
→ 瓶颈分析
→ 算法优化
→ 代码重写
→ 基准验证
→ 优化报告 CSV 生成
→ 迭代调整

2. 项目背景

日常开发与刷题中,常遇到以下问题:

  1. 代码能跑但很慢,不知道慢在哪;
  2. 凭感觉优化,改完不知道是否真的变快;
  3. 优化后引入 bug,功能被悄悄改变;
  4. 过度优化,牺牲可读性换取微小提升;
  5. 普通聊天机器人只给原则性建议,缺少真实测量和验证。

因此本项目设计了一个带基准验证的多智能体系统,帮助用户从"代码太慢"这样的模糊诉求,逐步得到经过数据验证的优化方案。

3. 功能特点

3.1 多智能体协作

代码效率优化助手(主智能体)
├── 性能瓶颈分析智能体
├── 算法优化智能体
├── 代码重写智能体
├── 基准测试验证智能体
└── 优化迭代调整智能体

3.2 MCP 工具增强

系统接入本地 MCP 工具服务 CodeBoostMCP,包含三个工具:

measure_complexity
run_benchmark
generate_optimization_report

3.3 真实基准验证

run_benchmark 会在受限沙箱中实际运行优化前后的代码,输出平均耗时、最快耗时和内存峰值,用真实数据证明优化效果,而非空谈。

3.4 安全执行

run_benchmark 会拒绝包含 os.systemsubprocessopen(__import__eval(exec( 等危险操作的代码,避免误执行有副作用的程序。

3.5 优化报告 CSV 生成

generate_optimization_report 将优化记录转化为带"提升百分比"的 CSV 文件,便于存档与汇报。

4. MCP 工具说明

MCP 服务名称:CodeBoostMCP Nexent 配置地址:http://host.docker.internal:8000/sse

4.1 measure_complexity

功能:静态分析代码的循环嵌套深度、分支、函数数量,估算圈复杂度。

示例输出:

max_loop_depth = 2
complexity_hint = 存在双层嵌套循环,可能是 O(n^2),数据量大时需要重点优化。

4.2 run_benchmark

功能:在沙箱中运行代码并基准测试。

输入:

code:完整源码
entry_call:入口调用,如 two_sum(list(range(100000)), 199998)
repeat:重复次数,默认 5

示例输出:

avg_time_ms = 35.21
peak_memory_kb = 812.4
result_preview = [99998, 99999]

4.3 generate_optimization_report

输入文本格式:

耗时:平均耗时(ms), 1200, 35, 用哈希表替代双层循环
内存:峰值内存(KB), 5000, 800, 改用生成器

输出 CSV:

category,metric,before,after,improvement,note
耗时,平均耗时(ms),1200,35,97.1%,用哈希表替代双层循环
内存,峰值内存(KB),5000,800,84.0%,改用生成器

5. 仓库文件说明

文件名 说明
README.md 项目说明文档
server.py CodeBoostMCP 本地 MCP 服务代码
codeboost_main_agent.json Nexent 智能体导出 JSON
codeboost_report.csv 优化报告 CSV 示例

6. 运行环境

操作系统:Windows / Linux / macOS
Nexent 部署方式:Docker
大模型调用:硅基流动 API
MCP 服务:Python + FastMCP
MCP 访问方式:SSE

Python 依赖:

mcp

7. MCP 服务运行方式

cd code-optimizer-agent
pip install mcp
python server.py

启动后看到:

Uvicorn running on http://0.0.0.0:8000

Nexent 中配置:

http://host.docker.internal:8000/sse

8. 智能体导入方式

在 Nexent "导入智能体"中导入 codeboost_main_agent.json,确认:

  1. 大模型配置可用;
  2. 已启动本地 server.py
  3. MCP 地址正确;
  4. 主智能体已勾选三个 MCP 工具。

9. 示例

用户输入:

这段代码很慢,帮我优化并验证效果:
def has_dup(nums):
    for i in range(len(nums)):
        for j in range(i+1, len(nums)):
            if nums[i] == nums[j]:
                return True
    return False
入口调用:has_dup(list(range(20000)))

系统执行流程:

1. 调用 measure_complexity → 发现双层循环 O(n^2)
2. 调用 run_benchmark(原代码) → 记录原始耗时
3. 瓶颈分析智能体 → 定位逐对比较
4. 算法优化智能体 → 提出 set 单次遍历,降为 O(n)
5. 代码重写智能体 → 输出优化代码
6. 调用 run_benchmark(优化代码) → 记录新耗时,确认结果一致
7. 基准验证智能体 → 对比,确认大幅提升
8. 迭代调整智能体 → 判断已达较优
9. 调用 generate_optimization_report → 生成 CSV

10. 创新点

  1. 采用主智能体协调多子智能体结构,而非单一问答;
  2. 结合 MCP 工具完成静态分析、真实基准测试和报告生成;
  3. 强调"功能等价 + 数据验证",避免优化引入 bug;
  4. 内置安全过滤,拒绝危险代码执行;
  5. 形成"度量—分析—优化—重写—验证—调整"完整闭环;
  6. 引入"过度优化判断",权衡可读性与性能。

11. 后续可扩展

  1. 支持多语言(C++/Java)基准;
  2. 集成 cProfile/line_profiler 行级热点;
  3. 接入单元测试自动校验功能等价;
  4. 历史优化记录持久化与趋势图;
  5. 与 Git 联动,对 PR 自动出优化建议。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages