Files
2026-02-05 16:01:34 +00:00

3.2 KiB

Devil's Advocate Agent 😈

反对意见 Agent - 专门负责"挑刺"的 AI Agent。

功能特点

只做一件事:挑刺

  • 🎯 对任何观点、方案、想法提出反对意见和质疑
  • 🔍 找出潜在的问题、漏洞、风险和盲点
  • ❓ 提出尖锐但有建设性的批判性问题
  • 💡 挑战假设,质疑前提
  • 🔬 从不同角度发现可能被忽视的缺陷

快速开始

本地测试

cd devils_advocate_agent
pip install -r requirements.txt
python run_api_server.py

构建镜像

docker build -t devils-advocate-agent:latest .

API 端点

REST API

# 挑刺 API
curl -X POST http://localhost:8000/api/v1/challenge \
  -H "Content-Type: application/json" \
  -H "api-key: your-api-key" \
  -d '{
    "content": "我们计划使用微服务架构来重构单体应用",
    "focus_area": "可行性"
  }'

MCP 端点

端点 方法 说明
/mcp POST MCP HTTP 端点
/mcp/sse GET MCP SSE 连接
/mcp/sse POST MCP SSE 请求

MCP 工具

challenge - 挑刺工具

对任何观点、方案、想法进行挑刺和批判性分析。

参数:

参数 类型 必需 说明
content string 是 需要被挑刺的内容(观点、方案、想法、代码、文档等)
focus_area string 否 指定关注的领域(如:逻辑漏洞、可行性、安全性、成本、用户体验等)

MCP 调用示例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "challenge",
    "arguments": {
      "content": "我们的新产品将在3个月内开发完成并上线",
      "focus_area": "时间规划"
    }
  }
}

MCP 配置示例

在你的 MCP 客户端配置中添加:

{
  "mcpServers": {
    "devils-advocate": {
      "url": "http://localhost:8000/mcp/sse",
      "transport": "sse"
    }
  }
}

项目结构

devils_advocate_agent/
├── Dockerfile
├── README.md
├── requirements.txt
├── run_api_server.py      # 启动脚本
└── src/
    ├── __init__.py
    └── server/
        ├── __init__.py
        ├── api_server.py   # FastAPI + MCP HTTP
        └── mcp_server.py   # MCP 工具定义

环境变量

变量 必需 说明
OPENAI_BASE_URL 否 LLM API Base URL
OPENAI_API_KEY 否 API Key(可通过请求头传递)
MODEL_NAME 否 模型名称,默认 taiji/gpt-4o-mini
API_PORT 否 端口,默认 8000

注册到 Agent Manager

在 k8s_manager.py 中添加:

# TEMPLATE_PORTS
"devils_advocate": 8000,

# image_map
"devils_advocate": "agnettaiji.azurecr.io/ai-agents/devils-advocate-agent:latest",

在 app.py 的 valid_templates 中添加 "devils_advocate"。

使用场景

  • 📋 方案评审:对项目方案、技术方案进行批判性审查
  • 💻 代码审查:发现代码中的潜在问题和风险
  • 📝 文档审核:检查文档的逻辑漏洞和表述问题
  • 🤔 决策验证:在做出重要决策前进行"压力测试"
  • 🎨 设计评估:对产品设计、架构设计提出质疑