# 子智能体集成测试 本文档说明如何测试新的子智能体系统。 ## 前置条件 1. 确保 Node.js 已安装(18+) 2. 安装 easyagent 依赖: ```bash cd easyagent npm install ``` 3. 确保 models.json 配置正确(复制 easyagent 根目录的 models.json 到 easyagent/ 目录) ## 测试步骤 ### 1. 测试批处理模式 ```bash # 创建测试目录 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 服务器: ```bash cd /Users/jojo/Desktop/agents/正在修复中/agents python -m server.app ``` 在浏览器中测试: 1. 登录系统 2. 创建新对话 3. 发送消息: ``` 请创建一个子智能体,编号1,任务是在项目根目录创建一个 test.md 文件,内容为"测试子智能体功能"。 ``` 4. 观察子智能体执行过程 5. 检查交付目录:`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 ``` ## 预期结果 1. **批处理模式**: - output.json 包含 success 和 summary - deliverables/ 目录包含生成的文件 - deliverables/.subagent/conversation.json 包含对话记录 2. **主智能体集成**: - 阻塞模式:立即返回完成结果 - 后台模式:立即返回 running 状态,完成后收到通知 3. **并行执行**: - 多个子智能体同时运行 - 各自独立完成任务 - 不会相互干扰 4. **状态查询**: - 返回每个子智能体的运行时间、工具使用统计 - 显示当前状态(running/completed) 5. **终止功能**: - 子智能体进程被终止 - 部分结果保留 ## 常见问题 ### 1. Node.js 找不到 确保 Node.js 已安装并在 PATH 中: ```bash which node node --version ``` ### 2. 模型配置错误 检查 easyagent/models.json 是否存在且配置正确。 ### 3. 权限问题 确保交付目录有写权限: ```bash chmod -R 755 sub_agent_results/ ``` ### 4. 子进程无法启动 检查 easyagent 批处理文件路径是否正确: ```bash ls -la /Users/jojo/Desktop/agents/正在修复中/agents/easyagent/src/batch/index.js ``` ### 5. 对话记录未保存 检查交付目录的 .subagent/ 子目录权限。 ## 调试技巧 1. 查看子进程输出: ```bash tail -f logs/debug_stream.log ``` 2. 查看任务状态文件: ```bash cat data/sub_agent_state.json ``` 3. 查看子智能体输出: ```bash cat sub_agent_tasks/sub_1_*/output.json ``` 4. 查看统计信息: ```bash cat sub_agent_tasks/sub_1_*/stats.json ``` ## 下一步 测试通过后,可以: 1. 添加更多工具到子智能体 2. 优化性能和错误处理 3. 添加前端展示界面 4. 完善文档和示例