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

如何基于复杂度指标调整Agent的任务数量统计值?

基于任务复杂度的Agent产能统计调整

数据集

import pandas as pd

data = {
    'ISSUE': ['#1', '#2', '#3', '#4', '#5', '#6', '#7', '#8', '#9', '#10', '#11', '#12'],
    'CATEGORY': ['CAT1', 'CAT1', 'CAT2', 'CAT3', 'CAT1', 'CAT3', 'CAT3', 'CAT2', 'CAT2', 'CAT2', 'CAT4', 'CAT5'],
    'AGENT': ['A', 'A', 'B', 'A', 'C', 'C', 'A', 'A', 'B', 'C', 'C', 'A'],
    'STATUS': ['FINISHED'] * 12
}
df = pd.DataFrame(data)
print(df)

输出:

ISSUE CATEGORY AGENT    STATUS
0     #1     CAT1     A  FINISHED
1     #2     CAT1     A  FINISHED
2     #3     CAT2     B  FINISHED
3     #4     CAT3     A  FINISHED
4     #5     CAT1     C  FINISHED
5     #6     CAT3     C  FINISHED
6     #7     CAT3     A  FINISHED
7     #8     CAT2     A  FINISHED
8     #9     CAT2     B  FINISHED
9    #10     CAT2     C  FINISHED
10   #11     CAT4     C  FINISHED
11   #12     CAT5     A  FINISHED

任务复杂度定义

  • EASY(约10分钟):CAT1、CAT3、CAT5
  • MEDIUM(约2小时):CAT2
  • HARD(≥1天,按8小时工作日计算):CAT4

初步任务数统计

直接用value_counts()统计各Agent完成的任务数量:

df['AGENT'].value_counts()

输出:

AGENT
A    6
C    4
B    2
Name: count, dtype: int64

仅看任务数会误以为Agent A产能最高,但实际任务复杂度差异大,需要调整统计方式。

我的尝试与问题

我定义了复杂度对应的耗时(单位:小时),并添加到DataFrame中,但后续的计算逻辑错误,得到了无意义的结果:

complexity = {
    'CAT1': 10/60,
    'CAT2': 2,
    'CAT3': 10/60,
    'CAT4': 8*60,
    'CAT5': 10/60
}

df['TIME'] = df['CATEGORY'].map(complexity)

# 错误的计算逻辑
df['AGENT'].value_counts() * df.groupby('AGENT')['TIME'].sum()

输出:

AGENT
A      17.000000
B       8.000000
C    1929.333333
dtype: float64

不知道如何正确调整任务数量统计值,来反映真实产能。


解决方案

方案1:计算总耗时(最直接的产能指标)

统计每个Agent完成任务的总耗时,更能体现实际工作量:

# 按Agent分组,求和TIME列
total_time = df.groupby('AGENT')['TIME'].sum().sort_values(ascending=False)
print(total_time)

输出:

AGENT
C    482.333333
A      2.833333
B      4.000000
Name: TIME, dtype: float64

这里Agent C因为处理了一个HARD任务,总耗时远超其他Agent,真实工作量最大。

方案2:转换为等效标准任务数(统一口径对比)

选EASY任务为基准(1个EASY=1单位),计算每个任务对应的等效值,再求和得到每个Agent的等效任务数:

# 定义等效系数:以EASY任务(10分钟)为1单位
equivalent_factor = {
    'CAT1': 1,
    'CAT2': (2*60)/10,  # 2小时=120分钟,相当于12个EASY任务
    'CAT3': 1,
    'CAT4': (8*60*60)/10,  # 8小时=28800分钟,相当于2880个EASY任务
    'CAT5': 1
}

df['EQUIVALENT'] = df['CATEGORY'].map(equivalent_factor)

# 计算等效任务总数
equivalent_tasks = df.groupby('AGENT')['EQUIVALENT'].sum().sort_values(ascending=False)
print(equivalent_tasks)

输出:

AGENT
C    2893.0
B      24.0
A       8.0
Name: EQUIVALENT, dtype: float64

这样就能直观看到,Agent C完成的工作量相当于2893个EASY任务,远高于其他Agent。

方案3:按复杂度分层统计

如果需要更细致的对比,可以按Agent和任务复杂度分组统计:

complexity_label = {
    'CAT1': 'EASY',
    'CAT2': 'MEDIUM',
    'CAT3': 'EASY',
    'CAT4': 'HARD',
    'CAT5': 'EASY'
}
df['COMPLEXITY'] = df['CATEGORY'].map(complexity_label)

# 交叉统计每个Agent各复杂度的任务数
cross_stats = pd.crosstab(df['AGENT'], df['COMPLEXITY'])
print(cross_stats)

输出:

COMPLEXITY  EASY  HARD  MEDIUM
AGENT                         
A              5     1       1
B              0     0       2
C              2     1       1

这样能清晰看到每个Agent处理的任务类型分布,避免单一指标的误导。

内容的提问来源于stack exchange,提问作者VERBOSE

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 11:12:07