🤖 AI代码审查代理(LangChain+Azure OpenAI+MCP)
一个智能AI代理,可以 分析、理解GitHub存储库中的代码,并提出改进建议 使用:
- LangChain(代理编排)
- Azure OpenAI(GPT-5纳米)
- 模型上下文协议(MCP)
- GitHub MCP服务器(工具访问)
______________________________________________________________________
🚀 概述
该项目演示了如何构建 可以与现实世界系统交互的AI Agent(GitHub) 而不仅仅是回答问题。
代理人:
- 从GitHub存储库读取代码
- 理解逻辑
- 识别效率低下和错误
- 建议优化改进
______________________________________________________________________
🧠 建筑
User Prompt
↓
LangChain Agent
↓
Azure OpenAI (GPT-5 nano)
↓
MCP (Model Context Protocol)
↓
GitHub MCP Server
↓
GitHub Repository
↓
Code Analysis + Suggestions______________________________________________________________________
🔧 组件
🧠 Azure OpenAI(GPT-5纳米)
- 提供推理和代码理解
- 生成解释和优化
______________________________________________________________________
🧩 LangChain 代理
- 编排工作流程
- 决定何时调用工具
- 处理多步骤推理
______________________________________________________________________
🔌 MCP(模型上下文协议)
- 工具使用的标准界面
- 消除了对自定义API集成的需要
______________________________________________________________________
🛠 GitHub MCP服务器
- 将GitHub功能作为工具公开:
- list files - get_file_contents - search_code - create_pull_request (可选)
______________________________________________________________________
🔐 GitHub个人访问令牌(PAT)
- 存储库访问的安全身份验证
______________________________________________________________________
⚙️ 运作原理
1.️⃣ 用户提示
Analyze this repository and suggest improvements______________________________________________________________________
2.️⃣ 代理规划
代理人决定:
- 首先探索存储库结构
- 然后阅读相关文件
______________________________________________________________________
3.️⃣ 工具执行(通过MCP)
代理调用以下工具:
list_files → get_file_contents______________________________________________________________________
4.️⃣ 数据检索
GitHub返回:
- 文件结构
- 代码内容
______________________________________________________________________
5.️⃣ AI推理
该模型分析:
- 代码逻辑
- 效率低下
- 漏洞
______________________________________________________________________
6.️⃣ 输出
代理生成:
- 代码说明
- 发现的问题
- 优化建议
- 改进的代码片段
______________________________________________________________________
📦 设置
1.️⃣ 创建虚拟环境(PowerShell)
py -3.12 -m venv .venv
.\.venv\Scripts\Activate.ps1______________________________________________________________________
2.️⃣ 安装依赖项
pip install langchain langchain-openai langchain-mcp-adapters python-dotenv______________________________________________________________________
3.️⃣ 配置环境变量
创建一个 .env 文件:
AZURE_OPENAI_API_KEY=your_key
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/
AZURE_OPENAI_DEPLOYMENT_NAME=your_deployment_name
GITHUB_PAT=your_github_token
GITHUB_MCP_URL=https://api.githubcopilot.com/mcp/______________________________________________________________________
4.️⃣ 运行代理
python app.py______________________________________________________________________
🧪 示例用例
该代理可以分析低效的Python代码,例如:
- 嵌套循环(O(n²))
- 手动实现内置函数
- 算法设计不佳
并建议:
- 优化算法
- 更简洁的Python代码
- 更好的结构和可读性
______________________________________________________________________
📊 样本输出
Summary:
The repository contains a Python script for basic operations.
Issues:
- Inefficient duplicate detection (O(n²))
- Manual sum calculation
- Suboptimal prime checking
Suggestions:
- Use set() for duplicates
- Use sum() built-in
- Optimize prime check using sqrt(n)______________________________________________________________________
______________________________________________________________________
🧠 类比
LLM → Brain 🧠
LangChain → Manager 📋
MCP → Translator 🌉
GitHub → Workspace 📂 ______________________________________________________________________
🚀 未来的增强功能
- 自动创建带有修复的拉取请求
- 与CI/CD管道集成
- 添加对多个存储库的支持
- 连接到云工具(AWS、Azure计费等)
______________________________________________________________________
🎤 单行摘要
一个AI代理,通过MCP使用标准化的工具集成,自主读取、理解和改进GitHub存储库中的代码。
______________________________________________________________________
👉 或创建 此README的图表图像 👉 或者让它看起来像一个精致的投资组合项目⭐
