Skip to main content

ใช้ 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 เพื่อเล่น