从"回答问题"到"完成任务"
还是先从两个简单的例子来入手。

第一个例子

用户输入:请帮我写一封请假邮件。

几秒钟后,模型回复:
尊敬的领导:

由于XXXXX……
整个过程到这里就结束了。

模型完成了一次推理(Inference),生成了一段文本。

这是一个典型的问答(Question Answering)场景。

再来看第二个例子。

用户输入:

请帮我分析本月进销存数据,
找出销量下降最大的产品,
生成统计图,
制作一份 PPT,
最后发送给销售经理。
这还是一个"问题"吗?

显然不是。

它是一个完整的工作任务。

完成这个任务至少需要:

读取 Excel 文件;
分析销售数据;
绘制统计图;
制作 PPT;
发送邮件。
所以到了这里,我们的诉求已经不仅仅是"生成一段文字"了,而是需要完成一系列连续动作。

这就是任务(Task)与问题(Question)最大的区别。

9.2 问题只有一个答案,而任务则包含很多步骤
可以把两者放在一起比较。

问题(Question) 任务(Task)
一次提问 一个目标
一次回答 多个步骤
推理结束 持续执行
输出文本 输出结果
例如我们问模型,北京是中国的首都吗?
模型回答:是。
整个过程就结束了,但这个过程只有一次推理。
但是如果我们跟模型说,帮我开发一个库存管理系统。

我们肯定不希望模型直接用一句话回答,或者输出一堆内容在对话框中让你手动复制.(早期ChatBot期间确实很多人靠复制粘贴… 哈哈哈)
我们实际上需要它:

需求分析

数据库设计

接口设计

编写代码

运行测试

修复 Bug

再次测试

完成开发

到此,其实这已经变成了一个需要持续执行的过程。

9.3 LLM 为什么完成不了任务?
很多人会说:

“ChatGPT 不是也能写代码吗?”

这没问题。

但是请注意,单纯的写代码和开发软件系统并不是同一件事情。

例如,让 ChatGPT 写一个登录接口,它很快就能完成。

但是如果告诉它:“帮我修改整个项目,把所有 JWT 登录改成 OAuth2。”

事情就完全不同了。

因为它需要:

阅读整个项目;
找到所有相关代码;
修改代码;
编译项目;
运行测试;
根据测试结果继续修改。
这些步骤之间存在着明确的依赖关系。

完成前一步之后,才能继续下一步。

而 LLM 最大的问题就在这里:

它的每一次推理都是独立完成的。

而且它不会主动开始第二步。

也不会等待执行结果。

更不会根据执行结果调整自己的计划。

9.4 LLM 更像一位顾问,而不是一位员工
这里我们继续举一个生活中的例子。

假设公司里有两个人。

第一位是一位经验丰富的顾问。

你问他:

“这个功能应该怎么设计?”

他会告诉你:

数据库应该这样设计;
接口应该这样定义;
页面应该这样实现。
他说得非常专业。

但是,说完之后,他就停下来了。

因为他的工作已经结束了。

第二位则是一位开发工程师。

你告诉他:

“把这个功能开发出来。”

他会开始工作:

阅读需求;
修改代码;
编译项目;
修复错误;
提交代码。
直到整个任务完成。

这两个人都很重要。

但是他们承担的角色完全不同。

然而 LLM 则更像前者。

而现实世界往往更大量需要的是后者。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐