提升 Agent 本质是数据挖掘问题,大多数人第一步就搞错了

提升 Agent 本质是数据挖掘问题,大多数人第一步就搞错了

导语

你有没有这种感觉:明明换了更强的模型、加了更复杂的提示词,Agent 的表现却没什么明显提升?最近 Simon Willison 发了一篇短文,标题直接点破了一个被大多数人忽略的事实:提升 Agent 的关键不是模型,是数据。 这篇文章如果你正在用 Cursor、Claude Code、Manus 这类工具,或者自己在搭 Agent 工作流,值得花 5 分钟看完。

正文

问题:为什么你的 Agent 越优化越笨?

很多人优化 Agent 的路径是这样的:模型不好用 → 换更强模型 → 提示词不够好 → 加 CoT、加 few-shot → 还是不行 → blamed on “模型上限”。

但 Simon Willison 在今年的一篇博客里直接反驳了这个思路。他说:Agent 的瓶颈往往不在模型能力,而在你喂给它的数据质量。 这有点像 2010 年代机器学习界的争论——同样的算法,垃圾数据进,垃圾结果出。

具体来说,常见的三个误区:

误区一:把 prompt 当万能药

很多人花几个小时调 prompt,期望模型”突然开窍”。但实际上,prompt 调优的收益有天花板。如果你的任务数据本身有噪声、缺失、重复,再好的 prompt 也救不了。

误区二:迷信上下文窗口越大越好

2025-2026 年,主流 Agent 框架都在卷长上下文。但 Willison 指出:上下文膨胀不是问题根源,是数据没被结构化。 堆更多 token 进去,反而会让模型注意力分散。

误区三:换模型就能解决问题

从 GPT-4 换到 Claude、再到本地模型,收益往往不如优化数据管道明显。这和你花大价钱升级 GPU 来训练一个数据集很小的模型是一个道理。

方案:把 Agent 优化当成数据挖掘问题

那么”当成数据挖掘问题”到底是什么意思?核心思路有三层:

第一层:清理你的 prompt 轨迹

把 Agent 每次运行的输入、输出、工具调用记录当成数据集。分析哪些 prompt 导致了好结果,哪些导致了失败。这就像做 A/B 测试,但对象是 prompt 而不是 UI。

import json
from datetime import datetime

class AgentTrajectoryLogger:
    def __init__(self, log_path="agent_trajectories.jsonl"):
        self.log_path = log_path

    def log(self, task_id, prompt, tools_used, result, success):
        entry = {
            "timestamp": datetime.utcnow().isoformat(),
            "task_id": task_id,
            "prompt_length": len(prompt),
            "tools_used": tools_used,
            "result_summary": result[:200] if result else "",
            "success": success
        }
        with open(self.log_path, "a") as f:
            f.write(json.dumps(entry, ensure_ascii=False) + "n")

    def analyze(self):
        # 统计哪些工具组合成功率最高
        # 哪些 prompt 长度区间的成功率最高
        # 哪些任务类型最经常失败
        pass

第二层:对失败案例做根因分类

不要只看到 Agent 失败了。要问:是工具调用错了?还是 prompt 歧义?还是数据缺失?把失败案例按根因分类,然后针对性优化数据,而不是盲目调参。

一个实用的分类框架:

失败类型 典型表现 优化方向
工具误用 调用了错误的 API 参数 补充工具使用示例
上下文丢失 多轮后忘记初始目标 压缩中间结果,保留关键信息
数据缺失 缺少必要的文件或配置 预检查清单 + 自检 prompt
歧义理解 对模糊指令产生幻觉 拆解任务为子任务,逐步验证
超时/卡死 单步操作耗时过长 设置超时 + fallback 策略

第三层:构建可复用的 Skill 和模板

LangChain 最近发布的 Deep Agents 框架,其实就是在朝这个方向走。它的核心设计是:把常见任务的数据和流程打包成可复用的 Skills,而不是每次都靠 prompt 硬描述。

Deep Agents 的三个关键机制:

1. Subagents(子智能体):上下文隔离。让专门的子 Agent 处理搜索、解析等脏活,只返回结论给主 Agent,避免上下文被垃圾信息塞满。

2. Filesystem(文件系统):Agent 可以把中间结果写到文件系统,而不是全部堆在上下文里。这相当于给 Agent 一个”外脑”。

3. Skills(技能包):把高频任务的 prompt 模板、工具配置、输出格式打包成可复用的 Skills,类似给 Agent 配了一套标准操作手册。

结论:你现在的 Agent 工作流,数据质量过关了吗?

如果你正在用 AI 编程工具或者搭 Agent,问自己三个问题:

1. 你有没有记录 Agent 的运行轨迹,并定期分析失败案例?

2. 你有没有把高频任务沉淀成模板/Skill,而不是每次都写新 prompt?

3. 你最近一次显著提升 Agent 表现,是靠换模型,还是靠优化数据?

如果答案是”换模型”,那你可能真的在走弯路。

收尾

下一次你想让 Agent 表现得更好时,别急着加 prompt 或换模型。先看看你的数据——prompt 轨迹、工具调用记录、失败案例。把这些当成数据集来治理,比任何 prompt engineering 都有效。

评论区

0 条评论

登录后可评论。

查看完整榜单
查看完整榜单
查看完整榜单