agent-Specialization/SUB_AGENT_TESTING.md

4.4 KiB
Raw Blame History

子智能体集成测试

本文档说明如何测试新的子智能体系统。

前置条件

  1. 确保 Node.js 已安装18+

  2. 安装 easyagent 依赖:

    cd easyagent
    npm install
    
  3. 确保 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. 登录系统

  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 中:

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/ 子目录权限。

调试技巧

  1. 查看子进程输出:

    tail -f logs/debug_stream.log
    
  2. 查看任务状态文件:

    cat data/sub_agent_state.json
    
  3. 查看子智能体输出:

    cat sub_agent_tasks/sub_1_*/output.json
    
  4. 查看统计信息:

    cat sub_agent_tasks/sub_1_*/stats.json
    

下一步

测试通过后,可以:

  1. 添加更多工具到子智能体
  2. 优化性能和错误处理
  3. 添加前端展示界面
  4. 完善文档和示例