在 LLM 迅猛发展的今天,许多开发者试图将其用于各种任务,包括核心业务逻辑和决策制定。然而,这种做法往往会带来一系列问题,从性能低效到难以调试,再到安全性隐患。本文将深入探讨为什么你应该尽快摆脱对 LLM 的过度依赖,以及如何避免常见陷阱。

原文链接:https://sgnt.ai/p/hell-out-of-llms/

作者 | pete

翻译工具 | ChatGPT 责编 | 苏宓

出品 | CSDN(ID:CSDNnews)

不要让 LLM 负责决策或实现业务逻辑——它们在这方面表现很差。我正在给一款在线游戏开发 NPC(非玩家角色),经常有人问我:“你是怎么让 ChatGPT 做到这些的?”我的回答总是:“我没有用 ChatGPT,而且你也不应该在游戏开发时使用。”

在大多数应用中,LLM 只应该作为用户和应用程序逻辑 API 之间的用户界面,即把用户的自然语言转换成系统可执行的指令。LLM 不应该负责做决定或执行复杂逻辑。尽快摆脱 LLM,并且尽可能长时间地避免依赖它。



为什么?

举个简单的例子:假设你想开发一个在 WhatsApp 上运行的国际象棋机器人。用户可以发送指令,比如“用我的象吃掉对方的马”,然后机器人进行相应的操作。

你能让 LLM 负责维护棋盘状态并做出合理的棋步决策吗?也许可以。但你应该这么做吗?绝对不行!理由如下:

  • 性能:LLM 能够下棋本身已经很神奇了,但它的棋艺并不好(截至 2025 年 4 月 1 日)。专业的国际象棋引擎总是比 LLM 更快、更强、成本更低。像 Stockfish 这样的现代棋类 AI,专门为下棋设计,能准确计算每一步的最优选择。而 LLM 只是个通用的聊天模型,它并不真正“懂”下棋,只是靠文字来记住棋盘状态,既慢又容易出错。

  • 调试与调整:你没法搞清楚 LLM 为什么会做出某个决定,所以也很难调整它的行为。LLM 生成答案的过程像是在一个复杂的迷宫里穿行,没人能准确还原它的思考路径,它自己也说不清楚。即使是专门训练的 AI(比如国际象棋引擎),都很难完全看透它的运作逻辑,而 LLM 在这方面更是乱得一塌糊涂——虽然 Anthropic 在让 LLM 更可解释方面做了一些努力,但问题依然很大。

  • 使用 LLM 还有一堆其他问题会出现,比如难测试,普通代码可以用单元测试检查是否正常运行,但 LLM 的输出不稳定,测试起来麻烦得多;数学太烂,LLM 处理数学题远不如 CPU,简单计算可能都出错;随机数不靠谱,LLM 生成的随机数并不真正“随机”,可能影响游戏或算法的公平性;版本管理混乱,普通代码可以清楚地记录版本变化,但 LLM 输出是动态的,难以追踪和审计;难以监控,LLM 的决策过程像个黑箱,想要监测它的运行情况变得更加复杂;状态管理脆弱,用自然语言记住状态容易出错,比如游戏中的棋盘布局,LLM 可能随时“忘记”或搞混;API 限制和成本问题,你得考虑 LLM 的调用次数限制,超了就用不了,而且每次调用都要花钱;安全边界模糊,传统系统有清晰的权限控制,而 LLM 处理所有内容都靠提示词,容易导致意想不到的安全风险。


示例

国际象棋的例子只是 LLM 不适合核心应用逻辑的一个缩影。在任何对精确性、可靠性和效率有要求的领域,你都应该遵循相同的原则:

  1. 游戏:如果用户说要用斩龙剑攻击玩家 X,LLM 不应该负责判断用户是否真的有斩龙剑,或者攻击会造成多少伤害。LLM 只负责将用户输入转换为 API 调用,并将结果转换回文本返回给用户。

  2. 谈判代理:如果你在构建一个自动谈判代理,LLM 不应该负责谈判本身,而只是传递信息、调用谈判引擎,并将结果反馈给用户。

  3. 随机选择:如果你的应用需要做出随机选择,LLM 不应该决定结果,而应该调用专门的随机数生成器。


LLM 适合做什么?

尽管上面强调了 LLM不适合的工作,但理解它擅长的领域同样重要,这样你才能合理利用它的优势。

LLM 擅长转换、分类,并且有一定的常识推理能力。这些才是你应该利用它的地方:

  • 文本转换:将“用剑砍兽人”转换为 attack(target="orc", weapon="sword"),或者将 {"error": "insufficient_funds"} 转换为“你的金币不足”。

  • 任务路由:识别用户意图,并将请求路由到正确的系统模块。比如,判断“查看我的背包”是库存查询,而“攻击”是战斗指令。

  • 自然语言理解:LLM 知道“blade”可能指的是剑,“smash”可能意味着攻击,这样可以提高交互的自然度。

注意,LLM 的优势在于转换、理解和沟通,而不是复杂决策或关键业务逻辑。将它们限制在这些角色,你可以充分利用其优势,同时避免前面提到的问题。


未来展望

LLM 的能力正在快速进化,就像“上帝的空白”理论——每当人们发现某个现象无法解释时,就归因于神的力量,直到科学填补了这个空白。同样,人们总是会找出一些“只有人类才能完成”的任务,但几个月后,新的 LLM 版本可能就能胜任这些任务了,迫使人们不断修改标准。

因此,未来的 LLM 可能会在这些任务上表现得更好,但很多核心问题仍然无法消除:传统的非 LLM 逻辑依然更易于理解、维护、更便宜且更易于版本控制。

即使 LLM 不断进步,核心架构原则仍然不变:让 LLM 负责它最擅长的用户交互部分,而将关键逻辑交给专业的系统来处理。

4 月 2 日 20:00,CSDN《万有引力》栏目特别邀请到OpenManus 项目一作、MetaGPT 开源核心贡献者梁新兵,DeepWisdom 算法研究员、OpenManus 核心作者向劲宇相聚 CSDN 视频号直播间,在CSDN &《新程序员》执行总编、《万有引力》主理人唐小引主持下,一起聊聊 00 后程序员的故事,以及 OpenManus 背后的秘密!

ad1 webp
ad2 webp
ad1 webp
ad2 webp