
Plandex: ๋๊ท๋ชจ ์ ์ฅ์ ์์จ ๋ฆฌํฉํ ๋ง ๋ฐ ๋ฆด๋ฆฌ์ค ๊ด๋ฆฌ
Plandex: ๋๊ท๋ชจ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์ํ ์์จ ๋ฆฌํฉํ ๋ง ๋ฐ ๋ฆด๋ฆฌ์ค ๊ด๋ฆฌ
Plandex๋ ์ฌ๋ฌ ํ์ผ์ ๊ฑธ์ณ ์๋ ํฌ๊ณ ์ค์ ์ ์ธ ํ๋ก๊ทธ๋๋ฐ ์์
์ ์ฒ๋ฆฌํ๋๋ก ์ค๊ณ๋ ์คํ์์ค AI ๊ธฐ๋ฐ ์ฝ๋ฉ ์ง์ ๋๊ตฌ์
๋๋ค. ์ด ๋๊ตฌ๋ ์ต์ ์ธ์ด ๋ชจ๋ธ(LLM)์ ์ฌ์ฉํ์ฌ ๋ค๋จ๊ณ ๋ณ๊ฒฝ ์ฌํญ์ ๊ณํ, ์ ์ฉ ๋ฐ ๊ฒ์ฆํฉ๋๋ค. ๋จ์ํ ํ
์คํธ ์์ฑ ์ฝ๋ฉ ๋๊ตฌ์ ๋ฌ๋ฆฌ, Plandex๋ **โ๊ณํ ์๋๋ฐ์คโ**๋ฅผ ๊ตฌ์ถํฉ๋๋ค. ์ ์๋ ๋ชจ๋ ํธ์ง ๋ด์ฉ์ ๋ณ๋์ ๊ณต๊ฐ์์ ์์ฑํ๊ณ (plandex diff๋ก ํ์ธ ๊ฐ๋ฅ), ๋ช
์์ ์ผ๋ก ํ์ธ(plandex apply ์ฌ์ฉ)ํ ๋๋ง ํ๋ก์ ํธ์ ์ ์ฉํฉ๋๋ค (www.noze.it). ์ด ๊ณํ-ํ-์ ์ฉ ์ ๊ทผ ๋ฐฉ์์ ์์ญ ๊ฐ์ ํ์ผ์ ๊ฑธ์ณ ํจ์ ์ด๋ฆ์ ๋ฐ๊พธ๊ฑฐ๋, ๋ชจ๋์ ์ถ์ถํ๊ฑฐ๋, ์ฝ๋๋ฅผ ๋ฆฌํฉํ ๋งํ ๋ ์ ์ฅ์๋ฅผ ์์๋ ์ํ๋ก ๋์ง ์๊ณ ์์
์ ์ํํ ์ ์์์ ์๋ฏธํฉ๋๋ค (www.noze.it). ์๋ฅผ ๋ค์ด, ํ ํํ ๋ฆฌ์ผ์์๋ Plandex๊ฐ 40๊ฐ ํ์ผ์ ๊ฑธ์ณ ํจ์ ์ด๋ฆ์ ๋ง์ด๊ทธ๋ ์ด์
ํ ๋ ๋ชจ๋ ๋จ๊ณ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ฃ๋ ๋๊น์ง ๋์คํฌ์ ๋ถ๋ถ์ ์ผ๋ก ์ ์ฅํ์ง ์๋๋ค๊ณ ์ธ๊ธํฉ๋๋ค (www.noze.it) (www.noze.it).
๋ด๋ถ์ ์ผ๋ก Plandex๋ tree-sitter ํ์๋ฅผ ์ฌ์ฉํ์ฌ ๋๊ท๋ชจ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์ธ๋ฑ์ฑํฉ๋๋ค. ์ต๋ 2๋ฐฑ๋ง ํ ํฐ์ ์ฝ๋ ์ปจํ ์คํธ(ํ์ผ๋น ์ฝ 10๋ง ํ ํฐ)๋ฅผ ์ง์ ๋ก๋ํ ์ ์์ผ๋ฉฐ, ๋น ๋ฅธ ํ๋ก์ ํธ ๋งต์ ๊ตฌ์ถํ์ฌ 2์ฒ๋ง ํ ํฐ ์ด์๋ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค (github.com). ์ด๋ Plandex๊ฐ ๊ฐ ๋จ๊ณ์์ ๋๊ท๋ชจ ์ ์ฅ์์ ๊ด๋ จ ๋ถ๋ถ๋ง ์ฟผ๋ฆฌํ๊ณ ์ ๋ฐ์ดํธํ ์ ์์์ ์๋ฏธํฉ๋๋ค. ๋ํ AI ํธ์ถ ์ ๋ฐ์ ๊ฑธ์ณ ์ค๋งํธํ ์ปจํ ์คํธ ์บ์ฑ์ ์ฌ์ฉํ์ฌ ๋น์ฉ๊ณผ ์ง์ฐ ์๊ฐ์ ์ค์ ๋๋ค (github.com) (github.com). ์ค์ ์ฌ์ฉ ์, Plandex๋ ์ ์ฒด ์ฝ๋๋ฒ ์ด์ค๋ฅผ ํ ๋ฒ์ ๋ชจ๋ธ๋ก ๋ณด๋ด์ง ์์ต๋๋ค. ๋์ , ํ์ํ ํ์ผ์ด๋ ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ช ์์ ์ผ๋ก ๋ก๋ํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด LLM์ด ํน์ ์์ ์ ์ง์คํ๊ณ ๊ด๋ จ ์๋ ์ฝ๋๋ก ์ธํด ๊ณผ๋ถํ๋๋ ๊ฒ์ ๋ฐฉ์งํ ์ ์์ต๋๋ค.
๋ค์ค ํ์ผ ๋ณ๊ฒฝ์ ์ํ ๊ณํ-์คํ ์ํฌํ๋ก
Plandex์ ํต์ฌ ์ํฌํ๋ก๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์๋ก์ด ๊ณํ(๋๋ REPL ์ธ์
) ์์ฑ. ํ๋ก์ ํธ ๋๋ ํฐ๋ฆฌ์์
plandex new๋ฅผ ์คํํ๊ฑฐ๋(plandex๋ง ์ ๋ ฅํ์ฌ REPL ์์), Plandex๋ โ๊ณํโ์ ์ฐ๊ฒฐ๋ ๋ํํ ํ๋กฌํํธ ๋๋ ์ธ์ ์ ์ฝ๋๋ค. - ํ๋ก์ ํธ ์ปจํ
์คํธ ๋ก๋. Plandex์ ์ด๋ค ํ์ผ์ด๋ ํด๋๊ฐ ๊ด๋ จ ์๋์ง ์๋ ค์ค๋๋ค(์:
plandex load src/**/*.py tests/**/*.py). ์ด๋ AI๊ฐ ์ฝ๋ ๊ตฌ์กฐ๋ฅผ ์ ์ ์๋๋ก ํ๋ก์ ํธ ๋งต์ ๊ตฌ์ถํ๊ฑฐ๋ ์ ๋ฐ์ดํธํฉ๋๋ค. - AI์ ์์
์ง์(ํ๋กฌํํธ).
plandex tell "your instructions"๋ฅผ ์ฌ์ฉํ์ฌ ๋ฆฌํฉํ ๋ง ๋๋ ๊ธฐ๋ฅ์ ์ค๋ช ํฉ๋๋ค. ์๋ฅผ ๋ค์ด: โsrc/libX/๋ฐtests/์ ๊ฑธ์ณ ๋ชจ๋ ๊ณต๊ฐ ํจ์ ์ด๋ฆ์ camelCase์์ snake_case๋ก ๋ณ๊ฒฝํ๊ณ , ์ฌ์ฉ๋์ง ์๋ ๋ณ์นญ์ ์ ์ง.โ ๊ทธ๋ฌ๋ฉด ๋ชจ๋ธ์ด ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ํฉ๋๋ค. - ๋ณ๊ฒฝ ์ฌํญ ๊ฒํ (diff). Plandex๋ ์ ์๋ ํธ์ง ๋ด์ฉ์ ๋ณ๋์ ์๋๋ฐ์ค์ ์ถ์ ํฉ๋๋ค.
plandex diff๋๋plandex diff <filename>๋ฅผ ์ฌ์ฉํ์ฌ Git๊ณผ ์ ์ฌํ diff๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ๊ฐ ํธ์ง ๋ด์ฉ์ ๋จ๊ณ๋ณ ๋ก๊ทธ(plandex log)๋ ๋ณผ ์ ์์ต๋๋ค. ํน์ ๋จ๊ณ๊ฐ ์๋ชป๋ ๊ฒฝ์ฐ, ๋กค๋ฐฑํ์ฌ(์:plandex rewind <step>) ๋ฌธ์ ๊ฐ ์๋ ๋ถ๋ถ๋ง ์์ ํ๊ณ ์ด์ ์ ์น์ธ๋ ํธ์ง ๋ด์ฉ์ ์ ์งํ ์ ์์ต๋๋ค (www.noze.it) (docs.plandex.ai). - ์์
ํธ๋ฆฌ์ ์ ์ฉ. ๋ง์กฑ์ค๋ฌ์ฐ๋ฉด
plandex apply๋ฅผ ์คํํ์ฌ ์น์ธ๋ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๋ก์ปฌ ํ์ผ์ ๊ธฐ๋กํฉ๋๋ค. Plandex์ ๋ฒ์ ๊ด๋ฆฌ ๊ณํ์ ํธ์ง ๋ด์ฉ์ ์์๋๋ก ์ ์ฉํ๋ ๋์ ์ฝ๋๋ฅผ ๋ถ๋ถ์ ์ผ๋ก ์์์ํค์ง ์๋๋ก ๋ณด์ฅํฉ๋๋ค.
์ด ๊ณผ์ ์ ๋ฐ์ ๊ฑธ์ณ Plandex๋ ๊ณํ-์คํ ๋ฃจํ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ฝ๋ ํธ์ง์ ๊ณํํ ๋ฟ๋ง ์๋๋ผ, ํ์ํ ๋ชจ๋ ์
ธ ๋ช
๋ น(ํจํค์ง ์ค์น, ๋น๋/ํ
์คํธ ์คํ)์ ์คํฌ๋ฆฝํธ(_apply.sh)๋ก ์์ฑํฉ๋๋ค (docs.plandex.ai). ์๋ฅผ ๋ค์ด, ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉํ ํ ํ
์คํธ ์ค์ํธ๋ ๋น๋ ํ๋ก์ธ์ค๋ฅผ ์คํํ ์ ์์ต๋๋ค. ์์
์ด ์คํจํ๋ฉด Plandex๋ ๋กค๋ฐฑํ๊ณ ์คํจ๋ฅผ ์๋์ผ๋ก ๋๋ฒ๊น
ํ ์ ์์ต๋๋ค. ์ค๋ฅ ์ถ๋ ฅ์ ๋ชจ๋ธ๋ก ๋ค์ ์ ๋ฌํ์ฌ ์์ ์ฌํญ์ ์์ฑํ๋ ค๊ณ ์๋ํ๋ฉฐ, ์ฑ๊ณตํ๊ฑฐ๋ ์ต๋ ์๋ ํ์์ ๋๋ฌํ ๋๊น์ง ๋ฐ๋ณตํฉ๋๋ค (docs.plandex.ai). ์ด๋ Plandex๊ฐ ํ์ด ํ๋ก๊ทธ๋๋จธ๊ฐ ์์ ์ฌํญ์ ์ ์ํ๋ ๊ฒ์ฒ๋ผ ๊ฐ๋จํ ์ค๋ฅ๋ ์คํ๋ฅผ ์ค์๊ฐ์ผ๋ก ์ก์๋ผ ์ ์์์ ์๋ฏธํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก Plandex๋ ๋ช
๋ น ์คํ์ ๋ํด ์ ์คํฉ๋๋ค. ๋ช
์์ ์ผ๋ก ์์ฒญํ๊ฑฐ๋ ์๊ฒฉํ๊ฒ ํ์ํ ๋ช
๋ น(์: ๋ณ๊ฒฝ ํ ํ
์คํธ ์คํ)๋ง ์คํํฉ๋๋ค. plandex set-config can-exec false์ ๊ฐ์ ์ค์ ์ ํตํด ๋ช
๋ น ์คํ์ ์์ ํ ๋นํ์ฑํํ๊ฑฐ๋, ๋ค์ํ ์์จ์ฑ ์์ค์ ์ฌ์ฉํ์ฌ ์ด๋ฅผ ์ ์ดํ ์ ์์ต๋๋ค (docs.plandex.ai). ๊ฐ์ฅ ์์ ํ ์์ค์์๋ Plandex๊ฐ ์ด๋ค ๋ช
๋ น์ ์คํํ๊ธฐ ์ ์ ์ฌ์ฉ์์๊ฒ ํ๋ฝ์ ๊ตฌํฉ๋๋ค. ์ด๋ฌํ ์ ์ฐ์ฑ์ ํตํด ๊ณํ์ ์์ ํ๊ฒ ๋จ๊ณ๋ณ๋ก ๋ฐ๋ณตํ ์ ์์ต๋๋ค.
๋ก์ปฌ์์ ํ ์คํธ ์คํ ๋ฐ Pull Request ์ด๊ธฐ
Plandex๊ฐ ๋ก์ปฌ์ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉํ ํ, ๋ค์ ๋จ๊ณ๋ ์ผ๋ฐ์ ์ธ ๊ฐ๋ฐ ์ํฌํ๋ก์ ์ ์ฌํฉ๋๋ค:
-
๋ก์ปฌ์์ ํ ์คํธ/๋น๋ ์คํ.
plandex applyํ, ๋ชจ๋ ๊ฒ์ด ํต๊ณผํ๋์ง ํ์ธํ๊ธฐ ์ํด ํ ์คํธ ์ค์ํธ(์:pytest๋๋npm test)๋ฅผ ์คํํด์ผ ํฉ๋๋ค. Plandex๊ฐ ํธ์ง ๋ด์ฉ์ ์ถ์ ํ๊ณ ๋ฏธ๋ฆฌ ๋ณผ ์ ์๋๋ก ํ๊ธฐ ๋๋ฌธ์ ์์์น ๋ชปํ ๋ฌธ์ ๋ ์ค์ด๋ค ๊ฒ์ ๋๋ค. ํ ์คํธ๊ฐ ์ฌ์ ํ ์คํจํ๋ฉด ๋ ๊ฐ์ง ์ ํ ์ฌํญ์ด ์์ต๋๋ค: ๋จ์ ๋ฌธ์ ๋ฅผ ์๋์ผ๋ก ์์ ํ๊ฑฐ๋,plandex debug 'pytest'๋ฅผ ์ฌ์ฉํ์ฌ AI๊ฐ ์๋ ์์ ์ ์๋ํ๋๋ก ํ ์ ์์ต๋๋ค (docs.plandex.ai). ์ค์ ๋ก๋ ๋ง์ ํ์ด Plandex ์ ์ฉ ํ ์ ์ฒด ์ค์ํธ๋ฅผ ์คํํ๋ฉฐ, ์๋ ๋๋ฒ๊ทธ ๊ธฐ๋ฅ์ ํธ์ ๋จ๊ณ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. -
๋ณ๊ฒฝ ์ฌํญ ์ปค๋ฐ. ๋ก์ปฌ ํ ์คํธ๊ฐ ํต๊ณผ๋๋ฉด
git add๋ฐgit commit์ ์ฌ์ฉํฉ๋๋ค. Plandex๋plandex tell -a -c "task"์ ํจ๊ป ์ฌ์ฉ๋ ๋ ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ์ ์ํ ์๋ ์์ผ๋ฉฐ (linuxcommandlibrary.com), ์ง์ ์์ฑํ ์๋ ์์ต๋๋ค. (LinuxCommandLibrary๋plandex tell -a -c๊ฐ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉํ๊ณ ์ปค๋ฐํ๋ค๊ณ ์ธ๊ธํฉ๋๋ค.) ๋ชจ๋ ์ฌ๋์ด ๊ธฐ๋ฅ ๋๋ ๋ฆฌํฉํฐ๋ง ๋ธ๋์น์ ๋จธ๋ฌผ๋๋ก ํ๊ณ , main ๋ธ๋์น์ ์ง์ ์ปค๋ฐํ์ง ๋ง์ธ์. -
Push ๋ฐ PR ์ด๊ธฐ. ๋ธ๋์น๋ฅผ ์ฝ๋ ํธ์คํ (GitHub, GitLab ๋ฑ)์ ํธ์ํ๊ณ ํ ๋ฆฌํ์คํธ(PR)๋ฅผ ์ฝ๋๋ค. ๋ง์ ํ์ด GitHub CLI(
gh pr create) ๋๋ ์น ์ธํฐํ์ด์ค์ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. PR์ ๋ค๋ฅธ ์ฝ๋ ๋ณ๊ฒฝ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋๋ฃ๋ค์ด diff๋ฅผ ๊ฒํ ํ ์ ์๋ ๊ณณ์ ๋๋ค. Plandex๋ ๋ณ๊ฒฝ ์ฌํญ์ ์์์ ์ด๊ณ ๋จ๊ณ๋ณ๋ก ์ ์งํ๊ธฐ ๋๋ฌธ์ diff๊ฐ ๋ช ํํ๊ณ ๊ฒํ ํ๊ธฐ ์ฌ์ธ ๊ฒ์ ๋๋ค. ์๋ํ๋ CI ํ ์คํธ๋ PR์์ ์คํ๋์ด์ผ ํฉ๋๋ค. -
๋ณํฉ ๋ฐ ๋ฐฐํฌ. PR์ด ์น์ธ๋๊ณ ๋ชจ๋ CI ๊ฒ์ฌ๊ฐ ํต๊ณผ๋๋ฉด, ์ด๋ฅผ main/trunk ๋ธ๋์น์ ๋ณํฉํฉ๋๋ค. ์ด์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฆด๋ฆฌ์ค ์ค๋น๊ฐ ์๋ฃ๋ฉ๋๋ค. ํ๋ก๋์ ๋ฐฐํฌ์ ๊ฒฝ์ฐ, ์ผ๋ฐ์ ์ธ ์คํ ์ด์ง/๊ฐ๋ฐ/ํ๋ก๋์ ํ์ดํ๋ผ์ธ์ ์ฌ์ฉํฉ๋๋ค. ๋จผ์ ์คํ ์ด์ง ํ๊ฒฝ์ผ๋ก ํธ์ํ์ฌ(GitHub Actions ๋๋ CD ๋๊ตฌ๋ฅผ ํตํด) ๋์์ ํ์ธํ ๋ค์, ์ ์ง์ ์ผ๋ก ํ๋ก๋์ ์ ๋ฆด๋ฆฌ์คํ ์ ์์ต๋๋ค.
์ด ์ํฌํ๋ก๋ฅผ ์ฑํํจ์ผ๋ก์จ, AI ์ฝ๋ฉ ๋๊ตฌ๋ฅผ ์ฒ์ ์ ํ๋ ๊ฐ๋ฐ์๋ ์ต์ํ Git ๊ดํ์ ๋ฐ๋ฅผ ์ ์์ต๋๋ค. ๊ฒฐ์ ์ ์ธ ์ฐจ์ด์ ์ Plandex๊ฐ ๋ค์ค ํ์ผ ๋ฆฌํฉํ ๋ง์ ๋์ ์ฒ๋ฆฌํ๋ค๋ ์ ์ ๋๋ค. ์ฌ์ ํ ๊ฐ ๋ณ๊ฒฝ ์ฌํญ์ ๊ฒํ ํ๊ณ , ์ผ๋ฐ์ ์ธ ํ ์คํธ๋ฅผ ์คํํ๋ฉฐ, ํ ๋ฆฌํ์คํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก Plandex๋ ๋ฌด๊ฑฐ์ด ๊ณํ ๋ฐ ํธ์ง ์์ ์ AI์ ์์ํ์ง๋ง, ์ต์ข ์ ์ด๊ถ(์ ์ฉ vs. ๊ฑฐ๋ถ)์ ์ฌ์ฉ์์๊ฒ ๋จ๊ฒจ๋ก๋๋ค.
๋จ๊ณ๋ณ ์ถ์ ๋ฐ ์ํฅ ๋ฒ์ ์ ์ด
๋ฆฌํฉํ ๋ง๋ ์ฝ๋๋ฅผ ๋ฐฐํฌํ ๋๋ ์ ์ฌ์ ์ธ ๋ฌธ์ ์ ์ํฅ ๋ฒ์(blast radius)๋ฅผ ์ ํํ๋ ๊ฒ์ด ํ๋ช ํฉ๋๋ค. ์ด๋ ์ข ์ข ํผ์ฒ ํ๋๊ทธ ๋๋ ์นด๋๋ฆฌ ๋ฆด๋ฆฌ์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์๋ฅผ ๋ค์ด, Plandex๊ฐ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ฑฐ๋ ๋์์ ๋ณ๊ฒฝํ๋ ๋ฐ ๋์์ ์ฃผ์๋ค๋ฉด, ํ ๊ธ ๋ค์ ์จ๊ธฐ๊ณ ๋จผ์ ์ผ๋ถ ์ฌ์ฉ์์๊ฒ๋ง ํ์ฑํํ ์ ์์ต๋๋ค.
์ ๊ณ ๋ชจ๋ฒ ์ฌ๋ก๋ ์๋ก์ด ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ง์ ์ผ๋ก ์ถ์ํ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค (launchdarkly.com). ์๋ฅผ ๋ค์ด, ๋ง ๋ฐฐํฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋จผ์ ๋ด๋ถ ์ฌ์ฉ์๋ ์คํ ์ด์ง ์ฌ์ฉ์์๊ฒ ๋ฐฐํฌํ๊ณ , ๊ทธ ๋ค์ ์์์ ์ค์ ์ฌ์ฉ์์๊ฒ ๋ฐฐํฌํ ํ, ๊ธฐ๋ฅ์ด ์์ ์ ์ด๋ผ๊ณ ์ ์ฆ๋์์ ๋๋ง ์์ ํ ์ถ์ํฉ๋๋ค (launchdarkly.com). ๋ฌธ์ (ํ ์คํธ ์คํจ, ์ค๋ฅ ๊ธ์ฆ)๊ฐ ๊ฐ์ง๋๋ฉด, ๊ธฐ๋ฅ์ ์ ์ํ๊ฒ ๋กค๋ฐฑํ๊ฑฐ๋ ๋ ์ ์์ด ์ํฅ ๋ฒ์๋ฅผ ํฌ๊ฒ ์ ํํ ์ ์์ต๋๋ค. LaunchDarkly๊ฐ ์ธ๊ธํ๋ฏ์ด, ์ ์คํ๊ฒ ๋จ๊ณ๋ณ๋ก ์ถ์ํ๋ฉด ๋ฐฐํฌ ์ค โ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ์ํฅ ๋ฒ์๊ฐ ์ ํ๋ฉ๋๋คโ (launchdarkly.com).
์์ฝํ์๋ฉด, Plandex๊ฐ ์์ฑํ ๋ณ๊ฒฝ ์ฌํญ์ ๋ค๋ฅธ ์ฝ๋ ์ ๋ฐ์ดํธ์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ทจ๊ธํด์ผ ํฉ๋๋ค. ํ๋๊ทธ ๋ค์ ๋ฐฐํฌํ๊ฑฐ๋, ์ ์ฒด ์ฌ์ฉ์์๊ฒ ์ ์ฉํ๊ธฐ ์ ์ ํ ์คํธ ์ธ๊ทธ๋จผํธ์ ๋ฐฐํฌํ์ญ์์ค. ๊ฐ๋ฅํ๋ค๋ฉด ๋ชจ๋ํฐ๋ง ๋ฐ ์๋ ๋กค๋ฐฑ ๊ท์น์ ์ฌ์ฉํ์ญ์์ค. ์ด ์ ๊ทผ ๋ฐฉ์์ AI๊ฐ ๋์ ํ ๋ณ๊ฒฝ ์ฌํญ์ ์์์น ๋ชปํ ๋ฒ๊ทธ๊ฐ ์๋๋ผ๋ ์์ ์ ์ ์งํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
๋ณต์กํ ๋ฆฌํฉํ ๋ง์ ์ํ ์ฑ๋ฅ ์ธ์ฌ์ดํธ
Plandex๋ ๊ฐ๋ ฅํ์ง๋ง, ๋๊ท๋ชจ ๋ค์ค ํ์ผ ์์ ์ ์ฒ๋ฆฌํ๋ ๊ฒ์ LLM ์ฌ์ฉ์ผ๋ก ์ธํด ๋น์ฉ๊ณผ ์ง์ฐ ์๊ฐ์ ๋ฐ์์ํฌ ์ ์์ต๋๋ค. ๊ฐ ๋จ๊ณ์๋ ๋ชจ๋ธ ํธ์ถ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ํ ์ฐธ์กฐ ํํ ๋ฆฌ์ผ์์๋ **โํ๋์ ๊ณํ์ 50๊ฐ์ ํ์ผ์ด ์๋ค๋ ๊ฒ์ ๋ง์ ๋ชจ๋ธ ํธ์ถ์ ์๋ฏธํ๋คโ**๊ณ ์ธ๊ธํ๋ฏ๋ก, ์ง์ถ์ ๋ชจ๋ํฐ๋งํ๊ณ ๊ฐ๋ฅํ๋ฉด ํฐ ๋ฆฌํฉํ ๋ง์ ๋ ์์ ๊ณํ์ผ๋ก ๋ถํ ํด์ผ ํฉ๋๋ค (www.noze.it) (www.noze.it). ์ปจํ ์คํธ ์บ์ฑ์ ๋์์ด ๋ฉ๋๋ค. Plandex๋ ์ด๋ฏธ ๋ก๋ํ ์ฝ๋๋ฅผ ๊ธฐ์ตํ๋ฏ๋ก ๋์ผํ ๋ด์ฉ์ ๋ถํ์ํ๊ฒ ๋ค์ ๋ณด๋ด์ง ์์ต๋๋ค. ํ์ง๋ง Plandex๊ฐ ์ฝ๋๋ฅผ ์ถ๋ก ํด์ผ ํ ๋๋ง๋ค ํ ํฐ(API ๋น์ฉ์ด ๋ฐ์ํ ์ ์์)์ ์ฌ์ฉํ๊ณ LLM์ ์๋ต์ ๊ธฐ๋ค๋ฆฌ๋ ์๊ฐ์ด ํ์ํฉ๋๋ค.
์ค์ ์ฌ์ฉ ์, ๋จ์ผ Plandex ์ธ์ ์ LLM ํธ์ถ๋น ๋ช ์ด๊ฐ ๊ฑธ๋ฆด ์ ์์ต๋๋ค. ๋ณต์กํ ๊ณํ(๋ง์ ๋ฐ๋ณต ๋๋ ๋๋ฒ๊ทธ ๋ฃจํ ํฌํจ)์ ์๋ฃํ๋ ๋ฐ ๋ช ๋ถ์ด ๊ฑธ๋ฆด ์ ์์ต๋๋ค. ์ด๋ฅผ ๊ด๋ฆฌํ๋ ค๋ฉด ๋ค์์ ๋ฐ๋ฅด์ญ์์ค:
- ํ ํฐ ์ฌ์ฉ๋ ๋ฐ ์๊ฐ์ ๋ชจ๋ํฐ๋ง. ๊ณํ์ด ๋๋ฆฌ๊ฑฐ๋ ๋น์ฉ์ด ๋ง์ด ๋ ๋ค๋ฉด, ์ฌ๋ฌ ๋ถ๋ถ์ผ๋ก ๋๋๋ ๊ฒ์ ๊ณ ๋ คํ์ญ์์ค. ๋ฐ๋ณต์ ์ธ ํธ์ง(์: ์์ญ ๊ฐ์ ์ ์ฌํ ํจ์ ์ด๋ฆ ๋ณ๊ฒฝ)์ ๊ฒฝ์ฐ, ์ฝ๋์ ์ผ๋ถ์ ๋ ์ ๋ ดํ ์คํ์์ค ๋ชจ๋ธ(์: CodeLlama)์ ์ฌ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๋๋ ๋น์ฉ์ด ์ฐ๋ ค๋๋ ๊ฒฝ์ฐ ๋ก์ปฌ ๋ชจ๋ธ ์ฌ์ฉ. Plandex๋ ์คํ์์ค LLM์ ๋ก์ปฌ ๋ฐฐํฌ์ ํจ๊ป ์๋ํฉ๋๋ค. ์ด๋ ๋คํธ์ํฌ ์ง์ฐ ์๊ฐ๊ณผ ํ ํฐ ์๊ธ์ ๋ฐฉ์งํฉ๋๋ค. ๋ํ ๋ฏผ๊ฐํ ์ฝ๋ ์๋๋ฆฌ์ค์๋ ๋์ํฉ๋๋ค(๋ค์ ์น์ ์ฐธ์กฐ).
- ์บ์ฑ ํ์ฑํ ๋ฐ ์ฌ๋ฌ ๋จ๊ณ๋ฅผ ๋
ผ๋ฆฌ์ ์ผ๋ก ๋ฌถ๊ธฐ. Plandex๋ OpenAI/Anthropic/Google ํธ์ถ์ ๋ํ ์ปจํ
์คํธ๋ฅผ ์๋์ผ๋ก ์บ์ํฉ๋๋ค (github.com). ์ฌ์ ํ
plandex load์์ ํ์ํ ํ์ผ๋ง ์ ๊ณตํ์ฌ ๊ด๋ จ ์๋ ์ฝ๋์ ์ปจํ ์คํธ๋ฅผ ๋ญ๋นํ์ง ์๋๋ก ํด์ผ ํฉ๋๋ค.
์ค๋ฅ ์์ ์ ์์ด์ Plandex์ ๋ฐ๋ณต ๋๋ฒ๊ทธ ๊ธฐ๋ฅ์ ์ฃผ๋ชฉํ ๋งํฉ๋๋ค (docs.plandex.ai). ํ ์คํธ๋ ๋น๋๊ฐ ์คํจํ๋ฉด Plandex๋ ๋ช ๋ น์ ์ฌ๋ฌ ๋ฒ ๋ค์ ์คํํ ์ ์์ผ๋ฉฐ, ๋งค๋ฒ ์ค๋ฅ ๋ก๊ทธ๋ฅผ AI๋ก ๋ค์ ๋ณด๋ด๊ณ ์ ์๋ ์์ ์ฌํญ์ ์ ์ ์ ์ผ๋ก ์ ์ฉํฉ๋๋ค. ๋ง์ ๊ฒฝ์ฐ, ์ด๋ ์๋ ๊ฐ์ ์์ด ์คํ๋ ๊ตฌ๋ฌธ ๋ฌธ์ ๋ฅผ ์๋์ผ๋ก ์์ ํ ์ ์์ต๋๋ค. ๋ฌผ๋ก ์ค์ํ์ง ์์ ์ค๋ฅ๋ ์ธ๊ฐ์ ๊ฐ์ ์ด ํ์ํ ์ ์์ง๋ง, ์ด ๋ด์ฅ ๋ฃจํ๋ ์ข ์ข ๋๋ฒ๊น ์๊ฐ์ ์ ์ฝํด์ค๋๋ค.
๋ณด์ ๋ฐ ๊ฑฐ๋ฒ๋์ค ๋ชจ๋ฒ ์ฌ๋ก
์ฝ๋๋ฒ ์ด์ค์์ Plandex(๋๋ ๋ค๋ฅธ AI ์์ด์ ํธ)๋ฅผ ์ฌ์ฉํ ๋๋ ํ์ค DevOps ์์ ์์น์ ๋ฐ๋ฅด์ญ์์ค:
-
์๊ฒฉ ์ฆ๋ช ๋ฐ ๋น๋ฐ: ์ ๋ ๋น๋ฐ ์ ๋ณด๋ฅผ ํ๋์ฝ๋ฉํ์ง ๋ง์ญ์์ค. Plandex๋ ์ธ๋ถ LLM์ผ๋ก ์ปจํ ์คํธ๋ฅผ ๋ก๋ํ ์ ์์ผ๋ฏ๋ก, API ํค, ๋น๋ฐ๋ฒํธ ๋๋ ๊ฐ์ธ URL์ ์ฝ๋๋ ํ๋กฌํํธ์ ๋ฃ๋ ๊ฒ์ ํผํด์ผ ํฉ๋๋ค (www.noze.it). ๋์ , ํ๊ฒฝ ๋ณ์ ๋๋ ๋น๋ฐ ๊ด๋ฆฌ ๋๊ตฌ(์: ์ํธํ๋ ๋ณผํธ, GitHub Secrets)๋ฅผ ์ฌ์ฉํ๊ณ ์ฝ๋์์ ๋ฉ๋ฆฌ ๋จ์ด๋จ๋ ค ๋์ญ์์ค. GitHub์ ๋ชจ๋ฒ ์ฌ๋ก ๋ํ ์ ๋ ๋น๋ฐ ์ ๋ณด๋ฅผ ์ปค๋ฐํ์ง ์๊ณ ๋ชจ๋ ํค์ ์ต์ ๊ถํ ์์น์ ์ ์ฉํ ๊ฒ์ ๊ฐ์กฐํฉ๋๋ค (docs.github.com) (docs.github.com). ํ๋ก์ ํธ๊ฐ ๋งค์ฐ ๋ฏผ๊ฐํ๋ค๋ฉด, Plandex๋ฅผ ๋ณด์๋ ๋ด๋ถ ์์คํ ์์ ํธ์คํ ํ๊ณ ๋ก์ปฌ ๋ชจ๋ธ๋ง ์ฌ์ฉํ๋ ๊ฒ์ ๊ณ ๋ คํ์ญ์์ค(๋คํธ์ํฌ ์ธ๋ถ๋ก ๋ฐ์ดํฐ๊ฐ ์ ํ ์ ์ถ๋์ง ์๋๋ก) (www.noze.it).
-
๊ฐ์ฌ ๊ฐ๋ฅ์ฑ ๋ฐ ๋ฒ์ ๊ด๋ฆฌ: ๋ชจ๋ Plandex ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฅ์์ ์ ์ฉ๋๊ธฐ ์ ์ ๋ฒ์ ๊ด๋ฆฌ๋ฉ๋๋ค (docs.plandex.ai). ๊ฐ ๊ณํ์ ์์ฒด ๊ธฐ๋ก ๋ก๊ทธ(
plandex log)๋ฅผ ๊ฐ์ง๋ฉฐ, ๋ชจ๋ diff๋ ์ ์ฉ ์ ์ ๊ฒํ ๋ ์ ์์ต๋๋ค. ์ด๋ ๋ช ํํ ๊ฐ์ฌ ์ถ์ ์ ์ ๊ณตํฉ๋๋ค: AI๊ฐ ์ด๋ค ํธ์ง์ ์ธ์ ์ ์ํ๋์ง, ๋๊ฐ ์ ์ฉํ๋์ง ์ ํํ ํ์ธํ ์ ์์ต๋๋ค. ์กฐ์ง์์ ์ถ๊ฐ์ ์ธ ์ถ์ ์ฑ์ด ํ์ํ๋ค๋ฉด, ๋ชจ๋ Plandex ๋ณ๊ฒฝ ์ฌํญ์ด PR ๋ด ์ฝ๋ ๊ฒํ ๋ฅผ ํตํด ์น์ธ๋๋๋ก ์๊ตฌํ์ญ์์ค(์ฌ๊ธฐ์ CI๋ ๋ชจ๋ ๋จ๊ณ์์ ํ ์คํธ๊ฐ ํต๊ณผ๋๋๋ก ๋ณด์ฅํฉ๋๋ค). Plandex๊ฐ ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ์ ์ํ๊ณ ์คํ์ ์ํ ๊ณํ์ ๋ถ๊ธฐํ ์ ์๋ค๋ ์ฌ์ค ๋ํ ๋ชจ๋ ์์ด๋์ด๊ฐ ์ฒด๊ณ์ ์ผ๋ก ๊ธฐ๋ก๋๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค (github.com) (linuxcommandlibrary.com). -
์ต์ ๊ถํ ๋ฐ ์์ ๋ชจ๋: ๋ค๋ฅธ ์๋ํ ๋๊ตฌ์ ๋ง์ฐฌ๊ฐ์ง๋ก Plandex์ ๊ถํ์ ์ ํํ์ญ์์ค. ์๋ฅผ ๋ค์ด, Plandex ์์ ์ ๋นํ๋ก๋์ ๋ธ๋์น์์ ์ํํ์ญ์์ค. Plandex ์์ฒด์์ ๋ช ๋ น ์๋ ์คํ(
set-config can-exec false)์ ๋นํ์ฑํํ๊ฑฐ๋ ์ ์ฒด ์๋ ์ ์ฉ ๋ชจ๋๋ฅผ ๋ ์ ์์ต๋๋ค. ๋ฌธ์์์ ๊ฒฝ๊ณ ํ๋ฏ์ด, ์์ ์๋ ๋ชจ๋์ ๊ฐ์ ๊ธฐ๋ฅ์ ์ฌ์ฉ์์๊ฒ ๋ฌป์ง ์๊ณ ๋ง์ ๋ณ๊ฒฝ์ ํ ์ ์์ผ๋ฏ๋ก (docs.plandex.ai), ์ค๋น๊ฐ ๋์์ ๋๋ง ์ฌ์ฉํ์ญ์์ค. ์ผ๋ฐ์ ์ธ ์ฌ์ฉ ์์๋ ์ ์ฉํ๊ธฐ ์ ์ ๊ฐ diff๋ฅผ ๊ฒํ ํ์ญ์์ค. ๋ํ Plandex๋ฅผ ์คํํ๊ธฐ ์ ์ Git ํ๊ฒฝ์ด ๊นจ๋ํ์ง(์ปค๋ฐ๋์ง ์์ ๋ณ๊ฒฝ ์ฌํญ ์์) ํ์ธํ์ฌ ํ์ํ ๊ฒฝ์ฐ ์ฝ๊ฒ ๋๋๋ฆด ์ ์๋๋ก ํ์ญ์์ค (docs.plandex.ai). -
์ํฅ ๋ฒ์ ์ ์ด: ์์์ ๋ ผ์ํ ๋ฐ์ ๊ฐ์ด, ์ ์ํฅ์ ์ต์ ํ๊ธฐ ์ํด ํผ์ฒ ํ๋๊ทธ ๋ฐ ์ ์ง์ ๋ฐฐํฌ๋ฅผ ์ฌ์ฉํ์ญ์์ค. Plandex๊ฐ ์ฌ๋ฌ ๋ง์ดํฌ๋ก์๋น์ค ๋๋ ์ ์ฅ์๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒฝ์ฐ, ๋จ๊ณ๋ณ๋ก ๋ฐฐํฌํ๊ณ ๊ฐ ์๋น์ค๋ฅผ ๋ชจ๋ํฐ๋งํ์ญ์์ค. ํผ์ฒ ํ๋๊ทธ ๋ชจ๋ฒ ์ฌ๋ก์ ์ฌ๋ก๊ฑด์ด ์ฌ๊ธฐ์ ์ ์ฉ๋ฉ๋๋ค: ์๊ฒ ์์ํ๊ณ ์งํ๋ ํ ์คํธ๊ฐ ์คํจํ๋ฉด ๋กค์์์ ์ค์งํ์ญ์์ค (launchdarkly.com).
๊ฒฐ๋ก
Plandex๋ AI ๊ณํ ๋ฐ ์ฝ๋ ์์ฑ์ ๋๊ท๋ชจ ๋ฆฌํฉํ ๋ง ๋ฐ ๋ฆด๋ฆฌ์ค ๊ด๋ฆฌ์ ๋์ ํฉ๋๋ค. ์ฌ๋ฌ ํ์ผ์ด๋ ์๋น์ค์ ๊ฑธ์ณ ๊ด๋ฒ์ํ ๋ณ๊ฒฝ์ ํด์ผ ํ ๋ ๋น์ ๋ฐํ๋ฉฐ, ๋ฐ๋ณต์ ์ธ ์๋ ํธ์ง ์์ ์ ์ค์ฌ์ค๋๋ค. ๊ฐ๋ฐ์(AI ๋๊ตฌ์ ์ต์ํ์ง ์์ ๊ฐ๋ฐ์ ํฌํจ)๋ ์ต์ํ ์ํฌํ๋ก๋ฅผ ๋ฐ๋ผ Plandex๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค: ๊ณํ ์์ฑ, AI ์๋ด, diff ๊ฒ์ฌ, ๋ณ๊ฒฝ ์ ์ฉ, ํ ์คํธ ์คํ, ๊ทธ๋ฆฌ๊ณ ํ์ค Git/PR ๊ดํ์ ์ฌ์ฉํ์ฌ ๋ณํฉ ๋ฐ ๋ฐฐํฌ.
์ด ์ ๊ทผ ๋ฐฉ์์ ๋ณ๊ฒฝ ์ฌํญ์ด ์์ ํ๊ณ , ๊ฒํ ๊ฐ๋ฅํ๋ฉฐ, ๊ฐ์ฌ ๊ฐ๋ฅํด์ผ ํ๋ ์ปจ์คํดํธ, ๋๊ท๋ชจ ํ ํ๋ก์ ํธ ๋๋ ๋ ๊ฑฐ์ ์ฝ๋๋ฒ ์ด์ค์ ํนํ ์ ์ฉํฉ๋๋ค. ์์ํ๋ ค๋ฉด, Plandex ์ค์น ํ ํ
์คํธ ์ ์ฅ์์์ ์์ ๊ธฐ๋ฅ ๋๋ ๋ฆฌํฉํ ๋ง์ ์๋ํด ๋ณด๋ ๊ฒ์ด ์ค์ฉ์ ์ธ ๋ค์ ๋จ๊ณ์
๋๋ค. ์๋ฅผ ๋ค์ด, ํํ ๋ฆฌ์ผ ์๋๋ฆฌ์ค๋ฅผ ๋ฐ๋ฅด์ญ์์ค: ์ํ ํ๋ก์ ํธ๋ฅผ ๋ณต์ ํ๊ณ , plandex๋ฅผ ์คํํ๊ณ , ๋ช ๊ฐ์ ํ์ผ์ ๋ก๋ํ ๋ค์, AI์๊ฒ ๋ณ๊ฒฝ(ํจ์ ์ด๋ฆ ๋ณ๊ฒฝ ๋๋ ํ
์คํธ ์ถ๊ฐ ๋ฑ)์ ์์ฒญํ์ญ์์ค. Plandex์ ๋ํํ ํ๋กฌํํธ๊ฐ ๊ณผ์ ์ ์๋ดํ๋ฉฐ, ์๋๋ฐ์ค์ ์ ์ฉ๋ ํธ์ง ๋ด์ฉ๊ณผ ๋จ๊ณ ๋ก๊ทธ๋ฅผ ๋ณผ ์ ์์ต๋๋ค. ์ด ์ค์ต ๊ฒฝํ์ ๋๊ตฌ์ ๋์์ ์ ๋ขฐํ๊ณ ์ผ๋ฐ ์ฝ๋ฉ ํ๋ก์ธ์ค์ ์ด๋ป๊ฒ ํตํฉ๋๋์ง ์ดํดํ๋ ๋ฐ ๋์์ด ๋ ๊ฒ์
๋๋ค.
๊ทธ ๋ค์๋ถํฐ๋ ์ค์ ์์ ์ ์ ์ง์ ์ผ๋ก ํตํฉํ์ญ์์ค: ํญ์ ๋ณ๋์ ๋ธ๋์น์์ ์์ํ๊ณ , ๋น๋ฐ ์ ๋ณด๋ฅผ ๋ณดํธํ๋ฉฐ, ๋น์ฉ์ ๋ชจ๋ํฐ๋งํ์ญ์์ค. ์ฅ๊ธฐ์ ์ผ๋ก Plandex์ ์์ ์์จ์ฑ ๋๋ ์ธ๋ฐํ ์ ์ด์ ์กฐํฉ์ AI์ ํธ๊ธฐ์ฌ ๋ง์ ์ด๋ณด์์ ์๋ จ๋ DevOps ํ ๋ชจ๋์๊ฒ ์ ํฉํฉ๋๋ค. ์์ ์ค๋ช ๋ ๊ณํ-์คํ ๋ฃจํ, ์ปจํ ์คํธ ์ธ๋ฑ์ฑ ๋ฐ ์์ ํ ์ถ์ ๊ดํ์ ์ ์คํ๊ฒ ์ฌ์ฉํ๋ฉด, ํ์ AI๋ฅผ ํ์ฉํ์ฌ ๊ฐ์ฅ ๋ณต์กํ ๋ฆฌํฉํ ๋ง ๋ฐ ๋ฆด๋ฆฌ์ค๊น์ง๋ ์์ ๊ฐ ์๊ฒ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
์ต์ AI ์ฝ๋ฉ ์ฐ๊ตฌ ๋ฐ ํ์บ์คํธ ์ํผ์๋ ๋ฐ๊ธฐ
AI ์ฝ๋ฉ ๋๊ตฌ, AI ์ฑ ๋น๋, ๋ ธ์ฝ๋ ๋๊ตฌ, ๋ฐ์ด๋ธ ์ฝ๋ฉ ๋ฐ AI๋ฅผ ํ์ฉํ ์จ๋ผ์ธ ์ ํ ๊ตฌ์ถ์ ๋ํ ์๋ก์ด ์ฐ๊ตฌ ์ ๋ฐ์ดํธ ๋ฐ ํ์บ์คํธ ์ํผ์๋๋ฅผ ๋ฐ์ผ๋ ค๋ฉด ๊ตฌ๋ ํ์ธ์.