๋๋ณด๋ค ๋ฐ์ฌ์ ๊ฒฝ? AI ์์ด์ ํธ ์ธ๊ณ์ ๋ง์งฑ: Reactive vs Deliberative ์์ ๋น๊ต!
๐ฐ์ ๋ฌธ → โ๏ธ์ค๊ธ → ๐ง ์ฌํ
์๋
ํ์ธ์ ์ฌ๋ฌ๋ถ ๐
์ด ๋ธ๋ก๊ทธ๋ ์ ๊ฐ ํผ์ ๋ ๋๋ ๊ณณ์ด ์๋๋ผ,
์ฌ๋ฌ๋ถ๊ณผ ํจ๊ป ๋ง๋ค์ด๊ฐ๋ AI ์ค์ ํ๊ตฌ ์ํ์
๋๋ค.
“์ด ์ฃผ์ ๋ ๋ค๋ค์ฃผ์ธ์!”, “์ด ๊ฐ๋
๋๋ฌด ํท๊ฐ๋ ค์ ๐ญ” ๋ฑ ๋ฌด์์ด๋ ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์ธ์.
์ค๋์ AI ์์ด์ ํธ์ ๋ ๊ฐ์ง ํต์ฌ ์ฌ์!
“์ฆํฅํ(Reactives)”์ “๊ณํํ(Deliberatives)”๋ฅผ ํํค์ณ ๋ณด๊ฒ ์ต๋๋ค.
GPT๋ ์ธ๊ณ ๊ฐ ์๋ฎฌ๋ ์ด์
์ ์ธ๊ณ, ๊ฐ์ด ๊ฐ๋ณด์ค๊น์? ๐
๐ฐ Reactive vs Deliberative๋?
AI Agent๋ ํ๊ฒฝ๊ณผ ์ํธ์์ฉํ๋ฉด์ ํ๋์ ๊ฒฐ์ ํ๋ ํ๋ก๊ทธ๋จ์
๋๋ค.
๊ทธ๋ฐ๋ฐ ๊ทธ ๊ฒฐ์ ๋ฐฉ์์ด ์คํ์ผ์ ๋ฐ๋ผ ๊ทน๋ช
ํ ๊ฐ๋ฆฌ๋๋ฐ์...
- Reactive Agent: “์ง๊ธ ์ํฉ์ด ์ด๋ฌ๋๊น ๋ฐ๋ก ์ด๋ ๊ฒ ํ ๊ฒ!” (๊ฐ๊ฐ → ๋ฐ์)
- Deliberative Agent: “ํ ... ์ด ์ํฉ์ด๋๊น ์์ผ๋ก ์ด๋ ๊ฒ ์ด๋ ๊ฒ ๊ณํ์ ์ธ์๋ณผ๊น?” (๊ฐ๊ฐ → ์ฌ๊ณ → ํ๋)
๋ง์น ์ผ๊ตฌ์์ ๊ณต์ ๋ณด๊ณ ๋ฐ๋ก ์น๋ ํ์(reactive)์,
์ ์ธ์์ ๋ฒ์ด๋ฉฐ ๋ค์ 10์๋ฅผ ๊ณ์ฐํ๋ ๋ฐ๋๊ธฐ์ฌ(deliberative) ๊ฐ์ ์ฐจ์ด์ฃ ! โพ๐ง
โ๏ธ Reactive Agent: ์กฐ๊ฑด๋ฐ์ฌ ์ฅ์ธ
๊ฐ๋ ์ ์
Reactive Agent๋ ๋ด๋ถ ์ํ ์์ด,
ํ์ฌ ๊ด์ฐฐํ ์ํ(state)์๋ง ์์กดํด์ ํ๋์ ๊ฒฐ์ ํฉ๋๋ค.
if environment == "์ํ":
action = "๋๋ง"
elif environment == "๋จน์ด ๋ฐ๊ฒฌ":
action = "์ ๊ทผ"
โ๏ธ ๋ํ ๊ตฌ์กฐ: ์กฐ๊ฑด-ํ๋ ๊ท์น (condition-action rule)
ํน์ง
ํญ๋ชฉ ์ค๋ช
์ํ ์ ์ฅ | ์์ |
์์ธก ๋ฅ๋ ฅ | ์์ |
์๋ | ๋งค์ฐ ๋น ๋ฆ |
๋ณต์ก์ฑ | ๋ฎ์ |
์ ์๋ ฅ | ํ๊ฒฝ ๋ณํ์ ์ฝํจ |
์ฅ์
- ๊ตฌํ์ด ๊ฐ๋จํ๊ณ ๋น ๋ฆ
- ์ค์๊ฐ ๋ฐ์์ฑ์ด ๋ฐ์ด๋จ
- ๊ณ ์ฅ๋ ๊ฒ๋ ๊ฑฐ์ ์์ ๐
๋จ์
- ๊ณํ์ ์ธ์ฐ์ง ์์
- ๋ณต์กํ ๋ฌธ์ ์๋ ์ฝํจ
- ์ฅ๊ธฐ ๋ชฉํ ์์ = ๋๊ฐ ์ํค๋ฉด ์ํค๋ ๋๋ก๋ง ํจ...
์์ฉ ์ฌ๋ก
- ๋ก๋ด ์ฒญ์๊ธฐ์ ๋ฒฝ ๊ฐ์ง → ๋ฐฉํฅ ํํผ
- ๊ฒ์ NPC์ ๊ฐ๋จํ ๊ณต๊ฒฉ ๋ฐ์
- ์๋ ๋ฌธ์ ์ด๋ฆผ ์กฐ๊ฑด ๊ฐ์ง
๐ถ ๋ง ๊ทธ๋๋ก ‘AI๊ณ์ ์ด๋ฉ’ ๊ฐ์ง๋ง, ๋จ์ ์์ ์๋ ๋งค์ฐ ์ธ๋ชจ ์์ต๋๋ค!
โ๏ธ Deliberative Agent: ๊ณ์ฐํ๊ณ ๋ ๊ณ์ฐํ๋ค...
๊ฐ๋ ์ ์
Deliberative Agent๋ ํ์ฌ ์ํ๋ฟ๋ง ์๋๋ผ ๋ฏธ๋ ์ํ๊น์ง ๊ณ ๋ คํด์
ํ๋ ๊ณํ(plan)์ ์๋ฆฝํ๊ณ ์คํํฉ๋๋ค.
โ๏ธ ์ฃผ์ ๊ตฌ์ฑ
- Knowledge base (์ง์)
- Planner (๊ณํ๊ธฐ)
- Executor (์คํ๊ธฐ)
์๋ ์์
plan = plan_route(current_position, target_position)
while not goal_reached:
action = plan.pop(0)
execute(action)
๐ง ํ์ฌ ์ํ + ๋ชฉํ ์ํ → ๊ณํ ์๋ฆฝ → ์คํ
ํน์ง
ํญ๋ชฉ ์ค๋ช
์ํ ์ ์ฅ | ์์ |
์์ธก ๋ฅ๋ ฅ | ์์ |
์๋ | ๋๋ฆด ์ ์์ |
๋ณต์ก์ฑ | ๋์ |
์ ์๋ ฅ | ์ ๋ต์ ๋ฐ๋ผ ๋ค๋ฆ |
์ฅ์
- ๋ชฉํ ์งํฅ์
- ์ ๋ต ์๋ฆฝ ๊ฐ๋ฅ
- ๋ณต์กํ ๋ฌธ์ ํด๊ฒฐ ๊ฐ๋ฅ (ํผ์ฆ, ๊ฒฝ๋ก ํ์ ๋ฑ)
๋จ์
- ๊ณ์ฐ ๋น์ฉ์ด ํผ
- ์ค์๊ฐ ๋ฐ์์ด ๋๋ฆด ์ ์์
- ๊ณํ์ด ํ๋ฆฌ๋ฉด ์ ์ฒด๊ฐ ํ์ด์ง… ์ธ์์ด ๊ทธ๋ ์ฃ ๋ญ ๐ข
์์ฉ ์ฌ๋ก
- ์์จ์ฃผํ ์๋์ฐจ์ ๊ฒฝ๋ก ๊ณํ
- ๋ก๋ณดํฑ ์์ ์กฐ๋ฆฝ ๋์ ์ค๊ณ
- ํ์ ๊ธฐ๋ฐ ๋ก๋ด (์: Mars Rover)
โ๏ธ ์ค์ ์ฝ๋ ์์: Reactive vs Deliberative (Py)
Reactive ์์ (๋ฒฝ ๋ง๋๋ฉด ๋ฐฉํฅ ์ ํ)
def reactive_agent(sensor_input):
if sensor_input == "๋ฒฝ":
return "ํ์ "
else:
return "์ ์ง"
# ์
๋ ฅ: ์ผ์ ๊ฐ
print(reactive_agent("๋ฒฝ")) # ํ์
print(reactive_agent("๋น ๊ณต๊ฐ")) # ์ ์ง
Deliberative ์์ (๋ชฉํ๊น์ง ๊ณํ ์๋ฆฝ)
def plan_path(start, goal):
return ["์ ์ง", "์ฐํ์ ", "์ ์ง", "๋์ฐฉ"] # ๊ฐ๋จํ ์์
def deliberative_agent(position, goal):
plan = plan_path(position, goal)
for action in plan:
print(f\"์คํ: {action}\")
deliberative_agent(\"A\", \"B\")
๐ง ๊ณ ๊ธ ๋น๊ต: ํ์ด๋ธ๋ฆฌ๋ ๊ตฌ์กฐ๋ ์์๊น?
๊ตฌ์กฐ ์ค๋ช
Reactive | ๋น ๋ฅด์ง๋ง ๋ฐ๋ณด๊ฐ์ |
Deliberative | ๋๋ํ์ง๋ง ๋๋ฆผ |
Hybrid Agent | ๋น ๋ฅด๊ณ ๋๋ํด์ง๋ ค๋ ์๋ |
๐งช ์:
- ๋ฐ์ฌ์ ์ธ ์ฅ์ ๋ฌผ ํํผ + ๊ฒฝ๋ก ๊ณํ
- ๊ฐ์ ๋ถ์ + ํ๋ ๋ฐ์ ์กฐํฉ (์: ๊ฐ์ ๋ฐ์ ์ฑ๋ด)
๐ง ํ๋ก์ ํธ/๋ ผ๋ฌธ ์ ์ฌ๋ก
- Subsumption Architecture (Rodney Brooks, MIT)
→ ๋ฐ์ํ ๋ก๋ด ์ค๊ณ ๊ตฌ์กฐ์ ๋ํ! (Roomba ๋ฑ) - Shakey the Robot (SRI, 1960s)
→ ์ต์ด์ deliberative agent ๊ธฐ๋ฐ ๋ก๋ด - Hybrid Agent in RoboCup Soccer
→ ๊ฒฝ๊ธฐ์ฅ์์๋ ๋ฐ์ + ์ ์ ์ ๊ณํ! ๐คโฝ
โ๏ธ ์ฌ์ฉ ์ ๊ณ ๋ ค์ฌํญ
๊ณ ๋ ค ์์ ์ถ์ฒ ๊ตฌ์กฐ
๋จ์ ์ผ์/ํจ์จ ์ฐ์ | Reactive |
๋ณต์กํ ํ๊ฒฝ/๋ชฉํ ์์ | Deliberative |
์ค์๊ฐ + ๋ชฉํ ์งํฅ | Hybrid Agent |
๐ง ์ค๋ฌด ์์ฝ TIP
- ์ผ๋จ ๋น ๋ฅด๊ฒ ๋ง๋ค๋ ค๋ฉด → Reactive
- ๋ฏธ๋๊น์ง ๊ณ ๋ คํ ์ ์ฑ /๊ณํ์ด ํ์ํ๋ฉด → Deliberative
- ๋ ๋ง๋ฆฌ ํ ๋ผ ์ก๊ณ ์ถ์ผ๋ฉด → Hybrid (๋ชจ๋ํ ์ค๊ณ)
๐ ํ์ต ์๋ฃ ์ถ์ฒ
- Reactive Agents in AI: https://cs.furman.edu/~chealy/courses/ai/reactive.pdf
- Planning-based Agents: https://artint.info/html/ArtInt_21.html
- Hybrid Agent Architectures: https://mitpress.mit.edu/books/artificial-intelligence-modern-approach
- MIT OpenCourseWare Robotics Lectures: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-141-robotic-science-and-systems/
๐ค ๋ง๋ฌด๋ฆฌํ๋ฉฐ
AI ์์ด์ ํธ์ ์ธ๊ณ๋ ๋ง์น ์ฑ๊ฒฉ ์ ํ ํ
์คํธ์ฒ๋ผ ํฅ๋ฏธ๋กญ์ต๋๋ค.
๋น์ฅ ๋ฐ์ํ๋ ์์ด์ ํธ๋, ํ์ฐธ ๊ณ ๋ฏผํ๋ค ์์ง์ด๋ ์์ด์ ํธ๋
๊ฐ์ ์ฐ์์๊ฐ ๋ถ๋ช
ํ์ฃ .
์ฌ๋ฌ๋ถ์ AI๊ฐ ๊ฐ๊ฐ์ ์ธ ๋ฐ์ํ์ผ์ง, ์ ์คํ ๊ณํํ์ผ์ง
์ด์ ๋ ๋ชฉ์ ์ ๋ง์ถฐ ๋๋ํ๊ฒ ์ค๊ณํด๋ณด์ธ์.
๊ทธ๋ฆฌ๊ณ ๋ค์ ์๊ฐ์ LLM ์์ด์ ํธ๊ฐ ์ด ๋ ๊ฐ์ง๋ฅผ ์ด๋ป๊ฒ ํตํฉํ๊ณ ์๋์ง๋
ํจ๊ป ์์๋ณด๋ฉด ์ฌ๋ฐ๊ฒ ์ฃ ?
์ฐ๋ฆฌ ํจ๊ป AI์ ๋ ์ ์ง๋ด๋ ๋ฐฉ๋ฒ์ ๊ณ ๋ฏผํด๋ณด๋ฉฐ,
์๋ก ์ด์์ด ๋์ด ๋ ๊น์ ๊ธฐ์ ์ฌํ ๋ ๋๋ด์ ๐
#ReactiveAgent #DeliberativeAgent #AI์์ด์ ํธ #๋ก๋ดAI #์์ด์ ํธ์ํคํ ์ฒ #ํ์ด๋ธ๋ฆฌ๋์์ด์ ํธ #์กฐ๊ฑดํ๋๋ชจ๋ธ #๊ณํ๊ธฐ๋ฐ์์ด์ ํธ #์์จ์ฃผํAI #๋ก๋ด์ง๋ฅ #agentarchitecture #์ธ๊ณต์ง๋ฅ๊ธฐ์ด #AI๊ตฌ์กฐ๋น๊ต #์์ด์ ํธํ๋ก๊ทธ๋๋ฐ #RoboCup #๊ณํ์๋ฆฝAI #AI์ค๊ณ์ ๋ต #์ค์๊ฐAI #์ ๋ต์ AI #๊ฐ๊ฐ๊ธฐ๋ฐAI #ํ๋๊ณํ #AI๋น๊ต๋ถ์ #reactivevsdeliberative #AI์๋ฎฌ๋ ์ด์ #์ง๋ฅํ์์คํ #AI์๋ํ #MITAI #๋ก๋ดํ๋ก๊ทธ๋๋ฐ #AI์ ์ฉ์ฌ๋ก #์์ด์ ํธ์ฝ๋