做了个帮用户算费用的智能体,上线没多久就出洋相——一道稍微复杂点的乘除,它给的结果错了。大模型这东西,语言强,算数是真不行,几位数相乘都能给你算飘。

涉及钱、涉及精确数字的场景,千万别让模型"心算"。正确做法是把算的活交给工具。

让它别自己算

核心思路:模型负责"理解要算什么",真正的计算交给一个确定的计算工具(计算器 / 代码执行)去跑,模型只管把题转成工具能执行的式子,再把结果讲回来。

我用讯飞星辰搭的,工具这块能挂计算 / 代码执行类的能力。配好之后,遇到算数它先调工具算,拿到准确结果再组织语言,不再自己瞎蒙。

关键是"让它知道该调工具"

光挂上工具不够,得在角色设定里写明白:凡涉及数值计算,必须调用计算工具,不许自己心算。 不写这条,它经常嫌麻烦,还是自己蒙一个。

  • 它有时会把题转错。式子列错了,工具算得再准也白搭。复杂计算我会让它把式子也亮出来,方便核对。

  • 响应会变慢。多一步工具调用,慢一点,但对要精确的场景,值。

  • 别什么都丢给代码执行,注意安全,能用受限计算工具就别开放任意代码执行。

涉及钱的 Agent,精确性是底线,这点偷不得懒。具体怎么配、怎么逼它必调工具,我放评论区了。你们怎么治大模型算数不准的?

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐