| name | doubt |
| description | Use when the user invokes /doubt or $doubt, asks Codex to deliberately reduce unnecessary complexity before introducing a new concept, component, flag, type, file, branch, workflow, document, or procedure, or requests cleanup/review after implementation. Triggers include "์ด๊ฑฐ ๋ค ํ์ํด?", "์ ๋ฆฌ ์ข ํด์ค", "์๋ก ๋ง๋ค์ด์ผ ํ ๊น?", "๋ถํ์ํ ๊ฑฐ ์๋?", "์ฝ๋ ์ค์ฌ์ค", "why do we need this?", or any review where existence, fit, volume, and efficiency should be challenged before adding or keeping structure. |
/doubt
๋นผ๋ ๊ฒ๋ ์ ํ์ง๋ก ๋ค๋ฃฌ๋ค. ์ ๊ฐ๋
์ ๋ง๋ค๊ธฐ ์ ์๋ Occam Gate๋ฅผ ๋จผ์ ํต๊ณผ์ํค๊ณ , ์ ๋ฆฌ/๋ฆฌ๋ทฐ ๋จ๊ณ์์๋ ํญ๋ชฉ์ ๋ชฉ๋กํํ ๋ค ์กด์ฌยท์ ํฉยท๋ถ๋ยทํจ์จ ํํฐ๋ก ์ค์ผ ๋์์ ์ฐพ๋๋ค.
์ด๋ก ์ ๊ธฐ๋ฐ:
- Leidy Klotz, Subtract: ์ฌ๋์ ๋ฌธ์ ํด๊ฒฐ์์ ๋ง์
์ ๊ณผํ๊ฒ ์ ํํ๋ฏ๋ก ์์์ ์ธ ๋บ์
ํธ๋ฆฌ๊ฑฐ๊ฐ ํ์ํ๋ค.
- Chesterton's Fence: ์ ์๋์ง ์ดํดํ ๋ค ์ ๊ฑฐํ๋ค.
Scope ํ๋ณ
ํธ์ถ ๋งฅ๋ฝ์์ ๋จผ์ ๋ชจ๋๋ฅผ ์ ํ๋ค.
- ์ ๊ฐ๋
๋์
: "์ ์ปดํฌ๋ํธ๊ฐ ํ์ํด", "ํ๋๊ทธ ์ถ๊ฐํ์", "ํ์
์ ๋ง๋ค๊น?", "ํ์ผ์ ๋๋์" ๋ฑ์ Occam Gate๋ถํฐ ์ ์ฉํ๋ค.
- ์ ๋ฆฌ/์ถ์ ์์ฒญ: "๋ถํ์ํ ๊ฑฐ ์ ๋ฆฌํด์ค", "์ฝ๋ ์ค์ฌ์ค", "์ด๊ฑฐ ๋ค ํ์ํด?" ๋ฑ์ ํํฐ ์ฒด์ธ์ผ๋ก ๋ฐ๋ก ๊ฐ๋ค.
- ๋ฒ์๊ฐ ๋ถ๋ช
ํํ๋ฉด ๋ํ ๋งฅ๋ฝ์์ ๊ฐ์ฅ ์ข๊ณ ์์ ํ ๋ฒ์๋ฅผ ์ถ๋ก ํ๋ค. ๊ทธ๋๋ ๋ชจํธํ๋ฉด ๋ฒ์๋ฅผ ๋ฌป๋๋ค.
Occam Gate
์ ์ปดํฌ๋ํธ, ํ๋๊ทธ, ๋ธ๋์น, ํ์
, ํ์ผ, ์ ์ฐจ๋ฅผ ๋ง๋ค๊ธฐ ์ ์ ๋ฐ๋์ ๋ตํ๋ค.
1. ๊ธฐ์กด ๋ฉ์ปค๋์ฆ์ผ๋ก ํด๊ฒฐ ๊ฐ๋ฅํ๊ฐ?
- Yes: ๊ธฐ์กด ๋ฉ์ปค๋์ฆ์ ์์ ํ๋ค. ์ ๊ฐ๋
์ ๋ง๋ค์ง ์๋๋ค.
- No: 2๋ฒ์ผ๋ก ๊ฐ๋ค.
2. ์ ๊ฐ๋
์ด ์์ผ๋ฉด ์ด๋ป๊ฒ ๋๋๊ฐ?
- "๊ทธ๋ฅ ์ ๋๋ค": 3๋ฒ์ผ๋ก ๊ฐ๋ค.
- "๊ธฐ์กด ๊ฒ์ด ์กฐ๊ธ ์ด์ํด์ง๋ค": ๊ธฐ์กด ๊ฒ์ ๊ณ ์น๋ค.
3. ์ด ๋ณ๊ฒฝ์ด ์์คํ
์ ๊ฐ๋
์๋ฅผ ์ค์ด๋๊ฐ, ๋๋ฆฌ๋๊ฐ?
- ์ค์ธ๋ค: ์งํ ๊ฐ๋ฅ.
- ๋๋ฆฐ๋ค: ์ ๋ง ํ์ํ์ง ์ฌ๊ฒํ ํ๋ค. ๋ค๋ฅธ ํ๋ก์ ํธ/ํ๋ฆ์์๋ ํ์ํ ๊ฐ๋
์ธ์ง ํ์ธํ๋ค.
Occam Gate๋ฅผ ํต๊ณผํ์ง ๋ชปํ๋ฉด ์ ๊ฐ๋
์ ๋ง๋ค์ง ๋ง๊ณ ๊ธฐ์กด ๊ตฌ์กฐ ์์์ ํด๊ฒฐํ๋ค.
ํํฐ ์ฒด์ธ
์ ๋ฆฌ ๋์ ๋ฒ์ ์์ ํญ๋ชฉ์ ๋จผ์ ๋์ดํ๊ณ , ๊ฐ ํญ๋ชฉ์ ์ญํ ์ ํ ๋ฌธ์ฅ์ผ๋ก ์ค๋ช
ํ๋ค. ๊ทธ๋ฐ ๋ค์ ์๋ ์ง๋ฌธ์ ์์๋๋ก ์ ์ฉํ๋ค. ์ ์ง๋ฌธ์์ ํ๋ฝํ๋ฉด ๋ค ์ง๋ฌธ์ ๋ฌป์ง ์๋๋ค.
1. ์ธ๋ชจ๊ฐ ์๋? (Existence)
- No: ์ ๊ฑฐ ํ๋ณด
2. ํํ๊ฐ ๋ง๋? (Fit)
- No: ์ฌ์ค๊ณ ํ๋ณด
3. ์ค์ผ ์ ์๋? (Volume)
- Yes: ์ถ์ ํ๋ณด
4. ๋ ์ ๊ฒ ํ ์ ์๋? (Efficiency)
- Yes: ๋ณํฉ/๋จ์ํ ํ๋ณด
ํ๋จ์ด ๋ชจํธํ๋ฉด Lean 7 Muda๋ก ๋ถ๋ฅํ๋ค:
- ๊ณผ์์์ฐ: ๋ฏธ๋ฆฌ ๋ง๋ ๊ฒ
- ์ฌ๊ณ : ์์ฌ ์์ง๋ง ์ฐ์ด์ง ์๋ ๊ฒ
- ๊ณผ์์ฒ๋ฆฌ: ํ์ ์ด์์ผ๋ก ์ ๊ตํ ๊ฒ
- ์ด๋ฐ: ๋ถํ์ํ ๋ณต์ฌ/์ด๋
- ๋์: ๋ฐ๋ณต ์
๋ ฅ/๋ฐ๋ณต ์กฐ์
- ๋๊ธฐ: ๊ฒฐ์ ๋๊ธฐ๋ก ๋ฉ์ถ ๊ฒ
- ๊ฒฐํจ: ํ์ค๊ณผ ๋ง์ง ์์ ๋ณด์ ์ด ํ์ํ ๊ฒ
Chesterton's Fence
์ ๊ฑฐยท์ถ์ยท๋ณํฉ ํ๋ณด๋ง๋ค ์ด์ ๋ฅผ ํ์ธํ๋ค.
์ ๋ง๋ค์๋์ง ์๋๊ฐ?
- Yes: ๊ทธ ์ด์ ๊ฐ ์์ง ์ ํจํ๊ฐ?
- No: ์ ๊ฑฐ/์ถ์/๋ณํฉ ํ์
- Yes: ์ ์ง
- No: git log, ๋ฌธ์, ์ฃผ๋ณ ์ฝ๋, ๋ํ ๋งฅ๋ฝ์ ์กฐ์ฌํ๋ค.
์ด์ ๋ฅผ ์ ์ ์๊ณ ์ํ์ด ํฌ๋ฉด ์ ๊ฑฐํ์ง ์๋๋ค. ๋์ ์กฐ์ฌ ๊ฒฐ๊ณผ์ ๋ถํ์ค์ฑ์ ๋ณด๊ณ ํ๋ค.
์คํ ์์น
- ์ ๊ฑฐ ํ์ : ์ง์ ์ญ์ ํ๋ค.
- ์ถ์/๋ณํฉ ํ์ : ์ง์ ์์ ํ๋ค.
- ์ ์ง ํ์ : ๊ฑด๋๋ฆฌ์ง ์๋๋ค.
- ์ฌ์ฉ์์ ์์
๊ณต๊ฐ ๊ท์น์ด ํ์ธ ๊ฒ์ดํธ๋ฅผ ์๊ตฌํ๋ฉด, ๋ณ๊ฒฝ ์ ๊ณํ๊ณผ ๊ฒ์ฆ ๋ฐฉ๋ฒ์ ์์ฝํ๊ณ ์น์ธ์ ๊ธฐ๋ค๋ฆฐ๋ค.
- ๋ณ๊ฒฝ์ด ์์ผ๋ฉด ํด๋น ์์ญ์ ๊ธฐ์กด ๊ฒ์ฆ ์๋จ(ํ
์คํธ, ํ์
์ฒดํฌ, ๋น๋, ๋ฌธ์ ๋ ๋๋ง ๋ฑ)์ ๋๋ฆฐ๋ค.
๋ณ๊ฒฝ ํ ๊ฒ์ฆ
๊ฐ ๋ณ๊ฒฝ ๊ฑด๋ง๋ค ๋๋ฌป๋๋ค.
- ์ ๊ฑฐ/์ถ์๊ฐ ๋ค๋ฅธ ํญ๋ชฉ์ ๋ณต์ก๋๋ฅผ ๋์๋๊ฐ?
- ๋ณด์์ ์ํด ์๋ก์ด ์ฝ๋๋ ๊ฐ๋
์ด ํ์ํด์ก๋๊ฐ?
- ๋ณ๊ฒฝ ์ ๋ณด๋ค ์์คํ
์ด ๋จ์ํด์ก๋๊ฐ?
์คํ๋ ค ๋ณต์กํด์ก์ผ๋ฉด ํด๋น ๋ณ๊ฒฝ๋ง ๋๋๋ฆฌ๊ณ ์ด์ ๋ฅผ ๊ธฐ๋กํ๋ค. ๋๋๋ฆผ์ ์คํจ๊ฐ ์๋๋ผ ๋ ๋นผ๋ฉด ์
ํ๋๋ค๋ ์๋ ด ์ ํธ๋ค.
๋ณด๊ณ ํ์
๋ณ๊ฒฝ ๋์์ ๊ตฌ์ฒด์ ์ผ๋ก ๋ณด๊ณ ํ๊ณ , ์ ์ง ํญ๋ชฉ์ ์นด์ดํธ์ ์นดํ
๊ณ ๋ฆฌ ์ค์ฌ์ผ๋ก ์งง๊ฒ ๋ณด๊ณ ํ๋ค.
# /doubt ๊ฒฐ๊ณผ
## ๋ณ๊ฒฝ
| ํญ๋ชฉ | ํ์ | ์ด์ | ๊ฒ์ฆ |
|------|------|------|------|
| [ํญ๋ชฉ] | ์ ๊ฑฐ / ์ถ์ / ๋ณํฉ | [์ด์ ] | ํ์ / ๋๋๋ฆผ([์ด์ ]) |
## ์ ์ง (N๊ฑด)
- [์นดํ
๊ณ ๋ฆฌ]: N๊ฑด - [๋ํ ์กด์ฌ ์ด์ ]
## Before -> After
- ํญ๋ชฉ ์: X -> Y (-Z)