Heicode Docs
产品总览

可观测性与故障诊断

使用任务标识、日志、错误分类和诊断证据定位执行问题。

可观测性与故障诊断

复杂 Agent 任务涉及前端、控制面、模型网关、Orchestrator、MCP、Sandbox、Redis、数据库和外部服务。只看最终错误提示,通常不足以定位问题。

关键标识

诊断时应保留并关联以下标识:

  • Session ID:一次用户会话;
  • Swarm ID:一次多 Agent 执行;
  • Task ID:具体任务或子任务;
  • Agent ID:执行该任务的 Agent;
  • Model Request ID:模型提供方返回的请求标识;
  • Trace ID:跨服务调用链标识;
  • Workspace / Sandbox ID:实际执行环境。

界面、日志和工单系统应尽量使用同一组标识,避免只能依靠时间和文本猜测对应关系。

分层排查

1. 前端与连接层

检查连接地址、认证信息、WebSocket 或流式连接是否中断,以及界面状态是否与后端一致。

2. Orchestrator 与队列

检查任务是否入队、是否被 Worker 获取、状态是否持续更新,以及 retry / reopen 是否按预期触发。

3. 模型调用

保存经过脱敏的请求参数、响应字段、HTTP 状态、错误码、Token 统计和耗时。重点区分:认证失败、限流、上下文超限、超时、空 content、非法工具调用和 JSON 解析失败。

4. MCP 与工具

检查协议协商、认证 Header、工具 Schema、请求超时、返回值大小和传输方式。MCP Server 可连接不代表每个工具都能正常调用。

5. Workspace / Sandbox

检查仓库是否挂载、当前目录是否正确、依赖是否存在、磁盘空间是否充足、网络策略是否允许,以及工作区是否被提前销毁。

6. 结果聚合

检查最终报告是否基于实际工作区、测试日志和 Agent 结果生成,避免聚合器只总结自然语言而遗漏真实失败。

常见故障分类

类别示例
MODEL认证、限流、上下文超限、空响应、JSON 解析失败
MCPServer 无法连接、协议不兼容、工具参数错误
WORKSPACE目录为空、仓库未同步、文件权限不足
SANDBOXVM 创建失败、网络不通、资源不足、超时销毁
SWARM子任务卡住、重复重试、状态不一致、聚合失败
NETWORKDNS、代理、VNet、Subnet、NSG、Firewall 问题
STORAGERedis、数据库或对象存储不可用
UI前端缓存、流式事件丢失、状态展示滞后

建议错误码格式

HC-MODEL-1001  模型认证失败
HC-MODEL-1203  结构化输出解析失败
HC-SWARM-2104  Agent 执行超时
HC-MCP-3102    MCP Server 无法连接
HC-VM-4101     Sandbox 创建失败
HC-NET-5103    Subnet 或 NSG 配置错误

错误码应包含责任域、稳定编号、用户可读说明、建议动作和内部诊断字段。

诊断包

提交问题时,建议导出一个脱敏诊断包,包含:

  • Heicode 版本和运行环境;
  • Session、Swarm、Task、Agent 标识;
  • 任务时间范围;
  • 状态变化时间线;
  • 模型和工具错误摘要;
  • 关键日志;
  • 修改文件列表;
  • 测试命令和退出码;
  • 网络和 Sandbox 基本状态。

诊断包不应默认包含 API Key、Cookie、Authorization Header、SSH 私钥、完整环境变量或用户隐私数据。

状态不一致

当 UI、Redis 和数据库显示不同状态时,应确定哪一个系统是最终状态源,并记录最近一次状态更新时间。不要仅通过手工改 Redis 来“修复”界面状态,否则可能破坏任务恢复和审计链路。

最后更新于

本页内容