Проблема: один ИИ — хорошо, а совет ИИ — лучше
Вы когда-нибудь задумывались, почему даже самые продвинутые LLM вроде Claude 3.5 Sonnet иногда дают неоптимальные ответы? Дело в том, что каждая модель имеет свои сильные и слабые стороны. Одна лучше справляется с кодом, другая — с анализом текста, третья — с креативными задачами. Но что, если бы вы могли одновременно консультироваться с несколькими моделями и получать коллективное решение?
LLM Council — это инструмент от известного исследователя Андрея Карпати, который реализует идею "совета ИИ". Вместо того чтобы полагаться на одну модель, система запрашивает несколько LLM одновременно, анализирует их ответы и предоставляет вам консенсусное решение или выбирает лучший вариант.
Решение: интеграция через Model Context Protocol (MCP)
К счастью, команда Anthropic разработала Model Context Protocol — стандартизированный способ подключения внешних инструментов к Claude. Это позволяет превратить LLM Council из отдельного инструмента в полноценного помощника внутри Claude Desktop. Вам больше не нужно переключаться между приложениями — всё работает в одном интерфейсе.
1Подготовка окружения
Перед началом убедитесь, что у вас установлены базовые инструменты разработчика. LLM Council написан на Python, поэтому потребуется Python 3.10 или выше.
# Проверяем версию Python
python --version
# Если Python нет, устанавливаем через pyenv или с официального сайта
# Проверяем наличие pip
pip --version
# Устанавливаем git (если нет)
sudo apt install git # для Ubuntu/Debian
# или brew install git для macOSВажно: Если вы ранее сталкивались с проблемами при локальном запуске LLM, рекомендую сначала ознакомиться с нашим гайдом по избежанию ошибок. Особенно это касается пользователей Windows и систем с ограниченной оперативной памятью.
2Установка LLM Council
Клонируем репозиторий проекта и устанавливаем зависимости:
# Клонируем репозиторий
git clone https://github.com/karpathy/llm-council.git
cd llm-council
# Создаем виртуальное окружение (рекомендуется)
python -m venv venv
source venv/bin/activate # для Linux/macOS
# или venv\Scripts\activate для Windows
# Устанавливаем зависимости
pip install -r requirements.txt
# Дополнительно устанавливаем MCP сервер
pip install mcp-llm-councilПроект активно развивается, поэтому зависимости могут меняться. Если возникнут конфликты версий, попробуйте установить конкретные версии пакетов:
# Пример установки конкретных версий
pip install "openai>=1.0.0"
pip install "anthropic>=0.25.0"3Настройка API ключей и моделей
LLM Council поддерживает работу как с облачными API (OpenAI, Anthropic), так и с локальными моделями через Ollama или LM Studio. Создадим конфигурационный файл:
# Создаем директорию для конфигов
mkdir -p ~/.config/llm-council
# Создаем файл конфигурации
nano ~/.config/llm-council/config.yamlВставьте следующую конфигурацию (адаптируйте под свои нужды):
# ~/.config/llm-council/config.yaml
models:
# Облачные модели (нужны API ключи)
- name: "claude-3-5-sonnet"
provider: "anthropic"
api_key: ${ANTHROPIC_API_KEY}
max_tokens: 4096
- name: "gpt-4o"
provider: "openai"
api_key: ${OPENAI_API_KEY}
max_tokens: 4096
# Локальные модели через Ollama
- name: "llama3.1:8b"
provider: "ollama"
base_url: "http://localhost:11434"
max_tokens: 2048
- name: "mistral:7b"
provider: "ollama"
base_url: "http://localhost:11434"
max_tokens: 2048
# Настройки совета
council:
voting_strategy: "consensus" # consensus, majority, or best
temperature: 0.7
max_retries: 34Запуск MCP сервера
Теперь нам нужно запустить LLM Council как MCP сервер. Создадим простой скрипт запуска:
#!/usr/bin/env python3
# mcp_server.py
import asyncio
from mcp_llm_council.server import LLMCouncilServer
from mcp.server import Server
import mcp.server.stdio
async def main():
# Инициализируем сервер LLM Council
council_server = LLMCouncilServer(
config_path="~/.config/llm-council/config.yaml"
)
# Создаем MCP сервер
server = Server("llm-council")
# Регистрируем инструменты
@server.list_tools()
async def handle_list_tools():
return [
{
"name": "ask_council",
"description": "Задать вопрос совету LLM моделей",
"inputSchema": {
"type": "object",
"properties": {
"question": {
"type": "string",
"description": "Вопрос для совета моделей"
},
"models": {
"type": "array",
"items": {"type": "string"},
"description": "Список моделей для запроса (опционально)"
}
},
"required": ["question"]
}
}
]
# Запускаем сервер через stdio
async with mcp.server.stdio.stdio_server() as (read_stream, write_stream):
await server.run(read_stream, write_stream)
if __name__ == "__main__":
asyncio.run(main())Запускаем сервер:
# Делаем скрипт исполняемым
chmod +x mcp_server.py
# Запускаем сервер
python mcp_server.py5Настройка Claude Desktop
Теперь нужно настроить Claude Desktop для работы с нашим MCP сервером. Конфигурационный файл Claude Desktop находится в:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Откройте или создайте этот файл и добавьте конфигурацию:
{
"mcpServers": {
"llm-council": {
"command": "python",
"args": [
"/полный/путь/к/вашему/mcp_server.py"
],
"env": {
"ANTHROPIC_API_KEY": "ваш_ключ_anthropic",
"OPENAI_API_KEY": "ваш_ключ_openai",
"PYTHONPATH": "/полный/путь/к/llm-council"
}
}
}
}Внимание: После изменения конфигурации необходимо полностью перезапустить Claude Desktop. Простое закрытие окна может быть недостаточно — проверьте, что процесс завершен в диспетчере задач.
6Проверка работы и примеры промптов
Запустите Claude Desktop. Если всё настроено правильно, вы увидите новый инструмент "ask_council" в интерфейсе. Давайте протестируем:
| Тип задачи | Пример промпта | Что проверяем |
|---|---|---|
| Код-ревью | "Проанализируй этот Python код на наличие ошибок и оптимизируй его: [код]" | Разные модели найдут разные типы ошибок |
| Креативная задача | "Придумай 5 идей для стартапа в сфере образовательных технологий" | Разнообразие идей от разных моделей |
| Анализ текста | "Резюмируй эту статью и выдели ключевые тезисы: [текст]" | Полнота и точность суммаризации |
Вот как выглядит типичный рабочий промпт:
Используй инструмент ask_council для анализа этой архитектурной проблемы:
Проблема: Нужно спроектировать систему обработки 10,000 PDF документов в день с извлечением структурированных данных. Документы разного качества сканирования.
Запрос к совету:
- Какие подходы к OCR выбрать?
- Как организовать pipeline обработки?
- Какие потенциальные bottlenecks?
Попроси совет использовать модели: claude-3-5-sonnet, gpt-4o, и llama3.1:8bНюансы и возможные ошибки
1. Проблемы с производительностью
Если вы используете локальные модели, особенно на слабом железе, запрос к нескольким моделям одновременно может занять много времени. Решение:
- Используйте таймауты в конфигурации
- Начинайте с 2-3 моделей вместо 5-6
- Используйте кэширование ответов
2. Конфликты версий Python
Частая проблема — конфликт версий пакетов. Если видите ошибки типа "ImportError" или "ModuleNotFoundError":
# Создаем чистое виртуальное окружение
python -m venv --clear venv_council
source venv_council/bin/activate
# Устанавливаем только необходимые пакеты
pip install "mcp>=0.1.0"
pip install "llm-council@git+https://github.com/karpathy/llm-council.git"3. Проблемы с MCP соединением
Если Claude Desktop не видит сервер:
- Проверьте, что сервер запущен (должен быть процесс Python)
- Убедитесь, что пути в конфиге абсолютные, а не относительные
- Попробуйте запустить сервер вручную и посмотреть логи
- Проверьте права доступа к файлам
FAQ: Частые вопросы
| Вопрос | Ответ |
|---|---|
| Можно ли использовать только локальные модели? | Да, настройте конфиг без облачных API. Но учтите, что для сложных задач локальные модели могут уступать в качестве. |
| Сколько это стоит? | Локальные модели бесплатны. Облачные API — по тарифам провайдеров. LLM Council сам — open source. |
| Есть ли аналогичные решения? | Да, например Meeting-LLM для конкретных задач или кастомные AI-агенты на Bun. |
| Можно ли добавить свои модели? | Да, через конфигурационный файл. Поддерживаются любые модели с OpenAI-совместимым API. |
| Как сравнить качество разных моделей? | LLM Council сохраняет ответы всех моделей. Вы можете анализировать, какая модель лучше справляется с конкретными типами задач. |
Заключение
Интеграция LLM Council с Claude Desktop через MCP — это мощный инструмент, который превращает ваш ИИ-ассистент в целый совет экспертов. Вы получаете не один ответ, а несколько перспектив, что особенно ценно для сложных, многогранных задач.
Ключевые преимущества такого подхода:
- Диверсификация рисков: меньше шансов получить ошибочный ответ
- Специализация: разные модели для разных типов задач
- Приватность: возможность работы полностью локально
- Гибкость: легко менять состав "совета" под задачу
Если вы уже работали с Claude Code для локальных LLM, то LLM Council станет логичным следующим шагом. Это инструмент для тех, кто хочет максимизировать качество ИИ-ассистента, не ограничиваясь одной моделью или провайдером.
Совет профессионала: Начните с малого — подключите 2-3 модели (например, одну облачную и две локальных). По мере накопления опыта вы поймете, какие модели лучше справляются с вашими типичными задачами, и сможете оптимизировать состав совета.