4.4 KiB
4.4 KiB
子智能体集成测试
本文档说明如何测试新的子智能体系统。
前置条件
-
确保 Node.js 已安装(18+)
-
安装 easyagent 依赖:
cd easyagent npm install -
确保 models.json 配置正确(复制 easyagent 根目录的 models.json 到 easyagent/ 目录)
测试步骤
1. 测试批处理模式
# 创建测试目录
mkdir -p /tmp/test_subagent
cd /tmp/test_subagent
# 创建测试任务文件
cat > task.txt << 'EOF'
你是子智能体 1,负责以下任务:
**任务摘要**:创建测试文件
**任务详情**:
在当前目录创建一个名为 test.txt 的文件,内容为 "Hello from sub-agent"。
**交付目录**:/tmp/test_subagent/deliverables
请将所有生成的文件保存到此目录。
**超时时间**:60 秒
完成任务后,请调用 finish_task 工具提交完成报告。
EOF
# 创建系统提示文件
cat > system.txt << 'EOF'
你是一个专注的子智能体,负责独立完成分配的任务。
完成任务后,必须调用 finish_task 工具。
EOF
# 运行批处理
node /Users/jojo/Desktop/agents/正在修复中/agents/easyagent/src/batch/index.js \
--workspace /tmp/test_subagent \
--task-file task.txt \
--system-prompt-file system.txt \
--output-file output.json \
--stats-file stats.json \
--agent-id 1 \
--timeout 60
# 检查结果
cat output.json
ls -la deliverables/
2. 测试主智能体集成
启动 Web 服务器:
cd /Users/jojo/Desktop/agents/正在修复中/agents
python -m server.app
在浏览器中测试:
-
登录系统
-
创建新对话
-
发送消息:
请创建一个子智能体,编号1,任务是在项目根目录创建一个 test.md 文件,内容为"测试子智能体功能"。 -
观察子智能体执行过程
-
检查交付目录:
sub_agent_results/agent_1/
3. 测试后台运行
发送消息:
请创建一个后台运行的子智能体,编号2,任务是搜索项目中所有的 Python 文件并统计行数,生成报告到 reports/line_count.md。设置为后台运行。
然后继续发送其他消息,观察子智能体完成后的通知。
4. 测试多个并行子智能体
发送消息:
请同时创建3个子智能体:
1. 编号1:分析 core/ 目录的代码结构
2. 编号2:分析 modules/ 目录的代码结构
3. 编号3:分析 utils/ 目录的代码结构
都设置为后台运行,交付目录分别为 reports/core、reports/modules、reports/utils。
5. 测试查询状态
在子智能体运行时,发送消息:
查询子智能体 1、2、3 的状态
6. 测试终止子智能体
发送消息:
终止子智能体 2
预期结果
-
批处理模式:
- output.json 包含 success 和 summary
- deliverables/ 目录包含生成的文件
- deliverables/.subagent/conversation.json 包含对话记录
-
主智能体集成:
- 阻塞模式:立即返回完成结果
- 后台模式:立即返回 running 状态,完成后收到通知
-
并行执行:
- 多个子智能体同时运行
- 各自独立完成任务
- 不会相互干扰
-
状态查询:
- 返回每个子智能体的运行时间、工具使用统计
- 显示当前状态(running/completed)
-
终止功能:
- 子智能体进程被终止
- 部分结果保留
常见问题
1. Node.js 找不到
确保 Node.js 已安装并在 PATH 中:
which node
node --version
2. 模型配置错误
检查 easyagent/models.json 是否存在且配置正确。
3. 权限问题
确保交付目录有写权限:
chmod -R 755 sub_agent_results/
4. 子进程无法启动
检查 easyagent 批处理文件路径是否正确:
ls -la /Users/jojo/Desktop/agents/正在修复中/agents/easyagent/src/batch/index.js
5. 对话记录未保存
检查交付目录的 .subagent/ 子目录权限。
调试技巧
-
查看子进程输出:
tail -f logs/debug_stream.log -
查看任务状态文件:
cat data/sub_agent_state.json -
查看子智能体输出:
cat sub_agent_tasks/sub_1_*/output.json -
查看统计信息:
cat sub_agent_tasks/sub_1_*/stats.json
下一步
测试通过后,可以:
- 添加更多工具到子智能体
- 优化性能和错误处理
- 添加前端展示界面
- 完善文档和示例