2026-02-15-Atlas-model_selector重构完成.md

Coco 协调日志

2026-02-15 深夜 - Atlas🐻 model_selector Control Plane重构完成

任务类型: 紧急夜班任务 负责人: Atlas🐻 (HC-005, 全栈系统工程师) 协调者: Coco🐳 任务来源: William直接指派 + Sage🦬 crew_manager设计方案 时间跨度: 2026-02-15 23:30 - 23:58 (28分钟)


任务背景

William要求对model_selector.py进行Control Plane重构,目标是"换传输层,保路由脑"。 Sage已完成crew_manager桥接设计方案,需要model_selector集成agent_cards.json支持基于Agent名称的路由。

任务执行

阶段1: 架构验证 (5分钟)

阶段2: Agent Cards集成 (15分钟)

阶段3: 测试验证 (8分钟)


交付成果

1. 代码文件

2. 文档


关键设计决策

ADR-011: Agent Card模型映射

MODEL_MAPPING = {
    'claude-opus-4-6': 'claude-opus-4.6',
    'claude-opus-4-5': 'claude-opus-4.5',
    'claude-sonnet-4-5': 'claude-sonnet-4.5',
}

解决agent_cards.json(连字符格式)与llm_config.yaml(点号格式)的差异。

ADR-012: 降级链设计

ADR-013: 向后兼容


技术亮点

  1. 已完成Control Plane分离: 现有代码已符合架构目标,本次只需增强路由功能
  2. 数据驱动: 从agent_cards.json读取配置,20个Agent自动加载
  3. 自动降级: primary模型不可用时,自动使用fallback链(如Nathan的Opus 4.5 → GLM-4-plus)
  4. 可观测性: 返回结果包含完整agent_card元信息,供metrics记录

与crew_manager.py的桥接准备

本次重构为Sage的crew_manager设计方案做好了准备:

crew_manager.py (未来)
  ↓
CrewAIExecutor.execute(task_dict)
  ↓
ModelSelector.route_and_call_for_agent(agent_name='alex')
  ↓
RouteDecider.route_with_card('alex')
  ↓
agent_cards.json 查表
  ↓
LiteLLMDataPlane.call()
  ↓
localhost:4000/v1/chat/completions

待办事项

P0 - crew_manager.py实现(下一步)

P1 - 配置完善


交付检查清单


协调记录

执行: Atlas独立完成,无需Team协作 时长: 28分钟 质量: 所有测试通过,文档完整,代码符合PEP 8规范

Atlas评估: 本次重构为"微创手术",现有架构已经符合Control Plane / Data Plane分离目标,只需增强RouteDecider的路由能力。与Sage的设计方案高度一致。

下一步: 待William审阅 → Sage架构审查 → 继续实现crew_manager.py的Blackboard桥接层。


Atlas🐻 交付完成 时间: 2026-02-15 23:58