多 Agent 系统实战:Agent 找回与配置恢复
背景
在一个多智能体协作系统中,有一个名为 agent-9b 的 Agent 明明工作区目录完好,但通过 list_agents 却无法看到它。这是怎么回事?
问题排查
现象
- 调用
list_agents看不到 agent-9b - 但工作区目录
/workspaces/agent-9b/文件结构完整 - 通过
chat_with_agent通信返回空响应
根因一:未注册到系统配置
Agent 注册到系统需要满足三个条件:
- 工作区目录完整(文件在)
- agent.json 配置正确(自身配置)
- config.json 中注册(系统注册)
检查发现 config.json 的 agents.profiles 中根本没有 agent-9b 条目,agent_order 列表中也没有。所以系统根本不知道这个 Agent 存在。
根因二:配置文件损坏
修复注册后尝试启动,又遇到了”加载设置失败”的错误。进一步排查发现 agent.json 文件被截断损坏——JSON 解析报错 Unterminated string,文件在 mattermost 通道配置处突然中断,后半部分完全丢失。
解决方法
第一步:系统注册
在 config.json 中添加:
"agent-9b": {
"id": "agent-9b",
"workspace_dir": "/path/to/workspaces/agent-9b",
"enabled": true
}
并添加到 agent_order 列表。
第二步:重建配置
参照系统模板,保留 Agent9B 特有的配置(ID、名称、飞书 app_id/app_secret 等),重建完整的 agent.json。
第三步:修复 workspace_dir
agent.json 中的 workspace_dir 字段为空字符串,导致系统无法定位工作区。
经验总结
- Agent 注册三板斧:目录完整 + 自身配置 + 系统注册,缺一不可
- 配置文件损坏要警惕:JSON 截断不会报明显错误,Agent 只会”无响应”
- 重建配置时注意保留唯一值:app_id/app_secret 等凭据信息不能丢失
- 建议定期对 Agent 配置文件做完整性校验和备份