前置说明:
笔者有大量的gpt模型能调用,20刀一个月的 gpt-pro十慷慨,所以采用codex作为agent running time
claude code 暂不支持其他的openapi类似模型的调用,且闭源。
agent模式
我目前使用下来的体验是agent分成了这两类:
- 会使用工具,有知识库但没完整运行环境的agent
- 一类是
codex/claude code/openclaw/github cli类似的cli agent
第一类的agent因为没有完整的运行环境,他不能凭空创造出新的东西,也不好校验输出内容的准确性,他所能做的就是现有工具与知识的组合,需要人为为他扩展
第二类agent有完整的权限系统CLI权限,agent会根据 下达地任务 去执行,并且可以借助外部的工具去尽最大努力交付任务
二类Agent有更高地上限且有更高的潜力,一类Agent适合在确定性的流程中参与作为辅助系统的一环,
以codex作为agent的 runningtime
额外工具和能力以SKILLS和MCP的方式暴露给codex作为工具来调用
不需要再实现一次ReAct过程
自己实现ReAcr过程是十分简陋的,难上生产环境的,基于开源工具做是比较合适的做法
codex 执行参数
官方文档:
codex 支持 一些程序SDK来调用,但是我更倾向于直接使用命令调用来做
实验 lab
1. codex在本地独立运行
codex cli 正常使用
codex
交互式CLI
codex exec "xxxx"
非交互式 CLI,直接向程序下发指令
- 权限设置
# 一次性只读模式
codex exec --sandbox read-only --ask-for-approval never "只分析代码,不要修改"
# 允许在工作区内改文件,但越界或需要网络时仍会停下来问你
codex exec --full-auto "修复这个前端报错并更新测试"
# 最高权限
codex exec --sandbox danger-full-access --ask-for-approval never "直接安装依赖并启动服务"
–full-auto 等价于 –sandbox workspace-write --ask-for-approval on-request
danger-full-access 只建议在隔离好的环境里用
# 只读
codex exec --sandbox read-only --ask-for-approval never "..."
# 当前项目内可改
codex exec --sandbox workspace-write --ask-for-approval never "..."
# 当前项目内可改 + 可联网
codex exec --sandbox workspace-write --ask-for-approval never -c sandbox_workspace_write.network_access=true "..."
最经常使用的模式
codex exec --sandbox danger-full-access -c sandbox_workspace_write.network_access=true "使用uv来管理python环境,帮我写一个chatbot,后端使用fastapi,前端使用静态的html,js,css,要求支持sse,我到时候提供azure openai的环境密钥和key,模型默认先选号gpt-4o"
输出的
stdio,也可以选择jsonl的模式
- json 模式,输出的内容都是json
codex exec --sandbox danger-full-access -c sandbox_workspace_write.network_access=true --json "前端使用静态的html,js,css写一个贪吃蛇游戏"
--model即-m来指定具体的模型
- 延续上一次会话
codex exec resume <SESSION_ID>
2. 脚本调用codex
import subprocess
cmd = [
"codex",
"exec",
"--sandbox", "danger-full-access",
"-c", "sandbox_workspace_write.network_access=true",
"--json",
"前端使用静态的html,js,css写一个贪吃蛇游戏",
]
process = subprocess.Popen(
cmd,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
text=True,
encoding="utf-8",
errors="replace",
bufsize=1,
)
for line in process.stdout:
print(line, end="")
process.wait()
print("\nreturncode:", process.returncode)
3. docker image 沙箱环境运行
- codex自带了沙箱隔离机制
- codex需要一个宿主机,完整的Linux环境
- 对应编程语言的开发环境
codex-universal
codex 官方的镜像环境,里面有各种开发环境,可以实现类似的web codex效果
实际生产环境可以自己自定义镜像
4. 封装成web服务
类似 codex web的这样的模式,有了这套强大的agent runningtime可以包装成manus / ai studio这样的应用
可以让他做到直接绘制前端并实时允许实时修改,达到类似 google ai studio 这样的体验

codex能干什么,这个agent就能干什么,而且下载了一些SKILLS后让AI空前绝后的强大
- 制作pptx

- 帮你搭建dify工作流
