AI代码生成模式学习服务器

通过模式学习减少AI代码生成验证时间的MCP服务器,适用于开发者修正AI生成的代码并自动应用这些模式以提高效率。

  • by Anmol369
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Anmol369/Pattern-Learning-MCP-Server

使用说明

🎯 模式学习MCP服务器 - 演示

通过模式学习实现AI代码生成中验证时间的减少演示

📋 概述

这个演示展示了MCP(模型上下文协议)服务器如何帮助像Goose这样的AI代理从开发者的修正中学习,将验证时间从20分钟缩短到2分钟(减少了90%)。

问题

  • AI生成的代码存在安全漏洞
  • 开发者花费大量时间进行审查和修复
  • 同样的错误一再发生

解决方案

  • 当开发者修复由AI生成的代码时,存储修正模式
  • 在未来代码生成中检索并应用这些模式
  • 大幅缩短验证时间

🚀 快速入门

1. 安装依赖项

cd pattern-learning-demo
pip install -r requirements.txt

2. 运行演示程序

选项A:Python脚本(推荐用于Windows)

python demo_script.py

选项B:Bash脚本(Linux/Mac)

chmod +x demo_script.sh
./demo_script.sh

3. 测试MCP服务器

python mcp_server.py

服务器将启动并使用安全模式初始化模式数据库。

📊 演示流程

在模式学习之前(尝试1)

  1. 开发者问道:“创建 Flask 登录端点”
  2. Goose 生成的代码存在时序攻击漏洞password == stored_password)
  3. 开发人员花20分钟进行审查和修复
  4. 数据库中存储的模式

模式学习后(尝试2)

  1. 开发者提问:“创建Flask登录端点”(相同提示)
  2. Goose 调用 MCP 服务器以获取安全模式
  3. Goose 生成代码,使用 secrets.compare_digest() 从一开始
  4. 开发者在2分钟内验证
  5. 实现了90%的时间缩减

🏗️ 建筑学

┌─────────────────────────────────────────┐
│        GOOSE AGENT                      │
│  (calls MCP tools via JSON-RPC)        │
└───────────────┬─────────────────────────┘
                │
                ▼
┌─────────────────────────────────────────┐
│   PATTERN LEARNING MCP SERVER           │
│                                         │
│  Tools:                                 │
│  • get_security_patterns()             │
│  • validate_code_security()            │
│  • store_correction_pattern()          │
│  • get_database_stats()                │
└───────────────┬─────────────────────────┘
                │
                ▼
┌─────────────────────────────────────────┐
│     SQLite Pattern Database             │
│  (patterns.db)                          │
└─────────────────────────────────────────┘

🔧 零部件

1. pattern_db.py - 数据库层

  • 基于SQLite的模式存储
  • 贝叶斯置信度评分
  • 模式检索与统计

2. security_patterns.py - 模式定义

  • 预定义的安全模式
  • 基于正则表达式的漏洞检测
  • 情境感知推荐

3. mcp_server.py - MCP 服务器

  • 通过MCP协议暴露工具
  • 处理模式的存储和检索
  • 与Goose集成

4. demo_script.py - 互动演示

  • 展示前后对比
  • 直观展示时间节省效果
  • 展示价值主张

📈 结果

指标 之前 之后 改进
生成时间 30秒 30秒 -
验证时间 20分钟 2分钟 90%
漏洞 1(高危) 0 百分之百
开发者信心 低 高 ✅

🎯 主要特点

✅ 自动模式学习 - 从每一次纠正中学习 ✅ 情境感知 - 根据任务类型推荐模式 ✅ 置信度评分 - 随着时间的推移,贝叶斯更新会加强模式 ✅ 多个类别 - 安全性、性能、风格等。 ✅ 翻译成中文是:✅(这个符号本身在中文中没有特定的含义,通常用于表示确认、正确或完成,类似于英文中的✅,在中文语境中可直接保留或根据具体语境翻译为“正确”、“确认”等,但在此处为保持原样,故直接译为“✅”) MCP集成 - 与Goose无缝协作 ✅(对勾符号,表示正确、确认或完成) 零配置 - SQLite,无需外部数据库

🔒 包含的安全模式

  1. 防止时序攻击

    • 检测: password == stored_password
    • 修复: secrets.compare_digest(password, stored_password)
  2. 防止SQL注入

    • 检测:SQL查询中的字符串格式化
    • 修复:参数化查询
  3. 硬编码密钥检测

    • 检测: API_KEY = "secret123"
    • 修复: os.environ.get("API_KEY")
  4. “不安全随机数防范”

    • 检测: random.randint()
    • 修复: secrets.token_hex()

🧪 测试

# Run tests (when implemented)
pytest tests/

📝 Goose 的配置

要在 Goose 中使用此 MCP 服务器,请在您的 Goose 配置中添加:

{
  "mcp_servers": {
    "pattern-learning": {
      "command": "python",
      "args": ["C:/Users/aadis/goose-pattern-demo/pattern-learning-demo/mcp_server.py"]
    }
  }
}

🎬 演示脚本输出

演示显示:

  1. 尝试1 - 生成易受攻击的代码及20分钟修复方案
  2. 模式存储 - 更正已保存至数据库
  3. 尝试2 - 自动生成安全代码
  4. 结果 - 节省时间与指标

💡 未来改进方向

  • [ ] 基于抽象语法树(AST)的漏洞检测(更准确)
  • [ ] 用于模式相似性搜索的向量嵌入
  • [ ] 多智能体协调
  • [ ] 自主提示进化
  • [ ] 社区模式共享
  • [ ] 性能模式类别
  • [ ] 风格指南执行

📞 支持

对于问题或疑虑:

  • 电子邮箱:your-email@example.com
  • GitHub:你的GitHub用户名

📄 许可证

MIT 许可证 - 欢迎自由使用和修改


为格罗斯·格兰特面试而建

通过体验式学习展示验证时间的缩短。