负责处理代码的智能体需要掌握大量相关知识:包括项目规范、所用框架、测试运行方式以及可使用的各类工具。若要让每个智能体在每项任务中都加载所有这些内容,不仅效率低下、成本高昂,还会适得其反——给模型输入上百页无关指令只会让输出效果更差。
渐进式技能这是一种替代方案:智能体仅携带核心功能,仅在任务需要时才加载特定能力。
运作原理
每个智能体启动时会先获取其必备的内容——即自身角色、任务及相关规范。后续所需的能力会根据当前任务需求动态加载。遇到数据库迁移任务的智能体会加载处理迁移所需的能力;从不涉及数据库操作的智能体则无需为这类知识付出额外成本。
始终加载
- 角色
- 任务
- 规格说明
任务: 为orders表添加索引
按需加载:工作需求时才会调用
数据库迁移
已加载:该任务涉及数据库迁移操作
前端组件
未加载;无需为此付费
浏览器测试
未加载;无需为此付费
基础设施
未加载;无需为此付费
为何这对您至关重要
具体有三点实际影响:
成本。令牌是运行智能体的主要可变成本,而上下文占据了大部分令牌消耗。仅加载必要内容就能大幅降低这一成本。
质量。这一点不太明显,但或许更为重要。模型的注意力资源有限,若智能体的上下文里充斥着大量无关内容,就更有可能忽略关键信息。聚焦的上下文不仅能产出更优质的结果,还能降低成本。
规模。正是这一特性让智能体能够在大型代码库中高效工作。若试图将整个代码库内容都纳入上下文,在大多数实际项目中早已无法正常运行。
您可掌控的部分
其实可操控的空间并不大,这是刻意设计的。能力加载是自动进行的,由任务需求驱动。
您能掌控的是智能体所引用的上下文:项目上下文它决定了最初可加载的内容范围。精心维护项目上下文的重要性远高于直接管理智能体能力。