基于 LangGraph 的多智能体测试系统,采用 Supervisor + Worker 架构执行代码变更分析和测试用例评审。
- 自然语言入口:根据用户请求自动判断走单 Worker 还是完整 Supervisor 流程
- 代码分析 Agent:分析模块代码变更,输出结构化变更报告
- 用例评审 Agent:基于代码变更、业务知识和测试用例输出评审结果
- Plan-and-Solve:Supervisor 生成执行计划,并支持人工确认
- Reflection:Worker 和 Supervisor 均支持结果质量评估
- 可观测性:输出 JSONL 日志、单次 trace 日志和 metrics 汇总
pip install -r requirements.txt系统依赖:grep / glob 工具依赖 ripgrep。
# WSL/Ubuntu/Debian
sudo apt install ripgrep
# macOS
brew install ripgrep复制环境变量示例并填写实际值:
cp .env.example .env常用变量:
| 变量 | 说明 | 默认值 |
|---|---|---|
TEST_AGENTS_MODEL |
LLM 模型 | kimi-k2.6 |
OPENAI_API_KEY |
LLM API Key | - |
OPENAI_BASE_URL |
LLM API 基地址 | - |
TEST_AGENTS_CLAUDE_TIMEOUT |
Claude CLI 超时秒数 | 1200 |
TEST_AGENTS_MAX_PLAN_ITERATIONS |
最大计划迭代次数 | 1 |
TEST_AGENTS_MAX_CONFIRM_RETRIES |
最大计划确认重试次数 | 1 |
TEST_AGENTS_LOG_LEVEL |
可观测日志级别:`OFF | INFO |
交互模式:
python -m test_agents直接传入自然语言请求:
python -m test_agents "分析 order 模块从 a1b2c3d 到 e4f5a6b 的代码变更"JSON 输出:
python -m test_agents "评审测试用例" --output json运行全部测试:
python -m pytest test_agents/tests/ -v运行单个测试文件:
python -m pytest test_agents/tests/test_integration.py -v用户请求 → intent_classifier → planner → confirm_plan → dispatch → worker(s) → reflect → synthesize → save_experience
核心组件:
test_agents/main.py:CLI 入口和运行模式调度test_agents/graph/builder.py:Supervisor 图和 Worker 子图组装test_agents/agents/supervisor.py:计划、确认、调度、反思、汇总节点test_agents/agents/worker_base.py:通用 Worker ReAct + Reflection 子图test_agents/agents/code_analyzer.py:代码分析 Workertest_agents/agents/case_reviewer.py:测试用例评审 Workertest_agents/tools/:Claude CLI、测试用例解析、业务知识库、文件系统只读工具test_agents/observability/:日志、trace 和 metrics
Worker 输出统一写入 outputs[output_key],例如:
code_change_reportreview_results
默认日志目录:
logs/
├── app-YYYY-MM-DD.jsonl
├── traces/<trace_id>.jsonl
└── metrics.jsonl
关闭观测:
TEST_AGENTS_LOG_LEVEL=OFF python -m test_agents "分析代码变更"