You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Source块创建Pallet Agent时设置Tracker参数及后续统计?

解决Pallet Agent的Tracker参数设置与Queue统计问题

一、正确按指定覆盖率设置Tracker参数

  1. 先确认Pallet Agent类型已添加布尔参数:在Pallet Agent的Parameters面板中,创建类型为boolean、名称为Tracker的参数。
  2. 在Source块的On creation代码框中,使用以下代码分配参数值:
    // 先定义覆盖率变量,比如在Main画布或Source所在代理中定义double coverage = 0.4;(代表40%的Agent设为true)
    agent.Tracker = randomTrue(coverage);
    // 也可直接写数值,比如30%覆盖率:agent.Tracker = randomTrue(0.3);
    
    常见报错原因:
    • Source块的Agent type未选择Pallet,导致agent不是Pallet实例;
    • 变量coverage未定义或类型错误;
    • 参数名拼写错误(如大小写不一致,Tracker写成tracker)。

二、统计Queue中不同Tracker值的Agent数量

方法1:直接使用统计函数

在需要获取数量的位置(如仪表盘、按钮事件、日志输出)调用以下代码:

  • 统计Tracker=true的Agent数量:
    count(queue, p -> p.Tracker)
    
  • 统计Tracker=false的Agent数量:
    count(queue, p -> !p.Tracker)
    

方法2:使用Dashboard统计组件

  1. 从Palette的Analysis面板拖入两个Statistic Counter组件;
  2. 第一个计数器的Value设为count(queue, p -> p.Tracker),命名为trackerTrueCount;
  3. 第二个计数器的Value设为count(queue, p -> !p.Tracker),命名为trackerFalseCount;
  4. 搭配Text组件即可显示两个计数器的实时值。

方法3:手动维护计数变量

  1. 在Queue所在的代理中定义两个整数变量:int trackerTrueNum = 0;、int trackerFalseNum = 0;;
  2. 在Queue的On enter事件中添加代码:
    if(agent.Tracker) {
        trackerTrueNum++;
    } else {
        trackerFalseNum++;
    }
    
  3. 在Queue的On exit事件中添加代码:
    if(agent.Tracker) {
        trackerTrueNum--;
    } else {
        trackerFalseNum--;
    }
    
    之后直接调用trackerTrueNum和trackerFalseNum即可获取实时数量。

内容的提问来源于stack exchange,提问作者Charlotte Fränkel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 04:47:05