ใช้ Codex กับ Agents SDK
Codex กับ Agents SDK
รวม Codex เข้ากับ OpenAI Agents SDK เพื่อสร้าง Multi-agent Development Workflow
รัน Codex เป็น MCP Server
คุณสามารถรัน Codex เป็น MCP Server แล้วเชื่อมต่อจาก MCP Client อื่นๆ (เช่น Agent ที่สร้างด้วย OpenAI Agents SDK)
codex mcp-server
ทดสอบด้วย MCP Inspector:
npx @modelcontextprotocol/inspector codex mcp-server
Tools ที่ MCP Server เปิดให้ใช้
- codex — เริ่ม Codex Session รับ Parameters ที่ตรงกับ Codex Config struct
- codex-reply — ต่อ Session โดยระบุ Thread ID และ Prompt
สร้าง Multi-agent Workflow
Codex CLI สามารถใช้เป็น MCP Server และ Orchestrate ด้วย OpenAI Agents SDK เพื่อสร้าง Workflow ที่ Scale ได้
Prerequisites
- Codex CLI ติดตั้งแล้ว (คำสั่ง
codexใช้งานได้) - Python 3.10+ พร้อม pip
- Node.js 18+ (ถ้าต้องการรัน MCP Inspector)
- OpenAI API Key
ติดตั้ง Dependencies
mkdir codex-workflows && cd codex-workflows
python -m venv .venv
source .venv/bin/activate
pip install --upgrade openai openai-agents python-dotenv
เริ่ม Codex CLI เป็น MCP Server
สร้างไฟล์ codex_mcp.py:
import asyncio
from agents import Agent, Runner
from agents.mcp import MCPServerStdio
async def main() -> None:
async with MCPServerStdio(
name="Codex CLI",
params={
"command": "codex",
"args": ["mcp-server"],
},
client_session_timeout_seconds=360000,
) as codex_mcp_server:
print("Codex MCP server started.")
if __name__ == "__main__":
asyncio.run(main())
python codex_mcp.py
Single-agent Workflow ตัวอย่าง
ตัวอย่าง Workflow ที่ใช้ Codex สร้าง Browser Game ด้วย 2 Agents:
import asyncio
import os
from dotenv import load_dotenv
from agents import Agent, Runner, set_default_openai_api
from agents.mcp import MCPServerStdio
load_dotenv(override=True)
set_default_openai_api(os.getenv("OPENAI_API_KEY"))
async def main() -> None:
async with MCPServerStdio(
name="Codex CLI",
params={"command": "codex", "args": ["mcp-server"]},
client_session_timeout_seconds=360000,
) as codex_mcp_server:
developer_agent = Agent(
name="Game Developer",
instructions=(
"You are an expert in building simple games using basic "
"html + css + javascript. Save your work in index.html. "
"Always call codex with approval-policy: never and sandbox: workspace-write."
),
mcp_servers=[codex_mcp_server],
)
designer_agent = Agent(
name="Game Designer",
instructions=(
"Come up with a single page html + css + javascript game "
"idea in 3 sentences and hand off to the Game Developer."
),
model="gpt-5",
handoffs=[developer_agent],
)
await Runner.run(designer_agent, "Implement a fun new game!")
if __name__ == "__main__":
asyncio.run(main())
python codex_mcp.py
Codex จะอ่าน Brief จาก Designer, สร้างไฟล์ index.html และเขียน Game ลงดิสก์ เปิดไฟล์ใน Browser เพื่อเล่น