๐ desloppify ๋ Long-Running ์์ด์ ํธ๋ฅผ ์ ํํ๊ฒ ๊ตฌํํ์ฌ ๋๊น์ง ์ฝ๋๋ฅผ ๊ณ ์นฉ๋๋ค
Blog version of a 2026-04-14 LinkedIn note โ same claims, cleaned structure for reading.
์ต๊ทผ์ Loop ๊ตฌ์กฐ๊ฐ ์์ด์ ํธ์ ํต์ฌ์ด๋ผ๋ ์ด์ผ๊ธฐ๋ฅผ ํ ์ ์ด ์๋๋ฐ์. ๋ง์นจ ๊ทธ ์๋ฆฌ๋ฅผ ๊ฐ์ฅ ์ ๋ช ํ๊ฒ ๋ณด์ฌ์ฃผ๋ ํ๋ก์ ํธ๋ฅผ ๋ง๋ฌ์ต๋๋ค.
desloppify๋ผ๋ ์ฝ๋ ํ์ง ๋ถ์ ๋๊ตฌ์ธ๋ฐ, ์ด ๋๊ตฌ๊ฐ ํฅ๋ฏธ๋ก์ด ์ด์ ๋ โํ ๋ฒ ์ค์บํ๊ณ ๋โ์ด ์๋๋ผ ์ฝ๋๋ฅผ ์ฒ์๋ถํฐ ๋๊น์ง ์ดํดํ ๋ค, ๊ณ ์น๊ณ , ๋ค์ ๊ฒ์ฆํ๋ ์ ์ฒด ์ฌ์ดํด์ ์ค์ค๋ก ๋ฐ๋ณตํ๋ค๋ ์ ์ ๋๋ค.
๊ตฌ์กฐ๋ฅผ ๋ฏ์ด๋ณด๋ฉด์ long-running ์์ด์ ํธ๊ฐ ์ด๋ป๊ฒ ์์ ์ ๊นจ๋จ๋ฆฌ์ง ์๊ณ ์์ฃผํ๋์ง ์ ๋ฆฌํด๋ดค์ด์.
1๏ธโฃ ์ฝ๋๋ฅผ ๋น ์ง์์ด ํ์ ํ๋ค: ํ์ง์์ ์คํ๊น์ง ์ด์ด์ง๋ ํด์ ํ์ดํ๋ผ์ธ
github repo: https://lnkd.in/gEa3Wiqj
desloppify๊ฐ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์ฒ์๋ถํฐ ํ์ ํ๋ ๋ฐฉ์์ด ์ธ์์ ์ด์์. ๋จ์ํ ๋ฆฐํฐ๋ฅผ ๋๋ฆฌ๋ ๊ฒ ์๋๋ผ ์ฌ๋ฌ ๊ณ์ธต์ด ์์ฐจ์ ์ผ๋ก ์ฝ๋๋ฅผ ํด์ํฉ๋๋ค.
โข Detection Layer: AST ํ์์ ๋ฆฐํฐ๋ก ๋ฐ๋์ฝ๋, ์ํ ๋ณต์ก๋, ๋ค์ด๋ฐ ์๋ฐ ๊ฐ์ ๊ฐ๊ด์ ์ด์๋ฅผ ํ์งํฉ๋๋ค. ๋ชจ๋ ํ์ง๊ธฐ๊ฐ detect_*(data, config) โ list[dict] ํํ์ ์์ ํจ์๋ก ๊ตฌํ๋ผ ์์ด์ ์ธ์ด์ ๊ด๊ณ์์ด ๋์ผํ ํฌ๋งท์ผ๋ก ์ด์๋ฅผ ์ถ๋ ฅํด์ โข Narrative Layer: ํ์ง๋ ์ด์์ LLM ๊ธฐ๋ฐ ๋ฆฌ๋ทฐ๋ก ๋งฅ๋ฝ์ ์ ํ๋๋ค. ๋จ์ํ โ์ด ํจ์๊ฐ ๋ณต์กํ๋คโ๊ฐ ์๋๋ผ ์ ๋ฌธ์ ์ธ์ง, ์ด๋ป๊ฒ ๊ณ ์ณ์ผ ํ๋์ง ์์ฌ๋ฅผ ์์ฑํ๋ ๋จ๊ณ์์ โข Prioritization Layer: ranking.py๊ฐ ์ด์๋ฅผ ํฐ์ด(T1~T4) ร ์ํฅ๋ ร ์ ๋ขฐ๋ ร ๋ฐ์ ๋น๋๋ก ์ ๋ ฌํ๊ณ , ๊ด๋ จ ์ด์๋ผ๋ฆฌ ํด๋ฌ์คํฐ๋งํฉ๋๋ค. ๊ฐ์ ๋๋ ํ ๋ฆฌ์ ๊ฐ์ ํ์ง๊ธฐ๊ฐ ์ก์ ์ด์๋ค์ ๋ฌถ์ด์ ํ ๋ฒ์ ์ฒ๋ฆฌํ ์ ์๊ฒ ํ๋ ๊ฑฐ์ฃ โข Execution Layer: ์์ ํ๊ฐ todo โ in_progress โ done ์ํ๋ฅผ ๊ด๋ฆฌํ๋ฉด์ ์๋ ์์ ๊ณผ ์๋ ์์ ์ ๋ชจ๋ ์ง์ํฉ๋๋ค
์ ๊ฐ ์ง์ ๋ฏ์ด๋ณด๋ฉด์ ๊ฐํํ ๊ฑด, ํ์ง๋ถํฐ ์คํ๊น์ง ๊ฐ ๋จ๊ณ์ ์ถ๋ ฅ ํฌ๋งท์ด ์์ ํ ์ ๊ทํ๋ผ ์๋ค๋ ์ ์ด์์. ์ด๊ฒ ๋ฃจํ๊ฐ ๊นจ์ง์ง ์๋ ์ฒซ ๋ฒ์งธ ๋น๊ฒฐ์ ๋๋ค.
2๏ธโฃ ํ ๋ฒ ๊ณ ์น๋ฉด ๋์ด ์๋๋ค: ์์ ์ํ ์์์ ๋์๊ฐ๋ ์ฌ์ค์บ ๋ฃจํ
๋๋ถ๋ถ์ AI ์ฝ๋ ๋๊ตฌ๋ ํ ๋ฒ ๋ถ์ํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋์ ธ์ฃผ๋ฉด ๋์ ๋๋ค. desloppify๋ .desloppify/ ํด๋์ ์ํ๋ฅผ ์์์ ์ผ๋ก ์ ์งํด์.
โข state.json: ์ธ์ด๋ณ ํ์ฌ ์ค์บ ์ํ. ๊ฐ ์ด์์ ๊ณ ์ ID, ํ์ง๊ธฐ๋ช
, ํฐ์ด, ์นดํ
๊ณ ๋ฆฌ, ํ์ผ ๊ฒฝ๋ก, ์ ๋ขฐ๋(0.01.0), ์ํฅ๋(0.01.0)๊ฐ ์ ๋ถ ๊ธฐ๋ก๋ฉ๋๋ค
โข plan.json: ์ฐ์ ์์๊ฐ ๋งค๊ฒจ์ง ์์
ํ๊ฐ ์ธ์
์ ๋์ด์๋ ์ ์ง๋ฉ๋๋ค. plan_pos ๊ฐ์ผ๋ก ๋ช
์์ ์์๋ฅผ ์ง์ ํ ์ ์๊ณ , ์์ผ๋ฉด ํฐ์ด โ ์ํฅ๋ โ ์ ๋ขฐ๋ โ ๋ฐ์ ํ์ โ ID ์์ผ๋ก ์๋ ์ ๋ ฌ๋ผ์
โข score-snapshot-*.json: ์ค์ฝ์ด ํ์คํ ๋ฆฌ๊ฐ ์๊ณ์ด๋ก ์์
๋๋ค
ํต์ฌ์ ์์ ์ด ๋๋๋ฉด ์๋์ผ๋ก ์ฌ์ค์บ์ด ๋์๊ฐ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๊ฐ ๋ค์ ํ์ง ๋จ๊ณ๋ก ์ฐ๊ฒฐ๋๋ค๋ ์ ์ด์์.
์ ์ด๊ฒ ์ค์ํ๋๋ฉด, ์ฝ๋์์ ํ ๋ฌธ์ ๋ฅผ ๊ณ ์น๋ฉด ๊ทธ ์๋ ๊ฐ๋ ค์ ธ ์๋ ๋ค๋ฅธ ๋ฌธ์ ๊ฐ ๋๋ฌ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง๊ฑฐ๋ ์. ์๋ฅผ ๋ค์ด ์ฌ์ฉํ์ง ์๋ ํจ์๋ฅผ ์ญ์ ํ๋๋, ๊ทธ ํจ์๊ฐ ์ ์ผํ๊ฒ ํธ์ถํ๋ ์ ํธ๋ฆฌํฐ๋ ์ด์ ๋ฏธ์ฌ์ฉ ์ฝ๋๊ฐ ๋๋ ์์ด์ฃ .
desloppify๋ ์ด๋ ๊ฒ ์ฐ์์ ์ผ๋ก ๋๋ฌ๋๋ ์ด์๋ฅผ ๊ธฐ์กด ์ํ์ ์๋์ผ๋ก ๋ณํฉํ๋ฉด์ open, resolved, stale๋ก ๋ถ๋ฅํฉ๋๋ค. ์์ด์ ํธ๊ฐ โ์ด์ ๋๋คโ๊ณ ๋ฉ์ถ๋ ๊ฒ ์๋๋ผ ์ง์ง๋ก ๊นจ๋ํด์ง ๋๊น์ง ๋ฃจํ๋ฅผ ๊ณ์ ๋๋ ๊ฑฐ์ฃ .
3๏ธโฃ ์๋ฐฑ ํ ๋ฐ๋ณตํด๋ ๊นจ์ง์ง ์๋๋ค: ์คํค๋ง๊ฐ ๋ฃจํ๋ฅผ ์งํฑํ๋ ๋ฐฉ์
์ด ๋ฃจํ๊ฐ ์์ญ, ์๋ฐฑ ํ ๋ฐ๋ณต๋ผ๋ ์์ ์ ์ผ๋ก ๋์๊ฐ๋ ์ด์ ๊ฐ ์์ด์.
โข Phase Execution ํจํด: ๊ฐ ๋จ๊ณ๊ฐ extractors โ detectors โ normalize โ state.merge() ์์๋ก ์๊ฒฉํ๊ฒ ์คํ๋ฉ๋๋ค. ์ด๋ ๋จ๊ณ์์ ์คํจํด๋ ์ด์ ์ํ๊ฐ ๋ณด์กด๋๊ธฐ ๋๋ฌธ์ ์ค๊ฐ์ ๋ฉ์ถฐ๋ ์ด์ด์ ๋๋ฆด ์ ์์ด์ โข ์ ๊ทํ๋ Finding ์คํค๋ง: ๋ชจ๋ ํ์ง๊ธฐ๊ฐ ๋์ผํ ๊ตฌ์กฐ(id, detector, tier, category, file, confidence, impact)๋ก ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๊ธฐ ๋๋ฌธ์ ํ์ดํ๋ผ์ธ ์ด๋์์๋ ๋ฐ์ดํฐ๊ฐ ํธํ๋ฉ๋๋ค โข Hook Registry: ์ธ์ด๋ณ๋ก ํ์ง ๊ท์น์ ์ค๋ฒ๋ผ์ด๋ํ ์ ์๋ ํ ์์คํ ์ด ์์ด์, Python์ ๋ค์ด๋ฐ ๊ท์น๊ณผ Rust์ ๋ค์ด๋ฐ ๊ท์น์ด ๋ค๋ฅด๋๋ผ๋ ๊ฐ์ ๋ฃจํ ์์์ ๊ฐ๊ฐ ์ ์ ํ๊ฒ ์ฒ๋ฆฌ๋ผ์
์์ด์ ํธ๋ฅผ ์ด์ํด๋ณด๋ฉด ์ ์คํ๊ฒ ๋๋ผ๋ ๋ถ๋ถ์ธ๋ฐ, long-running ์์ด์ ํธ๊ฐ ์คํจํ๋ ๊ฐ์ฅ ํํ ์์ธ์ด โ์ค๊ฐ ๋จ๊ณ์ ์ถ๋ ฅ ํฌ๋งท์ด ๋ค์ ๋จ๊ณ์ ์ ๋ง๋ ๊ฒโ์ ๋๋ค. desloppify๋ ์ด๊ฑธ ์คํค๋ง ๋ ๋ฒจ์์ ์์ฒ ์ฐจ๋จํ ๊ฒ๋๋ค.
4๏ธโฃ ์ ์๋ฅผ ์์ด๋ฉด ์คํ๋ ค ๋ถ๋ฆฌํด์ง๋ค: ์ํฐ-๊ฒ์ด๋ฐ์ด ๋ฃจํ์ ์๋ฏธ๋ฅผ ๋ง๋๋ ๋ฒ
desloppify๋ lenient ์ ์(์ด๋ฆฐ ์ด์๋ง ๊ณ์ฐ)์ strict ์ ์(wontfix ํฌํจ ์ ์ฒด ๊ณ์ฐ)๋ฅผ ์ด์ค์ผ๋ก ๊ด๋ฆฌํฉ๋๋ค.
โข ๋ฌธ์ ๋ฅผ wontfix๋ก ๋ฌด์ํ๋ฉด lenient ์ ์๋ ๋ด๋ ค๊ฐ์ง๋ง strict์์ ๊ฒฉ์ฐจ๊ฐ ๋ฒ์ด์ง๋๋ค โข ๋ฆฌ๋ทฐ๋ฅผ ๋ค์ ๋๋ฆฌ๋ฉด ์ ์ด์๊ฐ ๋ฐ๊ฒฌ๋ผ์ ์ ์๊ฐ ์คํ๋ ค ์ผ์์ ์ผ๋ก ๋จ์ด์ง ์ ์์ด์ โข ํฐ์ด๋ณ ๊ฐ์ค์น(T1=1, T2=2, T3=3, T4=4)์ ์ํฅ๋๋ฅผ ๊ณฑํด์ ์ฐ์ ํ๊ธฐ ๋๋ฌธ์ ์ฌ์ํ ์ด์๋ง ๊ณจ๋ผ ๊ณ ์น๋ ๊ฒ๋ ํตํ์ง ์์ต๋๋ค
์ง์ง๋ก ์ฝ๋๋ฅผ ๊ฐ์ ํ์ง ์์ผ๋ฉด ์ ์๊ฐ ์ฌ๋ผ๊ฐ์ง ์๋ ๊ตฌ์กฐ. ์ด๊ฒ ์์ด์ ํธ๊ฐ ๋ฃจํ๋ฅผ ์๋ฏธ ์๊ฒ ๋๊ฒ ๋ง๋๋ ๋๋ ฅ์ ๋๋ค. ์์ด์ ํธ์ ์ ๋ขฐ์ฑ์ ํ ๋ฒ์ ๋๋ํ ํ๋จ์ด ์๋๋ผ, ๊นจ์ง์ง ์๋ ๋ฃจํ์์ ๋์ต๋๋ค.
๊ฒฐ๊ตญ long-running ์์ด์ ํธ๊ฐ ์ค๋ฌด์์ ์๋ํ๋ ค๋ฉด ์ธ ๊ฐ์ง๊ฐ ํ์ํฉ๋๋ค. โ ์ ๊ทํ๋ ๋ฐ์ดํฐ ํฌ๋งท โ ์์์ ์ธ ์ํ ๊ด๋ฆฌ โ ์๊ธฐ ์์ ์ ๊ฒฐ๊ณผ๋ฅผ ๋ค์ ๊ฒ์ฆํ๋ ์ฌ์ค์บ ๋ฃจํ
desloppify๋ ์ด ์ธ ๊ฐ์ง๋ฅผ ์ํคํ ์ฒ ๋ ๋ฒจ์์ ํ์ด๋ธ ๊ฐ์ฅ ๊น๋ํ ์ฌ๋ก๋ผ๊ณ ์๊ฐํฉ๋๋ค.
18 1 4
๋ด์ค๋ ํฐ ๊ตฌ๋ ํ๊ธฐ
์ต์ AI์ ๋ํ ์ธ์ฌ์ดํธ๋ฅผ ๋ฐ์๋ณด์ธ์.