Intro
Koog?
Simple API: ๊ฐ๋จํ ์ค์ ์ผ๋ก ๋จ์ผ ์คํ ์์ด์ ํธ๋ฅผ ๋น ๋ฅด๊ฒ ์์ฑํ ์ ์๋ ๊ณ ์์ค ์ธํฐํ์ด์ค์ ๋๋ค.
AI Agent: ๋ณต์กํ ์ํฌํ๋ก์ฐ์ ๊ณ ๊ธ ๊ธฐ๋ฅ์ ๊ฐ์ถ ์ปค์คํ ์์ด์ ํธ๋ฅผ ๊ตฌ์ถํ ์ ์๋ ์ ์ฐํ ํ๋ ์์ํฌ์ ๋๋ค.
์ด๋ฌํ ์ ๊ทผ ๋ฐฉ์์ ํตํด ๊ฐ๋ฐ์๋ ํ๋ก์ ํธ์ ์๊ตฌ์ฌํญ์ ๋ง๊ฒ ์ ์ ํ ์์ค์ ๋ณต์ก์ฑ์ ์ ํํ์ฌ ์์ด์ ํธ๋ฅผ ๊ฐ๋ฐํ ์ ์์ต๋๋ค.
ํต์ฌ ๊ธฐ๋ฅ
์์ ์ฝํ๋ฆฐ ๊ตฌํ: ์ ์ฒด ์์ด์ ํธ ๋ก์ง์ ์ฝํ๋ฆฐ์ผ๋ก ์์ฑํ์ฌ, JVM ๋ฐ JS ํ๊ฒฝ์์ ์คํ ๊ฐ๋ฅํฉ๋๋ค.
MCP(Model Control Protocol) ํตํฉ: ๋ค์ํ LLM(Large Language Model) ๊ณต๊ธ์์์ ๋์ ๋ชจ๋ธ ์ ํ์ ์ง์ํฉ๋๋ค.
๋ฒกํฐ ์๋ฒ ๋ฉ ์ง์: ์๋ฏธ ๊ธฐ๋ฐ ๊ฒ์ ๋ฐ ์ง์ ๊ฒ์์ ์ํ ๋ฒกํฐ ์๋ฒ ๋ฉ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
์ปค์คํ ๋๊ตฌ ์์ฑ: ์ธ๋ถ ์์คํ ๋ฐ API์์ ํตํฉ์ ์ํ ๋๊ตฌ๋ฅผ ์์ฑํ๊ณ ์์ด์ ํธ์ ํตํฉํ ์ ์์ต๋๋ค.
์ง๋ฅํ ํ์คํ ๋ฆฌ ์์ถ: ๋ํ ์ปจํ ์คํธ๋ฅผ ์ ์งํ๋ฉด์ ํ ํฐ ์ฌ์ฉ์ ์ต์ ํํ๋ ๋ค์ํ ์ ๋ต์ ์ ๊ณตํฉ๋๋ค.
์คํธ๋ฆฌ๋ฐ API: ์ค์๊ฐ ์๋ต ์ฒ๋ฆฌ ๋ฐ ๋ณ๋ ฌ ๋๊ตฌ ํธ์ถ์ ์ง์ํ์ฌ, ๋ฐ์ํ ์์ด์ ํธ๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค.
์์์ ์ธ ์์ด์ ํธ ๋ฉ๋ชจ๋ฆฌ: ์ธ์ ๊ฐ ๋ฐ ์์ด์ ํธ ๊ฐ ์ง์ ์ ์ง๊ฐ ๊ฐ๋ฅํ์ฌ, ์ง์์ ์ธ ํ์ต๊ณผ ๊ฐ์ ์ด ๊ฐ๋ฅํฉ๋๋ค.
์ข ํฉ์ ์ธ ํธ๋ ์ด์ฑ: ์์ด์ ํธ ์คํ์ ๋๋ฒ๊น ํ๊ณ ๋ชจ๋ํฐ๋งํ ์ ์๋ ์์ธํ๊ณ ๊ตฌ์ฑ ๊ฐ๋ฅํ ํธ๋ ์ด์ฑ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
์ ์ฐํ ๊ทธ๋ํ ์ํฌํ๋ก์ฐ: ์ง๊ด์ ์ธ ๊ทธ๋ํ ๊ธฐ๋ฐ ์ํฌํ๋ก์ฐ๋ฅผ ํตํด ๋ณต์กํ ์์ด์ ํธ ๋์์ ์ค๊ณํ ์ ์์ต๋๋ค.
๋ชจ๋ํ ๊ธฐ๋ฅ ์์คํ : ์ปดํฌ์ ๋ธ ์ํคํ ์ฒ๋ฅผ ํตํด ์์ด์ ํธ ๊ธฐ๋ฅ์ ๋ง์ถคํํ ์ ์์ต๋๋ค.
ํ์ฅ ๊ฐ๋ฅํ ์ํคํ ์ฒ: ๊ฐ๋จํ ์ฑ๋ด๋ถํฐ ์ํฐํ๋ผ์ด์ฆ ์ ํ๋ฆฌ์ผ์ด์ ๊น์ง ๋ค์ํ ์ํฌ๋ก๋๋ฅผ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
๋ฉํฐํ๋ซํผ ์ง์: ์ฝํ๋ฆฐ ๋ฉํฐํ๋ซํผ์ ํตํด JVM ๋ฐ JS ํ๊ฒ์์ ์์ด์ ํธ๋ฅผ ์คํํ ์ ์์ต๋๋ค.
ํต์ฌ ๊ฐ๋
์์ด์ ํธ(Agent)
์์ด์ ํธ๋ ๋๊ตฌ์ ์ํธ ์์ฉํ๊ณ , ๋ณต์กํ ์ํฌํ๋ก์ฐ๋ฅผ ์ฒ๋ฆฌํ๋ฉฐ, ์ฌ์ฉ์์ ์ํตํ ์ ์๋ AI ์ํฐํฐ์ ๋๋ค. Koog๋ Simple API์ AI Agent์ ๋ ๊ฐ์ง ์ ๊ทผ ๋ฐฉ์์ ํตํด ์์ด์ ํธ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
์ ๋ต ๊ทธ๋ํ(Strategy Graph)
์์ด์ ํธ์ ์ํฌํ๋ก์ฐ๋ ์ ๋ต ๊ทธ๋ํ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ์ด๋ ๋ ธ๋์ ์ฃ์ง๋ก ์ด๋ฃจ์ด์ง ๊ตฌ์กฐ์ ๋๋ค.
๋ ธ๋(Node): ํน์ ์์ ์ด๋ ๋ณํ์ ๋ํ๋ด๋ ๊ธฐ๋ณธ ๋จ์์ ๋๋ค.
์ฃ์ง(Edge): ๋ ธ๋ ๊ฐ์ ์ฐ๊ฒฐ์ ๋ํ๋ด๋ฉฐ, ์กฐ๊ฑด์ ๋ฐ๋ผ ํ๋ฆ์ ์ ์ดํฉ๋๋ค.
์๋ธ๊ทธ๋ํ(Subgraph): ์์ฒด์ ์ธ ๋๊ตฌ, ์ปจํ ์คํธ, ์ฑ ์์ ๊ฐ์ง ๋ ๋ฆฝ์ ์ธ ์ฒ๋ฆฌ ๋จ์์ ๋๋ค.
๋๊ตฌ(Tool)
๋๊ตฌ๋ ์์ด์ ํธ๊ฐ ํน์ ์์ ์ ์ํํ๊ฑฐ๋ ์ธ๋ถ ์์คํ ์ ์ ๊ทผํ ์ ์๋๋ก ํ๋ ํจ์์ ๋๋ค. ์์ด์ ํธ๋ ๋๊ตฌ์ ์ด๋ฆ, ์ค๋ช , ๋งค๊ฐ๋ณ์ ๋ฑ์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์๊ณ ์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด ๋๊ตฌ๋ฅผ ํธ์ถํ ์ ์์ต๋๋ค.
ํ์คํ ๋ฆฌ ์์ถ(History Compression)
๋ํ ํ์คํ ๋ฆฌ๋ฅผ ์์ถํ์ฌ ํ ํฐ ์ฌ์ฉ์ ์ต์ ํํ๋ ๊ธฐ๋ฅ์ ๋๋ค. ๋ค์ํ ์์ถ ์ ๋ต์ ํตํด ๋ํ ์ปจํ ์คํธ๋ฅผ ์ ์งํ๋ฉด์๋ ํจ์จ์ ์ธ ํ ํฐ ์ฌ์ฉ์ด ๊ฐ๋ฅํฉ๋๋ค.
๊ธฐ๋ฅ(Feature)
์์ด์ ํธ์ ๊ธฐ๋ฅ์ ํ์ฅํ๊ณ ํฅ์์ํค๋ ๊ตฌ์ฑ ์์์ ๋๋ค.
์ด๋ฒคํธ ํธ๋ค๋ฌ(EventHandler): ์์ด์ ํธ์ ์๋ช ์ฃผ๊ธฐ, ์ค๋ฅ ์ฒ๋ฆฌ, ๋๊ตฌ ํธ์ถ ๋ฑ์ ๋ชจ๋ํฐ๋งํ๊ณ ๋์ํ ์ ์๋ ๊ธฐ๋ฅ์ ๋๋ค.
์์ด์ ํธ ๋ฉ๋ชจ๋ฆฌ(AgentMemory): ์์ด์ ํธ๊ฐ ๋ํ ๊ฐ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ , ๊ฒ์ํ๋ฉฐ, ํ์ฉํ ์ ์๋๋ก ํ๋ ๊ธฐ๋ฅ์ ๋๋ค.
Last updated