Hecatoncheire MCP
具有本地LLM编排的多代理持续开发系统。
⚠️ 进行中 --该项目正在积极开发中。某些功能可能无法正常工作或可能出现意外行为。在任何生产使用之前都需要进行测试和验证。如果你觉得这很有用并想改进它-- 非常欢迎捐款!
⚠️ 开发中 该项目正在积极开发中。有些事情可能不起作用,或者不像预期的那样工作。使用前必须进行测试和验证。如果你决定喝完并使用, 请反击!
______________________________________________________________________
英语
概述
Hecatoncheire是一个MCP(模型上下文协议)服务器,它实现了一个连续的多代理工作流,在这个工作流中,专门的AI代理在代码开发任务上进行协作。该系统使用角色分离和智能反馈回路来防止范围蔓延和不必要的复杂性等常见问题。
问题陈述
单代理开发存在固有的局限性:
- 当同一个代理同时编写和审查代码时的认知偏差
- 倾向于“为了改进而改进”
- 缺乏客观的对齐检查
解决方案
具有严格角色分离的多代理架构:
编剧代理:根据验收标准实施代码\ 验证器代理:审查代码并提供有针对性的反馈\ 观察员代理人:分解任务并检查对齐情况的本地LLM
建筑
User Request
↓
Observer (Local LLM)
└─ Decomposes into acceptance criteria
└─ Defines success conditions
↓
Writer
└─ Implements code
└─ Submits for review
↓
Validator
└─ Reviews against criteria
└─ Approves OR provides feedback
↓
[Loop until approved or max iterations]核心组件
观察员代理人
- 本地LLM服务器
- 在后台运行,加载模型一次
- 公开与OpenAI兼容的HTTP API
- 功能:
- 任务分解为结构化标准 - 对齐验证(防止范围蠕变) - 根据原始意图对代码进行客观评估
编剧代理(聊天1)
- 接收结构化验收标准
- 实现代码解决方案
- 通过提交
write_code()工具 - 基于验证器反馈的迭代
验证器代理(聊天2)
- 审核提交的代码
- 检查是否符合验收标准
- 提供具体、可操作的反馈
- 仅在满足标准时批准
工作流程
1.任务初始化
start_task("Create recursive factorial function in Python")观察者分解为:
- 要求:函数签名、基本情况、递归调用
- 禁止:迭代方法、外部库
- MINIMUM_VIABLE:基本工作实施
- 成功_克里特里亚:n=0,1,5的正确结果
2.实施阶段
Writer根据标准实现并提交:
write_code(
code="def factorial(n):\n if n <= 1:\n return 1\n return n * factorial(n-1)",
description="Recursive factorial with base case"
)3.验证阶段
验证人审核并:
- 批准(任务完成)
- 提供反馈(Writer迭代)
review_code(
feedback="Missing docstring and type hints",
approved=False
)4.迭代
作者处理反馈并重新提交。循环将继续,直到获得批准或达到最大迭代次数。
配置
所有配置集中在 config.yaml:
模型配置
model:
path: "/models/model.gguf"
n_ctx: 4096
n_threads: 8
n_gpu_layers: -1
tensor_split: "2,8" # Multi-GPU split
split_mode: 1观察者配置
observer:
api_url: "http://localhost:8000"
temperature: 0.65
top_k: 40
top_p: 0.9
min_p: 0.05
repeat_penalty: 1.1
max_tokens: 512提示
所有提示都存储为YAML文件 prompts/:
system.yaml:观察员角色定义decompose.yaml:任务分解模板check_alignment.yaml:对齐验证模板
安装
需求
- 支持NVIDIA GPU的Docker
- CUDA兼容GPU,8GB+VRAM
- NVIDIA容器工具包
设置
- 克隆存储库:
git clone https://github.com/srose69/hecatoncheire.git
cd hecatoncheire- 在中配置模型路径
config.yaml:
model:
path: "/models/your-model.gguf"- 更新模型装载
docker-compose.yml:
volumes:
- /path/to/your/model.gguf:/models/your-model.gguf:ro
- ./config.yaml:/app/config.yaml:ro- 构建并运行:
docker compose build
docker compose up -d- 配置MCP客户端(请参阅
mcp_config_example.json):
{
"mcpServers": {
"hecatoncheire": {
"command": "docker",
"args": ["exec", "-i", "hecatoncheire", "python", "src/hecatoncheire.py"]
}
}
}容器架构
单个统一容器运行两个服务:
- 观察者服务器 (8000端口上的llama cpp python)
- MCP服务器 (连接到本地主机:8000)
顺序启动由管理 entrypoint.sh:
- 在后台启动观察者服务器
- 等待健康检查
- 容器保持活动状态,MCP客户端通过连接
docker exec
测试
验证观察员API
curl http://localhost:8000/v1/models
curl -X POST http://localhost:8000/v1/completions \
-H "Content-Type: application/json" \
-d '{"prompt": "Test prompt", "max_tokens": 50}'监控资源
docker logs hecatoncheire
nvidia-smi --query-gpu=index,name,memory.used,memory.total --format=csv -l 1调试
观察员没有回应:
docker logs hecatoncheire | grep "Observer Server"
docker port hecatoncheire 8000内存不足:
- 减少
n_ctx在config.yaml中 - 调整
tensor_split用于多GPU设置 - 降低
n_gpu_layers减少GPU的负载
MCP连接问题:
- 验证容器是否正在运行:
docker ps - 检查MCP客户端配置路径
- 查看容器日志中的启动错误
设计原则
- 角色分离 --每个代理都有一个明确的责任
- 连续流动 --无缝切换,无需停止-重新启动循环
- 对齐检查 --根据原始意图进行持续验证
- 本地处理 -没有外部API依赖项
- 配置为代码 --版本控制的YAML中的所有设置
局限性
- 可配置的最大迭代次数(默认值:3)
- 需要具有足够VRAM的GPU用于模型
- 状态在容器重新启动后不会持续
- 观察者质量取决于本地模型能力
______________________________________________________________________
俄语
概述
Hecatoncheire是一个MCP服务器(Model Context Protocol),实现一个连续的多代理开发工作流。专业的AI代理通过角色分离和反馈来协作任务,以防止SCOPE扩散和过度复杂。
问题
单代理开发受到内在限制:
- 认知扭曲:同一个代理编写和修改代码
- 倾向于“为了改进而改进”
- 缺乏客观的任务匹配性检查
决定
具有严格角色分工的多代理体系结构:
作者 -根据接收条件实现代码\ 验证器 -修改代码并提供反馈\ 观察者 -本地LLM,分解任务并检查匹配性
建筑
Запрос пользователя
↓
Observer (локальная LLM)
└─ Декомпозиция в критерии приёмки
└─ Определение условий успеха
↓
Writer
└─ Реализация кода
└─ Отправка на ревью
↓
Validator
└─ Ревью по критериям
└─ Одобрение ИЛИ обратная связь
↓
[Цикл до одобрения или лимита итераций]组件
观察者
- 本地LLM服务器(LLMA-CPP-Python)
- 在背景下工作,模式加载一次
- OpenAI兼容的HTTP API
- 任务分解、对齐检查、客观代码评估
作家(Чат1)
- 接受结构化的接收标准
- 实现解决方案
- 发送通过
write_code() - 验证码迭代
验证器(Чат2)
- 代码重写
- 检查是否符合标准
- 提供一个特定的,可操作的馈线
- 只有在符合所有标准的情况下才批准
安装
要求
- 支持NVIDIA GPU的Docker
- CUDA兼容8GB+VRAM的GPU
- NVIDIA容器工具包
设置
- 克隆存储库:
git clone https://github.com/srose69/hecatoncheire.git
cd hecatoncheire- 指定模型路径
config.yaml:
model:
path: "/models/your-model.gguf"- 更新山模型
docker-compose.yml:
volumes:
- /path/to/your/model.gguf:/models/your-model.gguf:ro
- ./config.yaml:/app/config.yaml:ro- 收集并运行:
docker compose build
docker compose up -d- 配置MCP客户端(请参阅。
mcp_config_example.json):
{
"mcpServers": {
"hecatoncheire": {
"command": "docker",
"args": ["exec", "-i", "hecatoncheire", "python", "src/hecatoncheire.py"]
}
}
}调试
Observer不回答:
docker logs hecatoncheire | grep "Observer Server"
docker port hecatoncheire 8000内存不足:
- 减少
n_ctx在 config.yaml 中 - 调谐
tensor_split多GPU - 降低
n_gpu_layers
MCP的问题:
- 检查容器:
docker ps - 检查MCP客户端配置
- 容器日志:
docker logs hecatoncheire
原则
- 角色分离 每个代理负责一个任务
- 连续流 -代理之间无缝过渡
- 对齐检查 -持续验证是否符合原始请求
- 局部处理 无外部API
- 配置为代码 -YaML版本化中的所有设置
限制
- 最大迭代可配置(默认情况下:3)
- 需要具有足够VRAM的GPU
- 在容器重新启动之间不保存状态
- Observer的质量取决于本地模型的能力
______________________________________________________________________
许可证
该项目根据 PolyForm Shield许可证1.0.0。参见 许可证 了解详情。
出于商业目的的商业使用、竞争和再分配 不允许.
