MCP Loop 循环与门控
Agent 循环体系(Agent Loop)
Neurova 的 Agent 循环通过 Loop 注册表 管理,每个 Loop 实现特定模型交互逻辑,通过 @register_loop 按模型匹配自动选择:
- OpenAILoop(priority=10)— 匹配
gpt-/openai//qwen./deepseek-等 OpenAI 兼容模型 - AnthropicLoop(priority=20)— 匹配
claude-/anthropic/模型
优先级机制:模型匹配度高的 Loop 优先(AnthropicLoop 20 > OpenAILoop 10)。
循环门控(Loop Gates)
门控系统在 Agent 循环的每次迭代后检查是否继续,三类决策:
| 决策 | 行为 | 应用场景 |
|---|---|---|
| BYPASS | 继续(无干预) | 正常执行 |
| INTERRUPT_AND_CONTINUE | 注入提示后继续(软干预) | 把 gate 意见告知 LLM,让模型自行纠正 |
| TERMINATE | 终止循环(硬停止) | 循环立即结束,如 DoomLoop 检测到死循环 |
三态门控特性
- 故障隔离:gate 自身异常时降级为 BYPASS + warning,不阻断主流程
- TERMINATE 优先:硬停止优先于一切软干预
- 门控种类:DoomLoopGate(滑动窗口相似度检测死循环)、Token/迭代/超时预算门
设计理念
借鉴 QwenPaw 的停止门控三态语义(BYPASS/INTERRUPT_AND_CONTINUE/TERMINATE),Neurova 让 Agent 循环既有智能纠错的软干预,也有紧急刹车的硬停止——防止 Agent 在死循环中空转浪费资源。
关键文件
neurova/agent/gates.py # StopAction 三态门控(BYPASS/INTERRUPT/TERMINATE)
```