详细内容或原文请订阅后点击阅览
深入了解 Codex
OpenAI 分享了对其 AI 编码助手 Codex 如何工作的新见解,揭示了它如何将强大的语言模型与自动化工具相结合来编写、测试和修改代码。该解释强调了人工智能在软件开发中日益强大的力量,以及保持这些系统快速、安全和可靠所需的精心设计。
来源:Qudata深入了解 Codex
OpenAI 采取了异常透明的步骤,发布了其 Codex CLI 编码代理如何在后台运行的详细技术分解。这篇文章由 OpenAI 工程师 Michael Bolin 撰写,提供了迄今为止最清晰的视角之一,展示了生产级 AI 代理如何协调大型语言模型、工具和用户输入来执行真正的软件开发任务。
Codex 的核心是 OpenAI 所说的代理循环:在模型推理和工具执行之间交替的重复循环。每个周期开始时,Codex 根据结构化输入构建提示:系统指令、开发人员约束、用户消息、环境上下文以及可用工具,并将其发送到 OpenAI 的响应 API 进行推理。
模型的输出可以采用两种形式之一。它可以生成针对用户的辅助消息,或者可以请求工具调用,例如运行 shell 命令、读取文件或调用规划或搜索实用程序。当请求工具调用时,Codex 会在本地执行它(在定义的沙箱限制内),将结果附加到提示中,并再次查询模型。这个循环一直持续到模型发出最终的辅助消息,表示会话结束。
虽然这种高级模式在许多 AI 代理中很常见,但 OpenAI 的文档因其特殊性而脱颖而出。 Bolin 介绍了如何逐项组装提示、角色(系统、开发人员、用户、助理)如何确定优先级,以及即使很小的设计选择(例如列表中工具的顺序)也可能对性能产生重大影响。
缺点是显而易见的:提示大小随着每次交互而增长,导致传输数据呈二次方增加。 OpenAI 通过积极的提示缓存来缓解这一问题,只要每个新提示都是前一个提示的精确前缀扩展,模型就可以重复使用计算。当缓存工作时,推理成本呈线性而不是二次缩放。
