🤖 Hermes AI Debater

AI 辩手系统深度研究报告

版本:0.1.0 | 创建日期:2026-04-16 | 基于 Hermes Agent

📋 项目概述

🎯 目标

构建一个基于 Hermes Agent 的 AI 辩论系统,能够:

✨ 技术特点

多代理协作

  • Hermes Agent 多实例
  • 正方/反方/裁判三角色
  • 自主辩论流程

论证挖掘

  • ArgLib 集成
  • 自研解析器
  • 论证图构建

证据检索

  • Web Search API
  • 自动证据匹配
  • 来源可信度评估

可视化展示

  • D3.js / Cytoscape.js
  • 论证关系图
  • 实时辩论展示

📚 研究背景

1️⃣ 里程碑项目:IBM Project Debater (2019-2024)

历史地位: 首个能与人类进行实时辩论的 AI 系统

关键事件

核心技术流程

论证挖掘 → 论点构建 → 证据检索 → 叙事生成 → 语音合成

重要资源

2️⃣ 开源论证挖掘框架 (2024-2025)

框架 特点 安装
oAMF 17+ 模块,支持 AIF/xAIF 格式 pip install oamf
AMF 模块化论证挖掘工具包 pip install argument-mining-framework
MAMKit 多模态论证挖掘 (PyTorch) pip install mamkit
WIBA LLM 基于的综合论证挖掘 API Web API
ArgLib 论证图推理 Python 库 pip install arglib

3️⃣ 多代理辩论系统 (LLM-based)

项目 核心方法 Stars 年份
MAD 天使 vs 魔鬼辩论框架 ⭐551 2023
llm_multiagent_debate ICML 2024,提高事实性 ⭐517 2023
argue TypeScript 多代理共识引擎 ⭐109 2026
llm_debate UCL,说服力导致真实性 ⭐129 2024
ARGUS 研究辩论链 + 贝叶斯推理 ⭐5 2026

关键论文

🏗️ 系统架构

整体架构图

┌─────────────────────────────────────────────────────────┐
│                    Hermes AI Debater                     │
├─────────────────────────────────────────────────────────┤
│  ┌──────────────┐    ┌──────────────┐    ┌────────────┐│
│  │  正方代理     │    │  反方代理     │    │  裁判代理   ││
│  │ (Hermes 实例)│    │ (Hermes 实例)│    │(Hermes 实例)││
│  └──────────────┘    └──────────────┘    └────────────┘│
│         ↓                    ↓                   ↓       │
│         └────────────────────┼───────────────────┘       │
│                              ↓                            │
│              ┌──────────────────────────┐                │
│              │   辩论协调器 (Coordinator) │                │
│              │   - 管理辩论状态          │                │
│              │   - 控制回合流程          │                │
│              │   - 记录辩论历史          │                │
│              └──────────────────────────┘                │
│                              ↓                            │
│         ┌────────────────────┼───────────────────┐       │
│         ↓                    ↓                   ↓       │
│  ┌─────────────┐   ┌─────────────┐   ┌─────────────┐   │
│  │ 论证挖掘模块 │   │  证据检索   │   │  质量评估   │   │
│  │ (ArgLib)    │   │ (web_search)│   │ (LLM 评分)  │   │
│  └─────────────┘   └─────────────┘   └─────────────┘   │
└─────────────────────────────────────────────────────────┘

数据流

用户输入辩题
    ↓
创建 DebateSession
    ↓
┌─────────────────────────────────┐
│         Round 1                  │
├─────────────────────────────────┤
│ 1. 正方开场陈述 → 解析论点       │
│ 2. 反方开场陈述 → 解析论点       │
│ 3. 证据检索 (Web Search)         │
│ 4. 论证质量评估                  │
│ 5. 裁判评估回合表现              │
└─────────────────────────────────┘
    ↓
┌─────────────────────────────────┐
│         Round 2-N                │
├─────────────────────────────────┤
│ 1. 正方反驳 → 解析新论点         │
│ 2. 反方反驳 → 解析新论点         │
│ 3. 证据检索与验证                │
│ 4. 论证图更新                    │
│ 5. 裁判评估回合表现              │
└─────────────────────────────────┘
    ↓
最终裁决
    ↓
生成辩论报告 + 可视化

核心功能

1️⃣ 辩论引擎 (DebateEngine)

核心类

主要方法

engine = DebateEngine(config)
session = engine.start_debate()

# 生成开场陈述
prompt = engine.generate_opening_statement(DebateRole.PRO)

# 生成反驳
prompt = engine.generate_rebuttal(DebateRole.CON, opponent_args)

# 生成裁判反馈
prompt = engine.generate_judge_feedback(round_data)

# 生成最终裁决
prompt = engine.generate_final_verdict()

2️⃣ 论证挖掘模块

集成方案

# 方案 A: 使用 ArgLib
from arglib.core import ArgumentGraph
from arglib.reasoning import compute_credibility

graph = ArgumentGraph.new(title="辩论论证图")
claim = graph.add_claim("人工智能利大于弊", type="opinion")
evidence = graph.add_claim("AI 提高生产效率", type="fact")
graph.add_support(evidence, claim)

credibility = compute_credibility(graph)

3️⃣ 多代理协调器

角色 职责 Prompt 特点
正方 支持辩题,构建论证 强调逻辑性、证据充分
反方 反对辩题,提出反驳 强调批判性思维、找漏洞
裁判 评估双方表现 强调公正、客观、全面

4️⃣ 论证可视化

论证图结构

{
  "arguments": {
    "arg1": {
      "id": "arg1",
      "content": "人工智能提高生产效率",
      "stance": "support",
      "quality_score": 0.85,
      "evidence": ["研究数据", "案例"]
    }
  },
  "supports": { "arg1": ["arg2"] },
  "attacks": { "arg3": ["arg1"] },
  "credibility_scores": { "arg1": 0.78 }
}

可视化库选择

特点 适用场景
D3.js 灵活强大,学习曲线陡 高度定制
Cytoscape.js 专注图论可视化 论证图
Vis.js 简单易用 快速原型

💻 技术实现

项目结构

hermes-ai-debater/
├── src/
│   ├── debate_engine.py      # 核心辩论引擎
│   ├── argument_mining.py    # 论证挖掘模块
│   ├── multi_agent.py        # 多代理协调器
│   ├── evidence_retrieval.py # 证据检索模块
│   └── argument_graph.py     # 论证图可视化
├── static/
│   ├── index.html            # 主页面
│   ├── css/
│   │   └── style.css         # 样式表
│   └── js/
│       ├── app.js            # 前端逻辑
│       └── visualization.js  # 论证可视化
├── tests/
│   ├── test_debate_engine.py
│   └── test_argument_mining.py
├── requirements.txt
├── wrangler.toml             # Cloudflare 配置
└── README.md

核心代码示例

1. 辩论引擎初始化

from debate_engine import DebateEngine, DebateConfig, DebateRole

config = DebateConfig(
    topic="人工智能对社会发展利大于弊",
    max_rounds=3,
    enable_argument_mining=True,
    enable_web_search=True
)

engine = DebateEngine(config)
session = engine.start_debate()

2. 运行一轮辩论

def run_round(engine, round_num):
    round_data = DebateRound(round_number=round_num)
    
    # 正方开场
    pro_prompt = engine.generate_opening_statement(DebateRole.PRO)
    pro_response = call_hermes(pro_prompt)
    pro_args = engine.parse_arguments(pro_response, ArgumentStance.SUPPORT)
    round_data.pro_arguments = pro_args
    
    # 反方开场
    con_prompt = engine.generate_opening_statement(DebateRole.CON)
    con_response = call_hermes(con_prompt)
    con_args = engine.parse_arguments(con_response, ArgumentStance.OPPOSE)
    round_data.con_arguments = con_args
    
    # 证据检索
    if engine.config.enable_web_search:
        evidence = search_web(engine.config.topic)
        for arg in pro_args + con_args:
            arg.sources = evidence.get(arg.content, [])
    
    # 论证质量评估
    for arg in pro_args + con_args:
        arg.quality_score = evaluate_argument_quality(arg)
    
    engine.add_round(round_data)
    return round_data

📖 使用指南

1️⃣ 安装依赖

cd ~/hermes-ai-debater

# 创建虚拟环境
python3 -m venv venv
source venv/bin/activate

# 安装依赖
pip install -r requirements.txt

2️⃣ 配置 Hermes Agent

# 检查 Hermes 是否可用
hermes --version

# 配置 API 密钥 (如果需要)
echo "LLM_API_KEY=your_key" >> ~/.hermes/.env

3️⃣ 运行辩论引擎

from src.debate_engine import DebateEngine, DebateConfig

config = DebateConfig(
    topic="人工智能是否应该被严格监管",
    max_rounds=3
)

engine = DebateEngine(config)
session = engine.start_debate()

print(f"辩论开始:{session.config.topic}")
print(f"会话 ID: {session.id}")

4️⃣ 实施路线图

阶段 1: 核心功能 - 辩论引擎实现
阶段 2: 多代理协调器
阶段 3: 论证挖掘集成
阶段 4: Web 界面开发
阶段 5: Cloudflare Pages 部署

🚀 部署方案

Cloudflare Pages 部署

1. Wrangler 配置

# wrangler.toml
name = "hermes-ai-debater"
compatibility_date = "2024-01-01"
pages_build_output_dir = "./static"

[vars]
HERMES_API_URL = "https://your-hermes-api.com"

2. 部署命令

# 安装 Wrangler (如果尚未安装)
npm install -g wrangler

# 登录 Cloudflare
wrangler login

# 部署
wrangler pages deploy ./static --project-name=hermes-ai-debater

3. 使用 Hermes 技能部署

# 使用 cloudflare-pages-macos-deployment 技能
hermes skills cloudflare-pages-macos-deployment

# 然后执行部署

API 接口设计

方法 端点 描述
POST /api/debate/start 创建辩论会话
GET /api/debate/:id 获取会话状态
GET /api/debate/:id/round/:n 获取指定回合数据
POST /api/debate/:id/next 进行下一回合
GET /api/debate/:id/summary 获取辩论摘要

📎 参考资料

📄 论文

  1. Slonim, N., et al. (2021). An autonomous debating system . Nature.
  2. Liang, S., et al. (2023). Encouraging Divergent Thinking in Large Language Models through Multi-Agent Debate . arXiv.
  3. Du, Y., et al. (2023). Improving Factuality and Reasoning in Language Models through Multiagent Debate . ICML 2024.
  4. Khan, A., et al. (2024). Debating with More Persuasive LLMs Leads to More Truthful Answers . UCL.

💻 开源项目

📊 数据集

🛠️ 工具库