人工智能代理互相辩论以改进决策
AI agents that argue with each other to improve decisions

原始链接: https://github.com/rockcat/HATS

## HATS:AI团队协作 HATS是一个多智能体系统,旨在通过运行受“六顶思考帽”框架启发的“团队”来模拟协作思考。与提供单一答案的典型AI工具不同,HATS提供多样化的视角——白帽(事实)、红帽(直觉)、黑帽(风险)、黄帽(机遇)、绿帽(创意)和蓝帽(引导),它们会积极辩论和挑战彼此。 这种结构化的不同意见有助于压力测试想法、规划项目和探索权衡,取代了传统的头脑风暴。HATS支持各种会议类型(站立会议、冲刺计划等),并配备动画3D头像和语音支持,创造动态、交互式的体验。 该系统具有自管理看板、与Slack、Google搜索和数据库等工具的集成,以及项目隔离功能,以实现有组织的流程。HATS使用Node.js和TypeScript构建,可配置不同的LLM提供商(OpenAI、Claude、Gemini),并支持通过Ollama/LM Studio进行本地支持。它专为开发者设计,提供清晰的设置说明和易用性。

黑客新闻 新的 | 过去的 | 评论 | 提问 | 展示 | 工作 | 提交 登录 互相辩论的AI代理,以改进决策 (github.com/rockcat) 12 分,来自 rockcat12 2小时前 | 隐藏 | 过去的 | 收藏 | 2 评论 帮助 zby 2分钟前 | 下一个 [–] 我不知道 - 看起来是个有趣的想法 - 但然后我进入仓库发现它做了诸如说话的头像唇形同步之类的事情。有多少精力投入到营销中?回复 oldsecondhand 9分钟前 | 上一个 | 下一个 [–] 听起来像是专家混合方法的一个效率较低的版本。回复 考虑申请YC 2026年夏季项目!申请截止至5月4日 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:
相关文章

原文

Don't ask one AI, start running a team.

Run meetings, plan work, and stress-test ideas with a team of AI agents that think differently — and challenge each other on purpose.

Most AI tools give you one answer. HATS gives you a panel of perspectives.

What makes HATS different?

HATS is inspired by the Six Thinking Hats framework — but implemented as a real multi-agent system with structured disagreement.

Each agent has a role:

⚪ White Hat — facts, gaps, assumptions

🔴 Red Hat — human impact, intuition

⚫ Black Hat — risks, failure modes

🟡 Yellow Hat — upside, opportunity

🟢 Green Hat — creativity, alternatives

🔵 Blue Hat — facilitation, synthesis

They don’t just respond — they debate.

LLMs tend to:

  • agree with you
  • sound confident even when wrong
  • miss blind spots

HATS fixes that by:

  • introducing structured conflict
  • forcing multiple perspectives
  • simulating real team dynamics
  • Run a product planning meeting
  • Stress-test a startup idea
  • Explore trade-offs in architecture decisions -Replace async brainstorming sessions

Watch 6 AI agents plan a startup and argue about it

Click for a demo video: Demo video

  • Multi-agent orchestration
  • Per-agent model selection:
  • OpenAI / Claude / Gemini
  • Local support via Ollama / LM Studio
  • Token + cost tracking per agent
  • Voice + 3D avatar support

Live Meetings with Faces and Voices

When a meeting starts, HATS opens a stage of animated 3D avatars rendered in real time using Three.js. Each agent speaks aloud via Piper TTS with per-agent voice models. Lip sync is driven by Rhubarb, mapping phonetic audio timing to ARKit visemes so mouths move in sync with speech.

Agent Config[]

Five meeting types are supported — Standup, Sprint Planning, Retrospective, Review, and Ad Hoc — all schedulable in advance via a built-in calendar or launched instantly on demand. Humans participate directly, taking turns in the conversation. The full transcript can be downloaded as Markdown when the meeting ends.

A Kanban Board That Works Itself

HATS includes a six-column Kanban board — Backlog, Ready, In Progress, Blocked, Review, Done — with full drag-and-drop. When a ticket moves to In Progress, it is automatically dispatched to the assigned agent as a live task. When a blocker is resolved, dependent tickets are automatically unblocked and advanced. Tickets assigned to the human team lead are highlighted in orange so nothing falls through the cracks.

Agents interact with the board through the Kanban MCP server, creating, moving, and commenting on tickets as part of their normal workflow.

Through the Model Context Protocol (MCP), HATS ships integrations across five categories:

Category Tools
Productivity Kanban, Memory (knowledge graph), Slack
Files & Documents Filesystem, Excel, Word, PDF, PowerPoint
Web Brave Search, Puppeteer/Chrome
Databases SQLite, PostgreSQL
Development GitHub

All servers are togglable from the UI and report live connection status and credential requirements.

Project-Scoped, Multi-Team

Every HATS project is isolated — its own Kanban board, meeting calendar, agent configurations, sources/ and outputs/ file folders, telemetry log, and state snapshot. Projects can be created, switched, and loaded without restarting. A project goal set by the team lead is automatically injected into every agent's system prompt to keep all thinking anchored to the objective.

The HATS web UI is a four-panel dashboard:

  • Agents — Live status, communication overlay, add/configure agents
  • Active Board — Kanban columns with real-time updates and drag-and-drop
  • Tools — MCP server controls, CLI, file upload/download, tool explorer
  • Backlog & Calendar — Unstarted tickets and weekly/daily/agenda calendar views

A persistent progress bar below the header shows the project goal alongside a three-segment ticket progress indicator (Done / Active / Backlog) that updates live as work moves through the board.

Dashboard[]

HATS is built on Node.js with a TypeScript backend, Three.js avatar rendering, and a plain HTML/CSS/JS frontend requiring no build step.

The scripts folder contains two scripts: setup.bat for Windows and setup.sh fro linux/MacOs. These perform some of the tasks below.

Node.js 20+ is required.

Copy .env.example to .env and fill in at least one LLM provider key:

Variable Description
ANTHROPIC_API_KEY Anthropic Claude (default provider)
OPENAI_API_KEY OpenAI GPT models
GEMINI_API_KEY Google Gemini models
BRAVE_API_KEY Brave Search (optional, for web search tool)

Piper TTS (optional — required for avatar speech)

Piper runs in one of two modes. Server mode (recommended) keeps voice models loaded in memory and supports one voice per agent. Subprocess mode is a simpler fallback using a single voice loaded on demand.

Download one or more voice models (.onnx + .onnx.json) from the Piper voices page and place them in piper_voices/.

Server mode (recommended)

Requires the piper-tts Python package. At startup the app automatically spawns one Flask server per voice model on consecutive ports — you do not need to start anything manually.

PIPER_VOICES_DIR=piper_voices        # directory containing .onnx files
PIPER_SERVER_PORT_START=5100         # first port; each voice gets the next port
PYTHON_BIN=python                    # python executable (default: "python")

Each agent can be assigned its own voice from a dropdown in the UI. If a previously selected voice is no longer present at startup the agent falls back to the first available voice.

Subprocess mode (fallback)

Uses the native Piper binary. The model is loaded from disk on every sentence, which adds ~0.5 s latency per sentence.

  1. Download the Piper release for your platform from the Piper releases page.
  2. Extract to piper/ in the project root (so the binary is at piper/piper.exe on Windows).
PIPER_BIN=piper/piper.exe            # path to native piper binary
PIPER_MODEL=piper_voices/en_GB-cori-high.onnx

The companion .onnx.json file must sit next to the .onnx file.

If neither PIPER_VOICES_DIR nor PIPER_MODEL is set, avatar speech is silently disabled and agents respond text-only.

Rhubarb Lip Sync (optional — required for avatar lip sync)

Rhubarb Lip Sync extracts mouth-shape timing from audio to drive avatar visemes. Required alongside Piper TTS if you want lip-synced avatars.

  1. Download a Rhubarb release for your platform from the Rhubarb releases page.
  2. Set RHUBARB_BIN in .env to the path of the executable (defaults to rhubarb):
RHUBARB_BIN=rhubarb/rhubarb

The phonetic recognizer is used by default — no additional dependencies (PocketSphinx, etc.) are required.

# 1. Clone and install
git clone <repo-url>
cd HATS
npm install

# 2. Configure
cp .env.example .env
# Edit .env and add at least one LLM provider API key

# 3. Run
npm start

The web UI is available at http://localhost:3001.

Alternatively, run the setup script which checks all dependencies:

# macOS / Linux / Git Bash on Windows
bash scripts/setup.sh

# Windows Command Prompt
scripts\setup.bat
src/
  agent/          Agent execution loop and state machine
  api/            HTTP + SSE + WebSocket server (port 3001)
  hats/           Six Thinking Hat definitions and directives
  human/          CLI interface for terminal interaction
  mcp/            MCP tool servers (kanban, filesystem, etc.)
  orchestrator/   Team coordination, meetings, task dispatch
  prompt/         System prompt generation
  providers/      LLM adapters (Anthropic, OpenAI, Gemini, Ollama, LM Studio)
  speech/         TTS + lip-sync pipeline (Piper + Rhubarb)
  store/          Event log, telemetry, and snapshot storage
  tools/          Tool schema definitions available to agents
  util/           Shared utilities (logger, etc.)
  webui/          Web UI — HTML/CSS/JS + Three.js avatar renderer
avatars/          GLB avatar models and avatars.json catalogue
projects/         Per-project runtime data (kanban, meetings, agent state)
scripts/          Setup scripts (setup.sh, setup.bat)
tools/            Developer utilities (glb-viewer.mjs)
rhubarb/          Install rhubarb in here
piper_voices/     Install voices for piper tts in here
npm test          # run tests (vitest)
npm run test:watch  # watch mode
npm run build     # compile TypeScript to dist/

No build step is required to run the app — npm start uses tsx to run TypeScript directly.

联系我们 contact @ memedata.com