OpenAI Harmony 消息格式技术详解:一种为高级 Agent 设计的精细化消息格式
近日,OpenAI在发布其开源模型gpt-oss-120b和gpt-oss-20b的同时,也推出了一种专为这些模型设计的全新消息格式——Harmony。对于希望在自有解决方案中充分利用这些开源模型的开发者而言,理解Harmony至关重要。本文将以客观的第三方视角,详细解析Harmony格式的设计理念与技术细节。
什么是Harmony格式?
Harmony是OpenAI为其gpt-oss系列模型量身打造的一种响应格式,其核心目标是定义对话结构、生成推理输出以及结构化函数调用。 gpt-oss模型在训练时已深度整合此格式,因此,任何直接与模型进行交互的推理解决方案都必须遵循Harmony规范,否则模型将无法正确工作。 不过,如果通过Ollama等第三方服务或API使用这些模型,则无需直接处理该格式,因为服务提供商会完成底层的格式转换。
Harmony的设计理念借鉴了OpenAI的Responses API,因此熟悉该API的开发者会感到亲切。 它通过引入特定的角色、通道和特殊令牌,为模型交互提供了前所未有的结构性和控制力。
核心概念:角色 (Roles) 与通道 (Channels)
角色 (Roles)
Harmony为每一次交互的消息都定义了角色,模型能够识别以下五种角色:
