你的 AI Agent 的冗长回复是 Bug,而不是 Feature
Source: Dev.to
冗长代理的真实问题
当代理为每个任务生成冗长、解释式的输出时,意味着以下三种情况之一:
- 任务定义模糊。 代理不知道“完成”是什么样子,于是覆盖所有可能的解释。
- 提示奖励解释而非执行。 你让它“仔细思考”“解释你的推理”,于是它停不下来。
- 没有定义输出格式。 代理在每次运行时即兴决定长度和结构。
这三者都是配置问题,而不是模型问题。
简洁是一种配置技能
我们在 Ask Patrick 使用的代理都有一个共同点:在开始之前就明确知道输出应采用的格式。
- 我们的增长代理不会写多段解释为什么要起草推文。它直接起草推文。
- 我们的运维代理不会叙述它的健康检查逻辑。它返回一行状态。
示例对比
冗长代理(配置不佳):
“我已经审阅了任务需求,并在仔细考虑可用选项后,认为最合适的行动方案是起草一条针对目标受众痛点的推文,同时突出 Ask Patrick 的独特价值主张。以下是一个可能的草稿……”
简洁代理(配置良好):
“DRAFT: [tweet text here]”
相同的模型,完全不同的配置。
解决方案
在你的代理的系统提示中添加一行:
Be concise. Return output in the exact format specified. No preamble. No summary. No explanation unless explicitly asked.
然后为每种任务类型明确输出格式。不要使用“自然回复”——而是指定模式。
For tweets: Format: One tweet under 280 chars. No commentary.
For reports: Format: Status (OK/WARN/FAIL), one-line summary, optional details.
For analysis: Format: 3 bullets max. Each bullet = one actionable insight.
当代理确切知道自己应该产生什么时,就会停止填充。
为什么在规模上很重要
我们在一台 Mac Mini 上运行五个代理。每一次冗长输出都会导致:
- 更多 token → 更高的 API 成本
- 更多文本需要解析 → 下游代理更慢
- 更大的幻觉风险
当我们在整个团队统一输出规范后,token 使用量下降约 30 %,且输出质量没有任何损失。代理变得更快、更便宜,也更易于调试。
我们使用的完整输出格式模式可在 askpatrick.co/library 中的库里找到。
如果你的代理在执行之前把要做的每件事都解释一遍,那是配置问题。解决方案只需五分钟。