๐ Part 2. AI Coding Agent ์ฌํ: ์๋ฆฌ ๋ฐ ํ์ฉ ์ ๋ต
LLM์ ๊ธฐ๋ณธ์ ์ผ๋ก "๋ค์์ ์ฌ ๋จ์ด(Token)๋ฅผ ํ๋ฅ ์ ์ผ๋ก ์์ธก"ํ๋ ๋ฐฉ์์ผ๋ก ๋์ํฉ๋๋ค.
- ํ๋ก์ธ์ค:
Input Prompt + ์ด์ Output Token โ Next Token ์์ธก
- ํน์ง:
- ํ๋ฅ ๊ธฐ๋ฐ: ์ ํด์ง ๋ต์ ๋ด๋๋ ๊ฒ์ด ์๋๋ผ, ํ์ต๋ ๋ฐ์ดํฐ ๋ถํฌ์ ๋ฐ๋ผ ๊ฐ์ฅ ๊ทธ๋ด๋ฏํ(Probable) ๋จ์ด๋ฅผ ์ ํํฉ๋๋ค.
- ํ๋ผ๋ฏธํฐ(Temperature): ์ด ๊ฐ์ ๋์ด๋ฉด ๋ ๋ค์ํ(Variation) ๋จ์ด๋ฅผ ์ ํํ์ฌ ์ฐฝ์์ฑ์ด ๋์์ง์ง๋ง, ๋ฎ์ถ๋ฉด ๊ฐ์ฅ ํ๋ฅ ์ด ๋์ ๋จ์ด๋ง ์ ํํ์ฌ ์ผ๊ด์ฑ์ด ๋์์ง๋๋ค.
5.2 Hallucination (ํ๊ฐ ํ์)๊ณผ ์ฝ๋ ํ์ง
- ์์ธ: LLM์ ์ธํฐ๋ท์์ ๋ฐฉ๋ํ ์คํ ์์ค ์ฝ๋๋ฅผ ํ์ตํ์ต๋๋ค. ์ฌ๊ธฐ์๋ ๊ณ ํ์ง ์ฝ๋๋ฟ๋ง ์๋๋ผ ๋ฒ๊ทธ๊ฐ ๋ง๊ฑฐ๋ ๋นํจ์จ์ ์ธ ์ฝ๋(ํ๋ฒํ ํ๋ฆฌํฐ)๋ ํฌํจ๋์ด ์์ต๋๋ค.
- ๊ฒฐ๊ณผ: "Garbage In, Garbage Out". ์
๋ ฅ์ด ๋ชจํธํ๊ฑฐ๋ ํ์ต ๋ฐ์ดํฐ๊ฐ ํ๋ฒํ๋ฉด, AI๊ฐ ์์ฑํ๋ ์ฝ๋๋ ํ๋ฒํ๊ฑฐ๋ ์ค๋ฅ๋ฅผ ํฌํจํ ์๋ฐ์ ์์ต๋๋ค.
- ํด๊ฒฐ: ์ฌ์ฉ์๊ฐ ํผํฌ๋จผ์ค, ๋ณด์ ๋ฑ์ ๊ณ ๋ คํ์ฌ ๋ช
ํํ ๊ฐ์ด๋๋ผ์ธ(Prompt)์ ์ ์ํด์ผ ๊ณ ํ์ง ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค.
6.1 ๋ฐํฅ์ค ํจ๊ณผ (Echo Chamber Effect)
- ๊ฐ๋
: ํธํฅ๋ ์ ๋ณด๊ฐ ๋ฐ๋ณต๋์ด ์ฆํญ๋๋ ํ์.
- AI ์ฝ๋ฉ์์์ ์ํ: AI๊ฐ ์๋ชป๋ ํจํด์ด๋ ๋นํจ์จ์ ์ธ ์ฝ๋๋ฅผ ์ ์ํ์ ๋, ๊ฐ๋ฐ์๊ฐ ๋ฌด๋นํ์ ์ผ๋ก ์์ฉํ๋ฉด ํด๋น ํจํด์ด ํ๋ก์ ํธ ์ ์ฒด๋ก ํ์ฐ๋๊ณ ๊ฐํ๋ ์ ์์ต๋๋ค.
6.2 ๋ณด์ ์ํ ์ฌ๋ก
- ์กด์ฌํ์ง ์๋ ํจํค์ง ์ถ์ฒ: AI๊ฐ ์ด๋ฆ๋ง ๊ทธ๋ด๋ฏํ ๊ฐ์ง ํจํค์ง(Hallucination)๋ฅผ import ํ๋๋ก ์ฝ๋๋ฅผ ์ง์ฃผ๋ฉด, ํด์ปค๊ฐ ํด๋น ์ด๋ฆ์ผ๋ก ์
์ฑ ์ฝ๋๊ฐ ๋ด๊ธด ํจํค์ง๋ฅผ ์ค์ ๋ก ๋ฐฐํฌํ์ฌ ๊ณต๊ฒฉํ๋ ์ฌ๋ก๊ฐ ๋ฐ์ํ์ต๋๋ค.
- ์ค์ ํ์ผ(Config) ์ค์ผ: ์ฌ๋๋ค์ด ์ฝ๋๋ ๊ผผ๊ผผํ ๋ณด์ง๋ง ์ค์ ํ์ผ์ ์ ์ ๋ณธ๋ค๋ ์ ์ ์
์ฉ, AI๊ฐ ์์ฑํ ์ค์ ํ์ผ์ ์
์์ ์ธ ์ง์๋ ๋ฐฑ๋์ด๋ฅผ ์จ๊ธธ ์ ์์ต๋๋ค.
7. ํ๋กฌํํธ ์์ง๋์ด๋ง: CRAFT ๊ธฐ๋ฒ
AI์๊ฒ ์ํ๋ ๊ฒฐ๊ณผ๋ฌผ์ ์ ํํ๊ฒ ์ป์ด๋ด๊ธฐ ์ํ ํ๋กฌํํธ ์์ฑ ํ๋ ์์ํฌ์
๋๋ค. (Context, Role, Action์ด ๊ฐ์ฅ ์ค์)
- Context (๋งฅ๋ฝ): ์ ์ด ์์ฒญ์ ํ๋๊ฐ? (๋ฐฐ๊ฒฝ ์ค๋ช
)
- ์: "20๋ ๋ํ์ ํ๊ฒ์ ์นํ๊ฒฝ ๋
ธํธ๋ถ ํ์ฐ์น ์ถ์ ์์ "
- Role (์ญํ ): AI๋ ๋๊ตฌ์ธ๊ฐ? (ํ๋ฅด์๋ ๋ถ์ฌ)
- ์: "20๋
๊ฒฝ๋ ฅ์ ์ ๋ฌธ ํฌ์ ์ปจ์คํดํธ"
- ์ต์ ํธ๋ ๋: ๋ชจ๋ธ ์ฑ๋ฅ์ด ์ข์์ ธ์ ์ญํ ์ง์ ์์ด๋ ์ต์ ์ ์๋ฃจ์
์ ์ ๊ณตํ๊ธฐ๋ ํ์ง๋ง, ์ฌ์ ํ ๋ต๋ณ์ ํ๋ถํ๊ฒ ๋ง๋๋ ๋ฐ ์ ํจํฉ๋๋ค.
- Action (ํ๋): ๋ฌด์์ ํด์ผ ํ๋๊ฐ? (๊ตฌ์ฒด์ ์ง์)
- ์: "์์
๋ฏธ๋์ด ๊ด๊ณ ์นดํผ 3๊ฐ์ง ๋ฒ์ ์์ฑ"
- Format (ํ์): ๊ฒฐ๊ณผ๋ฌผ์ ์ด๋ป๊ฒ ๋ณด์ฌ์ค ๊ฒ์ธ๊ฐ? (์ถ๋ ฅ ํํ)
- ์: "300์ ์ด๋ด ์์ฝ, ๋ฒํธ ๋ชฉ๋ก ํ์"
- ์ค์์ฑ: ๋ถํ์ํ ์์ ์ ์ค์ฌ ํ ํฐ ๋น์ฉ์ ์ ์ฝํ๊ณ ๊ฐ๋
์ฑ์ ๋์
๋๋ค.
- Tone (์ด์กฐ): ์ด๋ค ๋งํฌ๋ก ํ ๊ฒ์ธ๊ฐ?
- ์: "์ ๋ฌธ์ ์ด๊ณ ์์ ๊ฐ ๋์น๊ฒ"
๐งฑ ์ต์ ํ๋กฌํํธ ๊ธฐ๋ฒ (CoT vs ToT)
- Chain-of-Thought (CoT): "๋จ๊ณ๋ณ๋ก ์๊ฐํด๋ด"๋ผ๊ณ ์ง์ํ์ฌ ๋
ผ๋ฆฌ์ ์ถ๋ก ๊ณผ์ ์ ์ ๋ํฉ๋๋ค. (์ต์ ๋ชจ๋ธ์ ์ด๋ฏธ ๋ด์ฌํ๋์ด ์์ด ๊ตณ์ด ์ ์จ๋ ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์)
- Tree-of-Thoughts (ToT): ์ฌ๋ฌ ๊ฐ์ง ์ ๋ต์ ๋์์ ๊ณ ๋ คํ๊ณ , ๊ฐ๋ฅ์ฑ์ด ๋ฎ์ ๊ฐ์ง(Branch)๋ ์ณ๋ด๋ฉด์ ์ต์ ์ ๊ฒฝ๋ก๋ฅผ ํ์ํ๋๋ก ์ ๋ํ๋ ๊ธฐ๋ฒ์
๋๋ค.
8. Context Engineering (๋งฅ๋ฝ ๊ด๋ฆฌ)
์
๋ ฅ(Input)์ด ๊ธธ์ด์ง๊ณ ๋ํ๊ฐ ๊ธธ์ด์ง์๋ก LLM์ ์ฑ๋ฅ์ด ์ ํ๋๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๊ธฐ์ ์
๋๋ค.
8.1 ๊ธด Context๊ฐ ์คํจํ๋ ์ด์
- Context Poisoning (์ค๋
): ๋ํ ์ค ๋ฐ์ํ ํ๊ฐ์ด๋ ์ค๋ฅ๊ฐ Context์ ๋์ ๋์ด, ๋์ค์๋ ๊ฑฐ์ง์ ์ง์ค์ฒ๋ผ ์ฐธ์กฐํ๊ฒ ๋๋ ํ์.
- Context Distraction (์ฐ๋งํจ): ๋๋ฌด ๋ง์ ์ ๋ณด๊ฐ ์ฃผ์ด์ง๋ฉด LLM์ด ํต์ฌ์ ๋์น๊ณ ๋ ์ค์ํ ์ ๋ณด์ ์ง์คํ๋ ํ์.
- Context Confusion (ํผ๋): MCP(Model Context Protocol) ๋ฑ ์ธ๋ถ ๋๊ตฌ๊ฐ ๋๋ฌด ๋ง์ผ๋ฉด ์ธ์ ๋ฌด์์ ์จ์ผ ํ ์ง ๋ชฐ๋ผ ์๋ฑํ ๋๊ตฌ๋ฅผ ํธ์ถํ๋ ํ์.
- Context Clash (์ถฉ๋): ์๋ก ์์ถฉ๋๋ ์ ๋ณด๊ฐ Context ๋ด์ ๊ณต์กดํ์ฌ AI๊ฐ ํ๋จ์ ๋ชป ํ๋ ๊ฒฝ์ฐ.
8.2 ํต์ฌ ๊ด๋ฆฌ ์ ๋ต
- ์์ถ ๋ฐ ์ ์ (Compaction & Pruning): RAG(๊ฒ์ ์ฆ๊ฐ ์์ฑ) ๋ฑ์ ํ์ฉํ์ฌ ๊ด๋ จ ์๋ ๋ด์ฉ์ ์ ๊ฑฐํ๊ณ , ํต์ฌ ๋ด์ฉ๋ง ์์ฝํ์ฌ LLM์ ์ ๋ฌํฉ๋๋ค.
- ๊ฒฉ๋ฆฌ ๋ฐ ์ง์ค (Isolation & Focus): ์์
๋ณ๋ก ์ ์ธ์
์ ์์ํ์ฌ Context ์ค์ผ์ ๋ฐฉ์งํ๊ณ , ํ์ํ MCP ์๋ฒ๋ง ์ ํ์ ์ผ๋ก ํ์ฑํํฉ๋๋ค.
- ๊ตฌ์กฐํ๋ ์
๋ ฅ: AI๊ฐ ์ถ๋ ฅํ ๊ฒฐ๊ณผ๋ฌผ์ ์ฌ๋์ด๋ ๋ณ๋ ์์คํ
์ด ํ๊ฐํ๊ณ ์ ์ ํ์ฌ ๋ค์ ์
๋ ฅ์ผ๋ก ์ฌ์ฉํ๋ ๋ฃจํ๋ฅผ ๋ง๋ญ๋๋ค.
9. ์ค๋ฌด ํ์ฉ Tip (AI Coding Agent)
๐ ์ผ ์ํ๋ ์ ์
์ฌ์ ๋ํ๋ฏ ํ๋ผ
- ๋ช
ํํ๊ณ ๊ตฌ์ฒด์ ์ผ๋ก: ์์
๋ฒ์, ๊ธฐ๋ ๊ฒฐ๊ณผ, ์ฌ์ฉํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฒ์ ๋ฑ์ ๋ช
์ํฉ๋๋ค.
- ํฐ ์ผ์ ์๊ฒ: ํ ๋ฒ์ ๋๋ฌด ๋ง์ ํ์ผ์ ์์ฑํ๊ฒ ๋๋ฉด ๋ฆฌ๋ทฐ(Review)๊ฐ ์ํํด์ง๋๋ค. ์์ ๋จ์๋ก ๋๋์ด ์ง์ํ์ธ์.
- Top-Down ๋ฐฉ์: ์ ์ฒด ์ํคํ
์ฒ ๋์์ธ์ ๋จผ์ ์ก๊ณ ์ธ๋ถ ๊ตฌํ์ผ๋ก ๋ค์ด๊ฐ๋๋ค.
โ
ํ์ ์ค์ฒ ์ฌํญ
- ์ฌ์ ์ ๋ณด ์ ๊ณต: PRD(์ ํ ์๊ตฌ ์ฌํญ ์ ์์), Task List, ์ฝ๋ฉ ์ปจ๋ฒค์
๋ฑ์ ๋ฏธ๋ฆฌ ์ ๊ณตํฉ๋๋ค.
- ๊ฒฐ๊ณผ๋ฌผ Review ํ์: AI๊ฐ ์ง ์ฝ๋๋ ๋ณด์ ์ทจ์ฝ์ ์ด๋ ์ค๋๋ ํจํค์ง ์ฌ์ฉ ๋ฌธ์ ๊ฐ ์์ ์ ์์ผ๋ฏ๋ก ๋ฐ๋์ ๊ฒํ ํฉ๋๋ค.
- Frequent Commit: ์์
๋จ์๋ณ๋ก ์์ฃผ ์ปค๋ฐํ์ฌ ๋ฌธ์ ๊ฐ ์๊ฒผ์ ๋ ๋๋๋ฆด ์ ์๊ฒ ํฉ๋๋ค.
- TDD (Test Driven Development): ํ
์คํธ ์ฝ๋๋ฅผ ๋จผ์ ์ง๊ฑฐ๋, AI์๊ฒ ํ
์คํธ ์ฝ๋๋ฅผ ์๊ตฌํ์ฌ ์์ ์ฑ์ ํ๋ณดํฉ๋๋ค.
๐ ๏ธ ์ค์ต ๊ฐ์ด๋: To-Do List ๋ง๋ค๊ธฐ
- ๋จ๊ณ๋ณ ํ์ฅ:
- CRUD(์์ฑ/์ฝ๊ธฐ/์์ /์ญ์ )๋ง ๋๋ ๊ฐ๋จํ ๋ฒ์ .
- ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ์ธ ์ ์๊ฒ ํ์ฅ.
- ํ ์ผ์ ๋ค๋ฅธ ์ฌ๋์๊ฒ ํ ๋นํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ.
- Guide: ํต์ผ๋ก ๋งก๊ธฐ์ง ๋ง๊ณ , "์ ์ฅ์ DB์ ํ ๊น ํ์ผ์ ํ ๊น?", "ํ๋ก ํธ์๋๋ ๋ฐฑ์๋ ํต์ ์ ์ด๋ป๊ฒ ํ ๊น?" ๋ฑ AI์ ํ๋ ฅํ์ฌ ์ค๊ณ๋ฅผ ๋จผ์ ๊ณ ๋ฏผํ์ธ์.
10. ๊ฒฐ๋ก ๋ฐ ์ ์ธ
- ๊ด์ ์ ์ ํ: AI๋ฅผ ๋จ์ํ ์กฐ์(Assistant)๊ฐ ์๋ ๋๋ฃ ๊ฐ๋ฐ์ ํน์ ๋ด ์ง์๋ฅผ ์ํํ๋ ์ค๋ฌด์๋ก ๋ฐ๋ผ๋ด์ผ ํฉ๋๋ค.
- ํ์ต ๋ฐฉํฅ:
- ํน์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ฌธ๋ฒ๋ณด๋ค๋ ์์คํ
์ ์ฒด๋ฅผ ๋ณด๋ ๋(Architecture)์ ๊ธฐ๋ฅด์ธ์.
- AI์๊ฒ ๋ช
ํํ๊ฒ ์ผ์ ์ํค๊ณ ๊ฒฐ๊ณผ๋ฅผ ๊ฒ์ฆํ ์ ์๋ ์ง์๊ณผ ์ปค๋ฎค๋์ผ์ด์
๋ฅ๋ ฅ์ด ํต์ฌ ์ญ๋์ด ๋ฉ๋๋ค.
- ํ๋: ๊ธฐ์ ๋ฐ์ ์๋๊ฐ ๋งค์ฐ ๋น ๋ฅด๋ฏ๋ก, ์๋ก์ด ๋๊ตฌ๋ฅผ ์ ๊ทน์ ์ผ๋ก ๋ฐ์๋ค์ด๊ณ ํ์ฉํ์ฌ ์์ฐ์ฑ์ ๊ทน๋ํํ๋ ค๋ ๋
ธ๋ ฅ์ด ํ์ํฉ๋๋ค.
๐ ์ฐธ๊ณ ์๋ฃ