3.2 结构化输出简介
写在前面
前面我们聊到大模型通过连接外部世界来突破信息茧房,这里我们继续上一个话题,深入探讨一下大模型连接外部世界的一个核心技术细节:结构化输出。这两者之间到底是什么关系?结构化输出又是如何一步步发展到今天的呢?
大模型连接外部世界:从“鸡同鸭讲”到“无缝衔接”的桥梁
想象一下,你想让一个只会说自然语言的大模型去操作一台只懂代码和精确指令的计算机。这就像你想让一位诗人去开一级方程式赛车,虽然他能用华丽的辞藻描述赛车的速度与激情,但当你让他“踩下踏板,精确控制油门开度在75%”时,他可能就无能为力了。
大模型与外部工具(如API、数据库、软件)的关系正是如此。
- 大模型的“母语”:自然语言,是模糊的、充满上下文和情感的、非结构化的。例如,“帮我查查明天北京天气怎么样?”
- 外部工具的“语言”:通常是严格的、机器可读的结构化数据,如JSON、XML或特定的函数调用格式。例如,天气API需要的可能是这样的格式:
get_weather(city="beijing", date="2025-08-19")
。
因此,大模型连接外部世界,本质上就是要解决这个“语言不通”的问题。
如果模型只能输出自然语言,那么就需要一个复杂的中间层(parser)去尽力“猜”模型的意图,再转换成机器指令。这个过程非常不稳定,很容易出错。比如模型回答“好的,我来查一下明天北京的天气”,这个回答对于API来说是毫无意义的。
而结构化输出,就是让大模型学会说“机器的语言”。 它迫使模型按照一个预定义的、严格的格式(如JSON)来组织其回答,而不是随意地进行自然语言对话。</