Skip to content

lr-online/Dialoscope

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dialoscope

Expanding horizons through AI-powered, multi-perspective debate.


1. 背景与愿景

无论是写作、科研还是产品决策,人类都容易陷入信息茧房与思维偏见。Dialoscope 的愿景是让每个人都能随时拥有一场高质量、可回溯的多方辩论,从而:

  • 激发更多元的观点与创意
  • 发现论证中的盲点与隐含假设
  • 培养批判性思维与元认知能力
  • 将"与自己观点相左的声音"常态化、低门槛化

Dialoscope 并不试图告诉你"正确答案",而是充当一枚"思维显微镜"(dia-lo-scope):
透过它,你能放大不同立场的细节、洞察论据之间的张力,最终自行做出更通透、更自洽的判断。


2. 项目定位

Dialoscope 是一个 "三角色 AI 辩论与分析框架"

  1. 正方 AI —— 为命题提供支持、给出最有力的正面论据
  2. 反方 AI —— 针对同一命题进行反驳、提出质疑与反例
  3. 评审 AI —— 旁观且中立,总结双方要点、评估论证质量、给出改进建议

它聚焦于「观点碰撞」与「观点升华」两个阶段:
先让不同立场充分交锋,再用分析与元评审把争论沉淀为结构化见解。


3. 关键特性

● 多轮辩论
支持预设或动态轮次,逐步加深论证深度,而非一次性陈述。

● 结构化总结
评审 AI 会输出理由链、证据对照、优劣势评分等结构化结果,便于检索与二次利用。

● 偏见探测
利用多模型/多提示策略,识别潜在立场偏倚,提示用户留意盲区。

● 可解释日志
辩论过程、提示词与模型响应全部可追溯,让"黑箱"变得可复盘。

● 语言/领域无关
通过插拔式 LLM 适配层,理论上可使用任何支持 API 的大模型,并可快捷切换行业专用知识库。


4. 典型使用场景

  • 个人写作与创意孵化:对主题进行"自我辩论",找到更具张力的论点。
  • 产品决策 / 需求评审:让 AI 双方扮演支持者与反对者,暴露风险与机会。
  • 教育与培训:在课堂中模拟辩论赛,培养学生的批判性思维。
  • 法律与政策分析:检验法规草案的漏洞与潜在副作用。
  • 科研假说验证:从不同方法论角度对实验设计提出质疑。

5. 高层工作流概览

  1. 提交命题或问题陈述
  2. Dialoscope 创建正、反、评审三位 AI 角色
  3. 进入多轮回合:
    • 正方陈述
    • 反方反驳
    • (可选)双方交叉质询
  4. 评审 AI 总结当前回合,提炼焦点,重新抛出问题
  5. 达到轮次上限或双方无新论点后,评审 AI 输出终局报告
  6. 用户根据报告继续深挖、修订观点或生成下一轮探讨

6. 代码结构概览

为了帮助你快速熟悉项目代码,以下是主要目录和文件的功能概览:

  • config.yaml: 项目的配置文件。定义了 LLM 提供商(如 OpenAI, Ollama)的连接信息以及每个辩论角色(正方、反方、评审)所使用的具体模型和提供商。
  • dialoscope/: 项目的核心 Python 包。
    • cli.py: 命令行界面入口。
      • 使用 Typer 解析命令行参数(如辩题、轮数)。
      • 使用 Rich 提供美化的终端输出(彩色面板、Markdown 渲染、流式打印)。
      • 读取 config.yaml 配置。
      • 初始化 LLM 客户端 (llm_clients/) 和辩论角色 (core/agents.py)。
      • 实例化并运行 DebateManager (core/debate_manager.py) 来执行辩论。
    • config.py: 加载和验证 config.yaml 配置的辅助模块。
    • core/: 包含辩论的核心逻辑。
      • agents.py: 定义了 Agent 抽象基类以及具体的 ProponentAgent, OpponentAgent, JudgeAgent 子类。每个 Agent 负责根据辩论历史和自身角色生成相应的 Prompt,并调用 LLM 获取回应。
      • debate_manager.py: 负责管理整个辩论流程。它按顺序调用各个 Agent,维护对话历史记录,处理轮次,并在结束后保存辩论日志。
    • llm_clients/: 包含与不同 LLM API 交互的客户端。
      • 定义了 LLMClient 抽象基类。
      • 提供了具体的实现,如 OpenAIClient, OllamaClient,负责发送请求、处理认证和解析响应(包括流式响应)。
  • logs/: 默认存放辩论日志文件的目录。每次辩论的结果会以 JSON 格式保存在这里。
  • README.md: 你正在阅读的这个文件,提供项目介绍、目标、用法和贡献指南。
  • pyproject.toml / requirements.txt: 项目依赖管理文件。

这个结构旨在将配置、核心逻辑、LLM 交互和用户界面分离开来,以提高模块化和可维护性。


7. 路线图(摘选)

阶段 目标
v0.x 单机 CLI / Notebook 原型,验证流程与提示策略
v1.0 可发布的 Python 包,支持插件式 LLM、可视化日志
v1.1 Web UI(Streamlit / React)与多人协作模式
v2.x 知识库接入、论据事实溯源、模型 ensemble 纠偏
v3.x 自监督改进:让 AI 学习过去辩论结果,不断提升论证质量

8. 参与方式

Dialoscope 仍在早期阶段,欢迎任何形式的贡献:

  • 议题 / bug 报告
  • 新的提示词与辩论策略
  • UI / 可视化设计
  • 教育或行业案例分享

请 Star & Fork 项目,提交 Pull Request 或在 Discussions 中发起探讨!


9. 许可

Dialoscope 将以 Apache 2.0 许可发布,允许商用、修改与分发,只需保留版权与许可证声明。


携手打造一座思维的"显微镜",让多元视角成为每个人日常思考的助推器。
Welcome to Dialoscope!

About

Expanding horizons through AI-powered, multi-perspective debate.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages