用聊天框的时候,你是那个「一步一步推着走」的人:问一句、看一眼、再补一句。智能体(Agent)想做的,是把这套推动过程交给模型自己完成——你说清目标,它自己决定先做什么、用什么工具、结果不对要不要重来。听起来只是省了几次回车,实际差别在于:控制权从你手上,部分交给了模型。
对话与智能体:分界线在「循环」
单轮对话是「输入→输出」的一次性映射。智能体则是一个循环:观察当前状态、判断下一步动作、调用工具、把工具结果写回上下文、再判断下一步。循环什么时候停,由模型自己判断目标是否达成,或者撞上你设置的步数、时间、花费上限。
所以智能体的三个必备件是:一个能拆解目标的模型、一组可被调用的工具、一个带终止条件的循环。缺一样都跑不起来——只有模型没有工具,它只能给你写方案;有工具没有循环,那只是单次工具调用。
一句话记:智能体 = 模型 + 工具 + 循环,能力上限由模型决定,实际表现由工具和终止条件决定。
最小可用的智能体长什么样
第一步是把目标写成可判定的样子。「帮我整理一下这份资料」不是目标,「把这 30 份合同里的甲方、金额、到期日抽成一张表」才是——后者做完没做完,一眼能看出来。第二步是把动作定义清楚:读文件、查数据库、发请求,每个动作都是一个明确的函数,参数有类型有范围。第三步才是循环:每一步都让模型看到上一步的真实返回,而不是它自己想象的结果。
终止条件必须写死。工业上常用三重护栏:最大步数(防死循环)、单次任务的 token 或金额上限(防烧钱)、以及必须产出结构化结果的兜底分支(防跑完一场什么都没留下)。没有护栏的智能体在演示里很惊艳,在真实环境里很容易变成一台自动烧钱的机器。
工具设计比换模型更影响成败
很多人第一反应是换个更强的模型,但实际踩坑最多的是工具本身。工具的名字和描述要写清楚「什么时候该用、什么时候不该用」;参数越少越好,能从上下文推断的就别让模型填;返回值要做裁剪——把一整页 HTML 原样塞回上下文,几轮下来就会把窗口撑爆,真正有用的信息反而被挤掉。
错误处理同样重要。工具报错时,把可读的原因返给模型,它往往能自己换个参数重试;但如果只返回一句「失败」,它就会反复用同样的参数撞同一堵墙。在 AIGC微风 上跑智能体,接口统一走 https://api.aigcbreeze.cn,模型可以直接在模型列表页按「工具调用能力」和价格挑,先小步验证再放量。
常见问题
智能体总是反复调同一个工具,怎么办?
先看返回内容是否给了它「已经成功」的明确信号。很多重复调用源于工具返回太含糊:模型拿不到确定结果,就只能再试一次。其次检查终止条件——给它一个「连续两次相同调用即中止并汇报」的规则,比一味提示「不要重复」有效得多。
智能体一定比单轮对话贵吗?
单次调用确实更贵:一次任务往往包含多轮模型调用,每轮都要带上前面的上下文。但要比的是「完成任务的总成本」——如果它能一次跑完你原本要手动点二十次的事,总账可能反而更低。关键是给任务设预算上限,别让它在无人看管时无限循环。
什么时候不该用智能体?
任务步骤固定、答案唯一的时候。格式转换、字段抽取、固定模板改写这类活,一条写死的提示词加一次调用又快又稳,套上循环只会增加不确定性和成本。智能体适合的是「路径不唯一、需要边做边看」的任务。