Token导航 LogoToken导航TokenDH.com
GHCP CLI SDK PR AUTOMATION logo
开发工具stdio官方级别未说明来源级核验

GHCP CLI SDK PR AUTOMATION

MCP Server

一个基于GitHub Copilot SDK的Python自动化合规代理,用于跨多个微服务自动执行组织策略,检测违规并创建修复拉取请求。

工具数

0

提示词数

0

GitHub Stars

2

资源数

0
PythonAI代理开发工具

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

MSFT-Innovation-Hub-India

提供方

MSFT-Innovation-Hub-India

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv .venv && .venv\Scripts\Activate.ps1 && pip install -r requirements.txt && deactivate

详细介绍

车队合规代理演示

演示GitHub Copilot CLI/SDK集成用于企业车队管理

此演示展示了一个基于Python的合规代理,该代理使用GitHub Copilot在一组微服务中自动执行组织策略 软件开发工具包 能力。

______________________________________________________________________

此演示实现了什么

此演示实现 全车队自动化合规执法 -一个AI代理,可以审计多个微服务,检测策略违规,应用修复程序,并使用证据创建Pull Request。

💡 生产模式与演示模式: 在生产场景中,此代理将运行 无头 --在没有任何用户界面的情况下,由时间表或事件触发,一个接一个地处理存储库。此示例提供 两种跑步方式: - React图形用户界面 (ui/)--一个用于观察代理行为的可视化仪表板。非常适合演示和了解SDK如何实时编排工具。 - 控制台模式 (agent/fleet_agent/agent_loop.py)--一个无头入口点,从中加载所有存储库 config/repos.json 并对其进行处理 在单个SDK会话中按顺序执行一个接一个。直接用 python -m fleet_agent.agent_loopagent/ 目录。 在这两种模式中, 仍需要有人参与 --代理通过Pull Requests提出更改,人工审核和批准。 无需自然语言输入。 用户提供的唯一输入是中的存储库URL列表 config/repos.json发送到Copilot SDK的提示被烘焙到应用程序代码中——没有交互式提示或对话界面。

SDK和AI功能

能力如何使用实施
SDK作为编排代理Copilot SDK是端到端驱动整个合规工作流程的“大脑”SDK收到一个提示,然后自主执行所有步骤
自主工具调用SDK根据任务决定调用哪些工具13个向SDK注册的自定义工具
函数调用工具返回SDK解析的结构化JSON每个工具返回 ToolResult 带有JSON有效载荷
MCP服务器集成用于审批和安全扫描的外部服务变更管理(端口4101),安全(端口4102)
RAG(检索增强生成)基于组织知识的策略证据具有提取检索功能的Azure AI搜索知识库(FoundryIQ)
多步推理SDK链工具:克隆→ 分析→ 补丁→ test → PR具有状态跟踪的事件驱动工作流
实时事件流代理执行时实时UI更新WebSocket事件通过 asyncio.run_coroutine_threadsafe

展示合规性特征

功能描述策略参考
全舰队执法跨多个存储库自动化合规性-
健康端点检测识别缺失 /healthz/readyz 端点OPS-2.1
结构化日志记录检测并添加结构日志配置OBS-1.1
跟踪传播添加W3C跟踪关联中间件OBS-3.2
安全漏洞扫描通过MCP服务器扫描CVE(常见漏洞和暴露)的依赖关系SEC-2.4
风险意识批准根据服务级别将PR发送给适当的审批人CM-7
有证据支持的PR在公关描述中包含政策引用REL-1.0

______________________________________________________________________

🏗️ 建筑

Solution Architecture

┌──────────────────────────────────────────────────────────────────────────────┐
│                         FLEET COMPLIANCE AGENT                               │
├──────────────────────────────────────────────────────────────────────────────┤
│  ┌──────────────────────────────────────────────────────────────────────┐    │
│  │              🖥️ Visual UI (React + FastAPI)                          │    │
│  │  ┌─────────────────┐    WebSocket    ┌─────────────────┐             │    │
│  │  │  React Frontend │◄───────────────►│ FastAPI Backend │             │    │
│  │  │  localhost:3000 │   (streaming)   │  localhost:8000 │             │    │
│  │  └─────────────────┘                 └────────┬────────┘             │    │
│  └───────────────────────────────────────────────┼──────────────────────┘    │
│                                                  │ imports                   │
│                                                  ▼                           │
│  ┌────────────────────────────────────────────────────────────────────────┐  │
│  │              🧠 Agent Core (agent_loop.py)                             │  │
│  │  ┌─────────────┐    ┌─────────────┐    ┌─────────────┐                 │  │
│  │  │   GitHub    │    │  Knowledge  │    │   Copilot   │                 │  │
│  │  │   Repos     │    │    Base     │    │    SDK      │                 │  │
│  │  │  (Target)   │    │   (RAG)     │    │ (Agent Brain)│                │  │
│  │  └──────┬──────┘    └──────┬──────┘    └──────┬──────┘                 │  │
│  │         │                  │                  │                        │  │
│  │         ▼                  ▼                  ▼                        │  │
│  │  ┌─────────────────────────────────────────────────────────────┐       │  │
│  │  │          13 CUSTOM TOOLS (Registered with SDK)              │       │  │
│  │  │  rag_search → clone → detect_drift → security_scan →        │       │  │
│  │  │  create_branch → apply_patches → get_approvals →            │       │  │
│  │  │  run_tests → read_file → fix_code → commit → push → PR      │       │  │
│  │  └───────────────────────────┬─────────────────────────────────┘       │  │
│  └──────────────────────────────┼─────────────────────────────────────────┘  │
│                                 │                                            │
│         ┌───────────────────────┼────────────────────┐                       │
│         ▼                       ▼                    ▼                       │
│  ┌─────────────┐          ┌─────────────┐      ┌─────────────┐               │
│  │ Change Mgmt │          │  Security   │      │   GitHub    │               │
│  │ MCP Server  │          │ MCP Server  │      │     CLI     │               │
│  │ (Approvals) │          │   (Scans)   │      │   (PRs)     │               │
│  └─────────────┘          └─────────────┘      └─────────────┘               │
│     :4101                    :4102                 gh                        │
└──────────────────────────────────────────────────────────────────────────────┘

组件

组件目的位置
反应前端可视化仪表板,实时流式传输,每个仓库清单ui/frontend/
FastAPI后端用于事件流的WebSocket服务器ui/backend/
核心代理通过Copilot SDK协调合规工作流程agent/fleet_agent/agent_loop.py
知识库RAG的Markdown策略文档knowledge/*.md
变更管理MCP根据CM-7矩阵评估批准要求mcp/change_mgmt/
安全MCP扫描CVE漏洞的依赖关系mcp/security/
GitHub命令行界面克隆仓库、创建分支、打开PR系统工具(gh)

______________________________________________________________________

🎬 观看演示

![Fleet Compliance Agent Demo](https://youtu.be/Oyv-tmG7q1k)

*点击上图在YouTube上观看完整的演示视频*

______________________________________________________________________

💡 为什么选择GitHub Copilot SDK?

GitHub Copilot 命令行工具 通常用于交互式自然语言对话——开发人员键入问题并获得回复。但如果你能利用同样的人工智能能力呢 以编程方式?

GitHub Copilot SDK 完全解锁了这个。通过Python SDK公开Copilot CLI,它从对话工具转换为 可编程智能体大脑.

工作原理: Python SDK在中生成了Copilot CLI 服务器模式 并通过以下方式进行通信 JSON-RPC。您的代码注册工具、发送提示和接收事件,而CLI处理身份验证、模型通信和令牌管理。

Your Application
       ↓
   SDK Client
       ↓ JSON-RPC
Copilot CLI (server mode)
       ↓
  GitHub Copilot API
# The SDK starts the CLI in server mode and manages the session
client = CopilotClient()
await client.start()  # Spawns copilot CLI as background process

session = await client.create_session(
    system_message={"mode": "replace", "content": SYSTEM_PROMPT},
    tools=[clone_tool, detect_drift_tool, apply_patches_tool, ...],
    available_tools=["clone_repository", "detect_compliance_drift", ...],
    on_permission_request=lambda req, inv: PermissionRequestResult(kind="approved"),
)
await session.send("Enforce compliance on contoso-payments-api")
# SDK autonomously calls tools, reasons over results, and completes the workflow

关键见解: 代替人工打字提示, 代码驱动对话 -向SDK发送结构化提示,注册自定义工具,并让SDK自主决定执行路径。

此模式允许 企业自动化场景 仅使用交互式CLI是不可能的。

🔑 交互式与嵌入式: 开发人员通常在VS代码中使用GitHub Copilot CLI或代理模式 交互式地 -实时提问、获取建议和迭代。在这个例子中,我们采取了一种根本不同的方法: 我们将GitHub Copilot SDK直接嵌入到自主代理中SDK成为全自动工作流的推理引擎,而不是交互式助手。
⚠️ SDK预览通知: GitHub Copilot SDK目前位于 预览。此演示引脚版本 github-copilot-sdk==0.2.2 (协议v3)。看 升级Copilot SDK 了解详情。

______________________________________________________________________

🔄 代理人如何工作

代理在中执行合规工作流 三个阶段:

第一阶段:发现和分析(在任何代码更改之前)

步骤工具发生了什么
1rag_search在知识库中搜索政策要求
2clone_repository将目标仓库克隆到本地工作区
3detect_compliance_drift扫描原始代码以查找缺少的端点、日志记录和中间件
4security_scan扫描原件 requirements.txt CVE漏洞

第2阶段:代码修改(进行更改)

步骤工具发生了什么
5create_branch创建特征分支 chore/fleet-compliance-{timestamp}
6apply_compliance_patches创建/修改文件: middleware.py, logging_config.py, main.py, requirements.txt, tests/test_health.py

第3阶段:验证和批准(代码更改后)

步骤工具发生了什么
7get_required_approvals将修改后的文件列表发送给变更管理MCP,以确定审批人
8run_tests对修改后的代码运行pytest
8aread_file + fix_code*(如果测试失败)* 读取失败文件,使用SDK生成修复程序,最多重试3次
9commit_changes提交所有修改
10push_branch将分支推送到GitHub
11create_pull_request公开PR,包括政策证据、漏洞报告、批准标签

视觉时间轴

ORIGINAL CODE                              MODIFIED CODE
     │                                          │
     ▼                                          ▼
┌──────────────────────────────────────────────────────────────────────────┐
│  clone → detect_drift → security_scan    │   apply_patches → run_tests   │
│         (analyze original)               │   → fix_code (if needed)      │
│                                          │   (modify & validate)         │
│  ◄────── BEFORE changes ──────►          │  ◄────── AFTER changes ─────► │
└──────────────────────────────────────────────────────────────────────────┘
                                       ▲
                                 Branch created here

______________________________________________________________________

⚡ 入门指南

平台: 这些说明适用于 视窗 使用PowerShell。为其他平台调整路径。

先决条件

要求目的验证
Python 3.11+代理和MCP服务器运行时python --version
Node.js 18+前端和副端CLInode --version
Git存储库操作git --version
GitHub命令行界面PR创建、回购管理gh --version
Azure命令行界面RAG的Azure身份验证(DefaultAzureCredential)az --version
GitHub复制副本许可证Copilot SDK需要检查GitHub帐户
GitHub Copilot 命令行工具SDK依赖性npm list -g @anthropic-ai/copilot

Azure AI搜索知识库(FoundryIQ)要求

此项目使用 Azure AI搜索知识库 (FoundryIQ)用于RAG,而不是Azure OpenAI矢量存储。

资源目的
Azure存储帐户Blob容器,其中包含来自的策略标记文件 knowledge/
Azure人工智能搜索服务托管知识库、知识源和本地索引
知识源指向Azure Blob存储容器;在FoundryIQ中自动为文档建立索引并创建本地索引
知识库消耗知识源;由LLM供电(例如。, gpt-4o)具有可配置的指令、输出模式和推理能力
Azure OpenAI模型 (例如。, gpt-4o)由知识库内部用于重新排序和生成答案(以KB配置,而不是以代理代码配置)

FoundryIQ设置管道

┌──────────────────┐     upload      ┌──────────────────────┐
│  knowledge/*.md  │ ──────────────► │  Azure Blob Storage  │
│  (policy docs)   │                 │  (container)         │
└──────────────────┘                 └──────────┬───────────┘
                                                │
                                                │ points to
                                                ▼
┌───────────────────────────────────────────────────────────────┐
│               Azure AI Search (FoundryIQ)                     │
│  ┌─────────────────────────────────────────────────────┐      │
│  │  Knowledge Source                                   │      │
│  │  • Data source: Azure Blob Storage container        │      │
│  │  • Auto-indexes documents on creation               │      │
│  │  • Creates a local index in FoundryIQ               │      │
│  └──────────────────────┬──────────────────────────────┘      │
│                         │ consumed by                         │
│                         ▼                                     │
│  ┌─────────────────────────────────────────────────────┐      │
│  │  Knowledge Base                                     │      │
│  │  • Powered by LLM (gpt-4o)                          │      │
│  │  • Output mode: Extractive data                     │      │
│  │  • Reasoning effort: low                            │      │
│  │  • Custom instructions for retrieval                │      │
│  └─────────────────────────────────────────────────────┘      │
└───────────────────────────────────────────────────────────────┘

RBAC: 用户必须通过以下方式访问Azure AI搜索知识库 DefaultAzureCredential (托管身份、Azure CLI等)。

注: 使用Azure OpenAI 通过内部知识库进行重新排名——代理代码不会直接调用Azure OpenAI。所有LLM推理都来自GitHub Copilot SDK。

______________________________________________________________________

设置步骤

1.克隆此存储库

git clone https://github.com/MSFT-Innovation-Hub-India/GHCP-CLI-SDK-PR-AUTOMATION.git
cd ghcp-cli-sdk-sample1

2.创建目标存储库

该代理在外部GitHub存储库上运行。推送示例仓库:

# For each API in sample-repos/:
cd sample-repos\contoso-orders-api
git init && git add . && git commit -m "Initial commit"
git branch -M main
git remote add origin https://github.com/YOUR_USERNAME/contoso-orders-api.git
git push -u origin main
cd ..\..
# Repeat for contoso-payments-api and contoso-catalog-api

更新 agent/config/repos.json:

{
  "repos": [
    "https://github.com/YOUR_USERNAME/contoso-orders-api.git",
    "https://github.com/YOUR_USERNAME/contoso-payments-api.git",
    "https://github.com/YOUR_USERNAME/contoso-catalog-api.git"
  ]
}

3.身份验证

az login
az account set --subscription "YOUR_SUBSCRIPTION_NAME"
gh auth login

4.配置环境

cd agent
copy .env.example .env

编辑 agent/.env:

# Azure AI Search Knowledge Base (FoundryIQ)
AZURE_AI_SEARCH_ENDPOINT=https://YOUR_SEARCH_SERVICE.search.windows.net
AZURE_AI_KB_NAME=your-knowledge-base-name
AZURE_AI_KB_REASONING_EFFORT=low

# Copilot SDK
COPILOT_CLI_PATH=C:\Users\YOUR_USERNAME\AppData\Roaming\npm\copilot.cmd

# MCP Servers
CHANGE_MGMT_URL=http://localhost:4101
SECURITY_URL=http://localhost:4102
查找Copilot CLI路径:where.exe copilot 或检查 %APPDATA%\npm\copilot.cmd 知识库设置: 创建Azure AI搜索知识库,知识源指向中的策略文档 knowledge/。在Azure门户中配置具有提取输出模式的知识库。

5.创建虚拟环境

# MCP servers
cd mcp\change_mgmt
python -m venv .venv && .venv\Scripts\Activate.ps1 && pip install -r requirements.txt && deactivate
cd ..\security
python -m venv .venv && .venv\Scripts\Activate.ps1 && pip install -r requirements.txt && deactivate
cd ..\..\agent
python -m venv .venv && .venv\Scripts\Activate.ps1 && pip install -r requirements.txt && deactivate
cd ..

6.配置Azure AI搜索知识库

  1. 创建Azure存储帐户 --创建blob容器并从以下位置上传策略markdown文件 knowledge/ 喜欢
  2. 创建Azure AI搜索 Azure门户中的资源
  3. 创建知识源 在FoundryIQ中,将其指向Azure Blob存储容器。FoundryIQ会自动对文档进行索引,并创建 本地索引
  4. 创建知识库 --选择上面创建的知识源。配置:

- 型号: 选择Azure OpenAI部署(例如。, gpt-4o) - 输出模式: 提取数据(返回逐字文本,而不是合成答案) - 推理努力: 低(可通过配置 AZURE_AI_KB_REASONING_EFFORT 任何人) - 说明: 添加检索说明,以帮助知识库将查询映射到正确的策略文档

  1. 设置环境变量agent/.env:

- AZURE_AI_SEARCH_ENDPOINT --Azure AI搜索服务端点URL - AZURE_AI_KB_NAME --知识库名称

注:scripts/deploy-vector-store.py 该脚本用于传统的Azure OpenAI矢量存储方法,不再需要。

7.安装前端

cd ui\frontend
npm install
cd ..\..

______________________________________________________________________

运行演示

打开 4个独立的终端:

终端目录命令
1mcp\change_mgmt.venv\Scripts\Activate.ps1; python server.py
2mcp\security.venv\Scripts\Activate.ps1; python server.py
3ui\backend..\..\agent\.venv\Scripts\python.exe -m uvicorn main:app --host 0.0.0.0 --port 8000
4ui\frontendnpm run dev

打开: http://localhost:3000

______________________________________________________________________

📁 项目结构

ghcp-cli-sdk-sample1/
├── agent/                      # Fleet compliance agent
│   ├── config/repos.json       # Target repositories
│   ├── fleet_agent/
│   │   ├── agent_loop.py       # Main agentic entry point (SDK-driven)
│   │   ├── github_ops.py       # Git/GitHub operations
│   │   ├── mcp_clients.py      # MCP server clients
│   │   ├── patcher_fastapi.py  # Code patching logic
│   │   └── rag.py              # Knowledge base search (Azure AI Search KB / FoundryIQ)
│   ├── test_sdk_response.py    # SDK response parsing tests
│   ├── requirements.txt
│   └── .env.example
│
├── knowledge/                  # Policy documents (RAG source)
│   ├── CM-7-approval-matrix.md
│   ├── OBS-1.1-structured-logging.md
│   ├── OBS-3.2-trace-propagation.md
│   ├── OPS-2.1-health-readiness.md
│   ├── REL-1.0-pr-gates.md
│   └── SEC-2.4-dependency-vulnerability-response.md
│
├── mcp/                        # MCP servers
│   ├── change_mgmt/server.py   # Approval matrix evaluation
│   └── security/server.py      # Vulnerability scanning
│
├── sample-repos/               # Demo target repos
│   ├── contoso-catalog-api/
│   ├── contoso-orders-api/
│   └── contoso-payments-api/
│
├── scripts/
│   ├── deploy-vector-store.py  # Legacy: Deploy Azure OpenAI vector store (not used)
│   └── push-sample-repos.ps1   # Push samples to GitHub
│
├── images/
│   └── solution-architecture.png  # Architecture diagram
│
├── ui/
│   ├── frontend/               # React app (Vite + Tailwind)
│   └── backend/main.py         # FastAPI WebSocket server
│
├── docs/ARCHITECTURE_FLOW.md
├── DEMO_CHECKLIST.md
└── README.md

策略ID命名约定

前缀类别灵感来源
厘米配置管理NIST 800-53
开源直播软件可观察性SRE/DevOps实践
运维平台服务运营SRE/平台运营
REL可靠性谷歌SRE、AWS架构良好
美国证券交易委员会安全NIST、SOC 2、CIS控制

______________________________________________________________________

🖥️ 可视化用户界面

UI提供代理活动的实时流式传输 三面板布局:

面板说明
回购选择器、运行按钮、检查表、工具调用历史记录
中心代理推理/消息(支持markdown)
正确的实时带时间戳的控制台日志

主要特点

  • 单一回购选择器:下拉菜单一次选择一个存储库
  • 实时流媒体:事件发生时立即显示
  • PR URL显示:创建的PR的可点击链接
  • 根据回购清单:逐步跟踪进度

WebSocket事件

事件描述
agent_start代理执行开始
tool_call_start / tool_call_complete工具调用跟踪
agent_message代理推理(支持降价)
checklist_update每个回购步骤完成
pr_created已捕获PR URL
console_log带级别(信息/成功/警告/错误)的流式日志
⚠️ 单用户应用程序: 此UI仅用于本地单用户执行。它使用本地用户的GitHub和Azure凭据。

______________________________________________________________________

🔧 定制

自定义内容位置
目标仓库agent/config/repos.json
政策文件knowledge/*.md
审批规则mcp/change_mgmt/server.py
漏洞数据库mcp/security/server.py
修补逻辑agent/fleet_agent/patcher_fastapi.py
代理工具agent/fleet_agent/agent_loop.py

MCP服务器API

变更管理(端口4101):

curl -X POST http://localhost:4101/approval \
  -H "Content-Type: application/json" \
  -d '{"service": "contoso-payments-api", "touched_paths": ["app/auth.py"]}'

# Response: {"required_approvals": ["SRE-Prod", "Security"], "risk_level": "high"}

安全扫描(端口4102):

curl -X POST http://localhost:4102/scan \
  -H "Content-Type: application/json" \
  -d '{"requirements": "requests==2.19.0"}'

# Response: {"findings": [{"name": "requests", "cve": "CVE-2018-18074", "severity": "HIGH"}]}

______________________________________________________________________

📋 示例目标存储库

该演示包括三个故意不兼容的FastAPI服务:

存储库描述合规性差距
contoso命令api订单管理缺少健康端点,没有结构日志,没有中间件
contoso支付api支付处理(高影响)与上述相同+易受攻击 requests==2.19.0
contoso目录api产品目录缺少健康端点,没有结构日志,没有中间件

支付 服务触发CM-7.2(高影响服务),需要SRE Prod批准。

______________________________________________________________________

⬆️ 升级Copilot SDK

github-copilot-sdk 版本是 钉住agent/requirements.txt 以防止无声的破裂。Copilot CLI(Node.js)和Python SDK的版本是独立的——如果CLI自动更新到较新的协议版本,则固定的SDK可能会停止使用 协议版本不匹配 错误:

SDK expects version 3, but server reports version 4

何时升级

  • 你看到一个 协议版本不匹配 运行时出错
  • Copilot CLI已更新(通过 npm update -g)现在使用较新的协议

如何升级

cd agent
.venv\Scripts\Activate.ps1

# Check current version
pip show github-copilot-sdk

# Upgrade to latest
pip install --upgrade github-copilot-sdk

# Check new version
pip show github-copilot-sdk

升级后, 检查是否破坏API更改 -SDK处于预览中,并且API表面可能在版本之间变化。需验证的关键领域:

区域要检查的文件
create_session() 签名agent_loop.py, patcher_fastapi.py, ui/backend/main.py
system_message format相同的文件--可以在字符串、字典或TypedDict之间更改
session.send() 签名相同的文件--可能在字典和纯字符串之间发生变化
PermissionRequestResult 字段相同的文件-- kind 值可能会改变
导入路径copilot.tools, copilot.session --模块名称可以重新组织
ToolResult / text_result_for_llmagent_loop.py --字段命名(camelCase与snake_case)

一旦验证, 固定新版本agent/requirements.txt:

github-copilot-sdk==X.Y.Z

版本历史

SDK版本协议密钥更改
0.1.22v2原始版本。 create_session({dict}), session.send({"prompt": ...}), textResultForLlm,进口自 copilot.types
0.2.2v3断裂: create_session(**kwargs), session.send(str), text_result_for_llm,进口自 copilot.tools/copilot.session, system_message 必须是字典({"mode": "replace", "content": ...}), on_permission_request 取2个参数, kind="approved"

______________________________________________________________________

🏢 从POC到生产

此演示实现了适用于企业环境的模式。这 “自动化提出,人类认可” 这种方法是一种既定的GitOps模式。

当前限制:

  • 单用户、单机执行
  • 运行之间没有持久状态
  • 无身份验证/授权
  • 无作业排队或调度

相关行业格局

图案/工具描述
后台带有自动化插件的开发人员门户
Dependabot/Renovate自动依赖PR
GitHub高级安全自动安全补救
政策即代码(OPA,Kyverno)声明性政策执行

______________________________________________________________________

�️ 负责任的人工智能考虑因素

此解决方案作为 无头自主代理 --代理和最终用户之间没有会话交换。代理接收来自配置的硬编码提示(repos.json,政策文件 knowledge/),执行确定性工作流,并生成代码补丁和Pull Requests。人类仅在PR审查阶段重新进入循环。

鉴于这种设计,许多适用于交互式人工智能系统(聊天机器人、内容生成器、面向用户的助手)的传统负责任人工智能问题是 不适用 在这里:

RAI关注点适用性推理
有害内容生成不适用没有用户提供的提示。所有输入都受到控制:来自配置的仓库URL、来自精心策划的知识库的策略文本、源代码中硬编码的系统提示。
偏见和公平不适用代理决定源代码合规性,而不是人。没有人口统计、招聘、贷款或内容审核决定。
个人身份信息和数据隐私不适用代理处理源代码和依赖关系清单。不会摄入、存储或生成任何个人数据。
快速注射风险最小没有面向用户的输入界面。唯一的外部输入是目标存储库的源代码,它由确定性分析(AST解析、正则表达式)处理,而不是原始传递给LLM。

考虑了什么

尽管风险较低,但有以下保障措施:

  1. 人性化设计 --代理通过Pull Requests提出更改;它从不自动合并。CM-7审批矩阵根据服务层和修改的文件将PR发送给特定的人工审阅者(SRE、安全、服务所有者)。每次代码更改在进入生产环境之前都需要明确的人工批准。
  1. 代码正确性验证 --所有生成的补丁都经过验证 ast.parse() 在编写之前确保语法正确。测试已运行(pytest)在打开PR之前,根据修补后的代码。如果测试失败,代理将尝试基于SDK的代码修复(最多重试3次),测试结果将报告在PR中,以供审阅者注意。
  1. 接地输出(RAG) --PR描述引用了从Azure AI搜索知识库(FoundryIQ)检索到的组织自己的政策文档中的证据。知识库使用提取检索,从政策文档中返回逐字文本,而不是合成答案,进一步降低了政策引用中的幻觉风险。
  1. 有界代理行为 --Copilot SDK会话仅限于通过以下方式明确注册的13个自定义工具 available_tools 白名单。SDK不能使用内置的文件写入或终端工具。所有文件写入都受到路径遍历保护和仅限工作区的边界检查的进一步约束。
  1. 无保留状态或学习 --每次运行都是干净的——工作区是短暂的,状态文件被清除,SDK会话没有先前运行的内存。代理不能在执行过程中累积或泄漏上下文。
  1. 单用户执行上下文 --该代理在运营商自己的GitHub和Azure凭据下运行。没有多租户访问,没有共享执行上下文,也没有凭据委派。操作员看到的正是代理看到的。

何时重游

如果解决方案演变为:

  • 接受 用户提供的提示 (例如,“扫描此回购中的X”)-将引入即时注入风险
  • 过程 外部/不受信任的存储库 --源代码的注释或文件名中可能包含对抗性内容
  • 以a的身份奔跑 多租户服务 --需要凭证隔离和访问控制
  • 生成 面向用户的内容 超出PR描述——需要内容安全过滤器

______________________________________________________________________

�🐛 故障排除

问题解决方案
copilot: command not found设置 COPILOT_CLI_PATH.env 到完整路径(where.exe copilot)
DefaultAzureCredential failed快跑 az login 并通过以下方式验证订阅 az account show
Knowledge base not configured设置 AZURE_AI_SEARCH_ENDPOINTAZURE_AI_KB_NAMEagent/.env
Connection refused :4101/:4102确保MCP服务器在单独的终端中运行
gh: not logged in快跑 gh auth login
Error adding labelAgent自动创建标签;如果问题仍然存在,请使用手动创建 gh label create

______________________________________________________________________

🔗 相关资源

______________________________________________________________________

📄 许可证

此演示用于教育目的。有关详细信息,请参阅许可证。

目录标签

目录标签

PythonAI代理开发工具合规自动化本地部署微服务管理策略执行GitHub集成

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP