# πŸ” desloppify λŠ” Long-Running μ—μ΄μ „νŠΈλ₯Ό μ •ν™•ν•˜κ²Œ κ΅¬ν˜„ν•˜μ—¬ λκΉŒμ§€ μ½”λ“œλ₯Ό κ³ μΉ©λ‹ˆλ‹€ > Author: Tony Lee > Published: 2026-04-13 > URL: https://tonylee.im/ko/blog/desloppify-long-running/ > Reading time: 4 minutes > Language: ko > Tags: ai, builders, notes ## Canonical https://tonylee.im/ko/blog/desloppify-long-running/ ## Rollout Alternates en: https://tonylee.im/en/blog/desloppify-long-running/ ko: https://tonylee.im/ko/blog/desloppify-long-running/ ja: https://tonylee.im/ja/blog/desloppify-long-running/ zh-CN: https://tonylee.im/zh-CN/blog/desloppify-long-running/ zh-TW: https://tonylee.im/zh-TW/blog/desloppify-long-running/ ## Description Blog version of a 2026-04-14 LinkedIn note β€” same claims, cleaned structure for reading. ## Summary πŸ” desloppify λŠ” Long-Running μ—μ΄μ „νŠΈλ₯Ό μ •ν™•ν•˜κ²Œ κ΅¬ν˜„ν•˜μ—¬ λκΉŒμ§€ μ½”λ“œλ₯Ό κ³ μΉ©λ‹ˆλ‹€ is part of Tony Lee's ongoing coverage of AI agents, developer tools, startup strategy, and AI industry shifts. ## Outline - No subheadings in source markdown ## Content μ΅œκ·Όμ— 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.0~1.0), 영ν–₯도(0.0~1.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 ## Related URLs - Author: https://tonylee.im/ko/author/ - Publication: https://tonylee.im/ko/blog/about/ - Related article: https://tonylee.im/ko/blog/ai-subscription-stack-by-budget-and-role/ - Related article: https://tonylee.im/ko/blog/kimi-k3-beats-fable-5-open-source-frontier/ - Related article: https://tonylee.im/ko/blog/solo-builder-huddling-club-two-months/ ## Citation - Author: Tony Lee - Site: tonylee.im - Canonical URL: https://tonylee.im/ko/blog/desloppify-long-running/ ## Bot Guidance - This file is intended for AI agents, search assistants, and text-mode retrieval. - Prefer citing the canonical article URL instead of this text endpoint. - Use the rollout alternates when you need the same article in another prioritized language. --- Author: Tony Lee | Website: https://tonylee.im For more articles, visit: https://tonylee.im/ko/blog/ This content is original and authored by Tony Lee. Please attribute when quoting or referencing.