二八法则-task设计最重要
80%精力设计tasks,20%精力定义agents
花最多的实践定义任务说明
清晰定义输入输出
增加示例和预期结果来约束输出
剩下的精力完善agent的role、goal、backstory
1、Agent设计三要素
role-goal-backstory框架
Role - 职能定义
- 足够具体【作家× ,科技文档专家√】
- 参考现实世界
- 添加专业领域知识和技能点【一位擅长于数字信号处理的高级算法工程师】
Goal - 目标和动机定义
- 清晰且输出聚焦
- 具体的质量标准,包括预期是什么
- 对什么是好的进行直观定义
Backstory - 经验和观点补充
- 解释agent的技能树有哪些,如何获得的
- 描述agent如何实现他们的工作
- 创造一个具体的人物形象,确保元素、角色、目标一致性
2、专家vs通才
一定要定义成聚焦于特定领域的专家
3、专家和多功能的平衡
- 专注于role定义,应用可以广泛一点
- 避免过于狭隘的定义
- 考虑多agent的协作环境
4、设置合适的专家等级
- 新手:头脑风暴、简单执行类工作、草稿
- 普通:多数标准任务
- 专家:有深度、复杂的任务
- 世界级专家:特别复杂有挑战的任务
task设计
聚焦于要干什么以及怎么干:
1、任务描述
- 详细的执行说明
- 背景和上下文信息
- 范围和限制条件
- 详细的执行步骤
2、预期输出
- 格式说明
- 结构和规格说明
- 质量标准
- 高质量输出的具体示例
3、设计要领
- 单一目标单一输出(有多少个目标就设置多少个task)
- 详细的输入输出设定
- 描述目的并提供上下文信息
- 用类似json、xml等格式约束输出
进阶设计要领
- 不同agent的技能要互补
- agent之间的工作交互接口要清晰
- 运用合适的工具
迭代式agent设计
- 从原型设计开始,一开始就构建可以运行的agent系统,逐渐优化完善
- 使用特定的任务反复测试,评估性能
- 仔细分析输出:了解优劣势
- 逐步完善定义:根据结果来调整角色、目标、背景;优化任务定义
- 协作测试:评估系统在其他协作场景下的表现
结论
- 二八法则,主要是聚焦于task的定义【清晰的输入输出描述,单一目标,提供上下文】
- agent设计上要多个专家协作,每一种能力设定一个agent,而不是搞一个多功能的全才
- 根据最佳实践经验,进行迭代式优化,不要指望一次性成功【构建原型逐渐迭代,分析输出进行优化,多agent协作的时候尤其注意接口清晰,技能互补的心法】