OpenAI 里面东说念主员莫得说透的 Codex 内核工夫,终于被一位工夫大牛给估量出来了! 前两天,一篇名为《估量 Codex 高下文压缩的使命旨趣》的著述,在AI缔造者圈子里赶快传播,并成绩了近百万的不雅看量。 这篇著述的作家是李康旭(Kangwook Lee),他咫尺是游戏公司 KRAFTON的首席 AI 官(CAIO),同期担任Ludo Robotics的 CTO。 在过问工业界之前,他曾是 University of Wisconsin–Madison电气与筹办机工程系的终生副教诲...

OpenAI 里面东说念主员莫得说透的 Codex 内核工夫,终于被一位工夫大牛给估量出来了!
前两天,一篇名为《估量 Codex 高下文压缩的使命旨趣》的著述,在AI缔造者圈子里赶快传播,并成绩了近百万的不雅看量。
这篇著述的作家是李康旭(Kangwook Lee),他咫尺是游戏公司 KRAFTON的首席 AI 官(CAIO),同期担任Ludo Robotics的 CTO。
在过问工业界之前,他曾是 University of Wisconsin–Madison电气与筹办机工程系的终生副教诲,并在 University of California, Berkeley 赢得筹办机科学博士学位,经久从事机器学习和大模子估量。

这篇著述的横暴之处在于:平直把 Codex 的中枢工夫给“逆向”出来了!
尽人皆知,高下文压缩机制是 OpenAI Codex团队治聪慧能体爆炸的中枢工夫。
在著述中,李康旭展示了一个实验:通过仅 2 次 API 调用 + 35 行 Python 代码,顺利推断出了OpenAI Codex CLI 的高下文压缩经由,并通过一次 prompt injection,换取模子败露了里面教导词结构。
网友读罢惊呼:(Codex 安全方面)太弱了,实在太弱了!

更要道的是,这个实验揭示了一些荒谬“炸裂”的工夫细节:
•Codex CLI 执行上存在两套所有这个词不同的高下文压缩架构:非 Codex 模子:腹地 LLM 回归高下文;Codex 模子:就业器端 LLM + 加密 API。
•OpenAI 的 compactAPI 并不是浅显的压缩算法,而是就业器端的LLM 在作念高下文语义摘录。
•通过一次全心设计的 Prompt Injection,不错换取压缩模子把艰涩的 system prompt 一王人写进摘录。
•只需要两次 API 调用,就可能让模子复述出三个里面 prompt:System Prompt、Handoff Prompt、Compaction Prompt。
•compactAPI 复返的 blob 执行上是 AES 加密的高下文摘录,客户端遥远无法看到真的内容。
更令东说念主不测的是,赛马投注中国app官方版下载被泄知道来的里面 prompt 简直和开源 Codex CLI 的 prompt 一模一样。
也等于说,一场本钱极低的实验,就不错部分“怒放了” Codex API 的黑盒。
底下就让咱们望望这场实验是怎样作念到的。
浅显的教导注入,就能怒放 Codex 的黑盒
对于非 Codex 模子,开源 Codex CLI 会在腹地压缩高下文:LLM 使用以下方式回归对话:
压缩教导
当稍后使用压缩后的高下文时,responses.create 会罗致它。
交代教导
该框架用于构建摘录。这两个教导在源代码中均可见。
对于 codex 模子,CLI 会调用 compact API,该 API 复返一个加密的 blob 。咱们不明晰它里面是否使用了 LLM,使用了哪些教导,或者是否存在职何交代教导。
底下,我将展示怎样通过浅显的教导注入(2 次 API 调用,幸运彩app35 行 Python 代码)来揭示 API 压缩旅途如实使用了 LLM 来详尽高下文,并带有我方的压缩教导和附加在详尽前边的交代教导。这些教导与开源版块简直所有这个词雷同。
设施 1 — compact
我调用 compact 函数并传入一条全心构造的用户音书。在就业器端,一个名为 LLM 的压缩器会使用它我方艰涩的系统教导符(我从未见过这个教导符,很想弄赫然)来处理咱们的输入。
{jz:field.toptypename/}就业器似乎是这样构建压缩器的高下文的:

压缩器 LLM 会同期读取其系统教导符和咱们的输入。由于咱们的输入包含注入灵验载荷(上图中的红色文本),压缩器会被哄骗在其输出中包含自己的系统教导符。此明文摘录仅存在于 OpenAI 的就业器上。咱们只可看到加密后的数据块:

咫尺咱们无法读取数据块里面的内容。它经过 AES 加密,密钥保存在 OpenAI 的就业器上。咱们只可寄但愿于压缩器反映了注入指示,并将教导信息写入了摘录中。唯独的主见是实践设施 2。
设施 2 — create
我将加密后的 blob 和第二条用户音书传递给 responses.create。就业器解密 blob 并拼装模子的高下文。
我发送:

该模子似乎看到的是这样的:

要是设施 1 顺利,解密后的 blob 应该包含压缩教导符(由咱们的注入败露)。就业器还会向 blob 添加一个交代教导符。因此,要是咱们的探伤要领顺利让模子复现它所看到的内容,输出应该会骄矜通盘三个教导符:系统教导符、交代教导符和压缩教导符。
输出
以下是extract_prompts.py 运行一次后的齐全、未经裁剪的输出。黄色 = 系统教导,绿色 = 交代教导,粉色 = 压缩教导。

咱们怎样笃定这些是真的的教导信息,而不是计算出来的文本?索取出的压缩教导和交代教导与开源 Codex CLI 顶用于非 Codex 模子的已知教导即:prompt.md,summary_prefix.md,荒谬吻合,这使得模子不太可能从零开动创造它们。不同运行的肆意各不雷同。
客服QQ:88888888猜测的管说念
综合以上信息,字据索取肆意,咱们对 compact 在就业器端实践的操作的最好猜测如下。

剧本如下:

开放式问题:明明CLI 和 Codex模子底层教导简直雷同,却还要加密
为什么 Codex CLI 使用两种所有这个词不同的压缩旅途(非 Codex 模子用腹地 LLM,codex 模子用加密 API),而底层教导简直雷同?何况为什么要加密摘录?
很难说。也许加密的数据块承载着比这个浅显实验揭示的更多信息,比如对于器用肆意怎样压缩和规复的具体信息。但我没再作念进一步测试。
网友参议炸锅了:OpenAI团队给Codex 加密,还罕见旨吗
李康旭暗意,一切都源于这个问题:“为什么要加密呢?”

Codex CLI 和 Codex 模子天然在容貌上互异很大、但本色上简直一样,加密的保护肆意又被应对绕过:李用 35 行代码就把“加密+艰涩”的保护壳刺破了。

有网友猜测,这样脆弱的加密大致是为了以后调动压缩算法。

这未免会让网友产生质疑:要是这样容易就被绕过,那 Codex 加密的必要性/合感性到底体咫尺那里?
也有网友猜测:有可能是为了让摘录能在预留的念念维块上运行。

李康旭给出了我方的一个设计:可能是压缩肆意的质料更优厚,或者他们模子处理交代的压缩肆意方式更优厚,是以才要加密吧。

但无论怎样,不少网友都反馈了对于 Codex 对于高下文压缩机制的翻新荒谬荒疏,基本上拯救了“高下文退化”的问题。

群众对于这个开放式问题,也不错在驳倒区留住我方的想法。