《TDAG:让大模型像人类一样灵活处理复杂任务》
写在前面
该论文发表在 Neural Networks(CCF B类) 针对LLM智能体在复杂现实任务中因错误传播和适应性不足导致的执行难题,论文提出了基于动态任务分解和智能体生成的TDAG框架,通过将任务分解为子任务并为每个子任务动态生成专用子智能体,显著提升了智能体在多样化场景中的适应性。同时,现有基准缺乏对复杂任务增量进展的细粒度评估,论文推出了ItineraryBench,以旅行规划为场景,设计了多层次任务和细粒度评分体系。代码和数据已开源,
相关链接:
现在的问题
LLM智能体在现实任务中的表现受限于以下问题:
- 方法缺陷:任务分解后子任务固定,早期子任务失败会导致整个任务失败,如P&E方法的级联任务失败率高达34.78%。
- 基准局限:现有评估(如AgentBench)多采用二元评分,忽略部分任务完成情况,无法准确反映智能体的增量能力。
现有的方案
现有方法主要包括:
- ReAct:通过迭代生成思想和行动完成任务,优点是简单,但长上下文任务中易出错。
- ADAPT:递归分解任务并分配子智能体,具备一定灵活性,但子智能体设计固定,难以适应动态场景。
Proposed Method: TDAG
TDAG框架通过动态任务分解和智能体生成解决上述问题,具体分为以下模块:
1. 动态任务分解
主智能体将复杂任务T分解为子任务序列(t1, t2, …, tn),公式为(t1, t2, …, tn) = MainAgent(T)。
- 创新点:根据前序子任务结果动态调整后续子任务,公式为ti’ = Update(ti, r1, r2, …, ri-1),避免错误传播。
2. 智能体生成
为每个子任务动态生成子智能体,包含工具文档生成和增量技能库两部分。
- 工具文档生成:优化原始文档,消除冗余和模糊描述,提升智能体理解效率。
- 增量技能库:子智能体完成任务后总结经验,存储为技能(格式:名称、细节、解决方案),通过SentenceBERT检索相似技能,持续更新以适应新场景。
3. 任务执行与更新
子智能体执行子任务,公式为ri = SubAgenti(t1, …, ti, r1, …, ri-1),完成后更新技能库并调整任务列表,确保灵活性。
实验与结果
实验基于ItineraryBench(364个旅行规划样本),涵盖三种任务类型:城际旅行(Type 1)、市内旅行(Type 2)和混合旅行(Type 3)。
对比方法:ReAct、P&S、P&E、ADAPT。
核心指标:
方法 | Type 1 | Type 2 | Type 3 | 平均分 |
---|---|---|---|---|
ReAct | 43.84 | 42.69 | 42.54 | 43.02 |
P&E | 39.09 | 47.44 | 42.03 | 42.85 |
ADAPT | 42.73 | 48.58 | 42.92 | 44.74 |
TDAG | 49.78 | 50.96 | 46.51 | 49.08 |
典型案例:在规划上海到北京的旅行中,P&E因固定分解忽略火车票时间冲突失败,而TDAG动态调整子任务,成功率提升至45%,远超ADAPT的44%。
挑战与未来方向
当前局限:动态生成的子智能体在极复杂任务中可能因上下文不足而表现不佳。
未来工作:
- 引入多模态信息(如图像数据)增强上下文理解;
- 优化技能库检索效率,减少冗余技能存储。
总结
TDAG通过动态任务分解和智能体生成提升了LLM智能体在复杂任务中的适应性和效率,ItineraryBench的细粒度评估则更准确地反映了智能体能力,未来可扩展至电商、游戏等领域,推动智能体技术的实用化。