OpenAI Codex cli

TMT

๐Ÿ’ก OpenAI Codex CLI ์†Œ๊ฐœ

OpenAI Codex CLI๋Š” ํ„ฐ๋ฏธ๋„์—์„œ AI๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ฝ”๋“œ ์ƒ์„ฑ, ์ˆ˜์ •, ํŒŒ์ผ ๊ด€๋ฆฌ ๋“ฑ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ChatGPT ์ˆ˜์ค€์˜ ์ž์—ฐ์–ด ์ดํ•ด๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ ์ž‘์„ฑ, ์ˆ˜์ •, ๋ฆฌํŒฉํ† ๋ง ๋“ฑ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ„ฐ๋ฏธ๋„ ๊ธฐ๋ฐ˜ ์›Œํฌํ”Œ๋กœ์šฐ์— ์ ํ•ฉํ•˜๊ฒŒ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹จ์ˆœํžˆ ์ฝ”๋“œ ์ƒ์„ฑ์„ ๋„˜์–ด ์‹ค์ œ๋กœ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์‹คํ–‰ํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.


๐Ÿš€ Codex CLI ์ฃผ์š” ๊ธฐ๋Šฅ

  1. ์ฝ”๋“œ ์ƒ์„ฑ ๋ฐ ์ˆ˜์ •

    • ์ž์—ฐ์–ด๋กœ ์ฝ”๋“œ ์ž‘์„ฑ ์š”์ฒญ:

      codex "create a simple REST API using FastAPI"
    • ์ฝ”๋“œ ์ˆ˜์ • ์š”์ฒญ:

      codex "refactor the Dashboard component to use React Hooks"
    • ํŠน์ • ์ฝ”๋“œ ํŒŒ์ผ ์„ค๋ช…:

      codex "explain utils/date.ts"
  2. ์ž๋™ ์‹คํ–‰ ๋ชจ๋“œ

    • Suggest ๋ชจ๋“œ (๊ธฐ๋ณธ): ์ฝ”๋“œ ์ œ์•ˆ๋งŒ ํ•˜๊ณ , ์‚ฌ์šฉ์ž ํ™•์ธ ํ›„ ์‹คํ–‰.

    • Auto Edit ๋ชจ๋“œ: ์ฝ”๋“œ ์ˆ˜์ •๊นŒ์ง€ ์ž๋™์œผ๋กœ ์‹คํ–‰ํ•˜๋˜, ๋ช…๋ น์–ด ์‹คํ–‰์€ ์Šน์ธ ํ•„์š”.

    • Full Auto ๋ชจ๋“œ: ํŒŒ์ผ ์ˆ˜์ • ๋ฐ ๋ช…๋ น์–ด ์‹คํ–‰์„ ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌ (๋„คํŠธ์›Œํฌ ๋น„ํ™œ์„ฑํ™”).

      codex --approval-mode full-auto "generate unit tests for app.js"
  3. ํŒŒ์ผ ๊ด€๋ฆฌ

    • ํŒŒ์ผ ์ด๋™/์ด๋ฆ„ ๋ณ€๊ฒฝ ๋“ฑ์„ ํ„ฐ๋ฏธ๋„ ๋ช…๋ น์–ด์™€ ๊ฒฐํ•ฉํ•˜์—ฌ ์ˆ˜ํ–‰:

      codex "Bulk-rename *.jpeg -> *.jpg with git mv"
  4. ๋ณด์•ˆ ๋ชจ๋ธ

    • ๊ธฐ๋ณธ์ ์œผ๋กœ ๋„คํŠธ์›Œํฌ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜์—ฌ ์™ธ๋ถ€๋กœ๋ถ€ํ„ฐ ๊ฒฉ๋ฆฌ๋œ ์ƒํƒœ๋กœ ์ฝ”๋“œ ์‹คํ–‰.
    • macOS: sandbox-exec๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ถŒํ•œ์„ ์ œํ•œ.
    • Linux: Docker๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ฒฉ๋ฆฌ.
  5. CI/CD์™€์˜ ์—ฐ๋™

    • CI ํŒŒ์ดํ”„๋ผ์ธ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ:

      - name: Update changelog via Codex
        run: |
          npm install -g @openai/codex
          export OPENAI_API_KEY="${{ secrets.OPENAI_KEY }}"
          codex -a auto-edit --quiet "update CHANGELOG for next release"
  6. ๋‹ค์–‘ํ•œ AI ์ œ๊ณต์ž ์ง€์›

    • OpenAI ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ Azure, OpenRouter, Gemini, Ollama ๋“ฑ ๋‹ค์–‘ํ•œ AI ๋ชจ๋ธ ์‚ฌ์šฉ ๊ฐ€๋Šฅ.

    • ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋กœ API ํ‚ค ์„ค์ •:

      export OPENAI_API_KEY="your-api-key-here"
      export AZURE_OPENAI_API_KEY="your-azure-api-key-here"
  7. ๋””๋ฒ„๊น… ์ง€์›

    • ๋””๋ฒ„๊น… ๋ชจ๋“œ ํ™œ์„ฑํ™”:

      DEBUG=true codex
    • CLI์˜ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•œ ๋กœ๊ทธ๋ฅผ ์ƒ์„ธํžˆ ํ™•์ธ ๊ฐ€๋Šฅ.


๐Ÿ› ๏ธ ์‚ฌ์šฉ ์˜ˆ์‹œ

  1. ์ฝ”๋“œ ์ƒ์„ฑ

    codex "create a Python script that reads a CSV and prints the average value"
    • Python ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ CSV ํŒŒ์ผ์„ ์ฝ๊ณ  ํ‰๊ท ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ ์ƒ์„ฑ.
    • ์ƒ์„ฑ ํ›„ print๋กœ ํ‰๊ท ๊ฐ’์„ ํ™•์ธํ•˜๋Š” ๋กœ์ง๊นŒ์ง€ ํฌํ•จ.
  2. ์ฝ”๋“œ ์ˆ˜์ •

    codex "convert this class-based component to a functional component"
    • ๊ธฐ์กด React ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ˆ˜์ •.
  3. ํŒŒ์ผ ๋ณ€๊ฒฝ

    codex "rename all .txt files to .md"
    • ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋ชจ๋“  .txt ํŒŒ์ผ์„ .md๋กœ ๋ณ€๊ฒฝ.
  4. ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ž๋™ํ™”

    codex "analyze this codebase for potential security vulnerabilities"
    • ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์ž ์žฌ์  ๋ณด์•ˆ ์ทจ์•ฝ์  ๋ฆฌํฌํŠธ ์ƒ์„ฑ.

๐Ÿงฉ SDK์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๊ธฐ

Codex CLI๋ฅผ SDK์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜์—ฌ ์ž๋™ํ™” ์›Œํฌํ”Œ๋กœ์šฐ์— ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ Node.js ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ Codex๋ฅผ ๋ช…๋ น์ค„๋กœ ํ˜ธ์ถœํ•˜์—ฌ ์ฝ”๋“œ ์ž๋™ ์ƒ์„ฑ:

    const { exec } = require("child_process");
    
    exec('codex "generate a REST API in Python"', (err, stdout, stderr) => {
      if (err) {
        console.error(`Error: ${stderr}`);
        return;
      }
      console.log(`Generated Code: ${stdout}`);
    });
  2. CI ํŒŒ์ดํ”„๋ผ์ธ์—์„œ ์‚ฌ์šฉ

    • GitHub Actions๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ ์ˆ˜์ • ๋ฐ ๋ฆฌ๋ทฐ ์ž๋™ํ™”:

      - name: Automated Code Review
        run: |
          npm install -g @openai/codex
          export OPENAI_API_KEY="${{ secrets.OPENAI_KEY }}"
          codex -a auto-edit "review the recent changes for potential bugs"
    • ์ž๋™ ๋ฆฌ๋ทฐ ํ›„ ์ˆ˜์ • ์‚ฌํ•ญ์„ Git์— ์ปค๋ฐ‹ํ•˜๋„๋ก ์„ค์ •.

  3. ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ ๋ฐ ์‹คํ–‰ Codex๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ํ…Œ์ŠคํŠธ๊นŒ์ง€ ์ž๋™์œผ๋กœ ์ง„ํ–‰:

    codex "generate a Jest test for add.js"
    • ํ…Œ์ŠคํŠธ ํŒŒ์ผ ์ƒ์„ฑ ํ›„ npm test๋กœ ์ž๋™ ์‹คํ–‰ํ•˜์—ฌ ๊ฒฐ๊ณผ ํ™•์ธ.

๐Ÿ’ก ํ™œ์šฉ ์•„์ด๋””์–ด

  1. ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง ์ž๋™ํ™”

    • ์ฝ”๋“œ๋ฒ ์ด์Šค ์ „์ฒด๋ฅผ ๋ถ„์„ํ•˜์—ฌ ๋น„ํšจ์œจ์ ์ธ ๋ถ€๋ถ„์„ ์ฐพ์•„ ์ˆ˜์ •.
  2. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ƒ์„ฑ

    • ํ•จ์ˆ˜๋ณ„๋กœ ์ž๋™ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์ปค๋ฒ„๋ฆฌ์ง€ ํ™•์žฅ.
  3. ๋ฌธ์„œ ์ž๋™ ์ƒ์„ฑ

    • ํ•จ์ˆ˜ ์„ค๋ช… ๋ฐ ์ฝ”๋“œ ๊ตฌ์กฐ๋ฅผ ์ž๋™์œผ๋กœ ๋ฌธ์„œํ™”ํ•˜์—ฌ ๊ฐœ๋ฐœ ๊ฐ€์ด๋“œ ์ž‘์„ฑ.
  4. ๋ณด์•ˆ ๊ฐ์‚ฌ

    • ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ์—์„œ ์ทจ์•ฝ์  ํƒ์ง€ ๋ฐ ํŒจ์น˜ ์ œ์•ˆ.
  5. ์‹ค์‹œ๊ฐ„ ํ”ผ๋“œ๋ฐฑ

    • ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด์„œ AI ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์•„ ๋” ๋‚˜์€ ์ฝ”๋“œ ์ž‘์„ฑ ์œ ๋„.

โœ… ์ •๋ฆฌ

Codex CLI๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ํ„ฐ๋ฏธ๋„ ํ™˜๊ฒฝ์—์„œ AI์˜ ๊ฐ•๋ ฅํ•œ ์ฝ”๋“œ ์ƒ์„ฑ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ AI ๋ชจ๋ธ๊ณผ ์œ ์—ฐํ•˜๊ฒŒ ์—ฐ๋™๋˜๋ฉฐ, ์ž๋™ํ™”๋œ ์ฝ”๋“œ ์ž‘์„ฑ ๋ฐ ์ˆ˜์ •์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. SDK์ฒ˜๋Ÿผ ํ™œ์šฉํ•˜์—ฌ ์ฝ”๋“œ ์ž๋™ํ™”์™€ CI/CD ํŒŒ์ดํ”„๋ผ์ธ์—์„œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์–ด ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ„ฐ๋ฏธ๋„์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋ผ๋ฉด Codex CLI๋ฅผ ํ†ตํ•ด AI ๊ธฐ๋ฐ˜ ์ฝ”๋“œ ์ž‘์„ฑ์˜ ์ƒˆ๋กœ์šด ๊ฐ€๋Šฅ์„ฑ์„ ํƒํ—˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Edit this page

Search the archive

Find a page by title, or search the text inside one.