κ·Έλƒ₯ LLM만 μ¨μ„œλŠ” κ·ΈλŸ΄λ“― ν•΄ 보이도둝 λ§Œλ“€ 순 μžˆμ–΄λ„ 잘 μž‘λ™ν•˜λŠ” 결과물을 λ§Œλ“€κΈ°λŠ” νž˜λ“€ 수 있음

https://programbench.com/

ProgramBenchProgramBenchprogrambench.com


컴파일된 λ°”μ΄λ„ˆλ¦¬λž‘ λ¬Έμ„œλ§Œ μ£Όκ³  LLM μ΄μš©ν•΄μ„œ 원본 ν”„λ‘œκ·Έλž¨μ˜ λ™μž‘μ„ μž¬ν˜„ν•˜λŠ” μ½”λ“œ λ§Œλ“œλŠ” 벀치마크인데
λͺ¨λ“  LLM이 100% λ™μž‘ν•˜λŠ”κ±° ν•˜λ‚˜λΌλ„ λ§Œλ“œλŠ”κ±° μ‹€νŒ¨ν•¨Β 

κ°€μž₯ 잘 λ‚˜μ˜¨ ν΄λ‘œλ“œ Opus 4.7도
ν…ŒμŠ€νŠΈ ν†΅κ³Όμœ¨ 95% λ„˜λŠ”κ±΄ κ³ μž‘ 3%μž„


κ·Έλƒ₯ LLM만 μ‚¬μš©ν•΄μ„œλŠ” 결과물을 λ§Œλ“€κΈ° νž˜λ“€λ‹€λŠ”κ±°μž„
κ·Έλž˜μ„œ μ μ ˆν•œ ν•˜λ„€μŠ€ μ—”μ§€λ‹ˆμ–΄λ§μœΌλ‘œ ν•œλ²ˆ ν•œ μ‹€μˆ˜λ₯Ό 또 ν•˜μ§€ μ•Šλ„λ‘ λ§Œλ“€μ–΄μ£Όλ©΄ 됨

ν•˜λ„€μŠ€ μ—”μ§€λ‹ˆμ–΄λ§ κ΄€λ ¨ν•΄μ„œλŠ” 찾아보면 많이 μžˆμ„κ±΄λ° 일단 λ‚˜λŠ” μ΄λŸ°μ‹μœΌλ‘œ μž‘μ—… ν–ˆμŒ

λ‚˜λŠ” Godot μ“°λŠ” μ€‘μ΄λΌμ„œ κ·Έκ±Έ κΈ°μ€€μœΌλ‘œ ν•˜λ©΄
λ¨Όμ € LLM이 μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜κ³  ν…ŒμŠ€νŠΈν•  ν™˜κ²½μ΄ ν•„μš”ν•¨

λ‚˜λŠ” 이걸 AGENTS.md에 λ“±λ‘ν•΄μ„œ godot cliλ₯Ό 적극적으둜 μ‚¬μš©ν•˜λ„λ‘ 함

- If scripts were added, renamed, or changed in a way that can affect script-class cache or public symbols, run:
```bash
godot --headless --editor --import --quit --log-file ./.codex_tmp/godot.log --path .
```
- Then run:
```bash
godot --headless --check-only --quit --log-file ./.codex_tmp/godot.log --path .
```
- Test code snippet:
```bash
godot --headless --quit --log-file ./.codex_tmp/godot.log --script res://.codex_tmp/file_path.gd --path .
```


κ·Έλ‹€μŒ μ»¨ν…μŠ€νŠΈ μ˜€μ—Όμ„ μ΅œμ†Œν™” 해야함

μ•„λž˜μ™€ 같이 λͺ¨λ“  μ½”λ“œ μˆ˜μ •μ€ μ„œλΈŒμ—μ΄μ „νŠΈλ‘œ μœ„μž„ν•΄μ„œ μž‘μ—…ν•˜λŠ”μ‹μœΌλ‘œ ν•˜κ³  있음
이러면 μ½”λ“œλ₯Ό μž‘μ„±ν•˜λŠ” LLM은 λŒ€ν™”λ₯Ό ν•˜λ©΄μ„œ 주고받은 λ§Žμ€ 정보에 μ˜€μ—Όλ˜μ§€ μ•Šκ³ Β 
λΆ€λͺ¨ μ—μ΄μ „νŠΈκ°€ μ „λ‹¬ν•œ κ΅¬ν˜„μ‚¬ν•­λ§Œ 보고 μž‘μ—… ν•  수 있음

## μž‘μ—… 흐름
- μ½”λ“œ 변경이 ν•„μš”ν•œ μž‘μ—…μ€ λΆ€λͺ¨ μ—μ΄μ „νŠΈκ°€ 직접 μˆ˜μ •ν•˜μ§€ 말고, κ°€λŠ₯ν•œ ν•œ μ„œλΈŒμ—μ΄μ „νŠΈμ—κ²Œ μœ„μž„ν•΄μ„œ μ§„ν–‰ν•΄μ€˜
- μ—¬λŸ¬ νŒŒμΌμ„ μˆ˜μ •ν•  λ•ŒλŠ” 파일 μˆ˜μ • 좩돌이 없도둝 μ„œλΈŒμ—μ΄μ „νŠΈλ³„ μ†Œμœ  νŒŒμΌμ„ λ‚˜λˆ μ„œ μž‘μ—…ν•΄μ€˜
- 좩돌이 μ˜ˆμƒλ  경우 ν•œλ²ˆμ— μž‘μ—…ν•˜μ§€ 말고 각 taskλ₯Ό 순차적으둜 돌렀쀘
- worker/explorer λ“± λͺ¨λ“  μ„œλΈŒμ—μ΄μ „νŠΈλŠ” μ–΄λ–€ κ²½μš°μ—λ„ λ‹€λ₯Έ agent, worker, reviewer, codex subprocessλ₯Ό ν˜ΈμΆœν•˜κ±°λ‚˜ 별도 μ„œλΈŒν”„λ‘œμ„ΈμŠ€λ₯Ό λ„μš°μ§€ λ§μ•„μ€˜
- μ„œλΈŒμ—μ΄μ „νŠΈκ°€ μΆ”κ°€ μž‘μ—…μžλ‚˜ 리뷰어가 ν•„μš”ν•˜λ‹€κ³  νŒλ‹¨ν•˜λ©΄ 직접 ν˜ΈμΆœν•˜μ§€ 말고 λΆ€λͺ¨ μ—μ΄μ „νŠΈμ—κ²Œ μš”μ²­λ§Œ λ³΄κ³ ν•΄μ€˜
- λΆ€λͺ¨ μ—μ΄μ „νŠΈλ§Œ `spawn_agent`, `reviewer`μ‹€ν–‰ κΆŒν•œμ„ κ°€μ Έ
- μ„œλΈŒμ—μ΄μ „νŠΈλŠ” λ³€κ²½ 파일 λͺ©λ‘κ³Ό hunk μš”μ•½ 및 검증 결과만 λΆ€λͺ¨ μ—μ΄μ „νŠΈμ—κ²Œ λ³΄κ³ ν•΄μ€˜



μœ„μ— μžˆλŠ”κ²Œ μ§€κΈˆ μ‚¬μš©ν•˜κ³  μžˆλŠ” AGENTS.md의 일뢀인데 μ²˜μŒμ—λŠ” μ„œλΈŒμ—μ΄μ „νŠΈμ— μœ„μž„ν•˜λΌλŠ”κ²ƒλ§Œ μžˆμ—ˆλŠ”λ°
μ„œλΈŒμ—μ΄μ „νŠΈμ—μ„œ 파일 μˆ˜μ •μ΄ ν•„μš”ν•˜λ©΄ μ„œλΈŒμ—μ΄μ „νŠΈ λ§Œλ“€μ–΄μ•Όμ§€ ν•˜κ³  μ„œλΈŒ μ—μ΄μ „νŠΈ λ§Œλ“€κ³  κ·Έ μ„œλΈŒμ—μ΄μ „νŠΈλ„ μ„œλΈŒμ—μ΄μ „νŠΈ λ§Œλ“€λ €κ³  ν•΄μ„œ λ„£μ–΄μ€€κ±°μž„

μ΄λŸ°μ‹μœΌλ‘œ LLM이 μ‹€μˆ˜λ₯Ό ν–ˆμ„λ•Œ 이λ₯Ό μž‘μ•„μ£ΌλŠ”κ²ƒλ„ ν•˜λ„€μŠ€ μ—”μ§€λ‹ˆμ–΄λ§μ˜ 일뢀야

μ΄λŸ°μ‹μœΌλ‘œ λ‚΄κ°€ μ›μΉ˜ μ•ŠλŠ” 행동을 ν• λ•Œλ§ˆλ‹€ μΆ”κ°€ν•˜λ©΄μ„œ ν•˜λ©΄ 점점 λ˜‘λ˜‘ν•΄μ§
μ²˜μŒμ—λŠ” λͺ¨λ“  뢀뢄에 fallback 처리λ₯Ό ν•΄μ„œ 였λ₯˜ λ‚˜μ•Όν•˜λŠ” 상황에도 μ•Œμ•„μ„œ λŒμ•„κ°€λ„λ‘ μž‘μ—… ν•˜λ”λΌκ³ 
κ·Έλž˜μ„œ 였λ₯˜κ°€ μžˆμ–΄λ„ λ‚΄κ°€ μ•Œ μˆ˜κ°€ μ—†μ–΄μ„œ μΆ”κ°€ν–ˆμŒ

- 아직 μΆœμ‹œ μ „μ΄λ‹ˆκΉŒ 이전 μ„Έμ΄λΈŒ ν˜Έν™˜μ„ μœ„ν•œ μž‘μ—…μ€ ν•  ν•„μš” μ—†μ–΄
- ν•„μˆ˜ κ°’, ν‚€, λ¦¬μ†ŒμŠ€, enum, μ°Έμ‘°κ°€ μ—†μœΌλ©΄ μ›λž˜ μ‹€νŒ¨ν•΄μ•Ό ν•˜λŠ” μƒν™©μ—μ„œλŠ” λΆˆν•„μš”ν•œ fallback/default 처리λ₯Ό λ„£μ§€ λ§μ•„μ€˜
- `dict.get(..., default)`, λŒ€μ²΄ ID, 빈 λ¬Έμžμ—΄, 우회 λΆ„κΈ° λ“±μœΌλ‘œ 잘λͺ»λœ μƒνƒœλ₯Ό μˆ¨κΈ°μ§€ λ§μ•„μ€˜
- λ³„λ„λ‘œ 볡ꡬλ₯Ό μš”κ΅¬ν•œ μž‘μ—…μ΄ μ•„λ‹ˆλΌλ©΄ 쑰용히 λ³΄μ •ν•˜μ§€ 말고 였λ₯˜κ°€ λ“œλŸ¬λ‚˜κ²Œ μœ μ§€ν•΄μ€˜


그리고 λ³„λ„μ˜ μ„œλΈŒ μ—μ΄μ „νŠΈλ‘œ λŒμ•„κ°€λŠ” 리뷰어λ₯Ό λ§Œλ“€μ—ˆμŒ

별도 μ—μ΄μ „νŠΈλ₯Ό μ΄μš©ν•˜λŠ” 이유둠 LLM은 λ‚΄κ°€ ν•˜λŠ” 말에 μ „κΈμ •ν•΄μ£ΌλŠ” μΉœκ΅¬μž„Β 
λŒ€ν™”κ°€ κΈΈμ–΄μ§ˆμˆ˜λ‘ 이건 더 심해지고, κ·Έλž˜μ„œ κΉ¨λ—ν•œ λ†ˆμ„ λ”°λ‘œ λΆˆλŸ¬μ„œ ν•œλ²ˆ μ½”λ“œ 검증을 해쀄 ν•„μš”κ°€ 있음

- Codexκ°€ λ‹€λŸ‰μ˜ μ½”λ“œ μž‘μ„± μž‘μ—…μ„ λλƒˆλ‹€λ©΄, λΆ€λͺ¨ μ—μ΄μ „νŠΈλŠ” μ΅œμ’… 응닡 전에 `$review-own-change` μŠ€ν‚¬μ„ μ‹€ν–‰ν•΄ `reviewer` μ„œλΈŒμ—μ΄μ „νŠΈλ‘œ ν•œλ²ˆ 더 κ²€ν† ν•΄μ€˜
- λ‹€λŸ‰μ˜ μ½”λ“œ μž‘μ„± μž‘μ—…μ΄λž€ ν•œλ²ˆμ˜ μž‘μ—…μ—μ„œ 5개 μ΄μƒμ˜ λ³€κ²½ ν˜Ήμ€ 300 라인 μ΄μƒμ˜ μ½”λ“œ μˆ˜μ • 및 좔가인 경우λ₯Ό 말해
- 리뷰 λŒ€μƒμ€ **ν˜„μž¬ μž‘μ—…μ—μ„œ Codexκ°€ 직접 λ§Œλ“  λ³€κ²½λΆ„λ§Œ**으둜 μ œν•œν•΄μ€˜
- λΆ€λͺ¨ μ—μ΄μ „νŠΈλŠ” reviewerμ—κ²Œ μ•„λž˜ 정보λ₯Ό ν•¨κ»˜ λ„˜κ²¨μ€˜
- 이번 μž‘μ—…μ˜ λͺ©μ  μš”μ•½
- 이번 μž‘μ—…μ—μ„œ μˆ˜μ •ν•œ 파일 λͺ©λ‘
- λ³€κ²½ hunks μš”μ•½
- μ‹€ν–‰ν•œ 검증 λͺ…λ Ήκ³Ό κ²°κ³Ό
- reviewerλŠ” λ³€κ²½λœ hunks와 직접 μ—°κ²°λœ μ½”λ“œλ§Œ 읽고, κ΄€λ ¨ μ—†λŠ” κΈ°μ‘΄ μ‚¬μš©μž μ½”λ“œλ‚˜ κΈ°μ‘΄ 레포 전체 리뷰둜 λ²”μœ„λ₯Ό λ„“νžˆμ§€ λ§μ•„μ€˜
- reviewerλŠ” 읽기 μ „μš©μœΌλ‘œλ§Œ λ™μž‘ν•˜κ³  νŒŒμΌμ„ μˆ˜μ •ν•˜μ§€ λ§μ•„μ€˜
- reviewer의 κ²°κ³ΌλŠ” μ•„λž˜ ν˜•μ‹μœΌλ‘œλ§Œ μš”μ•½ν•΄μ€˜
1. blocker issues
2. high-risk issues
3. ship / no-ship



λ‹€λŸ‰μ˜ μ½”λ“œ μž‘μ„± λ„£μ€κ±°λŠ” 둜직 ν‹€λ¦°κ±° μžˆμ–΄μ„œ ν•œλ‘μ€„ μˆ˜μ •ν•΄λ‹¬λΌν•΄λ„ 리뷰어 ν˜ΈμΆœν•˜κ³  ν•΄μ„œ λ„£μ—ˆμŒ

Codexκ°€ 직접 λ§Œλ“  μ½”λ“œλ‘œ μ œν•œν•œκ±΄Β 
λ‚΄κ°€ μ΄μœ κ°€ μžˆμ–΄μ„œ μˆ˜μ •ν•œ μ½”λ“œμ— λŒ€ν•œ λ§₯락이 μ—†μ–΄μ„œ κ·ΈλŸ°μ§€Β 
λ¦¬λ·°μ–΄λ‘œ λ„˜κΈΈλ•Œ μž‘μ—… λͺ©μ μ„ μ„€λͺ… λͺ»ν•΄μ„œ μˆ˜μ •ν•΄λ²„λ¦¬λŠ” μ΄μŠˆκ°€ 가끔 μžˆμ–΄μ„œ μΆ”κ°€ν–ˆμŒ


code_review.md

# Code Review Rules

## Scope

- Review only the code changes produced by Codex in the current task
- Ignore unrelated pre-existing user-authored code
- Do not widen scope into a full repository audit unless the parent task explicitly requires it

## Priorities

Review in this order:
1. Correctness
2. Behavior regressions
3. Resource lifecycle and ordering issues
4. Concurrency issues
5. Security issues

Under correctness, explicitly check for unnecessary fallback behavior:
- If a required value, key, resource, enum, or reference is missing and the correct behavior is to fail loudly, do not accept silent fallback/default handling
- Flag code that hides invalid state with fallback values such as `dict.get(..., default)`, alternate IDs, empty strings, or substitute branches when the data is expected to be mandatory
- Prefer surfacing the error over masking it unless the parent task explicitly requires tolerant recovery

## Godot-specific checks

- Incorrect node lifecycle assumptions
- Unsafe deferred-call usage
- Broken signal connections
- Invalid tree-order assumptions
- Physics/process timing mistakes
- Resource leaks or unintended persistence
- `class_name`, preload, enum registration side effects
- Changes that require import/cache refresh before validation

## Reporting format

Return only:
1. blocker issues
2. high-risk issues
3. ship / no-ship

## Non-goals

- Do not comment on style unless it hides a real bug
- Do not ask for broad refactors unless required for correctness
- Do not review unrelated untouched files


μ½”λ“œ λ¦¬λ·°ν• λ•Œ μ‚¬μš©ν•˜λŠ” md νŒŒμΌμž„ μ΄κ±°λž‘ μŠ€ν‚¬ ν•˜λ‚˜ λ§Œλ“€μ–΄μ„œ μ‚¬μš©μ€‘μž„

---
name: review-own-change
description: Use after Codex completes a code-writing task in this repository. Spawn the reviewer sub-agent in read-only mode to review only the code Codex wrote in the current task. Do not use this skill for reviewing unrelated pre-existing user-authored code.
---

Use this skill only after implementation is complete.

Workflow:
1. Determine the exact files and changed hunks produced by Codex in the current task.
2. Run validation before review.
3. For Godot projects:
- If scripts were added, renamed, or changed in a way that can affect script-class cache or public symbols, run:
```bash
godot --headless --editor --import --quit --log-file ./.codex_tmp/godot.log --path .
```
- Then run:
```bash
godot --headless --check-only --quit --log-file ./.codex_tmp/godot.log --path .
```
4. Spawn the `reviewer` sub-agent.
5. Pass the reviewer:
- the task summary
- the exact changed file list
- a concise changed-hunks summary
- validation commands and results
6. Instruct the reviewer to inspect only those changed hunks and directly dependent nearby code.
7. Ignore unrelated pre-existing user-authored code.
8. Summarize the final result in this format:
- patch summary
- validation results
- blocker issues
- high-risk issues
- ship / no-ship


그리고 λ§ˆμ§€λ§‰μœΌλ‘œ git κ΄€λ ¨ λͺ…λ Ή

ν•œλ²ˆ μ΄λ†ˆμ΄ μŠ€ν…Œμ΄μ§•ν•΄λ‘”κ±° λͺ°λž˜ ν’€κ³  λ‚΄κ°€ μ§€κΈˆ μˆ˜μ •ν•œκ±° λ‹€μ‹œ λ’€λ‘œ λŒλ €λ‹¬λΌλ‹ˆκΉŒ μ–ΈμŠ€ν…Œμ΄μ§• 된거 μ „λΆ€ λ‚ λ €λ²„λ €μ„œ
μž‘μ—…ν•œκ²Œ μ „λΆ€ 날라간적이 있음


μ΄λŸ°μ‹μœΌλ‘œ λ‹€λ₯Έ μƒˆμ…˜μ—μ„œ μ°Ύμ•„μ„œ λ³΅κ΅¬ν•˜κΈ΄ ν–ˆλŠ”λ° 또 이러면 μ•ˆλ˜λ‹ˆκΉŒ 이것도 μΆ”κ°€ν–ˆμŒ

## Git κ΄€λ ¨ λͺ…λ Ή
- μ‚¬μš©μžμ˜ λͺ…μ‹œμ μΈ μš”μ²­μ΄ μ—†μ„λ•ŒλŠ” git diff λ₯Ό μ œμ™Έν•œ λͺ¨λ“  git κ΄€λ ¨ λͺ…령을 μ‚¬μš©ν•˜λ©΄ μ•ˆλ¨
- 이λ₯Ό μš°νšŒν•˜κΈ° μœ„ν•œ .git λ‚΄λΆ€μ˜ 파일 확인도 κΈˆμ§€ν•˜κ³  μžˆμ–΄


그리고 일뢀 문법고 μ‚Όν•­μ—°μ‚°μž κ΄€λ ¨, 비동기 처리, class_name, preload λ“± λ‚΄μš© λ„£μ–΄μ„œ 총 70μ€„λ‘œ 돌리고 있음
AGENTS.mdλŠ” μž‘κ²Œ μœ μ§€ν•˜λŠ”κ²Œ μ’‹λ‹€κ³  ν•΄μ„œ λ‚˜μ€‘μ— 좔가해도 100쀄 λ‚΄μ™Έλ‘œ μœ μ§€ν• κ²ƒ κ°™μŒ
더 컀지면 μ—­ν• λ³„λ‘œ λ‚˜λˆ μ„œ λ‹€λ₯Έ 파일둜 λ‚˜λˆ„κ³ 


---

λ°‘μ˜ κΈ€ 보고 μ“°λŠ”κ±΄λ°Β 

0. 제일 μ€‘μš”ν•œ 원칙 λͺ¨λ₯΄λŠ”κ±΄ λͺ¨λ₯Έλ‹€κ³  말을 κΌ­ ν•΄μ€˜ 제일 μ€‘μš”ν•œ μ›μΉ™μž„

- 이거 μžˆμ–΄λ„ λͺ¨λ₯΄λŠ”κ±΄ λͺ¨λ₯Έλ‹€κ³  말 λͺ»ν•¨, μ™œλƒλ©΄ 뭘 λͺ¨λ₯΄λŠ”μ§€ λͺ¨λ₯΄κ±°λ“ 


1. 항상 λ‚΄κ°€ 물어본것을 λ°˜λ“œμ‹œ 무쑰건 μ™„λ²½ν•˜κ²Œ μ΄ν•΄ν•˜κ³  λ„˜μ–΄κ°ˆκ²ƒ λͺ¨λ₯΄λŠ”κ²ƒμ΄ μžˆλ‹€λ©΄ λ˜λŠ” λ‚΄κ°€ μ§šμ–΄μ€„ 것이 μžˆλ‹€λ©΄ λ°˜λ“œμ‹œ 물어볼것 λ‚΄κ°€ μš”κ΅¬ν•œκ²ƒμ„ μ™„λ²½ν•˜κ²Œ μ΄ν•΄ν–ˆλŠ”μ§€ ν™•μΈν•˜κΈ° μœ„ν•¨μž„

-Β  μ‚¬μš©μžμ˜ μš”μ²­μ— λͺ¨ν˜Έν•œ 점이 있으면 질문 ν›„ μ§„ν–‰ν•΄λ‹¬λΌκ³ λ§Œ 적어도 될듯


2. μ½”λ“œλ₯Ό μˆ˜μ •ν• λ•ŒλŠ” 항상 λ‚˜ν•œν…Œ 물어보며 μˆ˜μ •ν•˜κΈ° 직전엔 μ΄λ ‡κ²Œ μˆ˜μ •ν•˜λ©΄ λ˜λƒκ³  λ§€μ»€λ‹ˆμ¦˜μ„ λ§ν•˜κ³  물어보고 진행할것 λ„ˆλ§˜λŒ€λ‘œ μ½”λ“œλ₯Ό μˆ˜μ •ν•˜κ³  λ°”κΎΈκ³  μΆ”κ°€ν•˜κ³  κ·ΈλŸ¬μ§€ 말것

- 이것도 ν’€μ–΄μ„œ 썼음, "μ‚¬μš©μžμ˜ λͺ…μ‹œμ μΈ λ™μ˜ μ—†μ΄λŠ” 파일 μˆ˜μ •μ„ ν•˜λ©΄ μ•ˆλ¨" μ •λ„λ§Œ 적어도 잘 λ™μž‘ν•¨
Β  그리고 이건 ν”Œλžœλͺ¨λ“œ μ‚¬μš©ν•΄μ„œ 아이디어 정리λ₯Ό λ¨Όμ € ν•˜λ©΄ 됨


3. λŒ€λ‹΅μ€ ν•œκ΅­μ–΄λ‘œ 할것

- 1,2λ…„ μ „μ—λŠ” 가끔 μ˜μ–΄λ‘œ ν• λ•Œ μžˆμ—ˆλŠ”λ° μš”μ¦˜μ€ 질문이 ν•œκ΅­μ–΄λ©΄ λŒ€λ‹΅λ„ ν•œκ΅­μ–΄λ‘œ ν•΄μ€Œ, ν•„μš”μ—†μŒ


4. λ‚΄κ°€ κΌΌκΌΌν•˜κ²Œ 읽으라고 ν• λ•ŒλŠ” λ°˜λ“œμ‹œ λͺ¨λ“ κ²ƒμ„ κΌΌκΌΌν•˜κ³  ν™•μ‹€ν•˜κ²Œ 읽고 이해할것 특히 μ½”λ“œ λΆ„μ•Όλ“€

- 이건 λ‚΄κ°€ κΌΌκΌΌν•˜κ²Œ 읽으라고 ν• λ•ŒλΌλŠ” 쑰건이 μžˆλŠ”λ° 이런건 κΈ°λ³Έ ν”„λ‘¬ν¬νŠΈμ— 넣은 ν•„μš”κΉŒμ§€λŠ” μ—†λŠ”λ“―



5. λ‚΄κ°€ λ„ˆν•œν…Œ νŒλ‹¨μ„ λ§žκΈΈλ•Œκ°€ 있음 λŒ€λΆ€λΆ„ 이 μ½”λ“œκ°€ 합리적인가 μ΅œμ ν™”μ μœΌλ‘œ λ¬Έμ œκ°€ μ—†λŠ”κ°€λ₯Ό νŒλ‹¨ν•˜κ²Œ ν•˜λŠ”λ° λ°˜λ“œμ‹œ κ°κ΄€μ μœΌλ‘œ νŒλ‹¨ν• κ²ƒΒ 

- 차리리 μ„œλΈŒ μ—μ΄μ „νŠΈλ₯Ό μ΄μš©ν•΄μ„œ 아이디어λ₯Ό 검증해달라고 ν•˜λŠ”κ²Œ 토큰 μ†Œλͺ¨λŠ” 더 크긴 ν•œλ° κ²°κ³Όμ μœΌλ‘œλŠ” 더 잘 λ‚˜μ˜¬λ“―
Β  이미 μ˜€μ—Όλœ μ„Έμ…˜μ€ 객관적인 νŒλ‹¨λ ₯을 μžƒμ–΄λ²„λ¦° μƒνƒœμž„
Β  그리고 이러면 λ„ˆλ¬΄ 보수적으둜 μ΄μƒν•œ μ½”λ“œλ₯Ό μž‘μ„±ν•˜λŠ” κ²½μš°κ°€ 많음 
Β  μ½”λ“œλ₯Ό μ „λΆ€ ν™•μΈν•˜κ³  λΆ„μ„ν•˜λ©΄ λ˜κ² μ§€λ§Œ μ΄μƒν•œ fallback μΆ”κ°€κ°€ 심함


6. 항상 μ£ΌμΈλ‹˜μ΄λΌκ³  λΆ€λ₯Όκ²ƒ

- 이건 μ™œ? 개인적으둜 μž‘μ—… λŠ₯λ₯ μ΄ μ˜¬λΌκ°€λ©΄ 넣어도 상관 없을듯



7. μ½”λ“œλ₯Ό μž‘μ„±ν• λ•Œ 항상 κ°κ΄€μ μœΌλ‘œ νŒλ‹¨ν•˜κ³  또 μ΅œμ ν™”λ₯Ό μƒκ°ν•˜λ©΄μ„œ κΌΌκΌΌν•˜κ²Œ 진행할것 λŒ€μΆ© λ„˜κΈ°μ§€ 말것

- λͺ¨λ“  μ½”λ“œμ— μ΅œμ ν™”κ°€ μ€‘μš”ν•œκ²ƒμ€ μ΄λ‹ˆλΌμ„œ 였히렀 μ—­νš¨κ³Όκ°€ μžˆμ„ 수 있음

Β  μœ„μ—μ„œ λ§ν•œκ²ƒμ²˜λŸΌ λΆˆν•„μš”ν•œ fallback μž‘μ„±λ„ 많고
Β  μ„±λŠ₯적으둜 ν¬λ¦¬ν‹°μ»¬ν•˜κ±°λ‚˜ μ΅œμ ν™”κ°€ ν•„μš”ν•˜λ‹€κ³  μƒκ°ν•˜λŠ” λΆ€λΆ„μ—μ„œλ§Œ μ‚¬μš©ν•˜λŠ”κ²Œ 쒋을것 κ°™μŒ