πŸ” Codex 연ꡬ 프리뷰: AI 개발 μ—μ΄μ „νŠΈμ˜ μ‹œλŒ€

μ„œμΏ Β·2025λ…„ 5μ›” 18일
1

2025λ…„, μ†Œν”„νŠΈμ›¨μ–΄ κ°œλ°œμ€ μ΄μ „κ³ΌλŠ” ν™•μ—°νžˆ λ‹€λ₯Έ 풍경을 그리고 μžˆμŠ΅λ‹ˆλ‹€. 특히 'λ°”μ΄λΈŒ μ½”λ”©(Vibe Coding)'μ΄λΌλŠ” ν₯미둜운 κ°œλ…μ΄ κ°œλ°œμžλŠ” λ¬Όλ‘  λΉ„κ°œλ°œ μ§κ΅°μ—κ²ŒκΉŒμ§€ λΉ λ₯΄κ²Œ ν™•μ‚°λ˜λ©΄μ„œ, μš°λ¦¬κ°€ κΏˆκΏ”μ™”λ˜ μ•±μ΄λ‚˜ μ›Ήμ‚¬μ΄νŠΈλ₯Ό 이전보닀 훨씬 μˆ˜μ›”ν•˜κ²Œ λ§Œλ“€ 수 μžˆλŠ” μ‹œλŒ€κ°€ 열리고 μžˆμŠ΅λ‹ˆλ‹€.


좜처: https://age-of-product.com/wp-content/

❓ λ°”μ΄λΈŒ μ½”λ”©(Vibe Coding)μ΄λž€?
좜처: μœ„ν‚€λ°±κ³Ό, λ°”μ΄λΈŒ μ½”λ”©(Vibe Coding)μ΄λž€?

  • λ°”μ΄λΈŒ μ½”λ”©(Vibe Coding)은 2023λ…„, μΉ΄νŒŒμ‹œ(Karpathy)κ°€ μ œμ‹œν–ˆλ˜ "κ°€μž₯ 인기 μžˆλŠ” μƒˆλ‘œμš΄ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λŠ” μ˜μ–΄"λΌλŠ” μ£Όμž₯μ—μ„œ ν•œ 걸음 더 λ‚˜μ•„κ°„ κ°œλ…μž…λ‹ˆλ‹€.
  • μ΄λŠ” κ±°λŒ€ μ–Έμ–΄ λͺ¨λΈ(LLM)의 λ†€λΌμš΄ λŠ₯λ ₯ 덕뢄에, 더 이상 인간이 μ»΄ν“¨ν„°μ—κ²Œ λͺ…λ Ήν•˜κΈ° μœ„ν•΄ λ³΅μž‘ν•œ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ₯Ό 애써 λ°°μš°μ§€ μ•Šμ•„λ„ λœλ‹€λŠ” ν˜μ‹ μ μΈ λ³€ν™”λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.

OpenAIκ°€ κ³΅κ°œν•œ CodexλŠ” λ‹¨μˆœν•œ μ½”λ“œ 생성기가 μ•„λ‹ˆλΌ, μ‹€μ œ 개발 업무λ₯Ό μžλ™ν™”ν•˜κ³  ν˜‘μ—…ν•  수 μžˆλŠ” AI μ†Œν”„νŠΈμ›¨μ–΄ μ—”μ§€λ‹ˆμ–΄λ§ μ—μ΄μ „νŠΈμž…λ‹ˆλ‹€.

이 κΈ€μ—μ„œλŠ” Codexκ°€ μ–΄λ–€ μ›λ¦¬λ‘œ μž‘λ™ν•˜λŠ”μ§€, μ–΄λ–€ μž‘μ—…μ„ μžλ™ν™”ν•  수 μžˆλŠ”μ§€, 그리고 λ°œν‘œ μ˜μƒμ˜ μ‹€μ œ 데λͺ¨ 사둀λ₯Ό λ°”νƒ•μœΌλ‘œ Codex의 ν˜„μž¬μ™€ 미래λ₯Ό μ†Œκ°œν•©λ‹ˆλ‹€.

좜처:


πŸ’‘ Codexλž€?

CodexλŠ” OpenAI ν΄λΌμš°λ“œ κΈ°λ°˜μ—μ„œ μž‘λ™ν•˜λŠ” AI 개발 μ—μ΄μ „νŠΈμž…λ‹ˆλ‹€.

λ‹¨μˆœν•œ μ½”λ“œ μžλ™ μ™„μ„± μˆ˜μ€€μ„ λ„˜μ–΄, λ‹€μŒκ³Ό 같은 κΈ°λŠ₯을 μˆ˜ν–‰ν•©λ‹ˆλ‹€:

  • GitHub 리포지토리λ₯Ό λ‘œλ“œν•˜κ³  μ½”λ“œλ² μ΄μŠ€λ₯Ό 뢄석
  • 버그 탐지 및 μˆ˜μ •, ν…ŒμŠ€νŠΈ μ½”λ“œ 생성 및 μ‹€ν–‰
  • PR μž‘μ„± 및 컀밋 λ©”μ‹œμ§€ 생성
  • μ½”λ“œ μŠ€νƒ€μΌ 및 λ¦°ν„° κ·œμΉ™μ— 맞게 ν¬λ§·νŒ…
  • μ—¬λŸ¬ μž‘μ—…μ„ λ³‘λ ¬λ‘œ μ²˜λ¦¬ν•˜λ©°, 각각을 λ…λ¦½λœ VMμ—μ„œ μ•ˆμ „ν•˜κ²Œ μ‹€ν–‰

πŸ”§ CodexλŠ” GPT 기반 λͺ¨λΈμΈ codex-1(μ½”λ±μŠ€-1)을 기반으둜 ν•˜λ©°, μ΄λŠ” μ‹€μ œ ν”„λ‘œλ•μ…˜ ν™˜κ²½μ—μ„œ 병합 κ°€λŠ₯ν•œ μˆ˜μ€€μ˜ μ½”λ“œ ν’ˆμ§ˆμ„ λͺ©ν‘œλ‘œ ν•™μŠ΅λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

  • μ½”λ±μŠ€-1의 ν›ˆλ ¨ λͺ©ν‘œμ€ "결과물을 μ‚¬λžŒμ˜ μ½”λ”© μ„ ν˜Έλ„ 및 ν‘œμ€€μ— 맞좰 μ‘°μ •ν•˜λŠ” 것"이라고 OpenAIλŠ” λ°ν˜”μŠ΅λ‹ˆλ‹€.
  • μ΄λŠ” o3와 λΉ„κ΅ν–ˆμ„ λ•Œ, μ‚¬λžŒμ΄ μ¦‰μ‹œ ν‘œμ€€ μ›Œν¬ν”Œλ‘œμš°μ— 톡합할 수 μžˆμ„ μ •λ„λ‘œ 더 κΉ”λ”ν•œ 패치λ₯Ό μƒμ„±ν•œλ‹€κ³  μ„€λͺ…ν–ˆμŠ΅λ‹ˆλ‹€.

μ‚¬μš© 방법

πŸ’» ChatGPT의 μ‚¬μ΄λ“œλ°”λ₯Ό 톡해 Codex에 μ ‘μ†ν•˜μ—¬ ν”„λ‘¬ν”„νŠΈλ₯Ό μž…λ ₯ν•˜κ³  μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  • "Code"λ₯Ό ν΄λ¦­ν•˜μ—¬ μƒˆλ‘œμš΄ μ½”λ”© μž‘μ—…μ„ ν• λ‹Ήν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ½”λ“œλ² μ΄μŠ€μ— λŒ€ν•΄ Codex에 μ§ˆλ¬Έν•˜κ³  μ‹Άλ‹€λ©΄ "Ask"λ₯Ό ν΄λ¦­ν•˜μ„Έμš”.

  • 각 μž‘μ—…μ€ μ½”λ“œλ² μ΄μŠ€κ°€ 미리 λ‘œλ“œλœ 격리된 독립 ν™˜κ²½μ—μ„œ κ°œλ³„μ μœΌλ‘œ μ²˜λ¦¬λ©λ‹ˆλ‹€.
  • μž‘μ—… μ†Œμš”μ‹œκ°„μ€ 1λΆ„μ—μ„œ 30λΆ„ μ •λ„λ‘œ, λ³΅μž‘λ„μ— 따라 λ‹¬λΌμ§‘λ‹ˆλ‹€.
  • CodexλŠ” μ½”λ“œ νŒŒμΌμ„ 읽고 μˆ˜μ •ν•  수 있으며, λͺ…λ Ήμ–΄ μ‹€ν–‰(예: ν…ŒμŠ€νŠΈ μ‹€ν–‰, λ¦°ν„°, νƒ€μž… 검사 λ“±)도 κ°€λŠ₯ν•©λ‹ˆλ‹€.
  • μž‘μ—…μ΄ μˆ˜ν–‰λ˜λŠ” λ™μ•ˆ Codex의 μ§„ν–‰ 상황을 μ‹€μ‹œκ°„μœΌλ‘œ λͺ¨λ‹ˆν„°λ§ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

(μ°Έκ³ ) μ½”λ“œ λ² μ΄μŠ€λž€?

  • ν•˜λ‚˜μ˜ μ†Œν”„νŠΈμ›¨μ–΄ ν”„λ‘œμ νŠΈ 전체에 ν•΄λ‹Ήν•˜λŠ” μ†ŒμŠ€ μ½”λ“œμ˜ 집합을 μ˜λ―Έν•©λ‹ˆλ‹€.
    • 보톡 ν•˜λ‚˜μ˜ ν”„λ‘œμ νŠΈλŠ” μ—¬λŸ¬ 개의 파일과 λ””λ ‰ν† λ¦¬λ‘œ κ΅¬μ„±λ˜μ–΄ 있으며,
      이 λͺ¨λ“  μ½”λ“œλ₯Ό 톡틀어 "ν•˜λ‚˜μ˜ μ½”λ“œλ² μ΄μŠ€"라고 λΆ€λ¦…λ‹ˆλ‹€.
    • 이 μ½”λ“œμ—λŠ” λΉ„μ¦ˆλ‹ˆμŠ€ 둜직, API μ •μ˜, 데이터 처리 μ½”λ“œ, UI ꡬ성 μš”μ†Œ, μ„€μ • 파일, ν…ŒμŠ€νŠΈ μ½”λ“œ 등이 ν¬ν•¨λ©λ‹ˆλ‹€.

μž‘μ—… μ™„λ£Œ ν›„ CodexλŠ” 자체 ν™˜κ²½ λ‚΄μ—μ„œ λ³€κ²½ 사항을 컀밋(commit)ν•©λ‹ˆλ‹€.

  • CodexλŠ” 터미널 둜그, ν…ŒμŠ€νŠΈ 좜λ ₯ κ²°κ³Ό λ“± λͺ…ν™•ν•œ 증거λ₯Ό 톡해 μžμ‹ μ΄ μˆ˜ν–‰ν•œ μž‘μ—…μ„ 검증 κ°€λŠ₯ν•œ λ°©μ‹μœΌλ‘œ μ œκ³΅ν•©λ‹ˆλ‹€.
  • μ‚¬μš©μžλŠ” Codex의 κ²°κ³Όλ₯Ό 리뷰, μž¬μˆ˜μ • μš”μ²­, GitHub Pull Request 생성, λ˜λŠ” 둜컬 ν™˜κ²½μœΌλ‘œ 직접 톡합할 수 μžˆμŠ΅λ‹ˆλ‹€.
  • λ˜ν•œ, μ‹€μ œ 개발 ν™˜κ²½κ³Ό μ΅œλŒ€ν•œ μœ μ‚¬ν•˜λ„λ‘ Codex ν™˜κ²½μ„ μ‚¬μš©μž μ„€μ •(configure)ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

πŸ“˜ Codexλ₯Ό μ•ˆλ‚΄ν•˜λŠ” 파일: AGENTS.md

CodexλŠ” μ‚¬λžŒμ²˜λŸΌ μ½”λ“œλ₯Ό 읽고 μž‘μ—…ν•˜μ§€λ§Œ, λ¬Έλ§₯κ³Ό κ·œμΉ™μ„ 더 잘 μ΄ν•΄ν•˜λ„λ‘ μ•ˆλ‚΄ν•  수 μžˆλŠ” ꡬ성 파일이 μ‘΄μž¬ν•©λ‹ˆλ‹€.
λ°”λ‘œ AGENTS.mdμž…λ‹ˆλ‹€.

πŸ€– AGENTS.mdλŠ” "AI 개발자λ₯Ό μœ„ν•œ κ°€μ΄λ“œλΌμΈ λ¬Έμ„œ"μž…λ‹ˆλ‹€.

  • 인간 κ°œλ°œμžκ°€ ν”„λ‘œμ νŠΈμ— 처음 ν•©λ₯˜ν–ˆμ„ λ•Œ README.md, CONTRIBUTING.md, docs/ 등을 읽으며 μ½”λ“œλ₯Ό μ΄ν•΄ν•˜λ“―,
  • CodexλŠ” AGENTS.mdλ₯Ό 읽고 β€œμ΄ ν”„λ‘œμ νŠΈλŠ” μ΄λ ‡κ²Œ μ΄ν•΄ν•˜κ³ , μ΄λ ‡κ²Œ μž‘μ—…ν•˜λ©΄ λΌμš”β€λΌλŠ” μ§€μΉ¨(instruction)을 λ°›μŠ΅λ‹ˆλ‹€.
ν•­λͺ©README.mdAGENTS.md
🎯 λŒ€μƒμΈκ°„ 개발자 (μ‚¬λžŒ)Codex 같은 AI 개발 μ—μ΄μ „νŠΈ
πŸ“š λͺ©μ ν”„λ‘œμ νŠΈ μ†Œκ°œ, μ„€μΉ˜λ²•, μ‚¬μš©λ²• μ•ˆλ‚΄μ½”λ“œ 탐색 방식, ν…ŒμŠ€νŠΈ μ‹€ν–‰ 방식, μŠ€νƒ€μΌ κ°€μ΄λ“œ μžλ™ μ΄ν•΄μš© μ§€μΉ¨
πŸ“„ ν˜•μ‹ μžμœ λ„λ¬Έμž₯ μœ„μ£Ό, Markdown μŠ€νƒ€μΌ μžμœ λ‘œμ›€κ΅¬μ‘°ν™”λœ μ§€μΉ¨ μœ„μ£Ό, μ‹€ν–‰ κ°€λŠ₯ν•œ λͺ…λ Ήμ΄λ‚˜ κ·œμΉ™ 전달
βš™οΈ μ‹€ν–‰ κΈ°λ°˜μ‚¬λžŒμ΄ 보고 직접 μ‹€ν–‰Codexκ°€ μžλ™ 뢄석, μ‹€ν–‰, ν…ŒμŠ€νŠΈν•˜λŠ” 데 μ°Έκ³ 

πŸ”§ AGENTS.mdλŠ” 무엇을 ν•˜λ‚˜μš”?

CodexλŠ” ν”„λ‘œμ νŠΈ 내에 AGENTS.md 파일이 μ‘΄μž¬ν•˜λ©΄, λ‹€μŒκ³Ό 같은 λ°©μ‹μœΌλ‘œ 이λ₯Ό μ°Έκ³ ν•˜μ—¬ μž‘μ—… 정확도λ₯Ό λ†’μž…λ‹ˆλ‹€:

μ—­ν• μ„€λͺ…
🧭 μ½”λ“œ ꡬ쑰 μ•ˆλ‚΄ν΄λ”/λͺ¨λ“ˆ κ°„μ˜ κ΄€κ³„λ‚˜ μ§„μž…μ μ„ Codexμ—κ²Œ μ„€λͺ…ν•©λ‹ˆλ‹€.
πŸ§ͺ ν…ŒμŠ€νŠΈ λͺ…λ Ή μ§€μ •μ˜ˆ: pytest, pnpm test λ“± Codexκ°€ μžλ™μœΌλ‘œ ν…ŒμŠ€νŠΈλ₯Ό μ‹€ν–‰ν•  수 μžˆλ„λ‘ μ§€μ‹œ
πŸ§‘β€πŸ’» μ½”λ“œ μŠ€νƒ€μΌ 및 κ·œμΉ™ μ•ˆλ‚΄μ˜ˆ: "Black으둜 ν¬λ§·νŒ…", "컀밋 λ©”μ‹œμ§€λŠ” Conventional Commits μ‚¬μš©" λ“±
πŸ“ 리포지토리 탐색 νžŒνŠΈμ–΄λ–€ 디렉토리λ₯Ό λ¬΄μ‹œν•΄μ•Ό ν•˜λŠ”μ§€, 무엇을 λ¨Όμ € 읽어야 ν•˜λŠ”μ§€ λ“± λͺ…μ‹œ κ°€λŠ₯

πŸ“‚ μ˜ˆμ‹œ ꡬ성 (AGENTS.md)

  # AGENTS.md

  ## Code Style
  - Use Black formatter for all Python files.
  - Follow PEP8 for naming conventions.

  ## Testing
  - Run `pytest tests/` before submitting a PR.
  - Ensure test coverage does not drop.

  ## Repository Structure
  - `src/` contains main application code.
  - `scripts/` contains developer utilities.

  ## PR Guidelines
  - PR title format: `[Fix] Short description`
  - Include test results in the description.

(μ°Έκ³ ) CodexλŠ” AGENTS.md 없이도 μž‘λ™ν•˜μ§€λ§Œ, 이 파일이 μžˆμ„ 경우 훨씬 더 높은 ν’ˆμ§ˆμ˜ κ²°κ³Όλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.


πŸ§ͺ λ°œν‘œ μ˜μƒμœΌλ‘œ λ³Έ Codex μ‚¬μš© μ‹œλ‚˜λ¦¬μ˜€

OpenAIλŠ” Codex의 κΈ°λŠ₯을 μ‹œμ—°ν•˜λŠ” μ‹€μ œ 데λͺ¨λ₯Ό 톡해 λ‹€μŒκ³Ό 같은 μ‚¬μš© 흐름을 μ†Œκ°œν–ˆμŠ΅λ‹ˆλ‹€.

참고둜 ν˜„μž¬ Plus Userλ“€μ—κ²ŒλŠ” μ˜€ν”ˆλ˜μ§€ μ•Šμ•˜μœΌλ―€λ‘œ, Demo μ˜μƒ λ‚΄μš©μ„ λ‹€λ£Ήλ‹ˆλ‹€.
(Images are from OpenAI Youtube Demo Talk)

1. GitHub 연동 및 리포지토리 선택

  • μ‚¬μš©μžλŠ” GitHub 계정을 Codex에 μ—°λ™ν•˜κ³ , μ›ν•˜λŠ” 리포λ₯Ό μ„ νƒν•©λ‹ˆλ‹€.
  • μ˜ˆμ‹œλ‘œ μ‚¬μš©λœ 리포: preparedness, codex-cli
  • CodexλŠ” 리포지토리λ₯Ό λΆ„μ„ν•˜κ³ , μ½”λ“œ ꡬ쑰λ₯Ό νŒŒμ•…ν•©λ‹ˆλ‹€.

2. λ‹€μ–‘ν•œ μž‘μ—…(Task) 병렬 μ‹€ν–‰

μ‚¬μš©μžλŠ” μ—¬λŸ¬ μž‘μ—…μ„ λ™μ‹œμ— ν• λ‹Ήν•  수 μžˆμŠ΅λ‹ˆλ‹€:

μž‘μ—… μ’…λ₯˜μ„€λͺ…
Askμ½”λ“œλ² μ΄μŠ€μ˜ κ΅¬μ‘°λ‚˜ νŠΉμ • ν•¨μˆ˜μ— λŒ€ν•œ μ„€λͺ… μš”μ²­
Codeμ½”λ“œ λ‚΄ 버그λ₯Ό μ°Ύμ•„ μˆ˜μ •
Suggestμ½”λ“œ κ°œμ„  아이디어 μ œμ•ˆ
Fix Typosμ˜€νƒˆμž 및 문법 였λ₯˜ μžλ™ μˆ˜μ •

Tasks defined in Codex

CodexλŠ” 각 μž‘μ—…μ„ λ…λ¦½μ μœΌλ‘œ μ²˜λ¦¬ν•˜λ©°, μ—¬λŸ¬ μ—μ΄μ „νŠΈλ₯Ό λ³‘λ ¬λ‘œ μ‹€ν–‰ν•©λ‹ˆλ‹€.

Parellel jobs in Codex

3. μ‹€μ œ μž‘μ—… μˆ˜ν–‰ μ˜ˆμ‹œ

λ‹€μŒμ€ 데λͺ¨μ—μ„œ μˆ˜ν–‰λœ μ‹€μ œ μž‘μ—…μž…λ‹ˆλ‹€:

πŸ–₯️ DEMO 1. μ½”λ“œ μœ μ§€λ³΄μˆ˜μ„± 및 버그 κ°€λŠ₯μ„± κ²€ν† (Maintainability & Bugs)

μ‚¬μš©μžκ°€ Codexμ—κ²Œ λ‹€μŒκ³Ό 같은 μž‘μ—…μ„ μš”μ²­ν•©λ‹ˆλ‹€:

β€œμ΄ μ½”λ“œλ² μ΄μŠ€λ₯Ό μœ μ§€λ³΄μˆ˜ κ°€λŠ₯ν•˜κ³  버그가 없도둝 μœ μ§€ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. TODO μ™Έμ˜ λΆ€λΆ„μ—μ„œ κ°œμ„ μ΄ ν•„μš”ν•œ 뢀뢄을 읽고, κ·Έ μ΄μœ μ™€ ν•¨κ»˜ μž‘μ—… μ œμ•ˆ(task)을 ν•΄μ£Όμ„Έμš”.”

CodexλŠ” μ½”λ“œλ² μ΄μŠ€λ₯Ό λΆ„μ„ν•œ ν›„, μ‹ λ’°μ„±κ³Ό μœ μ§€λ³΄μˆ˜μ„±μ„ ν–₯μƒμ‹œν‚¬ 수 μžˆλŠ” μ˜μ—­μ„ λ‹€μŒκ³Ό 같이 μ‹λ³„ν•©λ‹ˆλ‹€:

βœ… 1. Avoid mutable default arguments

  • mutable default argument 문제λ₯Ό κ°μ§€ν•˜κ³  ν•¨μˆ˜ μ‹œκ·Έλ‹ˆμ²˜ μˆ˜μ •

    • νŒŒμ΄μ¬μ—μ„œ ν•¨μˆ˜μ˜ κΈ°λ³Έ μΈμžλŠ” ν•¨μˆ˜κ°€ 호좜될 λ•Œκ°€ μ•„λ‹ˆλΌ, μ •μ˜λ  λ•Œ λ”± ν•œ 번만 λ§Œλ“€μ–΄μ§€κΈ° λ•Œλ¬Έμ—
    • κΈ°λ³Έ 인자둜 μ „λ‹¬λœ {}λŠ” ν•¨μˆ˜ λ°”κΉ₯μ—μ„œ ν•œ 번 λ§Œλ“€μ–΄μ Έμ„œ 계속 κ³΅μœ λœλ‹€λŠ” 게 λ¬Έμ œμž…λ‹ˆλ‹€.

    각각의 task듀이 κ°œλ³„ SANDBOXμ—μ„œ μ‹€ν–‰λ˜κ³  μžˆλ‹€λŠ” μ˜ˆμ‹œ

    (μ°Έκ³ ) βŒ› μƒŒλ“œλ°•μŠ€(Sandbox)λŠ” μ™ΈλΆ€ μ‹œμŠ€ν…œμœΌλ‘œλΆ€ν„° 격리된(λΆ„λ¦¬λœ) ν™˜κ²½μ„ μ˜λ―Έν•˜λ©°, μ½”λ“œ μ‹€ν–‰, μ‹€ν—˜, 뢄석, ν…ŒμŠ€νŠΈ 등을 μ•ˆμ „ν•˜κ²Œ μˆ˜ν–‰ν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ©λ‹ˆλ‹€.

βœ… 2. Correct variable spelling

  • μ˜€νƒˆμž 및 λ³€μˆ˜ 였기 μ •μ •

βœ… 3. Consistent timeout constant

  • timeout μ„€μ • κ°’μ˜ 뢈일치(예: 60초 vs 120초)λ₯Ό νƒμ§€ν•˜κ³  일관성 있게 μˆ˜μ •

βœ… 4. Ensure recorder writes are flushed

  • μ‚¬μš©μžμ˜ λͺ©ν‘œ("μ½”λ“œλ² μ΄μŠ€λ₯Ό μœ μ§€ λ³΄μˆ˜ν•˜κΈ° μ‰½κ²Œ")에 λ§žλŠ” κ°œμ„  μ œμ•ˆ

πŸ–₯️ DEMO 2. 특수문자 파일λͺ…μ—μ„œ /diff λͺ…λ Ή 였λ₯˜ ν•΄κ²° μš”μ²­ 사둀

μ‚¬μš©μžκ°€ Codexμ—κ²Œ λ‹€μŒκ³Ό 같은 CLI 버그 μˆ˜μ •μ„ μš”μ²­ν•©λ‹ˆλ‹€:

β€œ/diff λͺ…λ Ήμ–΄κ°€ 특수문자($)κ°€ ν¬ν•¨λœ 파일λͺ…을 μ²˜λ¦¬ν•˜μ§€ λͺ»ν•΄ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€. 이λ₯Ό ν•΄κ²°ν•΄μ£Όμ„Έμš”.”

  • 예: 'a$b.txt' νŒŒμΌμ„ λ§Œλ“  λ’€ /diff μ‹€ν–‰ μ‹œ μ—λŸ¬ λ°œμƒ

CodexλŠ” CLI ν™˜κ²½μ—μ„œ 문제λ₯Ό μž¬ν˜„ν•˜κΈ° μœ„ν•΄ μƒŒλ“œλ°•μŠ€(격리된 μ»¨ν…Œμ΄λ„ˆ ν™˜κ²½)λ₯Ό μ‹œμž‘ν•˜κ³ , μ•„λž˜μ˜ 과정을 톡해 문제λ₯Ό λΆ„μ„ν•©λ‹ˆλ‹€:

βœ… 1. μž¬ν˜„ 슀크립트 μžλ™ 생성 및 μ‹€ν–‰ μ‹œλ„

  • /tmp/repro.ts에 TypeScript 슀크립트λ₯Ό 생성

    • μž„μ‹œ Git μ €μž₯μ†Œ 생성
    • 특수문자 $κ°€ ν¬ν•¨λœ 파일 'a$b.txt'λ₯Ό μΆ”κ°€
    • λ‚΄λΆ€ diff ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜μ—¬ 였λ₯˜ λ°œμƒ μ—¬λΆ€ 확인

  • μ‹€ν–‰ κ²°κ³Ό get-diff.js λͺ¨λ“ˆ 경둜 문제 λ°œμƒ β†’ Codexκ°€ 원인 νŒŒμ•… ν›„ λ‹€μŒ λ‹¨κ³„λ‘œ μ§„ν–‰

βœ… 2. 였λ₯˜ μˆ˜μ • 및 λͺ¨λ“ˆ 패치

  • 핡심 μˆ˜μ •: child_processμ—μ„œ execFileSyncλ₯Ό λͺ…μ‹œμ μœΌλ‘œ μ‚¬μš©ν•˜μ—¬ 셸을 우회

    • κΈ°μ‘΄ execSync()λŠ” $λ₯Ό μ…Έ λ³€μˆ˜λ‘œ μ˜€μΈν•¨
    • execFileSync()λŠ” λ¬Έμžμ—΄μ„ κ·ΈλŒ€λ‘œ μ „λ‹¬ν•˜λ―€λ‘œ 특수문자 μ•ˆμ „
  • 변경사항 적용 ν›„ regression testκΉŒμ§€ μž‘μ„± μ™„λ£Œ


βœ… 3. ν…ŒμŠ€νŠΈ μžλ™ν™” 및 검증 μ™„λ£Œ

  • pnpm test둜 μƒˆλ‘œμš΄ ν…ŒμŠ€νŠΈ 톡과 확인
  • $ λ¬Έμžκ°€ ν¬ν•¨λœ νŒŒμΌλ„ diff 결과에 μ •μƒμ μœΌλ‘œ ν¬ν•¨λ˜λŠ” 것을 확인

βœ… 4. Git 둜그 정리 및 PR μ€€λΉ„ μ™„λ£Œ

  • CodexλŠ” μˆ˜μ • λ‚΄μš©μ„ μ»€λ°‹ν•˜κ³  μš”μ•½:

    • get-diff.ts: κΈ°λŠ₯ μˆ˜μ •
    • get-diff-special-chars.test.ts: νšŒκ·€ ν…ŒμŠ€νŠΈ μΆ”κ°€
  • 컀밋 λ©”μ‹œμ§€:

    "fix diff for special chars"
    2 files changed, 40 insertions(+), 6 deletions(-)

🧠 CodexλŠ” μžμ‹ μ΄ μ œμ•ˆν•œ μž‘μ—…μ„ 슀슀둜 μ‹€ν–‰ν•˜κ³ , ν…ŒμŠ€νŠΈν•˜κ³ , PRκΉŒμ§€ 생성할 수 μžˆμŠ΅λ‹ˆλ‹€.

4. ν…ŒμŠ€νŠΈ 및 κ²°κ³Ό κ²€ν† 

CodexλŠ” μž‘μ—…μ„ μ™„λ£Œν•œ ν›„ λ‹€μŒ 정보λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€:

  • μˆ˜μ •λœ μ½”λ“œμ™€ λ³€κ²½ μš”μ•½
  • 터미널 둜그 및 ν…ŒμŠ€νŠΈ μ‹€ν–‰ κ²°κ³Ό
  • 컀밋 λ©”μ‹œμ§€ 및 PR 생성 ꢌμž₯ 사항

μ‚¬μš©μžλŠ” κ²°κ³Όλ₯Ό κ²€ν† ν•œ ν›„ λ³‘ν•©ν•˜κ±°λ‚˜, λ‘œμ»¬μ—μ„œ λ‹€μ‹œ ν…ŒμŠ€νŠΈν•  수 μžˆμŠ΅λ‹ˆλ‹€.


Codex μ„±λŠ₯ 정리

  • λͺ¨λ“  μ‹œλ„ νšŸμˆ˜μ—μ„œ codex-1이 더 높은 정확도λ₯Ό λ³΄μž„
  • Codex-1이 κ°€μž₯ 높은 정확도 (75%) β†’ μ‹€μ œ μ—”μ§€λ‹ˆμ–΄λ§ μ—…λ¬΄μ—μ„œλ„ κΈ°μ‘΄ λͺ¨λΈλ³΄λ‹€ λͺ…ν™•ν•œ μ„±λŠ₯ μš°μœ„

μ„±λŠ₯ν‘œ 정리

ν•­λͺ©μ˜λ―Έ
πŸ” Codex-1 정확도SWE 벀치마크 κΈ°μ€€ 졜고 μ„±λŠ₯
🧠 Reasoning λŠ₯λ ₯더 넓은 λ¬Έλ§₯κ³Ό 더 λ³΅μž‘ν•œ μž‘μ—…μ—μ„œ μ•ˆμ •μ  μΆ”λ‘  κ°€λŠ₯
πŸ§ͺ μ œν’ˆ κΈ°λŒ€ μˆ˜μ€€μ‹€μ œ 업무 μˆ˜μ€€μ˜ 문제 ν•΄κ²° λŠ₯λ ₯ 확보 확인됨

βš™οΈ Codex CLI와 codex-mini

CodexλŠ” ν΄λΌμš°λ“œ 기반 μ—μ΄μ „νŠΈ 외에도 둜컬 CLI μ—μ΄μ „νŠΈλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

https://github.com/openai/codex

  • Codex CLI: 터미널 기반 μΈν„°νŽ˜μ΄μŠ€

  • codex-mini-latest: λΉ λ₯Έ λ°˜μ‘ 속도에 μ΅œμ ν™”λœ κ²½λŸ‰ λͺ¨λΈ

  • ChatGPT κ³„μ •μœΌλ‘œ κ°„νŽΈ 둜그인 및 API μžλ™ μ„€μ •

  • μš”κΈˆ:

    • μž…λ ₯ $1.50 / 1M tokens
    • 좜λ ₯ $6 / 1M tokens
    • ν”„λ‘¬ν”„νŠΈ 캐싱 75% 할인

πŸ›‘οΈ Codex의 μ•ˆμ „μ„±κ³Ό μ‹ λ’°μ„±

CodexλŠ” λ‹€μŒκ³Ό 같은 λ°©μ‹μœΌλ‘œ 투λͺ…μ„±κ³Ό μ•ˆμ „μ„±μ„ ν™•λ³΄ν•©λ‹ˆλ‹€:

  • 격리된 VM ν™˜κ²½μ—μ„œλ§Œ μž‘λ™ (인터넷 차단)
  • λͺ¨λ“  μž‘μ—…μ˜ 터미널 둜그, ν…ŒμŠ€νŠΈ κ²°κ³Ό, μ½”λ“œ 인용 기둝 제곡
  • AGENTS.md νŒŒμΌμ„ 톡해 ν…ŒμŠ€νŠΈ 방법, 컀밋 μŠ€νƒ€μΌ, PR 포맷 λ“± μ„ΈλΆ€ 사항을 ν•™μŠ΅
  • ν…ŒμŠ€νŠΈ μ‹€νŒ¨λ‚˜ μ˜μ‹¬λ˜λŠ” μ½”λ“œμ— λŒ€ν•΄ λͺ…ν™•ν•˜κ²Œ κ²½κ³ ν•˜λ©°, μˆ˜λ™ 리뷰λ₯Ό ꢌμž₯

🎯 Codexκ°€ μ§€ν–₯ν•˜λŠ” 개발 λ¬Έν™”

CodexλŠ” λ‹¨μˆœνžˆ μžλ™ν™”λ₯Ό λ„˜μ–΄μ„œ, 개발자의 생산성을 κ·ΉλŒ€ν™”ν•˜λŠ” λ„κ΅¬μž…λ‹ˆλ‹€:

  • μžλ™ν™”: 반볡 μž‘μ—…(λ¦¬νŒ©ν† λ§, ν¬λ§·νŒ…, ν…ŒμŠ€νŠΈ μž‘μ„± λ“±)을 μœ„μž„
  • 병렬 처리: μ—¬λŸ¬ μ—μ΄μ „νŠΈλ₯Ό λ™μ‹œμ— ν™œμš©ν•˜μ—¬ 닀쀑 μž‘μ—… 병렬 μ‹€ν–‰
  • 비동기 ν˜‘μ—…: μ μ‹¬μ‹œκ°„μ— μž‘μ—…μ„ μ‹œμž‘ν•˜κ³ , λŒμ•„μ™€μ„œ κ²°κ³Όλ₯Ό 확인할 수 있음
  • μ†Œν”„νŠΈμ›¨μ–΄ 곡학 κ°•ν™”: ν…ŒμŠ€νŠΈ ν™˜κ²½, λ¬Έμ„œν™”, ꡬ쑰 정리가 잘 된 ν”„λ‘œμ νŠΈμ—μ„œ μ„±λŠ₯ κ·ΉλŒ€ν™”

πŸ“Œ ν˜„μž¬ 이용 κ°€λŠ₯ λ²”μœ„ 및 ν–₯ν›„ κ³„νš

  • βœ… ChatGPT Pro, Team, Enterprise μ‚¬μš©μž: μ¦‰μ‹œ μ‚¬μš© κ°€λŠ₯

아직 Plus μœ μ €λŠ” μ•ˆ μ—΄λ¦°κ±° λ‹€μ‹œ 확인 πŸ₯Ή (https://chatgpt.com/codex)

  • ⏳ Plus, Edu μ‚¬μš©μž: κ³§ 순차적 둀아웃 μ˜ˆμ •
  • πŸ†“ μ΄ˆκΈ°μ—λŠ” μΆ”κ°€ λΉ„μš© 없이 제곡, 이후 μ‚¬μš©λŸ‰ 기반 μš”κΈˆμ œ λ„μž… μ˜ˆμ •

πŸ”š κ²°λ‘ : CodexλŠ” μ‹œμž‘μΌ 뿐

CodexλŠ” 단지 λΉ λ₯Έ μ½”λ“œ 생성기가 μ•„λ‹™λ‹ˆλ‹€.
ν•¨κ»˜ μΌν•˜λŠ” λ™λ£Œ, 비동기 μž‘μ—… 처리자, μ½”λ“œ ν’ˆμ§ˆμ„ 보μž₯ν•˜λŠ” κ΄€λ¦¬μžμž…λ‹ˆλ‹€.

πŸ’¬ κ°œλ°œμžκ°€ μ•„μ΄λ””μ–΄λ§Œ μ£Όλ©΄ CodexλŠ”:

  • 버그λ₯Ό μ°Ύκ³ ,
  • ν…ŒμŠ€νŠΈλ₯Ό μž‘μ„±ν•˜κ³ ,
  • 변경사항을 κΈ°λ‘ν•˜κ³ ,
  • PR을 μ€€λΉ„ν•˜κ³ ,
  • 성곡적인 ν…ŒμŠ€νŠΈ 톡과 μ—¬λΆ€λ₯Ό λ³΄κ³ ν•©λ‹ˆλ‹€.

μ½μ–΄μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€ 🧸

profile
Always be passionate ✨

0개의 λŒ“κΈ€