๊ฒฝํ—˜ ๐ŸŒ/์ฝ˜ํผ๋Ÿฐ์Šค

2026 Build with AI: Hands-on Campus - 5์›”๋ถ€ํ„ฐ ๊ณผ์ œ๋Š” ์—์ด์ „ํŠธ์—๊ฒŒ ๋งก๊ธฐ๊ณ  ๋Œ€ํ•™์ƒํ™œ ์ฆ๊ฒจ๋ณด๊ธฐ (feat.Kotlin

interfacer_han 2026. 7. 11. 20:19

#1 ์ด์ „ ๊ธ€

[์ฝ˜ํผ๋Ÿฐ์Šค] 2026 Build with AI: Hands-on Campus - ์ฐธ์„ ํ›„๊ธฐ

#1 ๊ฐœ์š”#1-1 ์ฃผ์ œAI๋กœ ์–ด๋””๊นŒ์ง€ ๋งŒ๋“ค ์ˆ˜ ์žˆ์„๊นŒ? Gemini, Vertex AI ๋“ฑ Google์˜ ์ตœ์‹  AI ๊ธฐ์ˆ ์„ ์ง์ ‘ ํ™œ์šฉํ•ด๋ณด๋ฉฐ ์‹ค์ „ ๊ฒฝํ—˜์„ ์Œ“๋Š” 200๋ช… ๊ทœ๋ชจ ํ•ธ์ฆˆ์˜จ ์ด๋ฒคํŠธGDG(Google Developer Groups)์—์„œ ์ฃผ์ตœํ•˜๋Š” ์ด๋ฒคํŠธ๋‹ค.

kenel.tistory.com

์œ„์˜ ๊ฒŒ์‹œ๊ธ€์—์„œ ์ด์–ด์ง„๋‹ค.
 

#2 ๊ฐœ์š”

์—ฐ์‚ฌ (์•ฝ๋ ฅ)
์ดํ˜„์šฐ (Toss, GDG Korea Android/Kotlin User Groups Seoul Organizer)

ํ‚คํฌ์ธํŠธ
1. ๋ฌธ์ œ ์ƒํ™ฉ ์„ค์ •: ๊ณผ์ œ๋ฅผ ๋Œ€์‹  ์ฒ˜๋ฆฌํ•˜๋Š” AI ์—์ด์ „ํŠธ๋ฅผ ๋งŒ๋“ค์–ด๋ณด์ž
2. Koog์˜ 3 ๊ธฐ๋‘ฅ: AI ์ต์„ธํํ„ฐ, ํ”„๋กฌํ”„ํŠธ, LLM ๋ชจ๋ธ

 

#3 ์‹ค์Šต ๋กœ๋“œ๋งต

#3-1 ์‹ค์Šต ์ฝ”๋“œ๋žฉ

๊ณผ์ œ ๋๋‚ด๊ธฐ ์—์ด์ „ํŠธ โ€” Kotlin + Koog๋กœ ๋‚˜๋งŒ์˜ ํ•™์Šต ๋„์šฐ๋ฏธ ๋งŒ๋“ค๊ธฐ

์ด ๋‹จ๊ณ„์—์„œ ๋ฐฐ์šฐ๋Š” ๊ฒƒ ์ง€๊ธˆ๊นŒ์ง€ ๋งŒ๋“  ์—์ด์ „ํŠธ๋ฅผ ์‹ค์ œ CLI ์•ฑ์œผ๋กœ ๋‹ค๋“ฌ์Šต๋‹ˆ๋‹ค. ํ™˜์˜ ๋ฐฐ๋„ˆ, ์Šฌ๋ž˜์‹œ ๋ช…๋ น์–ด ์‹œ์Šคํ…œ, ๋„๊ตฌ ํ˜ธ์ถœ ์‹œ๊ฐํ™”๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , Gradle distribution์œผ๋กœ ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ ํŒจํ‚ค์ง€๋ฅผ ๋งŒ๋“ญ

l2hyunwoo.github.io

ํ•œ ์„ธ์…˜์˜ ๊ธธ์ด๊ฐ€ ์ฆ‰, ํ•œ ํ”„๋กœ๊ทธ๋žจ์˜ ๊ธธ์ด๊ฐ€ ๊ธด ํŽธ์ด ์•„๋‹ˆ์—ˆ๋‹ค. ์‹œ๊ฐ„์ด ๊ฝค ์ด‰๋ฐ•ํ–ˆ์ง€๋งŒ, ์—ฐ์‚ฌ๊ป˜์„œ ์นœ์ ˆํ•œ ์ฝ”๋“œ๋žฉ์„ ํ†ตํ•ด ์ผ๋ชฉ์š”์—ฐํ•˜๊ฒŒ ์ •๋ฆฌํ•ด ์ฃผ์…จ๊ธฐ์— ๋”ฐ๋ผ๊ฐ€๊ธฐ ์ˆ˜์›”ํ–ˆ๋‹ค.
 

#3-2 ์‹ค์Šต์šฉ ๋ ˆํฌ์ง€ํ† ๋ฆฌ

GitHub - l2hyunwoo/2026-Build-With-AI-GDG-On-Campus-Koog: 2026 Build with AI: Hands-on Campus 5์›”๋ถ€ํ„ฐ ๊ณผ์ œ๋Š” ์—์ด์ „ํŠธ

2026 Build with AI: Hands-on Campus 5์›”๋ถ€ํ„ฐ ๊ณผ์ œ๋Š” ์—์ด์ „ํŠธ์—๊ฒŒ ๋งก๊ธฐ๊ณ  ๋Œ€ํ™•์ƒํ™œ ์ฆ๊ฒจ๋ณด๊ธฐ - l2hyunwoo/2026-Build-With-AI-GDG-On-Campus-Koog

github.com

Koog ์‹ค์Šต ์ฝ”๋“œ๋žฉ์˜ ๋‚ด์šฉ์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์žฌ๋ฃŒ๋‹ค. ์ผ์ข…์˜ ๋ฐ€ํ‚คํŠธ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๊ฒ ๋‹ค. ์œ„์˜ ์ €์žฅ์†Œ๋ฅผ forkํ•œ ์ €์žฅ์†Œ๋ฅผ ๋งŒ๋“ค๊ณ  ์ง„ํ–‰ํ–ˆ๋‹ค.

์›๋ณธ(upstream) ๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ "complete" ๋ธŒ๋žœ์น˜์—๋Š” ๊น”๋”ํ•œ CLI ํ™”๋ฉด ๋””์ž์ธ๊นŒ์ง€ ์™„๋ฃŒ๋˜์–ด ์žˆ๋‹ค. CLI ๋””์ž์ธ๋งŒ ๋“ค์–ด๊ฐ€๋„ ๋ญ”๊ฐ€ ์–ด์—ฟํ•œ(= ๋ˆ ์ฃผ๊ณ  ์‚ฌ์•ผ ํ•  ๊ฒƒ ๊ฐ™์€ ๋А๋‚Œ์˜) ํ”„๋กœ๊ทธ๋žจ์ฒ˜๋Ÿผ ๋ณด์ธ๋‹ค. ๋‚˜์ค‘์— CLI ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค๋ฉด CLI ๋””์ž์ธ์€ ๋งˆ์ง€๋ง‰์— ๊ผญ ๋„ฃ์–ด์•ผ๊ฒ ๋‹ค.
 

#4 ๋ฐฐ๊ฒฝ ์ง€์‹ & ์‚ฌ์ „ ์ž‘์—…

#4-1 Koog

Koog: AI ์—์ด์ „ํŠธ๋ฅผ, ์ฝ”ํ‹€๋ฆฐ์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ฒŒ ํ•œ ๋„๊ตฌ ๋ชจ์Œ(ํ”„๋ ˆ์ž„์›Œํฌ)

AI ์—์ด์ „ํŠธ ์ œ์ž‘์— ์žˆ์–ด, ํŒŒ์ด์ฌ์šฉ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” LangChain์ด ์žˆ๊ณ  ์ž๋ฐ”์šฉ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ๋Š” LangChain4j๊ฐ€ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ฝ”ํ‹€๋ฆฐ์šฉ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ๋Š” Koog๊ฐ€ ๋Œ€ํ‘œ์ ์ด๋‹ค. ๋งŒ์•ฝ ์ฝ”ํ‹€๋ฆฐ๋ณด๋‹ค ์ž๋ฐ”๋ฅผ ๋” ์ข‹์•„ํ•œ๋‹ค๋ฉด, Koog ๋Œ€์‹  LangChain4j๋ฅผ ์“ฐ๋ฉด ๋  ๊ฒƒ์ด๋‹ค.
 

#4-2 ์ฝ˜์†” ์ถœ๋ ฅ ๊นจ์ง & ํ•ด๊ฒฐ ๋ฐฉ์•ˆ

IntelliJ ์ฝ˜์†” ์ฐฝ ํ•œ๊ธ€ ๊นจ์ง ํ˜„์ƒ์˜ ์›์ธ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

#1 ์™œ ๊นจ์ง€๋Š”๊ฐ€?#1-1 ๋ฐฐ๊ฒฝ ์ง€์‹VM์ด println("๋€จ") ๋ผ๋Š” ์ฝ”๋“œ๋ฅผ ๋งˆ์ฃผ์ณค๋‹ค. (์ •ํ™•ํžˆ๋Š”, ์ €๋Ÿฐ .java ์ฝ”๋“œ ํ˜•ํƒœ๊ฐ€ ์•„๋‹Œ .class ์ฝ”๋“œ ํ˜•ํƒœ์˜ print๋ฌธ ์ผ ๊ฒƒ์ด๋‹ค) [UTF-8๋กœ ์ธ์ฝ”๋”ฉ] "๋€จ" โ†’ EB 80 A8 (ํฌ๊ธฐ: 3๋ฐ”์ดํŠธ)[CP949

kenel.tistory.com

๋‚˜๋Š” 3๋ฒˆ์งธ ๋ฐฉ๋ฒ•์œผ๋กœ ํ•ด๊ฒฐํ–ˆ๋‹ค.
 

#4-3 ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— API Key ๋“ฑ๋ก

์—ฌ๊ธฐ์—์„œ ์ง„ํ–‰ํ•˜์ž.
 

#5 ์‹ค์Šต & ๋ถ„์„

#5-1 Koog

// in build.gradle.kts

...

dependencies {
    implementation("ai.koog:koog-agents:0.8.0")
    ...
}

...

ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•œ ํ›„, build.gradle ํŒŒ์ผ์„ ์—ด์–ด๋ณด๋ฉด ์œ„์™€ ๊ฐ™์ด Koog Artifact๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ณด์ธ๋‹ค. ์ด์ œ, ์‹ค์Šต ์ฝ”๋“œ๋žฉ์„ ๋”ฐ๋ผ๊ฐ€ ๋ณด๊ธฐ๋กœ ํ•œ๋‹ค. 2๊ฐœ์›” ์ „ ํ˜„์žฅ์—์„œ ์–ด์ฐŒ์ €์ฐŒ ๋”ฐ๋ผํ•˜๋ฉฐ ์‹คํ–‰์‹œํ‚ค๋Š” ๋ฐ์— ์„ฑ๊ณต์€ ํ–ˆ์—ˆ๋Š”๋ฐ, ์ง€๊ธˆ ๋‹ค์‹œ ์ฒœ์ฒœํžˆ ๋˜์ƒˆ๊ธฐ๋ฉฐ ๋ฐ˜๋ณตํ•˜๋Š” ๊ฒƒ๋„ ๋‚˜๋ฆ„์˜ ์žฌ๋ฏธ๊ฐ€ ์žˆ๋‹ค.
 

#5-2 5-2 ๋‹จ์ˆœํ•œ ๊ตฌ์กฐ์™€ ์นœ์ ˆํ•œ ํ•™์Šต

์ฒซ ์—์ด์ „ํŠธ + ์—ญํ•  ๋ถ€์—ฌ๊ฐ•์˜์ž๋ฃŒ ์ฝ๊ธฐ + ๋ณต์Šต ๋…ธํŠธ ์ƒ์„ฑ (Tool, ํŒŒ์ผ ์ž…ใ†์ถœ๋ ฅ)๊ณผ์ œ ๋ถ„์„ + ๋…ธํŠธ ํ™œ์šฉ (๋ณต์ˆ˜์˜ Tool ๊ฐ„ ํŒŒ์ดํ”„๋ผ์ธ ๋งŒ๋“ค๊ธฐ)ChatMemory (์—ฐ์† ๋Œ€ํ™”์™€ ๋งฅ๋ฝ ๊ธฐ์–ต)
์ถ”๊ฐ€ ์˜ˆ์ •
์‹œํ—˜ ๋Œ€๋น„ ์ž๋ฃŒ ์ž๋™ ์ƒ์„ฑ (์ง€์‹ ์ถ•์ )Multi-Agent (๋ณต์ˆ˜์˜ Agent ๋ณ„๋กœ ์—ญํ•  ๋ถ„์•ผ ๋ถ€์—ฌ์™€ ํŒŒ์ดํ”„๋ผ์ธ ๋งŒ๋“ค๊ธฐ)CLI ์•ฑ ๋””์ž์ธ (ํ™˜์˜ ๋ฐฐ๋„ˆ, ์Šฌ๋ž˜์‹œ ๋ช…๋ น์–ด ์‹œ์Šคํ…œ, ๋„๊ตฌ ํ˜ธ์ถœ ์‹œ๊ฐํ™”)ํŒจํ‚ค์ง€๋กœ ๋ฐฐํฌ (Gradle distribution)

ํ”„๋กœ์ ํŠธ์˜ ๊ตฌ์กฐ ์ž์ฒด๋Š” ์ •๋ง ๋‹จ์ˆœํ•˜๋‹ค. ๋ชฉ์ ์ด ์–ด๋– ํ•œ ๋ฌธ์ œ ํ•ด๊ฒฐ์— ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์•ž์„œ ๋ณธ Koog ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ œ์™ธํ•˜๋ฉด ๋นˆ ํ”„๋กœ์ ํŠธ๋‚˜ ๋‹ค๋ฆ„์ด ์—†๋‹ค. ๋ฐ˜๋Œ€๋กœ ํ•™์Šต ๋ฉด์—์„œ๋Š” ์ด๋ฏธ ์ฝ”๋“œ๋žฉ(#3-1)์— ๋ฌด์ฒ™ ์ž์„ธํ•˜๊ณ  ์นœ์ ˆํ•œ ์„ค๋ช…์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๊ธฐ์„œ ๋™์–ด๋ฐ˜๋ณต์ ์ธ ์„œ์ˆ ์„ ํ•  ํ•„์š”๋Š” ์—†๊ฒ ๋‹ค. ์‹ค์Šตํ•˜๋Š” ๋‚ด๋‚ด ๋А๊ปด์ง„ ๊ฐ์ƒ์€, ์‘์šฉ์˜ ์—ฌ์ง€๊ฐ€ ๋งŽ์•˜๋‹ค๋Š” ๊ฒƒ๊ณผ ์‘์šฉํ•˜๊ณ  ์‹ถ์€ ์˜์ง€ ๋˜ํ•œ ๋งŽ์ด ์ƒ˜์†Ÿ์•˜๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์•„๋งˆ '์ต์ˆ™ํ•จ'(#6-2) ๋•Œ๋ฌธ์ด๋ฆฌ๋ผ.
 

#6 ๋‚˜์˜ ์ƒ๊ฐ

#6-1 ์˜์–ด ์ž˜ ์“ฐ๋Š” ์‚ฌ๋žŒ์€ ์–ด์จŒ๋“  ๋ฉ‹์žˆ๋‹ค

ํ˜„์žฅ์— ์žˆ๋Š” ํ•™์ƒ ์ค‘์—” ์™ธ๊ตญ์ธ๋„ ์žˆ์—ˆ๋‹ค. ์—ฐ์‚ฌ๋‹˜๊ป˜ ๋ญ”๊ฐ€ ๋ฌผ์–ด๋ณด์•˜๋Š”๋ฐ, ํˆฌ๋ฐ•ํ•œ (๊ทธ๋ ‡๊ธฐ์— ๊ท€์—ฌ์šด) ํ•œ๊ตญ์–ด๋กœ ์งˆ๋ฌธํ•˜๋ ค๋‚˜ ์‹ถ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ์›ฌ๊ฑธ ๋ฏธ๊ตญ ๋“œ๋ผ๋งˆ ๊ฐ™์€ ๋ฐœ์Œ์˜ ์˜์–ด์˜€๋‹ค! ๊ทธ๋Ÿฐ๋ฐ ๋” ๋†€๋ผ์šด ๊ฑด, ์—ฐ์‚ฌ๋‹˜์ด ๊ณง๋ฐ”๋กœ ์œ ์ฐฝํ•œ ์˜์–ด๋กœ ๋Œ€๋‹ตํ•ด ์ฃผ์—ˆ๋‹ค๋Š” ์‚ฌ์‹ค์ด๋‹ค. ๋Œ€๊ธฐ์—…์— ๋‹ค๋‹ˆ๋Š” ์‚ฌ๋žŒ์€ ๋‹ค ์ €๋Ÿฐ ๊ฑธ๊นŒ. ๊ฒฐ๋ก ์€, ์˜์–ด ์ž˜ ์“ฐ๋Š” ์‚ฌ๋žŒ์€ ์–ด์จŒ๋“  ๋ฉ‹์žˆ๋‹ค.
 

#6-2 ์ต์ˆ™ํ•จ์˜ ์ •์ฒด

์‚ฌ์‹ค ๋ณธ ํ”„๋กœ๊ทธ๋žจ์„ ํƒํ•œ ๊ฒƒ์€ ์ œ๋ชฉ์— Kotlin์ด ๋“ค์–ด๊ฐ€ ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. Java๋ฅผ ์“ฐ๋‹ค๊ฐ€ Kotlin์„ ์ฒ˜์Œ ์ ‘ํ•˜๊ณ  ๋‚˜์„œ, ๋‚˜๋Š” Kotlin์„ ์ข‹์•„ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์—†๊ฒŒ ๋˜์—ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ทธ๋ ‡์ง€ ์•Š์„๊นŒ?
 
๊ฒŒ๋‹ค๊ฐ€, ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์˜ ๊ฑฐ์˜ ๋˜‘๊ฐ™์€ UI์˜ IntelliJ๋กœ ์ง„ํ–‰ํ•˜๋‹ค ๋ณด๋‹ˆ ๋ญ๋ž„๊นŒ ๋‚ด ์ง‘(?) ๊ฐ™์€ ํŽธ์•ˆํ•จ์ด ์žˆ์—ˆ๋‹ค. ๋ฐ˜๋Œ€๋กœ, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ IDE๊ฐ€ ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ์‚ฌ๋žŒ๋„ ์žˆ์—ˆ์„ ๊ฒƒ์ด๋‹ค. ๊ฐ€๋ น JetBrain์˜ IDE์—์„œ ์ด๋ฆ„ ๋ฐ”๊พธ๊ธฐ ๋‹จ์ถ•ํ‚ค๋Š” (F2๊ฐ€ ์•„๋‹ˆ๋ผ) Shift + F6์ด๋‹ค.
 
ํ”„๋กœ๊ทธ๋žจ ๋‚ด๋‚ด "์ด๊ฑธ๋กœ ์ž‘์€ ๊ฒƒ์ด๋ผ๋„ ๋ญ”๊ฐ€ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด๋ณด๊ณ  ์‹ถ๋‹ค. ์‘์šฉํ•ด๋ณด๊ณ  ์‹ถ๋‹ค"๋Š” ์ƒ๊ฐ์ด ์ž๊พธ ๋“ค์—ˆ๋˜ ๊ฑด, ์ต์ˆ™ํ•œ ํ™˜๊ฒฝ์—์„œ์˜ค๋Š” ์—ฌ์œ ๊ฐ€ ์•„๋‹ˆ์—ˆ๋‚˜์‹ถ๋‹ค.