SuperAPI AI 工具集

agentteams-test

测试与质量

查看项目

更新于 10-22 07:19

技能介绍

用途

AgentTeams Test 是面向 AgentTeams 项目的测试技能,用于完成一整套测试流程,包括环境准备、安装验证、功能测试、卸载,以及测试失败或卡住时的日志导出与诊断。

主要能力

  • 运行完整测试:一次性执行安装、测试和卸载三步。
  • 单独安装或单独卸载。
  • 使用已有的安装运行测试,跳过重新安装步骤。
  • 导出调试日志:通过 agentteams-debug.sh 导出全部日志或只分析卡住问题。
  • 手动导出各类日志,包括 Manager 容器日志、Manager Agent 日志与错误日志、Worker 容器日志和测试输出文件。
  • 测试结果解读:识别成功、被跳过以及超时的测试,并查看 metrics 文件。

资料中列出的测试用例包括:test-01 Manager 启动健康检查;test-02 创建 Worker Alice;test-03 给 Worker 分配任务;test-04 人工介入并追加指令;test-05 心跳查询机制;test-06 多 Worker 协作;test-08~14 为 GitHub/MCP 相关测试,需要 AGENTTEAMS_GITHUB_TOKEN。

使用方式

快速开始:

git clone https://github.com/alibaba/agentteams.git && cd agentteams
cp agentteams-manager.env.example ~/agentteams-manager.env
# 编辑 ~/agentteams-manager.env,设置 AGENTTEAMS_LLM_API_KEY 等
set -a && . ~/agentteams-manager.env && set +a && make test

仅安装:

set -a && . ~/agentteams-manager.env && set +a && AGENTTEAMS_YOLO=1 make install

仅卸载:

make uninstall

使用已有安装运行测试:

set -a && . ~/agentteams-manager.env && set +a
./tests/run-all-tests.sh --skip-build --use-existing

导出调试日志:

./tests/skills/agentteams-test/scripts/agentteams-debug.sh all
./tests/skills/agentteams-test/scripts/agentteams-debug.sh analyze

手动导出日志的示例如下:

docker logs --tail 100 agentteams-manager 2>&1
docker exec agentteams-manager tail -100 /var/log/agentteams/manager-agent.log
docker exec agentteams-manager tail -50 /var/log/agentteams/manager-agent-error.log
docker ps --filter "name=agentteams-worker" --format "table {{.Names}}\t{{.Status}}"
docker logs --tail 50 agentteams-worker-alice 2>&1
ls tests/output/
cat tests/output/metrics-*.json

常见问题诊断

  • 测试卡住:使用 agentteams-debug.sh 检查 Worker 的 PHASE_DONE 消息是否包含 @manager。如果包含,消息会被 Manager 处理;如果缺失,消息会被忽略,可能导致卡住。常见原因是多阶段协作中 Worker 完成一个阶段后没有 @mention Manager,资料称该问题在 v1.0.8+ 修复。
  • Worker 无响应:检查 Worker 容器是否运行,以及 Worker Agent 进程。
  • LLM 调用失败:查看 manager-agent-error.log 中的错误信息。
  • 测试超时:部分测试(如 test-14-git-collab)耗时较长,可自定义 timeout,例如 timeout 1200 ./tests/run-all-tests.sh --skip-build --use-existing。

结果解读与清理

测试摘要会显示总数、通过数和失败数;没有配置 GitHub Token 时相关测试会被跳过。每个测试会生成 metrics-XX-testname.json,包含 LLM 调用次数、Token 使用量、执行时间和缓存命中统计。清理环境时可以使用 make uninstall,删除 Worker 容器以及测试代码。

限制

资料未提供该技能支持的 AgentTeams 版本范围(v1.0.8 仅作为问题修复说明出现)、依赖环境要求以及非 Docker 部署方式的细节;GitHub/MCP 相关测试需要 AGENTTEAMS_GITHUB_TOKEN。具体参数与输出细节请以资料中的命令和仓库文档为准。