Skip to main content
PromptQuorumPromptQuorum
ํ™ˆ/๊ณ ๊ธ‰ ๋กœ์ปฌ LLM/Continue.dev vs Cline vs Aider: 2026๋…„ ์ตœ๊ณ ์˜ ๋กœ์ปฌ ์ฝ”๋“œ ์—์ด์ „ํŠธ
Coding Assistants

Continue.dev vs Cline vs Aider: 2026๋…„ ์ตœ๊ณ ์˜ ๋กœ์ปฌ ์ฝ”๋“œ ์—์ด์ „ํŠธ

ยท14๋ถ„ ๋ถ„๋Ÿ‰ยทHans Kuepper ์ € ยท PromptQuorum ์ฐฝ๋ฆฝ์ž, ๋ฉ€ํ‹ฐ ๋ชจ๋ธ AI ๋””์ŠคํŒจ์น˜ ๋„๊ตฌ ยท PromptQuorum

**Continue.dev, Cline, Aider๋Š” ๋™์ผํ•œ ๋กœ์ปฌ ๋ชจ๋ธ๋กœ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. Continue.dev๋Š” ์ž๋™์™„์„ฑ๊ณผ IDE ํ†ตํ•ฉ ์ฑ„ํŒ… ํŒจ๋„์„ ์ค‘์‹ฌ์œผ๋กœ ๊ตฌ์ถ•๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค โ€” VS Code ๋˜๋Š” JetBrains์—์„œ ํƒ€์ดํ•‘ํ•˜๋ฉด์„œ ํŽธ์ง‘ํ•˜๋Š” ์›Œํฌํ”Œ๋กœ์šฐ์— ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค. Cline์€ VS Code์˜ ์ž์œจ ์—์ด์ „ํŠธ๋กœ, ์—ฌ๋Ÿฌ ํŒŒ์ผ์— ๊ฑธ์ณ ๋ช…์‹œ์ ์ธ ์Šน์ธ ๊ฒŒ์ดํŠธ๋ฅผ ํ†ตํ•ด ๊ณ„ํšํ•˜๊ณ  ํŽธ์ง‘ํ•˜๊ณ  ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค โ€” ๋‹ค์ค‘ ํŒŒ์ผ ๋ฆฌํŒฉํ† ๋ง๊ณผ ํƒ์ƒ‰์  ๋ฒ„๊ทธ ์ถ”์ ์— ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค. Aider๋Š” ํ„ฐ๋ฏธ๋„ ์ง€ํ–ฅ์˜ Git ๋„ค์ดํ‹ฐ๋ธŒ CLI๋กœ, ๊ฐ ํŽธ์ง‘์„ ๊ฒ€์ƒ‰ ๋ฐ ๊ต์ฒด diff์™€ ํ•จ๊ป˜ ์ปค๋ฐ‹์œผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค โ€” ์ €์žฅ์†Œ ๊ทœ๋ชจ์˜ ์ž‘์—…๊ณผ git log์— ๋ชจ๋“  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋ฐ˜์˜๋˜๊ธฐ๋ฅผ ์›ํ•˜๋Š” ๋ฆฌ๋ทฐ์–ด์—๊ฒŒ ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค. ์–ด๋А ๋„๊ตฌ๊ฐ€ ๋” ๊ฐ•๋ ฅํ•ด ๋ณด์ด๋Š”์ง€๊ฐ€ ์•„๋‹ˆ๋ผ ์›Œํฌํ”Œ๋กœ์šฐ ์›์‹œ ์š”์†Œ(์ž๋™์™„์„ฑ vs ์—์ด์ „ํŠธ ๋ฃจํ”„ vs Git diff)์— ๋”ฐ๋ผ ์„ ํƒํ•˜์‹ญ์‹œ์˜ค.**

Continue.dev, Cline, Aider๋Š” 2026๋…„ ํ˜„์žฌ ๋กœ์ปฌ LLM๊ณผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ํ†ตํ•ฉ๋˜๋Š” ์„ธ ๊ฐ€์ง€ ์ง„์ง€ํ•œ ์˜คํ”ˆ์†Œ์Šค ์ฝ”๋”ฉ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์ด ์„ธ ๋„๊ตฌ๋Š” ์„œ๋กœ ๊ต์ฒด ๊ฐ€๋Šฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ์€ ์„œ๋กœ ๋‹ค๋ฅธ ์›Œํฌํ”Œ๋กœ์šฐ ์›์‹œ ์š”์†Œ๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ๊ตฌ์ถ•๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค โ€” ์ž๋™์™„์„ฑ, ์ž์œจ ์—์ด์ „ํŠธ ๋ฃจํ”„, ๋˜๋Š” Git ๋„ค์ดํ‹ฐ๋ธŒ diff. ๋จผ์ € ์›Œํฌํ”Œ๋กœ์šฐ์— ๋”ฐ๋ผ ์„ ํƒํ•˜๊ณ , ๊ทธ ๋‹ค์Œ ๋ชจ๋ธ์„ ์„ ํƒํ•˜๋ฉด ํ†ตํ•ฉ ๋ฌธ์ œ์˜ 90%๋ฅผ ํ”ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์Šฌ๋ผ์ด๋“œ ๋ฑ: Continue.dev vs Cline vs Aider: 2026๋…„ ์ตœ๊ณ ์˜ ๋กœ์ปฌ ์ฝ”๋“œ ์—์ด์ „ํŠธ

์•„๋ž˜ ํ”„๋ ˆ์  ํ…Œ์ด์…˜์€ ๋‹ค์Œ์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค: Continue.dev, Cline, Aider๊ฐ€ ๋กœ์ปฌ ์ฝ”๋”ฉ ๋„๊ตฌ๋กœ์„œ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ์ง€(์ž๋™์™„์„ฑ vs ์ž์œจ ์—์ด์ „ํŠธ vs git ๋„ค์ดํ‹ฐ๋ธŒ diff), ๊ธฐ๋Šฅ ๋น„๊ตํ‘œ, ๋„๊ตฌ ๋ฐ ๋ชจ๋ธ ํฌ๊ธฐ๋ณ„ ํŽธ์ง‘ ๋ชจ๋ธ ์‹ ๋ขฐ์„ฑ, ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ ์ „๋žต(32K vs 128K), IDE ํ†ตํ•ฉ(VS Code, JetBrains, Vim/SSH), ๊ทธ๋ฆฌ๊ณ  ๋„๊ตฌ ์„ ํƒ ์‹œ 6๊ฐ€์ง€ ์ผ๋ฐ˜์ ์ธ ์‹ค์ˆ˜. ๋กœ์ปฌ ์ฝ”๋“œ ์—์ด์ „ํŠธ ์ฐธ์กฐ ์นด๋“œ๋กœ PDF๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์‹ญ์‹œ์˜ค.

์•„๋ž˜ ์Šฌ๋ผ์ด๋“œ๋ฅผ ํƒ์ƒ‰ํ•˜๊ฑฐ๋‚˜ ์˜คํ”„๋ผ์ธ ์ฐธ์กฐ์šฉ์œผ๋กœ PDF๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์‹ญ์‹œ์˜ค. ์ฐธ์กฐ ์นด๋“œ ๋‹ค์šด๋กœ๋“œ(PDF)

ํ•ต์‹ฌ ์š”์ 

  • Continue.dev๋Š” ์ž๋™์™„์„ฑ ์šฐ์„ ์ž…๋‹ˆ๋‹ค: FIM(fill-in-the-middle) ์™„์„ฑ, IDE ํ†ตํ•ฉ ์‚ฌ์ด๋“œ ์ฑ„ํŒ… ํŒจ๋„, @ ์ปจํ…์ŠคํŠธ ๊ณต๊ธ‰์ž(์ฝ”๋“œ๋ฒ ์ด์Šค, ํŒŒ์ผ, ๋ฌธ์„œ, ํ„ฐ๋ฏธ๋„)๋ฅผ ๊ฐ–์ถ˜ VS Code ๋ฐ JetBrains ํ™•์žฅ. ๋กœ์ปฌ ๋ชจ๋ธ์„ ์œ„ํ•œ Copilot์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์˜คํ”ˆ์†Œ์Šค ์œ ์‚ฌํ’ˆ์ž…๋‹ˆ๋‹ค.
  • Cline์€ ์—์ด์ „ํŠธ ์šฐ์„ ์ž…๋‹ˆ๋‹ค: ๋ช…์‹œ์ ์ธ Plan ๋ฐ Act ๋ชจ๋“œ, ๋„๊ตฌ ํ˜ธ์ถœ ๋ฃจํ”„(read_file, write_to_file, execute_command, browser_action), ๊ฐ ๋‹จ๊ณ„์˜ ์Šน์ธ ๊ฒŒ์ดํŠธ๋ฅผ ๊ฐ–์ถ˜ VS Code ํ™•์žฅ. ๊ฐ๋…ํ•˜๋Š” ๋™์•ˆ ์—ฌ๋Ÿฌ ํŒŒ์ผ์— ์ž์œจ์ ์œผ๋กœ ์‹คํ–‰๋˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • Aider๋Š” Git ์šฐ์„ ์ž…๋‹ˆ๋‹ค: tree-sitter ์ €์žฅ์†Œ ๋งต์„ ์œ ์ง€ํ•˜๊ณ , ๊ฒ€์ƒ‰ ๋ฐ ๊ต์ฒด diff ๋ธ”๋ก์„ ํ†ตํ•ด ํŒŒ์ผ์„ ํŽธ์ง‘ํ•˜๋ฉฐ, ๊ฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ปค๋ฐ‹ํ•˜๋Š” ํ„ฐ๋ฏธ๋„ CLI. ์‹คํ–‰ ์ทจ์†Œ๋Š” git reset์ž…๋‹ˆ๋‹ค โ€” ์„ธ ๊ฐ€์ง€ ์ค‘ ๊ฐ€์žฅ ๊ฒ€ํ†  ๊ฐ€๋Šฅํ•œ ์›Œํฌํ”Œ๋กœ์šฐ.
  • ์„ธ ๋„๊ตฌ ๋ชจ๋‘ OpenAI ํ˜ธํ™˜ ์—”๋“œํฌ์ธํŠธ์™€ ํ†ต์‹ ํ•ฉ๋‹ˆ๋‹ค. Ollama๊ฐ€ ๊ฐ€์žฅ ์›ํ™œํ•œ ๋กœ์ปฌ ๋ฐฑ์—”๋“œ์ด๋ฉฐ, llama.cpp์™€ vLLM์€ ๊ณต๊ธ‰์ž ์„ค์ • ๋˜๋Š” LiteLLM๊ณผ ๊ฐ™์€ ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
  • ๋„๊ตฌ ํ˜ธ์ถœ ์‹ ๋ขฐ์„ฑ์€ ๋„๊ตฌ๊ฐ€ ์•„๋‹Œ ๋ชจ๋ธ์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค. Qwen3-Coder 30B์™€ DeepSeek Coder V3๋Š” 2026๋…„ 5์›” ๊ธฐ์ค€ ๊ฐ€์žฅ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ ํ˜ธ์ถœ์ž์ž…๋‹ˆ๋‹ค. ์†Œํ˜• ๋ชจ๋ธ(7B ํด๋ž˜์Šค)์€ ์–ด๋А ๋„๊ตฌ๋กœ ๊ฐ์‹ธ๋„ ์ •๊ธฐ์ ์œผ๋กœ ์ž˜๋ชป๋œ ํ˜•์‹์˜ ๋„๊ตฌ ํ˜ธ์ถœ์„ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.
  • ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ ์ „๋žต์€ ํ˜„์ €ํžˆ ๋‹ค๋ฆ…๋‹ˆ๋‹ค: Continue.dev๋Š” ๋‚ด์žฅ ์ฝ”๋“œ๋ฒ ์ด์Šค ์ธ๋ฑ์Šค์™€ @ ๊ณ ์ • ์ปจํ…์ŠคํŠธ์— ์˜์กดํ•˜๊ณ , Cline์€ ์ „์ฒด ํŒŒ์ผ ๋‚ด์šฉ์„ ๋Œ€ํ™”์— ์ŠคํŠธ๋ฆฌ๋ฐํ•ฉ๋‹ˆ๋‹ค(๋†’์€ ํ† ํฐ ์‚ฌ์šฉ), Aider๋Š” tree-sitter ์ €์žฅ์†Œ ๋งต๊ณผ ๋ช…์‹œ์ ์ธ /add ๋ฐ /drop์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—… ์„ธํŠธ๋ฅผ ์ž‘๊ฒŒ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฐœ๋ณ„ ๊ฐœ๋ฐœ์ž์˜ ๊ฒฝ์šฐ, ์›Œํฌํ”Œ๋กœ์šฐ ์ ํ•ฉ์„ฑ์ด ์–ด๋–ค ๋ฒค์น˜๋งˆํฌ๋ณด๋‹ค ๊ฒฐ๊ณผ๋ฅผ ์ง€๋ฐฐํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์—ด์–ด๋‘๋Š” ๋„๊ตฌ๊ฐ€ ์„ ํƒํ•ด์•ผ ํ•  ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

๋น ๋ฅธ ์‚ฌ์‹ค

  • Continue.dev โ€” ์ž๋™์™„์„ฑ + ์ฑ„ํŒ…, VS Code ๋ฐ JetBrains, ์„ธ ๊ฐ€์ง€ ์ค‘ ๊ฐ€์žฅ ๋งˆ์ฐฐ์ด ์ ์€ ์„ค์น˜.
  • Cline โ€” ์Šน์ธ ๊ฒŒ์ดํŠธ๋ฅผ ๊ฐ–์ถ˜ ์ž์œจ ์—์ด์ „ํŠธ, VS Code ์ „์šฉ, ๊ฐ€์žฅ ๋†’์€ ๊ธฐ๋Šฅ๊ณผ ๊ฐ€์žฅ ๋†’์€ ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰.
  • Aider โ€” ํ„ฐ๋ฏธ๋„ CLI, Git ๋„ค์ดํ‹ฐ๋ธŒ ์ปค๋ฐ‹, ๊ฐ ํŽธ์ง‘์€ Git์„ ํ†ตํ•ด ๊ฒ€ํ†  ๋ฐ ๋˜๋Œ๋ฆฌ๊ธฐ ๊ฐ€๋Šฅ.
  • ์„ธ ๋„๊ตฌ ๋ชจ๋‘ ๋™์ผํ•œ ๋กœ์ปฌ ๋ฐฑ์—”๋“œ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค โ€” Ollama๊ฐ€ ๊ฐ€์žฅ ์›ํ™œํ•œ ๊ฒฝ๋กœ์ด๋ฉฐ, llama.cpp์™€ vLLM๋„ OpenAI ํ˜ธํ™˜ ์„ค์ •์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
  • ๋„๊ตฌ ํ˜ธ์ถœ ์‹ ๋ขฐ์„ฑ์€ ๋„๊ตฌ์˜ ์†์„ฑ์ด ์•„๋‹Œ ๋ชจ๋ธ์˜ ์†์„ฑ์ž…๋‹ˆ๋‹ค. Qwen3-Coder 30B์™€ DeepSeek Coder V3๋Š” ์„ธ ๋„๊ตฌ ๋ชจ๋‘์—์„œ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, 7B ํด๋ž˜์Šค ๋ชจ๋ธ์€ ์„ธ ๋„๊ตฌ ๋ชจ๋‘์—์„œ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.
  • ์ปจํ…์ŠคํŠธ ์˜ˆ์‚ฐ: Continue.dev์™€ Aider๋Š” 32K ์ปจํ…์ŠคํŠธ ๋ชจ๋ธ์—์„œ ํŽธ์•ˆํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. Cline์€ ์‚ฌ์†Œํ•˜์ง€ ์•Š์€ ๋‹ค์ค‘ ํŒŒ์ผ ์ž‘์—…์— 128K๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ํŽธ์ง‘๊ธฐ์— ๋”ฐ๋ผ ์„ ํƒํ•˜์‹ญ์‹œ์˜ค: JetBrains โ†’ Continue.dev ๋˜๋Š” Aider. Vim/Neovim ๋˜๋Š” SSH โ†’ Aider. ์ž๋™์™„์„ฑ์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” VS Code โ†’ Continue.dev. ๋‹ค์ค‘ ํŒŒ์ผ ๋ฆฌํŒฉํ† ๋ง์„ ํ•˜๋Š” VS Code โ†’ Cline.

2026๋…„ Continue.dev, Cline, Aider ๋น„๊ต

์„ธ ๋„๊ตฌ ๋ชจ๋‘ ์˜คํ”ˆ์†Œ์Šค์ด๋ฉฐ ๋ฌด๋ฃŒ์ด๊ณ  ๋ชจ๋“  ๋กœ์ปฌ LLM ์—”๋“œํฌ์ธํŠธ์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ๊ตฌ์กฐ์  ์ฐจ์ด์ ์ด ์–ด๋А ๋„๊ตฌ๊ฐ€ ๊ท€ํ•˜์˜ ์›Œํฌํ”Œ๋กœ์šฐ์— ์ ํ•ฉํ•œ์ง€ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“ ํ•œ ๋ฌธ์žฅ์œผ๋กœ

Continue.dev๋Š” Copilot ์Šคํƒ€์ผ์˜ ์ž๋™์™„์„ฑ, Cline์€ ํŒŒ์ผ ๊ฐ„ ํŽธ์ง‘ํ•˜๋Š” ์ž์œจ ์—์ด์ „ํŠธ, Aider๋Š” ๊ฐ ํŽธ์ง‘์„ Git์— ์ปค๋ฐ‹ํ•˜๋Š” ํ„ฐ๋ฏธ๋„ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค โ€” ๋ฒค์น˜๋งˆํฌ๊ฐ€ ์•„๋‹Œ ์›Œํฌํ”Œ๋กœ์šฐ์— ๋”ฐ๋ผ ์„ ํƒํ•˜์‹ญ์‹œ์˜ค.

๐Ÿ’ฌ ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด

์„ธ ๊ฐ€์ง€ ๋ฌด๋ฃŒ ๋„๊ตฌ, ๋™์ผํ•œ ๋กœ์ปฌ ๋ชจ๋ธ, ์„ธ ๊ฐ€์ง€ ์™„์ „ํžˆ ๋‹ค๋ฅธ ์›Œํฌํ”Œ๋กœ์šฐ. Continue.dev๋Š” Copilot์ฒ˜๋Ÿผ ๋А๊ปด์ง‘๋‹ˆ๋‹ค โ€” Tab์„ ๋ˆŒ๋Ÿฌ ํŽธ์ง‘๊ธฐ ๋‚ด ์ œ์•ˆ์„ ์ˆ˜๋ฝํ•ฉ๋‹ˆ๋‹ค. Cline์€ ๊ฐ๋…ํ•˜๋Š” ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž์ฒ˜๋Ÿผ ๋А๊ปด์ง‘๋‹ˆ๋‹ค โ€” ๊ฐ ๋‹จ๊ณ„๋ฅผ ์Šน์ธํ•˜๋Š” ๋™์•ˆ ํŒŒ์ผ ๊ฐ„์— ๊ณ„ํšํ•˜๊ณ  ํŽธ์ง‘ํ•ฉ๋‹ˆ๋‹ค. Aider๋Š” ํ„ฐ๋ฏธ๋„์—์„œ์˜ ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ฒ˜๋Ÿผ ๋А๊ปด์ง‘๋‹ˆ๋‹ค โ€” ๋Œ€ํ™”ํ•˜๋ฉด ์ปค๋ฐ‹ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ ์ž‘์—…ํ•˜๋Š” ๋ฐฉ์‹๊ณผ ์ผ์น˜ํ•˜๋Š” ๊ฒƒ์„ ์‹œ๋„ํ•ด ๋ณด์‹ญ์‹œ์˜ค.

๊ธฐ๋ŠฅContinue.devClineAider
์ฃผ์š” ์ธํ„ฐํŽ˜์ด์ŠคVS Code ๋ฐ JetBrains ํ™•์žฅVS Code ํ™•์žฅํ„ฐ๋ฏธ๋„ CLI (๋ชจ๋“  ํŽธ์ง‘๊ธฐ์™€ ๋‚˜๋ž€ํžˆ)
์›Œํฌํ”Œ๋กœ์šฐ ์›์‹œ ์š”์†Œ์ž๋™์™„์„ฑ + IDE ํ†ตํ•ฉ ์ฑ„ํŒ…์Šน์ธ ๊ฒŒ์ดํŠธ๋ฅผ ๊ฐ–์ถ˜ ์ž์œจ ์—์ด์ „ํŠธ ๋ฃจํ”„Git ๋„ค์ดํ‹ฐ๋ธŒ diff ํŽธ์ง‘, ๊ฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ปค๋ฐ‹
ํŽธ์ง‘ ๋ชจ๋ธ์ธ๋ผ์ธ FIM + ์ฑ„ํŒ…์—์„œ ํŒŒ์ผ์— ์ ์šฉ๋„๊ตฌ ํ˜ธ์ถœ(read_file, write_to_file, replace_in_file)๊ฒ€์ƒ‰ ๋ฐ ๊ต์ฒด diff ๋ธ”๋ก; ์†Œํ˜• ํŒŒ์ผ์„ ์œ„ํ•œ "์ „์ฒด" ๋ชจ๋“œ
๋‹ค์ค‘ ํŒŒ์ผ ํŽธ์ง‘์ˆ˜๋™: ์ฑ„ํŒ…์ด ์ œ์•ˆํ•˜๋ฉด ํŒŒ์ผ๋ณ„๋กœ ์ ์šฉ๋„ค์ดํ‹ฐ๋ธŒ: ์—์ด์ „ํŠธ๊ฐ€ ๋‹จ์ผ ์ž‘์—…์—์„œ ํŒŒ์ผ ๊ฐ„ ํŽธ์ง‘๋„ค์ดํ‹ฐ๋ธŒ: ํ”„๋กฌํ”„ํŠธ์— ํŒŒ์ผ ๋ช…๋ช…, ํŽธ์ง‘์ด ํ•˜๋‚˜์˜ ์ปค๋ฐ‹์œผ๋กœ ์ •์ฐฉ
์‹คํ–‰ ์ทจ์†Œ / ๋˜๋Œ๋ฆฌ๊ธฐ์ ์šฉ๋œ ํŽธ์ง‘์—์„œ VS Code ์‹คํ–‰ ์ทจ์†Œ ์Šคํƒ์—์ด์ „ํŠธ UI์—์„œ ํŽธ์ง‘๋ณ„ ๋˜๋Œ๋ฆฌ๊ธฐ; ์ „์ฒด ๋˜๋Œ๋ฆฌ๊ธฐ๋Š” Git/undo๊ฐ€ ๋งˆ์ง€๋ง‰ ์ปค๋ฐ‹์„ ๋˜๋Œ๋ฆผ; ์•„๋ž˜์— ์ „์ฒด git ๊ธฐ๋ก
๋„๊ตฌ ํ˜ธ์ถœ ํ”„๋กœํ† ์ฝœAgent ๋ชจ๋“œ์—์„œ OpenAI function-calling์—„๊ฒฉํ•œ ์Šคํ‚ค๋งˆ๋ฅผ ๊ฐ–์ถ˜ ์ปค์Šคํ…€ XML ๋„๊ตฌ ๋ธ”๋ก๋„๊ตฌ ํ˜ธ์ถœ ์—†์Œ; ๋ชจ๋ธ์ด diff ๋ธ”๋ก์„ ์ถœ๋ ฅํ•˜๋„๋ก ์•ˆ๋‚ด
์ฝ”๋“œ๋ฒ ์ด์Šค ์ปจํ…์ŠคํŠธ๋กœ์ปฌ ์ธ๋ฑ์Šค(TF-IDF + ์ž„๋ฒ ๋”ฉ) + @ ๊ณต๊ธ‰์žํŒŒ์ผ ์ „์ฒด ๋‚ด์šฉ์„ ๋Œ€ํ™”์— ์ŠคํŠธ๋ฆฌ๋ฐTree-sitter ์ €์žฅ์†Œ ๋งต + /add ๋ฐ /drop ์ˆ˜๋™ ๊ด€๋ฆฌ
์Šน์ธ / ์•ˆ์ „๊ฐ ์ ์šฉ ์ „ diff ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋‹จ๊ณ„๋ณ„ ์Šน์ธ; ๊ตฌ์„ฑ ๊ฐ€๋Šฅํ•œ ์ž๋™ ์Šน์ธ ํ—ˆ์šฉ ๋ชฉ๋กํ„ฐ๋ฏธ๋„์—์„œ diff ๋ฏธ๋ฆฌ๋ณด๊ธฐ; ์ปค๋ฐ‹ ๋‹จ๊ณ„๋Š” ์ž๋™
์ตœ์  ์‚ฌ์šฉ ์‚ฌ๋ก€ํƒ€์ดํ•‘ํ•˜๋ฉฐ ํŽธ์ง‘, IDE ํ†ตํ•ฉ ์ฑ„ํŒ…, ์ž๋™์™„์„ฑ ์ง‘์•ฝ์ ์ธ ๋‚ ๋‹ค์ค‘ ํŒŒ์ผ ๋ฆฌํŒฉํ† ๋ง, ํƒ์ƒ‰์  ๋””๋ฒ„๊น…, ์ €์žฅ์†Œ ์ž‘์—…์ €์žฅ์†Œ ๊ทœ๋ชจ์˜ ๊ฒ€ํ†  ๊ฐ€๋Šฅํ•œ ๋ณ€๊ฒฝ, ํ„ฐ๋ฏธ๋„ ์ง€ํ–ฅ ์›Œํฌํ”Œ๋กœ์šฐ
Continue.dev vs Cline vs Aider: Continue.dev๋Š” VS Code/JetBrains ์ž๋™์™„์„ฑ์šฉ(์ปจํ…์ŠคํŠธ 32K), Cline์€ VS Code ๋‹ค์ค‘ ํŒŒ์ผ ์ž์œจ ์—์ด์ „ํŠธ์šฉ(128K ๊ถŒ์žฅ), Aider๋Š” ํ„ฐ๋ฏธ๋„ git ๋„ค์ดํ‹ฐ๋ธŒ ์ปค๋ฐ‹์šฉ(์ปจํ…์ŠคํŠธ 32K).
Continue.dev vs Cline vs Aider: Continue.dev๋Š” VS Code/JetBrains ์ž๋™์™„์„ฑ์šฉ(์ปจํ…์ŠคํŠธ 32K), Cline์€ VS Code ๋‹ค์ค‘ ํŒŒ์ผ ์ž์œจ ์—์ด์ „ํŠธ์šฉ(128K ๊ถŒ์žฅ), Aider๋Š” ํ„ฐ๋ฏธ๋„ git ๋„ค์ดํ‹ฐ๋ธŒ ์ปค๋ฐ‹์šฉ(์ปจํ…์ŠคํŠธ 32K).

์–ด๋–ค ๊ฒƒ์„ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ

์˜ฌ๋ฐ”๋ฅธ ๋„๊ตฌ๋Š” ํŽธ์ง‘๊ธฐ, ์ž์œจ ํŽธ์ง‘์— ๋Œ€ํ•œ ๋‚ด์„ฑ, ๋ณ€๊ฒฝ ์‚ฌํ•ญ ๊ฒ€ํ†  ๋ฐฉ์‹์— ๋”ฐ๋ผ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค. ์ด ๋‹จ์ถ•ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

๊ท€ํ•˜์˜ ์ƒํ™ฉ์„ ํƒ
VS Code ๋˜๋Š” JetBrains IDE์—์„œ ์ƒํ™œํ•˜๋ฉฐ Copilot ์Šคํƒ€์ผ์˜ ์ž๋™์™„์„ฑ์„ ์›ํ•จContinue.dev
ํŒŒ์ผ์„ ์ˆ˜๋™์œผ๋กœ ์—…๋กœ๋“œํ•˜์ง€ ์•Š๊ณ  ์ฝ”๋“œ๋ฒ ์ด์Šค์— ์ ‘๊ทผํ•˜๋Š” ์‚ฌ์ด๋“œ ์ฑ„ํŒ… ํŒจ๋„์„ ์›ํ•จContinue.dev
๋‹ค์ค‘ ํŒŒ์ผ์— ๊ฑธ์ณ ๋ฆฌํŒฉํ† ๋ง์„ ๊ณ„ํšํ•˜๊ณ  ๊ฐ ๋‹จ๊ณ„ ์ „์— ํ™•์ธํ•˜๋Š” ์—์ด์ „ํŠธ๋ฅผ ์›ํ•จCline
๋ชจ๋ธ์ด ๋ฃจํ”„์˜ ์ผ๋ถ€๋กœ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ณ  ํ„ฐ๋ฏธ๋„ ์ถœ๋ ฅ์„ ์ฝ์„ ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ์›ํ•จCline
git diff๋กœ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฒ€ํ† ํ•˜๋ฉฐ ๊ฐ ํŽธ์ง‘์ด ์ž๋™์œผ๋กœ ์ปค๋ฐ‹๋˜๊ธฐ๋ฅผ ์›ํ•จAider
SSH๋กœ ์ž‘์—…ํ•˜๊ฑฐ๋‚˜ ํ„ฐ๋ฏธ๋„ ์ง€ํ–ฅ ํ™˜๊ฒฝ์—์„œ ์ž‘์—…ํ•จAider
๊ฐ€๋” ์„ธ ๊ฐ€์ง€ ์›Œํฌํ”Œ๋กœ์šฐ๊ฐ€ ๋ชจ๋‘ ํ•„์š”ํ•จ โ€” ๋จผ์ € ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๊ฒƒ์„ ์„ ํƒContinue.dev๋กœ ์‹œ์ž‘ํ•˜๊ณ , Git ๋„ค์ดํ‹ฐ๋ธŒ diff๊ฐ€ ํ•„์š”ํ•  ๋•Œ Aider ์ถ”๊ฐ€
์–ด๋–ค ๋กœ์ปฌ ์ฝ”๋”ฉ ๋„๊ตฌ๋ฅผ ์„ ํƒํ• ์ง€: Continue.dev๋Š” IDE ์ž๋™์™„์„ฑ๊ณผ ์ฑ„ํŒ…์šฉ(VS Code + JetBrains), Cline์€ ๋‹ค์ค‘ ํŒŒ์ผ ์—์ด์ „ํŠธ ๋ฃจํ”„์™€ ๋ช…๋ น ์‹คํ–‰์šฉ, Aider๋Š” ํ„ฐ๋ฏธ๋„ ๋ฐ SSH ํ™˜๊ฒฝ์—์„œ์˜ git ๋„ค์ดํ‹ฐ๋ธŒ ์›Œํฌํ”Œ๋กœ์šฐ์šฉ.
์–ด๋–ค ๋กœ์ปฌ ์ฝ”๋”ฉ ๋„๊ตฌ๋ฅผ ์„ ํƒํ• ์ง€: Continue.dev๋Š” IDE ์ž๋™์™„์„ฑ๊ณผ ์ฑ„ํŒ…์šฉ(VS Code + JetBrains), Cline์€ ๋‹ค์ค‘ ํŒŒ์ผ ์—์ด์ „ํŠธ ๋ฃจํ”„์™€ ๋ช…๋ น ์‹คํ–‰์šฉ, Aider๋Š” ํ„ฐ๋ฏธ๋„ ๋ฐ SSH ํ™˜๊ฒฝ์—์„œ์˜ git ๋„ค์ดํ‹ฐ๋ธŒ ์›Œํฌํ”Œ๋กœ์šฐ์šฉ.

Continue.dev: ์ž๋™์™„์„ฑ ์ค‘์‹ฌ์˜ ์„ ํƒ

Continue.dev๋Š” ๋กœ์ปฌ ๋ชจ๋ธ์„ ์œ„ํ•œ GitHub Copilot์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์˜คํ”ˆ์†Œ์Šค ์œ ์‚ฌํ’ˆ์ž…๋‹ˆ๋‹ค. ์ฃผ์š” ์ธํ„ฐํŽ˜์ด์Šค๋Š” ํŽธ์ง‘๊ธฐ์ž…๋‹ˆ๋‹ค: ํƒ€์ดํ•‘ํ•˜๋ฉด์„œ Tab ์™„์„ฑ๊ณผ ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ์•„๋Š” ์‚ฌ์ด๋“œ ์ฑ„ํŒ… ํŒจ๋„.

  • ์„ค์น˜ ๊ฒฝ๋กœ: VS Code Marketplace ๋ฐ JetBrains Marketplace. ์„ค์ •์€ ~/.continue/config.json(๋˜๋Š” config.yaml)์— ์žˆ์œผ๋ฉฐ, ๋ชจ๋ธ ์ •์˜, ์ž๋™์™„์„ฑ ์„ค์ •, @ ์ปจํ…์ŠคํŠธ ๊ณต๊ธ‰์ž๊ฐ€ ๋ชจ๋‘ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
  • ์›Œํฌํ”Œ๋กœ์šฐ ์›์‹œ ์š”์†Œ: FIM(fill-in-the-middle) ์ž๋™์™„์„ฑ๊ณผ IDE ํ†ตํ•ฉ ์‚ฌ์ด๋“œ ์ฑ„ํŒ… ํŒจ๋„. ์ฑ„ํŒ… ํŒจ๋„์€ ์—ด๋ฆฐ ํŒŒ์ผ์— ์ง์ ‘ ํŽธ์ง‘์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, Agent ๋ชจ๋“œ๋Š” ๋‹ค๋‹จ๊ณ„ ์ž‘์—…์„ ์œ„ํ•œ ๋„๊ตฌ ํ˜ธ์ถœ ๋ฃจํ”„๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  • ๋กœ์ปฌ ๋ชจ๋ธ ์„ค์ •: ๋„ค์ดํ‹ฐ๋ธŒ Ollama ์ง€์›์€ ํ•˜๋‚˜์˜ ์„ค์ • ๋ธ”๋ก์ž…๋‹ˆ๋‹ค. llama.cpp, LM Studio, ๋ชจ๋“  OpenAI ํ˜ธํ™˜ ์—”๋“œํฌ์ธํŠธ๋„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ํ‘œ์ค€ ํŒจํ„ด์€ ์ž๋™์™„์„ฑ(์†Œํ˜•, ๋น ๋ฆ„ โ€” Qwen3-Coder 1.5B ํด๋ž˜์Šค)๊ณผ ์ฑ„ํŒ…(๋Œ€ํ˜• โ€” Qwen3-Coder 30B, DeepSeek Coder V3)์— ๋ณ„๋„ ๋ชจ๋ธ์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ์ฝ”๋“œ๋ฒ ์ด์Šค ์ปจํ…์ŠคํŠธ: ํ”„๋กœ์ ํŠธ ํด๋”์— ๋Œ€ํ•œ ๋กœ์ปฌ ์ธ๋ฑ์Šค(TF-IDF ๋ฐ ์ž„๋ฒ ๋”ฉ). @codebase, @file, @folder, @docs, @terminal ๋ฐ ์ปค์Šคํ…€ ๊ณต๊ธ‰์ž๊ฐ€ ์ฑ„ํŒ… ํŒจ๋„์—์„œ ์ธ๋ฑ์Šค์— ์ ‘๊ทผํ•ฉ๋‹ˆ๋‹ค.
  • ํŽธ์ง‘ ๋ชจ๋ธ: ์ฑ„ํŒ…์—์„œ ๋ชจ๋ธ์ด ์ฝ”๋“œ ๋ธ”๋ก์„ ์ œ์•ˆํ•˜๋ฉด "์ ์šฉ"์„ ํด๋ฆญํ•˜๋ฉด ์—ด๋ฆฐ ํŒŒ์ผ์— diff๋ฅผ ๋งŒ๋“ค๊ณ  ๋ณ€๊ฒฝ ์ˆ˜๋ฝ ๋˜๋Š” ๊ฑฐ๋ถ€๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Cmd/Ctrl+I๋ฅผ ํ†ตํ•œ ์ธ๋ผ์ธ ํŽธ์ง‘์€ ์„ ํƒํ•œ ๋‚ด์šฉ์„ ๊ทธ ์ž๋ฆฌ์—์„œ ์žฌ์ž‘์„ฑํ•˜๊ณ  diff๊ฐ€ ์ฆ‰์‹œ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋‘ ํ”Œ๋กœ์šฐ ๋ชจ๋‘ ์“ฐ๊ธฐ ์ „์— diff ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
  • ์žฅ์ : ์ด๋ฏธ ์‚ฌ์šฉ ์ค‘์ธ IDE ๋‚ด ํ‚ค๋ณด๋“œ ๊ธฐ๋ฐ˜ ํŽธ์ง‘, ํŽธ์ง‘๋‹น ๋‚ฎ์€ ์ธ์ง€ ๋ถ€๋‹ด, ๋น ๋ฅธ ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„. ์„ค์น˜ํ–ˆ๋‹ค๋Š” ๊ฒƒ์„ ์žŠ๊ฒŒ ๋˜๋Š” ๋„๊ตฌ.
  • ๋‹จ์ : ๋‹ค์ค‘ ํŒŒ์ผ ๋ฆฌํŒฉํ† ๋ง์€ ํŒŒ์ผ๋ณ„๋กœ ์ฑ„ํŒ…์„ ์•ˆ๋‚ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์žฅ์‹œ๊ฐ„ ์ž์œจ ์ž‘์—…์€ ๊ธฐ๋ณธ ๋ชจ๋“œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค โ€” Agent ๋ชจ๋“œ๊ฐ€ ๊ฐœ์„ ๋˜๊ณ  ์žˆ์ง€๋งŒ ํ”„๋กœ์ ํŠธ์˜ ์ค‘์‹ฌ์€ ์•„๋‹™๋‹ˆ๋‹ค.

๐Ÿ’กTip: Continue.dev ์„ค์ •์—์„œ ๋‘ ๊ฐ€์ง€ ๋ชจ๋ธ์„ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค: ์†Œํ˜• ์ž๋™์™„์„ฑ ๋ชจ๋ธ(Q4_K_M์˜ Qwen3-Coder 1.5B๋Š” ~1.5 GB VRAM ํ•„์š”)๊ณผ ๋Œ€ํ˜• ์ฑ„ํŒ… ๋ชจ๋ธ(Q4_K_M์˜ Qwen3-Coder 30B, ~17 GB). ์ด๋ฅผ ๋ถ„๋ฆฌํ•˜๋ฉด ์ž๋™์™„์„ฑ ์ง€์—ฐ ์‹œ๊ฐ„์ด 200ms ๋ฏธ๋งŒ์œผ๋กœ ์œ ์ง€๋˜๋ฉด์„œ ์ฑ„ํŒ… ํŒจ๋„์ด ์‚ฌ์†Œํ•˜์ง€ ์•Š์€ ์งˆ๋ฌธ์— ์—ฌ์ „ํžˆ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

Cline: ์ž์œจ ์—์ด์ „ํŠธ์˜ ์„ ํƒ

Cline์€ ์ฝ”๋“œ๋ฅผ ์ผ๋ จ์˜ ํŽธ์ง‘์ด ์•„๋‹Œ ์—์ด์ „ํŠธ ์ž‘์—…์œผ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋ชฉํ‘œ๋ฅผ ์ œ์‹œํ•˜๋ฉด ๊ณ„ํšํ•˜๊ณ , ํŒŒ์ผ์„ ์ฝ๊ณ , ํŽธ์ง‘ํ•˜๊ณ , ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ฉฐ ๊ฐ ๋‹จ๊ณ„๋ฅผ ์Šน์ธํ•˜๋„๋ก ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

  • ์„ค์น˜ ๊ฒฝ๋กœ: VS Code Marketplace(JetBrains ๋ฒ„์ „ ์—†์Œ). ์„ค์ •์€ ํ™•์žฅ ํŒจ๋„ ๋‚ด GUI๋ฅผ ํ†ตํ•ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค โ€” ๊ณต๊ธ‰์ž, ๋ชจ๋ธ, ์ž๋™ ์Šน์ธ ์„ค์ •, ์ปค์Šคํ…€ ์ง€์นจ.
  • ์›Œํฌํ”Œ๋กœ์šฐ ์›์‹œ ์š”์†Œ: ๋ช…์‹œ์ ์ธ Plan ๋ฐ Act ๋ชจ๋“œ๋ฅผ ๊ฐ–์ถ˜ ์ž์œจ ์—์ด์ „ํŠธ ๋ฃจํ”„. Plan ๋ชจ๋“œ๋Š” ํŒŒ์ผ ์ž‘์„ฑ ์—†์ด ์ž‘์—…์„ ์ถ”๋ก ํ•˜๊ณ , Act ๋ชจ๋“œ๋Š” ๋„๊ตฌ ํ˜ธ์ถœ๋กœ ๊ณ„ํš์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ž๋™ ์Šน์ธ ํ—ˆ์šฉ ๋ชฉ๋ก์— ๋„๊ตฌ๋ฅผ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๋Š” ํ•œ ๋‹จ๊ณ„ ์‚ฌ์ด์— ์Šน์ธ ๊ฒŒ์ดํŠธ๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.
  • ๋กœ์ปฌ ๋ชจ๋ธ ์„ค์ •: ๋ชจ๋“  OpenAI ํ˜ธํ™˜ ์—”๋“œํฌ์ธํŠธ. Ollama๋Š” ์›ํด๋ฆญ์ž…๋‹ˆ๋‹ค. llama.cpp ๋˜๋Š” vLLM์˜ ๊ฒฝ์šฐ, Cline์„ OpenAI ํ˜ธํ™˜ ์„œ๋ฒ„ URL๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ ๋ฃจํ”„๋Š” ํ† ํฐ์„ ๋งŽ์ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค โ€” ์ตœ์†Œ 32K ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ์˜ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค(32K์—์„œ Qwen3-Coder 30B, 128K์—์„œ DeepSeek Coder V3).
  • ๋„๊ตฌ ํ‘œ๋ฉด: read_file, write_to_file, replace_in_file, execute_command, list_files, search_files, browser_action, ask_followup_question, attempt_completion. ์„ธํŠธ๋Š” ์ž‘๊ณ  ์ž˜ ๋ฌธ์„œํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋„๊ตฌ ์Šคํ‚ค๋งˆ๋Š” ๋ชจ๋ธ์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ถœ๋ ฅํ•ด์•ผ ํ•˜๋Š” ์ปค์Šคํ…€ XML ํ˜•์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ํŽธ์ง‘ ๋ชจ๋ธ: ์ˆ˜๋ฐฑ ์ค„์˜ ํŒŒ์ผ์˜ ๊ฒฝ์šฐ, Cline์ด ์ „์ฒด ํŒŒ์ผ์„ ์”๋‹ˆ๋‹ค. ๋” ํฐ ํŒŒ์ผ์˜ ๊ฒฝ์šฐ, ๋ช…์‹œ์ ์ธ ๊ฒ€์ƒ‰ ๋ฐ ๊ต์ฒด ๋ธ”๋ก์ด ์žˆ๋Š” replace_in_file ์ž‘์—…์„ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. ๊ฐ ์“ฐ๊ธฐ ์ „์— ํŒจ๋„์— diff๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
  • ์žฅ์ : ๋‹ค์ค‘ ํŒŒ์ผ ๋ฆฌํŒฉํ† ๋ง, "์ด ํ…Œ์ŠคํŠธ๊ฐ€ ์™œ ์‹คํŒจํ•ฉ๋‹ˆ๊นŒ?"๋ผ๋Š” ํƒ์ƒ‰์  ์ž‘์—…, "์„ธ ๊ณ„์ธต์— ๊ฑธ์ณ ๊ธฐ๋Šฅ ์ถ”๊ฐ€" ์›Œํฌํ”Œ๋กœ์šฐ. 5๊ฐœ ์ด์ƒ์˜ ํŒŒ์ผ ํŽธ์ง‘์ด ์žˆ๋Š” ์ž‘์—…์—์„œ ์„ธ ๊ฐ€์ง€ ์ค‘ ๊ฐ€์žฅ ๊ฐ•๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹จ์ : ํ† ํฐ ์†Œ๋น„๊ฐ€ ๋†’์Šต๋‹ˆ๋‹ค โ€” ๊ฐ ์ฝ๊ธฐ์—์„œ ์ „์ฒด ํŒŒ์ผ ๋‚ด์šฉ์ด ๋Œ€ํ™”์— ์ŠคํŠธ๋ฆฌ๋ฐ๋ฉ๋‹ˆ๋‹ค. ๊ธด ์„ธ์…˜์€ 32K ์ปจํ…์ŠคํŠธ ๋ชจ๋ธ์„ ์†Œ์ง„์‹œํ‚ต๋‹ˆ๋‹ค. ์†Œํ˜• ๋ชจ๋ธ(7B ํด๋ž˜์Šค)์˜ ๋„๊ตฌ ํ˜ธ์ถœ ์‹ ๋ขฐ์„ฑ์ด ํฌ๊ฒŒ ์ €ํ•˜๋ฉ๋‹ˆ๋‹ค โ€” ์ž˜๋ชป๋œ ํ˜•์‹์˜ XML์„ ๋ฐœ์ƒ์‹œํ‚ค๊ณ  ๋ฃจํ”„๊ฐ€ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ“ŒNote: Cline์˜ ์ž๋™ ์Šน์ธ ํ—ˆ์šฉ ๋ชฉ๋ก์€ ์œ ์šฉํ•œ ์—์ด์ „ํŠธ์™€ ์ง€๋ฃจํ•œ ์—์ด์ „ํŠธ์˜ ์ฐจ์ด์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ read_file, list_files, search_files๋ฅผ ํ—ˆ์šฉํ•˜๊ณ , ์ด ์ฝ”๋“œ๋ฒ ์ด์Šค๋กœ ๋ชจ๋ธ์„ ์‹ ๋ขฐํ•  ๋•Œ๊นŒ์ง€ write_to_file, replace_in_file, execute_command๋Š” ๊ฒŒ์ดํŠธ๋กœ ์œ ์ง€ํ•˜์‹ญ์‹œ์˜ค. ํ”„๋กœ์ ํŠธ๋ณ„๋กœ ์กฐ์ •ํ•˜์‹ญ์‹œ์˜ค.

Aider: Git ๋„ค์ดํ‹ฐ๋ธŒ์˜ ์„ ํƒ

Aider๋Š” ์„ธ ๊ฐ€์ง€ ์ค‘ ๋Œ€ํ™”๊ฐ€ ์•„๋‹Œ ์ €์žฅ์†Œ๋ฅผ ์ง„์‹ค์˜ ์›์ฒœ์œผ๋กœ ์ทจ๊ธ‰ํ•˜๋Š” ์œ ์ผํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ๊ฐ ํŽธ์ง‘์€ Git ์ปค๋ฐ‹์œผ๋กœ ์ •์ฐฉ๋ฉ๋‹ˆ๋‹ค. ์‹คํ–‰ ์ทจ์†Œ๋Š” git reset์ž…๋‹ˆ๋‹ค. ์ฑ„ํŒ… ๊ธฐ๋ก์€ ์ผํšŒ์šฉ์ด๋ฉฐ, ์ปค๋ฐ‹ ๋กœ๊ทธ๊ฐ€ ์•„ํ‹ฐํŒฉํŠธ์ž…๋‹ˆ๋‹ค.

  • ์„ค์น˜ ๊ฒฝ๋กœ: pip install aider-chat ๋˜๋Š” pipx install aider-chat. CLI ํ˜ธ์ถœ: aider file1.py file2.py(ํŒŒ์ผ์ด ๋Œ€ํ™” ๋ฒ”์œ„ ๋‚ด์— ์žˆ์Œ). .aider.conf.yml ๋ฐ ํ”Œ๋ž˜๊ทธ ์žฌ์ •์˜๋ฅผ ํ†ตํ•œ ์„ค์ •.
  • ์›Œํฌํ”Œ๋กœ์šฐ ์›์‹œ ์š”์†Œ: ํ„ฐ๋ฏธ๋„ ์ง€ํ–ฅ ๋Œ€ํ™”ํ˜• ํŽธ์ง‘. ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด Aider๊ฐ€ diff๋ฅผ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜๋ฝํ•˜๋ฉด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ปค๋ฐ‹๋ฉ๋‹ˆ๋‹ค. /add์™€ /drop์ด ๋ฒ”์œ„ ๋‚ด ํŒŒ์ผ์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. /undo๊ฐ€ ๋งˆ์ง€๋ง‰ ์ปค๋ฐ‹์„ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค. /diff๊ฐ€ HEAD์— ๋Œ€ํ•œ ์ตœ๊ทผ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
  • ๋กœ์ปฌ ๋ชจ๋ธ ์„ค์ •: LiteLLM์„ ํ†ตํ•ด ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๋ชจ๋ธ โ€” Ollama, OpenAI ํ˜ธํ™˜ ์„œ๋ฒ„(llama.cpp, vLLM, LM Studio) ๋˜๋Š” ๋ชจ๋ธ ๊ณต๊ธ‰์ž ์ง์ ‘. --model ollama_chat/qwen3-coder:30b๊ฐ€ ์ผ๋ฐ˜์ ์ธ ๋กœ์ปฌ ํ˜ธ์ถœ์ž…๋‹ˆ๋‹ค.
  • ์ฝ”๋“œ๋ฒ ์ด์Šค ์ปจํ…์ŠคํŠธ: tree-sitter ์ €์žฅ์†Œ ๋งต. Aider๊ฐ€ ์ •์˜(ํ•จ์ˆ˜, ํด๋ž˜์Šค, ๋ฉ”์„œ๋“œ)์— ๋Œ€ํ•œ ์ €์žฅ์†Œ๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๊ณ , ๋ฒ”์œ„ ๋‚ด ํŒŒ์ผ์— ๋Œ€ํ•œ ๊ทผ์ ‘์„ฑ์— ๋”ฐ๋ผ ์š”์•ฝํ•˜๋ฉฐ, ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ์— ์š”์•ฝ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๋งต์€ ์†Œํ˜• ์ €์žฅ์†Œ์˜ ๊ฒฝ์šฐ ์•ฝ 1Kโ€“4K ํ† ํฐ์— ๋งž์œผ๋ฉฐ, ๋Œ€ํ˜• ์ €์žฅ์†Œ์˜ ๊ฒฝ์šฐ ๋” ๋งŽ์Šต๋‹ˆ๋‹ค โ€” --map-tokens๊ฐ€ ์˜ˆ์‚ฐ์„ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค.
  • ํŽธ์ง‘ ๋ชจ๋ธ: ๋‘ ๊ฐ€์ง€ ์ „๋žต. "diff" ๋ชจ๋“œ๋Š” ๋ชจ๋ธ์ด ๋ฌธ์ž ๊ทธ๋Œ€๋กœ ์ƒ์„ฑํ•ด์•ผ ํ•˜๋Š” ๊ฒ€์ƒ‰ ๋ฐ ๊ต์ฒด ๋ธ”๋ก์„ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค โ€” ์ •๋ฐ€ํ•˜๊ณ  ํ† ํฐ์ด ์ ์ง€๋งŒ, ๋ชจ๋ธ์ด ๊ฒ€์ƒ‰ ๋ธ”๋ก์„ ๋ฐ”๊ฟ” ๋งํ•˜๋ฉด ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. "์ „์ฒด" ๋ชจ๋“œ๋Š” ์ „์ฒด ํŒŒ์ผ์„ ๋‹ค์‹œ ์”๋‹ˆ๋‹ค โ€” ์†Œํ˜• ํŒŒ์ผ์—์„œ๋Š” ๊ฒฌ๊ณ ํ•˜์ง€๋งŒ ๋Œ€ํ˜• ํŒŒ์ผ์—์„œ๋Š” ๋น„์šฉ์ด ๋งŽ์ด ๋“ญ๋‹ˆ๋‹ค. Aider๋Š” ์•Œ๋ ค์ง„ ๊ฐ•์ ๊ณผ ์ผ์น˜ํ•˜๋Š” ๋ชจ๋ธ๋ณ„ ๊ธฐ๋ณธ๊ฐ’์„ ์ž๋™์œผ๋กœ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  • ์žฅ์ : ์ปค๋ฐ‹ ๋กœ๊ทธ์— ๊ฐ ๋‹จ๊ณ„๋ฅผ ์›ํ•˜๋Š” ์ €์žฅ์†Œ ๊ทœ๋ชจ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ; ๋‚ด์žฅ๋œ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๊ฐ€ ์žˆ๋Š” ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ(๊ฐ ์ปค๋ฐ‹์ด ๋ณ„๊ฐœ์˜ ๊ฒ€ํ†  ๋‹จ์œ„); IDE ํ™•์žฅ์ด ์˜ต์…˜์ด ์•„๋‹Œ SSH ๋ฐ devcontainer ์›Œํฌํ”Œ๋กœ์šฐ.
  • ๋‹จ์ : ์ž๋™์™„์„ฑ ์—†์Œ. ๊ธฐ๋ณธ์ ์œผ๋กœ IDE ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์—†์Œ(VS Code ํ„ฐ๋ฏธ๋„ ํŒจ๋„์—์„œ ํŽธ์ง‘๊ธฐ ์˜†์—์„œ ์ž˜ ์ž‘๋™ํ•˜์ง€๋งŒ ํ†ตํ•ฉ๋˜์ง€ ์•Š์Œ). diff ํŽธ์ง‘ ํ˜•์‹์€ ๋ชจ๋ธ ์ถœ๋ ฅ ํ’ˆ์งˆ์— ๋ฏผ๊ฐํ•ฉ๋‹ˆ๋‹ค โ€” ๊ฒ€์ƒ‰ ๋ธ”๋ก์„ ์žฌํ˜„ํ•˜๋Š” ๋Œ€์‹  ๋ฐ”๊ฟ” ๋งํ•˜๋Š” ๋ชจ๋ธ์€ ํŽธ์ง‘์ด ์‹คํŒจํ•˜๊ณ  ํ„ฐ๋ฏธ๋„์—์„œ ์žฌ์‹œ๋„ ์‹œ๋„๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ’กTip: auto-commits: true(๊ธฐ๋ณธ๊ฐ’)๋ฅผ ์„ค์ •ํ•˜๊ณ  ๊ธฐ๋Šฅ ์™„๋ฃŒ ํ›„ git rebase -i๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Aider ์ปค๋ฐ‹์„ ์Šค์ฟผ์‹œํ•˜์‹ญ์‹œ์˜ค. ์ž‘์—… ์ค‘ ์ƒ์„ธ ์ปค๋ฐ‹์€ /undo์— ์œ ์šฉํ•˜๊ณ , ์ตœ์ข… ์Šค์ฟผ์‹œ๋œ ์ปค๋ฐ‹์€ ํŒ€์ด ๊ฒ€ํ† ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. Aider๊ฐ€ ์ •ํ™•ํžˆ ์ด ํŒจํ„ด์„ ๋ฌธ์„œํ™”ํ•ฉ๋‹ˆ๋‹ค.

ํŽธ์ง‘ ๋ชจ๋ธ: ๊ฐ ๋„๊ตฌ์˜ ์ฝ”๋“œ ์ž‘์„ฑ ๋ฐฉ์‹

ํŽธ์ง‘ ๋ชจ๋ธ์€ ๊ฐ ๋„๊ตฌ์˜ ๋А๋‚Œ์„ ๊ฒฐ์ •ํ•˜๋Š” ๊ฐ€์žฅ ํฐ ๋‹จ์ผ ์š”์ธ์ž…๋‹ˆ๋‹ค. ๋™์ผํ•œ ๋ชจ๋ธ, ๋™์ผํ•œ ์ž‘์—… โ€” ์„ธ ๊ฐ€์ง€ ๋งค์šฐ ๋‹ค๋ฅธ ์•„ํ‹ฐํŒฉํŠธ.

  • Continue.dev โ€” ์ž๋™์™„์„ฑ์˜ ๊ฒฝ์šฐ: ์ปค์„œ ์ฃผ๋ณ€์˜ FIM ํ† ํฐ์ด ์ธ๋ผ์ธ ์™„์„ฑ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ฑ„ํŒ… ๊ธฐ๋ฐ˜ ํŽธ์ง‘์˜ ๊ฒฝ์šฐ: ๋ชจ๋ธ์ด ๊ตฌ๋ถ„๋œ ์ฝ”๋“œ ๋ธ”๋ก์„ ๋ฐ˜ํ™˜ํ•˜๊ณ , "์ ์šฉ"์ด ์—ด๋ฆฐ ํŒŒ์ผ์— diff๋ฅผ ๋งŒ๋“ค์–ด ์ˆ˜๋ฝ/๊ฑฐ๋ถ€๋ฅผ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์„ ํƒ์— ๋Œ€ํ•œ Cmd/Ctrl+I๋ฅผ ํ†ตํ•œ ์ธ๋ผ์ธ ํŽธ์ง‘: ๋ชจ๋ธ์ด ์„ ํƒ ๋‚ด์šฉ์„ ๊ทธ ์ž๋ฆฌ์—์„œ ๋‹ค์‹œ ์”๋‹ˆ๋‹ค.
  • Cline โ€” ๊ฐ ํŽธ์ง‘์€ ๋„๊ตฌ ํ˜ธ์ถœ์ž…๋‹ˆ๋‹ค. ์ƒˆ ํŒŒ์ผ์ด๋‚˜ ์ „์ฒด ์žฌ์ž‘์„ฑ์˜ ๊ฒฝ์šฐ write_to_file, ๋ช…์‹œ์ ์ธ <<<<<<< SEARCH / >>>>>>> REPLACE ๋ธ”๋ก์ด ์žˆ๋Š” ์ •๋ฐ€ํ•œ ๋ณ€๊ฒฝ์˜ ๊ฒฝ์šฐ replace_in_file. ๋„๊ตฌ ํ˜ธ์ถœ์€ ์Šคํ‚ค๋งˆ์— ๋Œ€ํ•ด ๊ฒ€์ฆ๋ฉ๋‹ˆ๋‹ค. ์ž˜๋ชป๋œ ํ˜•์‹์€ ์—์ด์ „ํŠธ๊ฐ€ ๋ณด๊ณ  ์žฌ์‹œ๋„ํ•˜๋Š” "๋„๊ตฌ ์˜ค๋ฅ˜"๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋Œ€ํ™”๋Š” ์ž์œ  ํ˜•์‹ ์‚ฐ๋ฌธ์ด ์•„๋‹Œ ๊ตฌ์กฐํ™”๋œ ๋„๊ตฌ ํ˜ธ์ถœ๊ณผ ๋„๊ตฌ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค.
  • Aider โ€” CLI์—์„œ ๊ตฌ๋ฌธ ๋ถ„์„๋œ ์ผ๋ฐ˜ ์‚ฐ๋ฌธ์œผ๋กœ ๋ Œ๋”๋ง๋œ ๊ฒ€์ƒ‰ ๋ฐ ๊ต์ฒด diff ๋ธ”๋ก. ๋ชจ๋ธ์ด ํ†ตํ•ฉ diff ๋ธ”๋ก๊ณผ ์œ ์‚ฌํ•œ ๋‚ด์šฉ์„ ๋ฐœ์ƒ์‹œํ‚ค๊ณ , Aider๊ฐ€ ์ด๋ฅผ ์ ์šฉํ•˜๊ณ  ์ปค๋ฐ‹ํ•ฉ๋‹ˆ๋‹ค. SEARCH ๋ธ”๋ก์ด ํŒŒ์ผ๊ณผ ์ •ํ™•ํžˆ ์ผ์น˜ํ•˜์ง€ ์•Š์œผ๋ฉด ํŽธ์ง‘์ด ๊ฑฐ๋ถ€๋˜๊ณ  Aider๊ฐ€ ๋ชจ๋ธ์— ์žฌ์‹œ๋„๋ฅผ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.
  • 7B ํด๋ž˜์Šค ๋ชจ๋ธ์˜ ์‹ ๋ขฐ์„ฑ ์ˆœ์œ„: Continue.dev > Aider > Cline. Continue.dev์˜ "์ ์šฉ"์€ ๊ด€๋Œ€ํ•ฉ๋‹ˆ๋‹ค โ€” ์•ฝ๊ฐ„์˜ ๋ฐ”๊ฟ” ๋งํ•˜๊ธฐ๊ฐ€ diff ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ์˜ํ•ด ์กฐ์ •๋ฉ๋‹ˆ๋‹ค. Aider๋Š” ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๊ฒ€์ƒ‰ ๋ธ”๋ก์—์„œ ์™„์ „ํžˆ ๊ฑฐ๋ถ€ํ•˜์ง€๋งŒ ์‹คํŒจ๊ฐ€ ๋ช…ํ™•ํ•˜๊ณ  ๋ณต๊ตฌ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. Cline์˜ XML ๋„๊ตฌ ํ˜•์‹์€ ์†Œํ˜• ๋ชจ๋ธ์—์„œ ๊ฐ€์žฅ ์ทจ์•ฝํ•ฉ๋‹ˆ๋‹ค โ€” ์ž˜๋ชป๋œ ํ˜•์‹์˜ ๋„๊ตฌ ํ˜ธ์ถœ์€ ๋ฃจํ”„๋ฅผ ์ค‘๋‹จ์‹œํ‚ต๋‹ˆ๋‹ค.
  • 30B+ ๋„๊ตฌ ํ˜ธ์ถœ ๋ชจ๋ธ(Qwen3-Coder 30B, DeepSeek Coder V3)์˜ ์‹ ๋ขฐ์„ฑ ์ˆœ์œ„: ์„ธ ๊ฐ€์ง€๊ฐ€ ์ˆ˜๋ ดํ•ฉ๋‹ˆ๋‹ค โ€” ๋ชจ๋ธ์— ์ •๋ฐ€ํ•œ diff ๋ธ”๋ก๊ณผ ์˜ฌ๋ฐ”๋ฅธ ํ˜•์‹์˜ ๋„๊ตฌ ํ˜ธ์ถœ์„ ์ผ๊ด€๋˜๊ฒŒ ๋ฐœ์ƒ์‹œํ‚ฌ ๋Šฅ๋ ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด๋Ÿฌํ•œ ๋„๊ตฌ๋“ค์„ ๊ฐ์‹ธ๋Š” ๊ฒƒ๊ณผ ๋…๋ฆฝ์ ์œผ๋กœ ์ฝ”๋“œ ์ƒ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๊ตฌ์กฐํ™”๋œ ํ”„๋กฌํ”„ํŒ… ๊ธฐ๋ฒ•์— ๋Œ€ํ•ด์„œ๋Š” AI๋กœ ๋” ๋‚˜์€ ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.
๋„๊ตฌ๋ณ„ ํŽธ์ง‘ ๋ชจ๋ธ ์‹ ๋ขฐ์„ฑ: 7B ๋ชจ๋ธ์—์„œ Continue.dev๊ฐ€ ๊ฐ€์žฅ ๊ด€๋Œ€ํ•˜๊ณ , Aider๋Š” ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๋ธ”๋ก์„ ๊ฑฐ๋ถ€ํ•˜๋ฉฐ, Cline์€ ์ž˜๋ชป๋œ ํ˜•์‹์˜ XML๋กœ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค. 30B+ ์ฝ”๋“œ ๋ชจ๋ธ(Qwen3-Coder, DeepSeek Coder V3)์—์„œ๋Š” ์„ธ ๊ฐ€์ง€ ๋ชจ๋‘ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋„๊ตฌ๋ณ„ ํŽธ์ง‘ ๋ชจ๋ธ ์‹ ๋ขฐ์„ฑ: 7B ๋ชจ๋ธ์—์„œ Continue.dev๊ฐ€ ๊ฐ€์žฅ ๊ด€๋Œ€ํ•˜๊ณ , Aider๋Š” ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๋ธ”๋ก์„ ๊ฑฐ๋ถ€ํ•˜๋ฉฐ, Cline์€ ์ž˜๋ชป๋œ ํ˜•์‹์˜ XML๋กœ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค. 30B+ ์ฝ”๋“œ ๋ชจ๋ธ(Qwen3-Coder, DeepSeek Coder V3)์—์„œ๋Š” ์„ธ ๊ฐ€์ง€ ๋ชจ๋‘ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹คํ–‰ ์ทจ์†Œ, ๋˜๋Œ๋ฆฌ๊ธฐ, ๊ทธ๋ฆฌ๊ณ  "์—์ด์ „ํŠธ๊ฐ€ ๋ฐฉ๊ธˆ ๋ฌด์—‡์„ ํ–ˆ์Šต๋‹ˆ๊นŒ?"๋ผ๋Š” ์งˆ๋ฌธ

์‹คํ–‰ ์ทจ์†Œ๋Š” ํ•„์š”ํ•  ๋•Œ๋งŒ ์•Œ์•„์ฐจ๋ฆฌ๋Š” ํ™”๋ คํ•˜์ง€ ์•Š์€ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์„ธ ๋„๊ตฌ ๋ชจ๋‘ ๋ณต๊ตฌ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ฐจ์ด์ ์€ "์ด๊ฒƒ์€ ์‹ค์ˆ˜์˜€๋‹ค"์™€ "์‹ค์ˆ˜๊ฐ€ ์‚ฌ๋ผ์กŒ๋‹ค" ์‚ฌ์ด์˜ ๋งˆ์ฐฐ์ด ์–ผ๋งˆ๋‚˜ ๋งŽ์€์ง€์— ์žˆ์Šต๋‹ˆ๋‹ค.

  • Continue.dev โ€” ์ ์šฉ๋œ ํŽธ์ง‘์€ VS Code ์‹คํ–‰ ์ทจ์†Œ ์Šคํƒ์— ํ•ฉ๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค. Cmd/Ctrl+Z๋Š” ํŒŒ์ผ๋ณ„๋กœ ๊ฐ€์žฅ ์ตœ๊ทผ์˜ ์ ์šฉ์„ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ํŒŒ์ผ์„ ๋˜๋Œ๋ฆฌ๋ ค๋ฉด ๊ธฐ์กด Git ์›Œํฌํ”Œ๋กœ์šฐ๊ฐ€ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. "์ด ์ „์ฒด ๋Œ€ํ™”๋ฅผ ์‹คํ–‰ ์ทจ์†Œ"๋ผ๋Š” ๋„๊ตฌ ์ˆ˜์ค€ ๋ช…๋ น์€ ์—†์Šต๋‹ˆ๋‹ค.
  • Cline โ€” ์—์ด์ „ํŠธ UI๊ฐ€ ๊ฐ ๋‹จ๊ณ„๋ฅผ ์นด๋“œ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ํŽธ์ง‘๋ณ„ ๋˜๋Œ๋ฆฌ๊ธฐ๋Š” ํ•œ ๋ฒˆ์˜ ํด๋ฆญ์ž…๋‹ˆ๋‹ค. ์นด๋“œ๋Š” ์ž‘์—… ๊ธฐ๊ฐ„ ๋™์•ˆ ์ง€์†๋ฉ๋‹ˆ๋‹ค. ์ž‘์—… ์™„๋ฃŒ ํ›„ ๋˜๋Œ๋ฆฌ๊ธฐ๋Š” Git์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค โ€” Cline์ด ์ž๋™์œผ๋กœ ์ปค๋ฐ‹ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๊ธด ์„ธ์…˜ ํ›„์— ์ปค๋ฐ‹๋˜์ง€ ์•Š์€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์Œ“์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Aider โ€” /undo๊ฐ€ ๊ฐ€์žฅ ์ตœ๊ทผ ์ปค๋ฐ‹์„ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค. ๋” ์ด์ „์œผ๋กœ ๋Œ์•„๊ฐ€๋ ค๋ฉด ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ํŽธ์ง‘์ด ๋ณ„๊ฐœ์˜ ์ปค๋ฐ‹์ด๋ฏ€๋กœ ์„ธ๋ถ„์„ฑ์ด ๋‹จ๊ณ„๋ณ„๋กœ ๋Œ€ํ™”์™€ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค. git reflog๊ฐ€ /undo๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋Š” ๋ชจ๋“  ๊ฒƒ์„ ๋ณต๊ตฌํ•ฉ๋‹ˆ๋‹ค.
  • ์‹ค์šฉ์  ์‹œ์‚ฌ์ : ๊ฐ๋… ์—†์ด 20๋ถ„ ๋™์•ˆ ์—์ด์ „ํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๋‹ค๋ฉด, Aider๊ฐ€ ์ดํ›„์— ๊ฐ€์žฅ ๊ฒ€ํ†  ๊ฐ€๋Šฅํ•œ ์•„ํ‹ฐํŒฉํŠธ(๊น”๋”ํ•œ ์ปค๋ฐ‹ ๋กœ๊ทธ)๋ฅผ ์ œ๊ณตํ•˜๊ณ , Cline์ด ์ง„ํ–‰ ์ค‘์ธ ๊ฐ€์žฅ ์ฝ๊ธฐ ์‰ฌ์šด ๊ฐ์‚ฌ ์ถ”์ (๋‹จ๊ณ„๋ณ„ ์นด๋“œ, ์ปค๋ฐ‹ ์—†์Œ)์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Continue.dev๋Š” ์ „์ฒด ์‹œ๊ฐ„ ๋™์•ˆ ํ‚ค๋ณด๋“œ์— ์•‰์•„ ์žˆ์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’กTip: Cline ์„ธ์…˜์˜ ๊ฒฝ์šฐ, ์‚ฌ์†Œํ•˜์ง€ ์•Š์€ ์ž‘์—…์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— git stash๋ฅผ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค. ์—์ด์ „ํŠธ๊ฐ€ ์ž˜๋ชป๋œ ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐ€๋ฉด, git stash drop์ด ํŒŒ์ผ๋ณ„๋กœ ๋˜๋Œ๋ฆฌ๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๋น ๋ฅด๊ฒŒ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค. Aider์˜ ๊ฒฝ์šฐ, ๊ธฐ์กด ์ปค๋ฐ‹ ๋กœ๊ทธ๊ฐ€ ์•ˆ์ „๋ง์ด๋ฏ€๋กœ ์ถ”๊ฐ€ ์ž‘์—…์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ ์ „๋žต: ํ† ํฐ์ด ์–ด๋””๋กœ ๊ฐ€๋Š”๊ฐ€

์„ธ ๋„๊ตฌ ๋ชจ๋‘ ํ† ํฐ์„ ๋‹ค๋ฅด๊ฒŒ ์†Œ๋น„ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋” ์ž‘์€ ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ(32K ์ดํ•˜)์˜ ๋ชจ๋ธ๊ณผ ์‚ฌ์†Œํ•˜์ง€ ์•Š์€ ์ €์žฅ์†Œ๋ฅผ ๊ฐ–๊ณ  ์žˆ์„ ๋•Œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์˜ˆ์‚ฐ ๊ฒฐ์ •์ž…๋‹ˆ๋‹ค.

  • Continue.dev โ€” ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ TF-IDF ๋ฐ ์ž„๋ฒ ๋”ฉ ์ธ๋ฑ์Šค. ๊ฒ€์ƒ‰์€ ์˜จ๋””๋งจ๋“œ์ž…๋‹ˆ๋‹ค: ํ˜„์žฌ ์ฑ„ํŒ… ๋ฉ”์‹œ์ง€์™€ ๊ด€๋ จ๋œ ์Šค๋‹ˆํŽซ๋งŒ ํ”„๋กฌํ”„ํŠธ์— ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. @codebase๊ฐ€ ์˜๋ฏธ๋ก ์  ๊ฒ€์ƒ‰์„ ํŠธ๋ฆฌ๊ฑฐํ•˜๊ณ , @file path/to/x.ts๊ฐ€ ํŒŒ์ผ์„ ๋ฌธ์ž ๊ทธ๋Œ€๋กœ ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค. ํ† ํฐ ์‚ฌ์šฉ์€ ๊ณ ์ •ํ•œ ๋‚ด์šฉ์— ๋”ฐ๋ผ ํ™•์žฅ๋˜๋ฉฐ, ์ €์žฅ์†Œ ํฌ๊ธฐ์— ๋”ฐ๋ผ ํ™•์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Cline โ€” ๊ฐ ์ฝ๊ธฐ์—์„œ ํŒŒ์ผ ์ „์ฒด ๋‚ด์šฉ์ด ๋Œ€ํ™”์— ์ŠคํŠธ๋ฆฌ๋ฐ๋ฉ๋‹ˆ๋‹ค. 500์ค„ ํŒŒ์ผ์€ ~3Kโ€“5K ํ† ํฐ์„ ์†Œ๋น„ํ•ฉ๋‹ˆ๋‹ค. 8๊ฐœ ํŒŒ์ผ์— ๊ฑธ์นœ ์—์ด์ „ํŠธ ์ž‘์—…์€ ์ถ”๋ก ์ด ์ผ์–ด๋‚˜๊ธฐ ์ „์— 25Kโ€“40K ํ† ํฐ์„ ์†Œ๋น„ํ•ฉ๋‹ˆ๋‹ค. ๊ถŒ์žฅ ์ตœ์†Œ๊ฐ’: 32K ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ; 128K๊ฐ€ ํŽธ์•ˆํ•ฉ๋‹ˆ๋‹ค.
  • Aider โ€” tree-sitter ์ €์žฅ์†Œ ๋งต(๊ธฐ๋ณธ๊ฐ’ ~2K ํ† ํฐ, --map-tokens๋กœ ์„ค์ • ๊ฐ€๋Šฅ)๊ณผ /add๋กœ ๋ช…์‹œ์ ์œผ๋กœ ์ถ”๊ฐ€๋œ ํŒŒ์ผ์˜ ๋‚ด์šฉ. ๋งต์€ ์ „์ฒด ์ฝ”๋“œ๊ฐ€ ์•„๋‹Œ ์ •์˜๋งŒ์˜ ์š”์•ฝ์ด๋ฏ€๋กœ ํŒŒ์ผ์„ ์ŠคํŠธ๋ฆฌ๋ฐํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์ €์žฅ์†Œ ํฌ๊ธฐ์— ํ›จ์”ฌ ์ž˜ ํ™•์žฅ๋ฉ๋‹ˆ๋‹ค. ๋ฒ”์œ„ ๋ฐ–์˜ ํŒŒ์ผ์€ /dropํ•˜์‹ญ์‹œ์˜ค.
  • 32K ์ปจํ…์ŠคํŠธ ๋ชจ๋ธ์˜ ์‹ค์šฉ์  ์‹œ์‚ฌ์ : Continue.dev์™€ Aider๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์ €์žฅ์†Œ์—์„œ ํŽธ์•ˆํ•ฉ๋‹ˆ๋‹ค. Cline์€ 128K ์ปจํ…์ŠคํŠธ ๋ชจ๋ธ๋กœ ์ „ํ™˜ํ•˜์ง€ ์•Š์œผ๋ฉด 5โ€“6๊ฐœ ์ด์ƒ์˜ ํŒŒ์ผ์— ๊ฑธ์นœ ์ž‘์—…์—์„œ ์ปจํ…์ŠคํŠธ ์••๋ฐ•์„ ๋ฐ›๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  • 128K ์ปจํ…์ŠคํŠธ ๋ชจ๋ธ์˜ ์‹ค์šฉ์  ์‹œ์‚ฌ์ : ์„ธ ๊ฐ€์ง€ ๋ชจ๋‘ ํŽธ์•ˆํ•ฉ๋‹ˆ๋‹ค. Cline์˜ ๋†’์€ ์†Œ๋น„๊ฐ€ ๋” ์ด์ƒ ์ค‘์š”ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ๊ฒฐ์ • ์š”์ธ์€ ๋‹ค์‹œ ์›Œํฌํ”Œ๋กœ์šฐ ์›์‹œ ์š”์†Œ๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค.
  • ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ์™€ ๋ชจ๋ธ์ด ์ปจํ…์ŠคํŠธ ์ค‘๊ฐ„์—์„œ ์ •๋ณด๋ฅผ ์žƒ๋Š” ์ด์œ ์— ๋Œ€ํ•œ ๋” ๊นŠ์€ ์„ค๋ช…์€ ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ ์„ค๋ช…: AI๊ฐ€ ์žŠ์–ด๋ฒ„๋ฆฌ๋Š” ์ด์œ ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.
์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ ์ „๋žต: Continue.dev๋Š” ์˜จ๋””๋งจ๋“œ ์ธ๋ฑ์Šค ๊ฒ€์ƒ‰ ์‚ฌ์šฉ(์ตœ์†Œ 32K), Cline์€ ์ „์ฒด ํŒŒ์ผ ์ŠคํŠธ๋ฆฌ๋ฐ(๋‹ค์ค‘ ํŒŒ์ผ ์ž‘์—…์— 128K ๊ถŒ์žฅ), Aider๋Š” tree-sitter ์ €์žฅ์†Œ ๋งต๊ณผ ๋ช…์‹œ์  /add ์‚ฌ์šฉ(์ตœ์†Œ 32K).
์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ ์ „๋žต: Continue.dev๋Š” ์˜จ๋””๋งจ๋“œ ์ธ๋ฑ์Šค ๊ฒ€์ƒ‰ ์‚ฌ์šฉ(์ตœ์†Œ 32K), Cline์€ ์ „์ฒด ํŒŒ์ผ ์ŠคํŠธ๋ฆฌ๋ฐ(๋‹ค์ค‘ ํŒŒ์ผ ์ž‘์—…์— 128K ๊ถŒ์žฅ), Aider๋Š” tree-sitter ์ €์žฅ์†Œ ๋งต๊ณผ ๋ช…์‹œ์  /add ์‚ฌ์šฉ(์ตœ์†Œ 32K).

๋„๊ตฌ ํ˜ธ์ถœ ์‹ ๋ขฐ์„ฑ์€ ๋ชจ๋ธ์˜ ์†์„ฑ์ž…๋‹ˆ๋‹ค

๋„๊ตฌ ํ˜ธ์ถœ ์‹คํŒจ๋Š” ์ข…์ข… ์ž˜๋ชป๋œ ๋ฐฉํ–ฅ์œผ๋กœ ๋„๊ตฌ์— ๊ท€์ธ๋ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ๋ชจ๋ธ์ด ์ž˜๋ชป๋œ ํ˜•์‹์˜ ํ˜ธ์ถœ์„ ๋ฐœ์ƒ์‹œํ‚ค๊ณ , ๋„๊ตฌ๊ฐ€ ์—„๊ฒฉํ•˜๊ฒŒ ๊ฒ€์ฆํ•˜๋ฉฐ, ๋ฃจํ”„๊ฐ€ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋„๊ตฌ์˜ ๋™์ผํ•œ ๋ชจ๋ธ์€ ๋™์ผํ•œ ์‹คํŒจ ๋ชจ๋“œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  • ์ด๋Ÿฌํ•œ ๋„๊ตฌ๋“ค์— ๋Œ€ํ•ด ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ ํ˜ธ์ถœ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ชจ๋ธ(2026๋…„ 5์›”): Qwen3-Coder 30B(Cline์˜ XML ํ˜•์‹์—์„œ ์ตœ๊ณ ), DeepSeek Coder V3(๋„“์€ ์ปจํ…์ŠคํŠธ, ๋‹ค๋‹จ๊ณ„ ๊ณ„ํš์—์„œ ๊ฐ•๋ ฅ), Llama 3.3 70B(๋А๋ฆฌ์ง€๋งŒ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ์Œ), Codestral 22B(๋น ๋ฅด์ง€๋งŒ ๊ณ„ํš ์ง€ํ‰์ด ์งง์Œ).
  • ์–ด๋ ค์›€์„ ๊ฒช๋Š” ๋ชจ๋ธ: 7B ๋ฏธ๋งŒ์˜ ๋ชจ๋“  ๊ฒƒ, ์ฝ”๋“œ ๋ฏธ์„ธ ์กฐ์ • ์—†๋Š” 13B ๋ฏธ๋งŒ์˜ ๋Œ€๋ถ€๋ถ„์˜ ๋ฒ”์šฉ ๋ชจ๋ธ, ํ•˜๋‹จ์—์„œ Q4_K_M๋ณด๋‹ค ์—„๊ฒฉํ•œ ์–‘์žํ™”. ์ฆ์ƒ: Cline์—์„œ์˜ ์ž˜๋ชป๋œ ํ˜•์‹์˜ XML, Aider์—์„œ์˜ ๋ฐ”๊ฟ” ๋งํ•ด์ง„ SEARCH ๋ธ”๋ก, Continue.dev์—์„œ์˜ ์—ด๋ฆฐ ํŒŒ์ผ๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๊ตฌ๋ถ„๋œ ์ฝ”๋“œ.
  • ํ•ด๊ฒฐ์ฑ…์€ ๊ฑฐ์˜ "๋„๊ตฌ ๋ณ€๊ฒฝ"์ด ์•„๋‹™๋‹ˆ๋‹ค. "๋ชจ๋ธ ๋ณ€๊ฒฝ" ๋˜๋Š” "์–‘์žํ™” ํ–ฅ์ƒ"์ž…๋‹ˆ๋‹ค. Q4_K_M์˜ Qwen3-Coder 30B๋Š” ์„ธ ๋„๊ตฌ ๋ชจ๋‘์—์„œ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„๊ตฌ ํ˜ธ์ถœ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. Q4์˜ Llama 3.2 7B๋Š” ์„ธ ๋„๊ตฌ ๋ชจ๋‘์—์„œ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.
  • Continue.dev์˜ Agent ๋ชจ๋“œ๋Š” ํ‘œ์ค€ OpenAI ๋„๊ตฌ ํ˜ธ์ถœ JSON์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ์— ๋งž๊ฒŒ ์กฐ์ •๋œ ๋Œ€๋ถ€๋ถ„์˜ ๋ชจ๋ธ์ด ์ž˜ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • Cline์˜ XML ํ˜•์‹์ด ๊ฐ€์žฅ ๊นŒ๋‹ค๋กญ์Šต๋‹ˆ๋‹ค โ€” ๋ชจ๋ธ์ด ์ •ํ™•ํ•œ XML ๊ตฌ์กฐ๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ํ˜•์‹์œผ๋กœ ํ›ˆ๋ จ๋œ ์ฝ”๋“œ ์กฐ์ • ๋ชจ๋ธ(Qwen3-Coder, DeepSeek Coder)์ด ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋ฒ”์šฉ ๋ชจ๋ธ์€ ์ข…์ข… ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Aider๋Š” ๋„๊ตฌ ํ˜ธ์ถœ์ด ์—†์Šต๋‹ˆ๋‹ค โ€” ์‚ฐ๋ฌธ์—์„œ ๊ฒ€์ƒ‰ ๋ฐ ๊ต์ฒด ๋ธ”๋ก์„ ๊ตฌ๋ฌธ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค. "์‹ ๋ขฐ์„ฑ" ์งˆ๋ฌธ์€ "๋ชจ๋ธ์ด SEARCH ๋ธ”๋ก์„ ๋ฌธ์ž ๊ทธ๋Œ€๋กœ ์žฌํ˜„ํ•ฉ๋‹ˆ๊นŒ?"๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. 22B ์ด์ƒ์˜ ๋Œ€๋ถ€๋ถ„์˜ ์ฝ”๋“œ ์กฐ์ • ๋ชจ๋ธ์ด ์ž˜ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“ŒNote: ์ƒˆ ๋กœ์ปฌ ๋ชจ๋ธ์„ ํ‰๊ฐ€ํ•  ๋•Œ, ์ผ๋ฐ˜์ ์ธ ๋„๊ตฌ ํ˜ธ์ถœ ๋ฒค์น˜๋งˆํฌ๊ฐ€ ์•„๋‹Œ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋„๊ตฌ์—์„œ ํ…Œ์ŠคํŠธํ•˜์‹ญ์‹œ์˜ค. ๊ด€๋ จ ์‹ ํ˜ธ๋Š” ์ผ์ƒ์ ์ธ ์›Œํฌํ”Œ๋กœ์šฐ๊ฐ€ ์ค‘๋‹จ๋˜๋Š”์ง€ ์—ฌ๋ถ€์ž…๋‹ˆ๋‹ค. ๊ณต๊ฐœ ๋„๊ตฌ ํ˜ธ์ถœ ๋ฒค์น˜๋งˆํฌ์—์„œ 85%๋ฅผ ์–ป๋Š” ๋ชจ๋ธ์ด Cline ํŠน์ • XML์„ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฐœ์ƒ์‹œํ‚ค์ง€ ์•Š์œผ๋ฉด Cline ์ž‘์—…์˜ ์ ˆ๋ฐ˜์„ ์‹คํŒจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

IDE ํ†ตํ•ฉ ๋ฐ ํŽธ์ง‘๊ธฐ ๋ฒ”์œ„

ํŽธ์ง‘๊ธฐ ๋ฒ”์œ„๋Š” ์„ธ ๋„๊ตฌ๊ฐ€ ๊ฐ€์žฅ ๋ˆˆ์— ๋„๊ฒŒ ๋‹ค๋ฅธ ๊ณณ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋Œ€๋ถ€๋ถ„์˜ ๋…์ž์—๊ฒŒ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์ฐจ์›์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ 10๋ถ„ ์•ˆ์— ํ…Œ์ŠคํŠธํ•˜๊ธฐ ๊ฐ€์žฅ ์‰ฌ์šด ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  • Continue.dev โ€” VS Code Marketplace ๋ฐ JetBrains Marketplace. JetBrains ๋นŒ๋“œ๋Š” ์‹ค์ œ์ด๋ฉฐ(IntelliJ, PyCharm, GoLand, WebStorm ๋“ฑ) ์ž๋™์™„์„ฑ๊ณผ ์ฑ„ํŒ…์— ๋Œ€ํ•ด VS Code ๋นŒ๋“œ์™€ ๊ธฐ๋Šฅ ๋™๋“ฑ์„ฑ์„ ๊ฐ–์Šต๋‹ˆ๋‹ค. Cursor ์‚ฌ์šฉ์ž๋Š” VS Code ํ™•์žฅ์„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋™์ž‘์ด VS Code์™€ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • Cline โ€” VS Code ํ™•์žฅ ์ „์šฉ. Cursor(VS Code ํฌํฌ)์—์„œ ์ž‘๋™ํ•˜์ง€๋งŒ ๊ณต์‹์ ์œผ๋กœ ํ…Œ์ŠคํŠธ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ํ™•์žฅ ํ‘œ๋ฉด์ด ๋™์ผํ•˜๊ณ  ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. JetBrains ์‚ฌ์šฉ์ž๋Š” ํ˜„์žฌ ์˜ต์…˜์ด ์—†์Šต๋‹ˆ๋‹ค.
  • Aider โ€” ํ„ฐ๋ฏธ๋„ ์ง€ํ–ฅ์œผ๋กœ, ํŽธ์ง‘๊ธฐ ์˜†์— ์œ„์น˜ํ•˜์—ฌ ๋ชจ๋“  ํŽธ์ง‘๊ธฐ์™€ ํ†ตํ•ฉ๋ฉ๋‹ˆ๋‹ค. VS Code: ํ†ตํ•ฉ ํ„ฐ๋ฏธ๋„์„ ์—ด๊ณ  Aider๋ฅผ ์‹คํ–‰ํ•˜๋ฉฐ Aider๊ฐ€ ์ปค๋ฐ‹ํ•˜๋Š” ๋™์•ˆ ํŽธ์ง‘๊ธฐ ํŒจ๋„์—์„œ ํŽธ์ง‘ํ•ฉ๋‹ˆ๋‹ค. JetBrains: JetBrains ํ„ฐ๋ฏธ๋„์˜ ๋™์ผํ•œ ํŒจํ„ด. Vim/Neovim: Aider ์ปค๋ฐ‹ ํ›„ ์žฌ๋กœ๋“œ๋ฅผ ์œ„ํ•œ :e!์™€ ๊ฒฐํ•ฉํ•˜๋ฉด ์ƒ์‚ฐ์ ์ธ ์›Œํฌํ”Œ๋กœ์šฐ์ž…๋‹ˆ๋‹ค. Cursor: VS Code์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.
  • JetBrains ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ ์‹ค์šฉ์  ์‹œ์‚ฌ์ : Continue.dev ๋˜๋Š” Aider๋งŒ์ด ์˜ต์…˜์ž…๋‹ˆ๋‹ค.
  • Vim/Neovim ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ ์‹ค์šฉ์  ์‹œ์‚ฌ์ : Aider๊ฐ€ ์ž์—ฐ์Šค๋Ÿฌ์šด ์„ ํƒ์ž…๋‹ˆ๋‹ค. Continue.dev๋Š” ๊ฐ€๋ณ€์ ์ธ ์„ฑ์ˆ™๋„๋ฅผ ๊ฐ€์ง„ ์ปค๋ฎค๋‹ˆํ‹ฐ Neovim ํ†ตํ•ฉ์ด ์žˆ์œผ๋ฉฐ, ๊ณต์‹ ํ‘œ๋ฉด์€ VS Code์™€ JetBrains์ž…๋‹ˆ๋‹ค.

์‚ฌ์šฉ ์‚ฌ๋ก€๋ณ„ ์›Œํฌํ”Œ๋กœ์šฐ ์ ํ•ฉ์„ฑ

๊ฐ€์žฅ ์œ ์šฉํ•œ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” "์˜ค๋Š˜ ์–ด๋–ค ์ข…๋ฅ˜์˜ ๋‚ ์„ ๋ณด๋‚ด๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?"์ž…๋‹ˆ๋‹ค. ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ์ด ์•„๋‹Œ ๋‚ ์— ๋งž๊ฒŒ ๋„๊ตฌ๋ฅผ ์กฐ์ •ํ•˜์‹ญ์‹œ์˜ค.

์‚ฌ์šฉ ์‚ฌ๋ก€์ตœ์„ ์˜ ์„ ํƒ์ด์œ 
์ž๋™์™„์„ฑ์œผ๋กœ ๊ธฐ์กด ํŒŒ์ผ์— ๊ธฐ๋Šฅ ์ถ”๊ฐ€Continue.devFIM ์ž๋™์™„์„ฑ์ด ์ž์—ฐ์Šค๋Ÿฌ์šด ์›์‹œ ์š”์†Œ์ด๋ฉฐ, ์ฑ„ํŒ…์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค
ํŽธ์ง‘๊ธฐ๋ฅผ ๋ฒ—์–ด๋‚˜์ง€ ์•Š๊ณ  "์ด ํ•จ์ˆ˜๋Š” ๋ฌด์—‡์„ ํ•ฉ๋‹ˆ๊นŒ?" ์งˆ๋ฌธํ•˜๊ธฐContinue.dev@file์„ ์‚ฌ์šฉํ•œ IDE ๋‚ด ์ฑ„ํŒ…์ด ๋งˆ์ฐฐ์ด ๊ฐ€์žฅ ์ ์€ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค
5๊ฐœ ์ด์ƒ์˜ ํŒŒ์ผ์— ๊ฑธ์ณ ํ•จ์ˆ˜ ๋ฆฌํŒฉํ† ๋งCline๋‹จ๊ณ„๋ณ„ ์Šน์ธ์„ ํฌํ•จํ•œ ๋„ค์ดํ‹ฐ๋ธŒ ๋‹ค์ค‘ ํŒŒ์ผ ํŽธ์ง‘
"์ด ํ…Œ์ŠคํŠธ๊ฐ€ ์™œ ์‹คํŒจํ•ฉ๋‹ˆ๊นŒ?" โ€” ํƒ์ƒ‰์  ๋ฒ„๊ทธ ์ถ”์ Cline์—์ด์ „ํŠธ ๋ฃจํ”„๊ฐ€ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ณ  ๋กœ๊ทธ๋ฅผ ์ฝ์œผ๋ฉฐ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค
๊ฒ€ํ†  ๊ฐ€๋Šฅํ•œ ์ปค๋ฐ‹์œผ๋กœ ์ €์žฅ์†Œ ๊ทœ๋ชจ์˜ ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋˜๋Š” API ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜Aider๊ฐ ํŽธ์ง‘์ด ์ปค๋ฐ‹์ด ๋ฉ๋‹ˆ๋‹ค. ๊ฒ€ํ†  ๋ฐ ์‹คํ–‰ ์ทจ์†Œ๊ฐ€ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค
SSH๋กœ ์„œ๋ฒ„์— ์ ‘์†ํ•˜์—ฌ IDE ์—†์ด ์ž‘์—…Aider์„ค๊ณ„์— ์˜ํ•ด ํ„ฐ๋ฏธ๋„ ์ „์šฉ
Vim ๋˜๋Š” Neovim์„ ์ฃผ ๋„๊ตฌ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์šฉ์žAiderํ„ฐ๋ฏธ๋„ ์ง€ํ–ฅ ํŽธ์ง‘๊ณผ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๊ฒฐํ•ฉ๋ฉ๋‹ˆ๋‹ค
JetBrains IDE(IntelliJ, GoLand, PyCharm) ์‚ฌ์šฉ์žContinue.dev ๋˜๋Š” AiderCline์€ VS Code ์ „์šฉ์ž…๋‹ˆ๋‹ค
์›Œํฌํ”Œ๋กœ์šฐ ์ ํ•ฉ์„ฑ: Continue.dev๋Š” IDE ์ž๋™์™„์„ฑ ๋ฐ ์งˆ๋ฌธ์šฉ, Cline์€ ๋ช…๋ น ์ ‘๊ทผ์„ ํฌํ•จํ•œ ๋‹ค์ค‘ ํŒŒ์ผ ๋ฆฌํŒฉํ† ๋ง๊ณผ ํƒ์ƒ‰์  ๋””๋ฒ„๊น…์šฉ, Aider๋Š” git ๋„ค์ดํ‹ฐ๋ธŒ ๋ณ€๊ฒฝ๊ณผ SSH ๋ฐ Vim/Neovim ์›Œํฌํ”Œ๋กœ์šฐ์šฉ.
์›Œํฌํ”Œ๋กœ์šฐ ์ ํ•ฉ์„ฑ: Continue.dev๋Š” IDE ์ž๋™์™„์„ฑ ๋ฐ ์งˆ๋ฌธ์šฉ, Cline์€ ๋ช…๋ น ์ ‘๊ทผ์„ ํฌํ•จํ•œ ๋‹ค์ค‘ ํŒŒ์ผ ๋ฆฌํŒฉํ† ๋ง๊ณผ ํƒ์ƒ‰์  ๋””๋ฒ„๊น…์šฉ, Aider๋Š” git ๋„ค์ดํ‹ฐ๋ธŒ ๋ณ€๊ฒฝ๊ณผ SSH ๋ฐ Vim/Neovim ์›Œํฌํ”Œ๋กœ์šฐ์šฉ.

์˜์‚ฌ๊ฒฐ์ • ํŠธ๋ฆฌ: ์–ด๋–ค ๊ฒƒ์„ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ

์ˆœ์„œ๋Œ€๋กœ ๋‹ค์„ฏ ๊ฐ€์ง€ ์งˆ๋ฌธ์ด ๋Œ€๋ถ€๋ถ„์˜ ๋…์ž๋ฅผ ์˜ฌ๋ฐ”๋ฅธ ์„ ํƒ์œผ๋กœ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค.

  • 1. JetBrains, Vim์— ์žˆ๊ฑฐ๋‚˜ SSH๋กœ ์ž‘์—…ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? โ†’ ๊ทธ๋ ‡๋‹ค๋ฉด Continue.dev(JetBrains ์ „์šฉ)์™€ Aider(Vim/SSH) ์‚ฌ์ด์— ์žˆ์Šต๋‹ˆ๋‹ค. Q4๋กœ ๊ฑด๋„ˆ๋›ฐ์‹ญ์‹œ์˜ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๊ณ„์†ํ•˜์‹ญ์‹œ์˜ค.
  • 2. ๋‹จ์ผ ์ž‘์—…์—์„œ ์—ฌ๋Ÿฌ ํŒŒ์ผ์„ ํŽธ์ง‘ํ•˜๋Š” ์ž์œจ ์—์ด์ „ํŠธ๋ฅผ ์›ํ•ฉ๋‹ˆ๊นŒ? โ†’ ์˜ˆ: Cline. ์•„๋‹ˆ์˜ค: ๊ณ„์†ํ•˜์‹ญ์‹œ์˜ค.
  • 3. IDE ํ†ตํ•ฉ ์ฑ„ํŒ… ํŒจ๋„๊ณผ ํ•จ๊ป˜ ์ž๋™์™„์„ฑ์„ ์›ํ•ฉ๋‹ˆ๊นŒ? โ†’ ์˜ˆ: Continue.dev. ์•„๋‹ˆ์˜ค: ๊ณ„์†ํ•˜์‹ญ์‹œ์˜ค.
  • **4. git diff๋กœ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฒ€ํ† ํ•˜๋ฉฐ ๊ฐ ํŽธ์ง‘์ด ์ž๋™์œผ๋กœ ์ปค๋ฐ‹๋˜๊ธฐ๋ฅผ ์›ํ•ฉ๋‹ˆ๊นŒ?** โ†’ ์˜ˆ: Aider. ์•„๋‹ˆ์˜ค: Continue.dev(๊ธฐ๋ณธ ์„ ํƒ).
  • 5. ์•„์ง ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ? โ†’ Continue.dev๋กœ ์‹œ์ž‘ํ•˜์‹ญ์‹œ์˜ค. ๋งˆ์ฐฐ์ด ๊ฐ€์žฅ ์ ์€ ์„ค์น˜์ด๋ฉฐ, ์ด๋ฏธ ์‚ฌ์šฉํ•˜๋Š” ํŽธ์ง‘๊ธฐ์—์„œ ์ž‘๋™ํ•˜๊ณ , ๋‚˜์ค‘์— ํ„ฐ๋ฏธ๋„ ์ง€ํ–ฅ ์ž‘์—…์„ ์œ„ํ•ด Aider๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. Cline์€ ์›Œํฌํ”Œ๋กœ์šฐ์— ์ถ”๊ฐ€ํ•˜๊ธฐ ๊ฐ€์žฅ ํŒŒ๊ดด์ ์ž…๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ ๋ฃจํ”„๋ฅผ ์›ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ๋•Œ๋งŒ ์ฑ„ํƒํ•˜์‹ญ์‹œ์˜ค.

๋กœ์ปฌ ์ฝ”๋”ฉ ๋„๊ตฌ ์„ ํƒ ์‹œ ์ผ๋ฐ˜์ ์ธ ์‹ค์ˆ˜

  • ์‹ค์ˆ˜ 1: ๋ชจ๋ธ๋ณด๋‹ค ๋„๊ตฌ๋ฅผ ๋จผ์ € ์„ ํƒํ•˜๊ธฐ. ์„ธ ๋„๊ตฌ ์ค‘ ์–ด๋А ๋„๊ตฌ์—์„œ๋“  30B ์ฝ”๋“œ ์กฐ์ • ๋ชจ๋ธ์ด "๋” ๋‚˜์€" ๋„๊ตฌ์˜ 7B ๋ฒ”์šฉ ๋ชจ๋ธ๋ณด๋‹ค ์„ฑ๋Šฅ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ์„ ๋จผ์ € ์„ ํƒํ•˜๊ณ , ๋„๊ตฌ๋Š” ๋‘ ๋ฒˆ์งธ ๊ฒฐ์ •์ž…๋‹ˆ๋‹ค.
  • ์‹ค์ˆ˜ 2: Continue.dev์—์„œ ์ž๋™์™„์„ฑ๊ณผ ์ฑ„ํŒ…์— ๋‹จ์ผ ๋ชจ๋ธ ์‚ฌ์šฉ. ์ž๋™์™„์„ฑ์€ 200ms ๋ฏธ๋งŒ์˜ ์ง€์—ฐ ์‹œ๊ฐ„์ด ํ•„์š”ํ•˜๊ณ , ์ฑ„ํŒ…์€ ๋ช‡ ์ดˆ๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋™์ผํ•œ ์„ค์ •์—์„œ ์†Œํ˜• ์ž๋™์™„์„ฑ ๋ชจ๋ธ๊ณผ ๋Œ€ํ˜• ์ฑ„ํŒ… ๋ชจ๋ธ์„ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค.
  • ์‹ค์ˆ˜ 3: Cline ์ž๋™ ์Šน์ธ์„ ์™„์ „ํžˆ ๊ฐœ๋ฐฉ. execute_command๊ฐ€ ์ž๋™ ์Šน์ธ๋œ ๋ชจ๋ธ ๋ฃจํ”„๋Š” ์‹ค์ œ ํ”ผํ•ด๋ฅผ ์•ผ๊ธฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ฝ”๋“œ๋ฒ ์ด์Šค๋กœ ๋ชจ๋ธ์„ ์‹ ๋ขฐํ•  ๋•Œ๊นŒ์ง€ ํŒŒ๊ดด์ ์ธ ๋„๊ตฌ๋ฅผ ๊ฒŒ์ดํŠธ๋กœ ์œ ์ง€ํ•˜์‹ญ์‹œ์˜ค.
  • ์‹ค์ˆ˜ 4: ์ฝ”๋“œ๋ฅผ ๋ฐ”๊ฟ” ๋งํ•˜๋Š” ๋ชจ๋ธ๊ณผ ํ•จ๊ป˜ Aider ์‚ฌ์šฉ. ๋ชจ๋ธ์ด SEARCH ๋ธ”๋ก์„ ๋ฌธ์ž ๊ทธ๋Œ€๋กœ ์žฌํ˜„ํ•  ์ˆ˜ ์—†์œผ๋ฉด ๋ชจ๋“  ํŽธ์ง‘์ด ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” diff ํŽธ์ง‘์„ ์œ„ํ•ด 22B ์ด์ƒ์˜ ์ฝ”๋“œ ์กฐ์ • ๋ชจ๋ธ(Qwen3-Coder, DeepSeek Coder, Codestral)์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.
  • ์‹ค์ˆ˜ 5: ๋ชจ๋ธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋„๊ตฌ ๋ณ€๊ฒฝ. Cline์—์„œ ๋„๊ตฌ ํ˜ธ์ถœ์ด ์‹คํŒจํ•˜๋ฉด ๊ฐ™์€ ์ด์œ ๋กœ Continue.dev์˜ Agent ๋ชจ๋“œ์—์„œ๋„ ์‹คํŒจํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค. ๋จผ์ € ๋ชจ๋ธ์„ ์ง„๋‹จํ•˜์‹ญ์‹œ์˜ค.
  • ์‹ค์ˆ˜ 6: ๋‹ค์ค‘ ํŒŒ์ผ ์ž‘์—…์—์„œ 32K ์ปจํ…์ŠคํŠธ ๋ชจ๋ธ์— ๋Œ€ํ•ด Cline ์‹คํ–‰. ํ† ํฐ ์†Œ๋น„๊ฐ€ ์ž‘์—… ์ค‘๊ฐ„์— ์˜ˆ์‚ฐ์„ ์†Œ์ง„์‹œํ‚ต๋‹ˆ๋‹ค. Cline์˜ ์‚ฌ์†Œํ•˜์ง€ ์•Š์€ ์ž‘์—…์—๋Š” 128K ์ปจํ…์ŠคํŠธ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

์ถœ์ฒ˜

  • Continue.dev ๋ฌธ์„œ โ€” ๊ณต์‹ ์„ค์ • ๊ฐ€์ด๋“œ, ๋ชจ๋ธ ์„ค์ •, @ ์ปจํ…์ŠคํŠธ ๊ณต๊ธ‰์ž ๋ฐ Agent ๋ชจ๋“œ ์ฐธ์กฐ.
  • Cline GitHub ์ €์žฅ์†Œ โ€” ์†Œ์Šค ์ฝ”๋“œ, ๋„๊ตฌ ์Šคํ‚ค๋งˆ, Plan/Act ๋ชจ๋“œ ๋™์ž‘ ๋ฐ ํ™•์žฅ ์•„ํ‚คํ…์ฒ˜.
  • Aider ๋ฌธ์„œ โ€” ๊ณต์‹ CLI ์ฐธ์กฐ, ํŽธ์ง‘ ํ˜•์‹ ๋ฌธ์„œ, ์ €์žฅ์†Œ ๋งต ๋ฉ”์ปค๋‹ˆ์ฆ˜ ๋ฐ ๋ชจ๋ธ๋ณ„ ๊ธฐ๋ณธ๊ฐ’.
  • Ollama ๋ชจ๋ธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ โ€” ๊ฐ ๋„๊ตฌ์— ๋Œ€ํ•ด ์ฐธ์กฐ๋œ ๋กœ์ปฌ ๋ชจ๋ธ๊ณผ ์–‘์žํ™” ์ˆ˜์ค€.
  • Qwen3-Coder ๋ชจ๋ธ ์นด๋“œ โ€” ๊ถŒ์žฅ ์ฝ”๋“œ ๋ชจ๋ธ์˜ ์•„ํ‚คํ…์ฒ˜, ์ง€์› ์ปจํ…์ŠคํŠธ ๊ธธ์ด ๋ฐ ๋„๊ตฌ ํ˜ธ์ถœ ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ.

FAQ

VS Code ์‚ฌ์šฉ์ž์—๊ฒŒ ์ตœ์„ ์˜ ์„ ํƒ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์„ธ ๊ฐ€์ง€ ๋ชจ๋‘ VS Code์—์„œ ์ž‘๋™ํ•˜์ง€๋งŒ Continue.dev์™€ Cline์ด ์ž์—ฐ์Šค๋Ÿฌ์šด ์„ ํƒ์ž…๋‹ˆ๋‹ค. ์ž๋™์™„์„ฑ ์šฐ์„  ๋ฐ IDE ํ†ตํ•ฉ ์ฑ„ํŒ…์—๋Š” Continue.dev, ์ž์œจ ์—์ด์ „ํŠธ ์ž‘์—…์—๋Š” Cline. Aider๋Š” VS Code ํ†ตํ•ฉ ํ„ฐ๋ฏธ๋„์—์„œ ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•˜์ง€๋งŒ ํŽธ์ง‘๊ธฐ ํ‘œ๋ฉด ์ž์ฒด์™€ ํ†ตํ•ฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค โ€” ์ธํ„ฐํŽ˜์ด์Šค๋Š” ํ„ฐ๋ฏธ๋„์ž…๋‹ˆ๋‹ค.

Cline์€ Cursor IDE์™€ ํ˜ธํ™˜๋ฉ๋‹ˆ๊นŒ?

Cursor๋Š” VS Code ํฌํฌ์ด๋ฉฐ VS Code ํ™•์žฅ์„ ์ˆ˜๋ฝํ•ฉ๋‹ˆ๋‹ค. Cline์ด Cursor์— ์„ค์น˜๋˜๊ณ  ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ํ™•์žฅ ํ‘œ๋ฉด์ด ๋™์ผํ•ฉ๋‹ˆ๋‹ค. Cline ํŒ€์€ ๊ณต์‹์ ์œผ๋กœ Cursor๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์—ฃ์ง€ ์ผ€์ด์Šค(Cursor ํŠน์ • API, ํ–ฅํ›„ Cursor ๋ณ€๊ฒฝ)๊ฐ€ ๋ณด์žฅ๋˜์ง€ ์•Š์ง€๋งŒ ์‹ค์ œ๋กœ ์‚ฌ์šฉ์ž๋“ค์ด ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Aider๋Š” Git ์—†์ด ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์˜ˆ, ํ•˜์ง€๋งŒ ์ด๋ฅผ ์ •์˜ํ•˜๋Š” ์›Œํฌํ”Œ๋กœ์šฐ ์›์‹œ ์š”์†Œ๋ฅผ ์žƒ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. Aider๋Š” --no-git์œผ๋กœ Git์ด ์—†๋Š” ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ํŽธ์ง‘์ด ์ ์šฉ๋˜์ง€๋งŒ ์ปค๋ฐ‹์ด ์—†์œผ๋ฏ€๋กœ /undo๊ฐ€ ๋น„ํ™œ์„ฑํ™”๋˜๊ณ  ๋˜๋Œ๋ฆฌ๊ธฐ๊ฐ€ ์„ธ์…˜ ๋‚ด ๋ชจ๋ธ์˜ diff ๊ธฐ๋ก์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์†Œํ•˜์ง€ ์•Š์€ ์ž‘์—…์˜ ๊ฒฝ์šฐ, ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— Git ์ €์žฅ์†Œ๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜์‹ญ์‹œ์˜ค โ€” ๋ฌด์‹œ๋œ ๊ฒƒ์ด๋ผ๋„.

๋‹ค์ค‘ ํŒŒ์ผ ๋ฆฌํŒฉํ† ๋ง์— ๊ฐ€์žฅ ์ข‹์€ ๊ฒƒ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์ž์œจ ๋‹ค์ค‘ ํŒŒ์ผ ์ž‘์—…์—๋Š” Cline โ€” ํŒŒ์ผ ๊ฐ„์— ๊ณ„ํšํ•˜๊ณ , ํ•„์š”์— ๋”ฐ๋ผ ์ฝ๊ณ , ๋‹จ๊ณ„๋ณ„ ์Šน์ธ์œผ๋กœ ํŽธ์ง‘ํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ์„ ๋ช…์‹œ์ ์œผ๋กœ ๋ช…๋ช…ํ•˜๊ณ  ๊ฐ ํŽธ์ง‘์ด ์ปค๋ฐ‹์œผ๋กœ ๋‚จ๊ธฐ๋ฅผ ์›ํ•˜๋Š” ๊ฒ€ํ†  ๊ฐ€๋Šฅํ•œ ๋‹ค์ค‘ ํŒŒ์ผ ์ž‘์—…์—๋Š” Aider. Continue.dev๋Š” ํŒŒ์ผ๋ณ„ ์ˆ˜๋™ ์•ˆ๋‚ด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์ค‘ ํŒŒ์ผ ๋ฆฌํŒฉํ† ๋ง์—์„œ ์„ธ ๊ฐ€์ง€ ์ค‘ ๊ฐ€์žฅ ์•ฝํ•ฉ๋‹ˆ๋‹ค.

๋กœ์ปฌ Ollama์™€ ์ฆ‰์‹œ ํ˜ธํ™˜๋ฉ๋‹ˆ๊นŒ?

์˜ˆ. Continue.dev์—๋Š” ์„ค์ • ๋ธ”๋ก์ด ์žˆ๋Š” ๋„ค์ดํ‹ฐ๋ธŒ Ollama ๊ณต๊ธ‰์ž๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. Cline์€ ๊ณต๊ธ‰์ž ๋“œ๋กญ๋‹ค์šด์— Ollama๋ฅผ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค. Aider๋Š” --model ollama_chat/<model-name>์œผ๋กœ LiteLLM์„ ํ†ตํ•ด Ollama๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. Ollama๋Š” ์„ธ ๊ฐ€์ง€ ๋ชจ๋‘์— ๋Œ€ํ•ด ๋งˆ์ฐฐ์ด ๊ฐ€์žฅ ์ ์€ ๋กœ์ปฌ ๋ฐฑ์—”๋“œ์ž…๋‹ˆ๋‹ค.

Qwen3-Coder์™€ ๊ฐ€์žฅ ์ž˜ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

Qwen3-Coder 30B๋Š” 2026๋…„ 5์›” ์„ธ ๋„๊ตฌ ๋ชจ๋‘์—์„œ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค โ€” Cline์˜ XML ๋„๊ตฌ ํ˜•์‹, Aider์˜ ๊ฒ€์ƒ‰ ๋ฐ ๊ต์ฒด ๋ธ”๋ก, Continue.dev์˜ ์ž๋™์™„์„ฑ + ์ฑ„ํŒ… ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ๋ˆˆ์— ๋„๋Š” ์ €ํ•˜ ์—†์ด ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์†Œํ˜• Qwen3-Coder ๋ณ€ํ˜•(7B ํด๋ž˜์Šค)์€ ๋„๊ตฌ ํ˜ธ์ถœ์„ ๋œ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ˆ˜ํ–‰ํ•˜๋ฉฐ Cline์˜ ์—์ด์ „ํŠธ ๋ฃจํ”„๋ณด๋‹ค Continue.dev์˜ ์ž๋™์™„์„ฑ ์ „์šฉ ๋ชจ๋“œ์—์„œ ๋” ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋„๊ตฌ๋“ค์„ Cursor์˜ ๋กœ์ปฌ ๋ชจ๋“œ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

Cursor์˜ ๋‚ด์žฅ ๊ธฐ๋Šฅ(Tab ์ž๋™์™„์„ฑ, Cmd+K)์€ ์ด๋Ÿฌํ•œ ๋„๊ตฌ๊ฐ€ ์•„๋‹Œ Cursor ์ž์ฒด์˜ ๋ชจ๋ธ ๋ผ์šฐํŒ…์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Cursor์—์„œ ๋กœ์ปฌ LLM์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด Cursor ๋‚ด์—์„œ VS Code ํ™•์žฅ์œผ๋กœ Continue.dev ๋˜๋Š” Cline์„ ์„ค์น˜ํ•˜์‹ญ์‹œ์˜ค โ€” ์ด๋“ค์€ Cursor์™€ ๋…๋ฆฝ์ ์ธ ์ž์ฒด ๊ณต๊ธ‰์ž ์„ค์ •์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. Aider๋Š” VS Code์—์„œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Cursor ํ†ตํ•ฉ ํ„ฐ๋ฏธ๋„์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๊ธด ์„ธ์…˜์— ๊ฐ€์žฅ ์•ˆ์ •์ ์ธ ๊ฒƒ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

Aider๋Š” ์†์ƒ๋  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค ๋‚ด ์ƒํƒœ๊ฐ€ ์—†์œผ๋ฏ€๋กœ โ€” ๊ฐ ํŽธ์ง‘์ด ์ปค๋ฐ‹์ด๊ณ , ์„ธ์…˜ ์‹คํŒจ๋Š” ์ž‘์—…์ด ์•„๋‹Œ ๋Œ€ํ™”๋งŒ ์žƒ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. Continue.dev๋Š” IDE์—์„œ ๊ธด ์„ธ์…˜ ๋™์•ˆ ์•ˆ์ •์ ์ž…๋‹ˆ๋‹ค. Cline์˜ ๊ธด ์„ธ์…˜์€ ์†Œํ˜• ๋ชจ๋ธ์—์„œ ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ ์••๋ฐ•์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€ํ˜• ๋ฆฌํŒฉํ† ๋ง ์‚ฌ์ด์— ์ž‘์—…์„ ์žฌ์‹œ์ž‘ํ•˜๋ฉด ๋ฌธ์ œ๋ฅผ ํ”ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ปค์Šคํ…€ ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๊นŒ?

์„ธ ๊ฐ€์ง€ ๋ชจ๋‘. Continue.dev: config.json์—์„œ ๋ชจ๋ธ๋ณ„ systemMessage. Cline: ํ™•์žฅ ์„ค์ •์˜ "์ปค์Šคํ…€ ์ง€์นจ" ํ•„๋“œ. Aider: --system-prompt ํ”Œ๋ž˜๊ทธ ๋˜๋Š” .aider.conf.yml์˜ ๋ชจ๋ธ๋ณ„ ๊ธฐ๋ณธ๊ฐ’. ์ปค์Šคํ…€ ํ”„๋กฌํ”„ํŠธ๋Š” ํŠนํžˆ Cline(Plan ๋ชจ๋“œ ๋™์ž‘ ์•ˆ๋‚ด)๊ณผ Aider(์ปค๋ฐ‹ ๊ฐ„ ์ผ๊ด€๋œ ์ฝ”๋“œ ์Šคํƒ€์ผ ์ ์šฉ)์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋กœ์ปฌ ์ฝ”๋“œ ์—์ด์ „ํŠธ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ DevOps ๋˜๋Š” ํ”Œ๋žซํผ ํŒ€์ด ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ์— ๋Œ€ํ•ด ๊ณ ๋ คํ•ด์•ผ ํ•  ์‚ฌํ•ญ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋กœ์ปฌ LLM์ด ์ฒ˜๋ฆฌํ•˜๋Š” ์ฝ”๋“œ ๋˜๋Š” ๋กœ๊ทธ์— EU ๋˜๋Š” ๊ธฐํƒ€ ์ง€์—ญ ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ์ง€์—ญ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ๊ทœ์ •์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ LLM ์ž์ฒด(Ollama, llama.cpp)๋Š” ๊ฐœ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š์ง€๋งŒ, ์ธ๋ฑ์‹ฑํ•˜๋Š” ์ฝ”๋“œ ๋””๋ ‰ํ† ๋ฆฌ์™€ ๋กœ๊ทธ์—๋Š” ๋ฏผ๊ฐํ•œ ์ •๋ณด๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์™ธ๋ถ€ API ์ ‘๊ทผ ์—†์ด ํšŒ์‚ฌ ์ธํ”„๋ผ์— ๋ชจ๋ธ์ด ๋ฐฐํฌ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ๊ทœ์ œ ๋ถ„์•ผ์—์„œ ํ”„๋กœ๋•์…˜ ๋ฐฐํฌ ์ „์— ์ปดํ”Œ๋ผ์ด์–ธ์Šค ํŒ€๊ณผ ์ƒ๋‹ดํ•˜์‹ญ์‹œ์˜ค.

ํ•œ๊ตญ ์ค‘์†Œ๊ธฐ์—…์— ๊ฐ€์žฅ ์ข‹์€ ์„ ํƒ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

Aider๋Š” ์ค‘์†Œ๊ธฐ์—…์— ์ตœ๊ณ ์˜ ๋น„์šฉ ๋Œ€๋น„ ๊ฐ€์น˜๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค: IDE ๋ผ์ด์„ ์Šค ์˜์กด์„ฑ ์—†์Œ, ์™„์ „ํžˆ ํ„ฐ๋ฏธ๋„ ๊ธฐ๋ฐ˜(๊ธฐ์กด ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์— ๋งž์Œ), ์ตœ์†Œ ํ•˜๋“œ์›จ์–ด ์š”๊ตฌ์‚ฌํ•ญ(32K ์ปจํ…์ŠคํŠธ ๋ชจ๋ธ์—์„œ ์ž‘๋™), ๊ทธ๋ฆฌ๊ณ  ์™„์ „ํ•œ ๊ฐ์‚ฌ ์ถ”์ ์ด Git ๋กœ๊ทธ์— ์žˆ์Šต๋‹ˆ๋‹ค(์ปดํ”Œ๋ผ์ด์–ธ์Šค์™€ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๊ฐ„์†Œํ™”). VS Code/JetBrains์— ํฌ๊ฒŒ ํˆฌ์žํ•œ ํŒ€์—๋Š” Continue.dev๊ฐ€ ๋‘ ๋ฒˆ์งธ ์„ ํƒ์ž…๋‹ˆ๋‹ค. Cline์€ ํ† ํฐ ์†Œ๋น„ ๋น„์šฉ์ด ๋†’๊ณ  ๋” ๋†’์€ ํ•˜๋“œ์›จ์–ด๊ฐ€ ํ•„์š”ํ•˜์ง€๋งŒ ์ง‘์•ฝ์ ์ธ ๋ฆฌํŒฉํ† ๋ง ์• ์ž์ผ ์›Œํฌํ”Œ๋กœ์šฐ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์ค‘์†Œ๊ธฐ์—…์€ ๋กœ์ปฌ ๋ชจ๋ธ์„ ์˜จํ”„๋ ˆ๋ฏธ์Šค์— ๋ฐฐํฌํ•˜์—ฌ ๋น„์šฉ์„ ์ ˆ์•ฝํ•ฉ๋‹ˆ๋‹ค โ€” ๋„๊ตฌ ์„ ํƒ์€ ํ•˜์ดํ”„๊ฐ€ ์•„๋‹Œ ๊ธฐ์กด ์ธํ”„๋ผ์™€ ๊ฐœ๋ฐœ์ž ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ๋”ฐ๋ผ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

โ† ๊ณ ๊ธ‰ ๋กœ์ปฌ LLM์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ

Continue.dev vs Cline vs Aider: ๋กœ์ปฌ ์ฝ”๋“œ ์—์ด์ „ํŠธ 2026