๐ AI ์์ด์ ํธ ์น ๊ฒ์ ํ ํฐ ๋น์ฉ์ 100๋ถ์ 1๋ก ์ค์ธ ์จ๊ฒจ์ง ๋๊ตฌ, Actionbook ์์งํ ๋ฐ์ ๋ฐ์ ํ์ต๋๋ค. ์์ด์ ํธ๋ก ์น ๋ธ๋ผ์ฐ์ง ์๋ํ๋ฅผ ๋๋ฆด ๋๋ง๋ค ์ผ๋จ ์ค๋ ์๊ฐ์ด ์์๋๊ณ , ํ ํฐ์ด ๋ น์๋ด๋ฆฌ๋ ๊ฑธ ๋ณด๋ฉด์ "์๋ ์ด๋ฐ ๊ฑด๊ฐ" ์ถ์๊ฑฐ๋ ์. ๊ทธ๋ฅ ์ ๊ฐ ํ ๊น ์ถ์ ์๊ฐ์ด ๋๋ ๊ฒ๋ ํ ๋ ๋ฒ์ด ์๋์์ต๋๋ค ํ์ง๋ง ๊ทผ๋โฆ | Jeongmin Lee
ํต์ฌ ํฌ์ธํธ
- 1๊ธฐ์กด ๋ธ๋ผ์ฐ์ ์์ด์ ํธ๋ค์ ์ ์ฒด HTML DOM์ LLM์ ์ ๋ฌํ์ฌ ๋ง๋ํ ํ ํฐ์ ์๋ชจํ๊ณ ์๋๊ฐ ๋๋ฆฌ๋ฉฐ, ์ฌ์ดํธ UI ๋ณ๊ฒฝ ์ ์๋ํ ๋ก์ง์ด ์ฝ๊ฒ ๊นจ์ง๋ ํ๊ณ๊ฐ ์์์ต๋๋ค.
- 2Actionbook์ ์น์ฌ์ดํธ๋ณ๋ก ๋ฏธ๋ฆฌ ์ ๋ฆฌ๋ ํ๋ ๋งค๋ด์ผ๊ณผ DOM ์ ๋ ํฐ๋ฅผ ์์ถ๋ JSON ํํ๋ก LLM์ ์ ๊ณตํ์ฌ, ํ ํฐ ์ฌ์ฉ๋์ 100๋ถ์ 1๋ก ์ค์ด๊ณ ์น ์๋ํ ์๋๋ฅผ 10๋ฐฐ ๊ฐ๋ ํฅ์์ํต๋๋ค.
- 3ํนํ Rust ๊ธฐ๋ฐ์ `actionbook-rs`๋ 7.8MB์ ์์ ๋ฐ์ด๋๋ฆฌ ํฌ๊ธฐ์ 5ms์ ๋น ๋ฅธ ์์ ์๊ฐ์ ์ ๊ณตํ๋ฉฐ, ๋ฐํ์ ์์กด์ฑ ์์ด CI/CD ํ์ดํ๋ผ์ธ์ ๋ฐ๋ก ์ ์ฉ ๊ฐ๋ฅํ ๋์ ํจ์จ์ฑ๊ณผ ์์ ์ฑ์ ์๋ํฉ๋๋ค.
Jeongmin Lee๋ AI ์์ด์ ํธ์ ์น ๋ธ๋ผ์ฐ์ง ๋นํจ์จ์ฑ ๋ฌธ์ ๋ฅผ ์ ๊ธฐํ๋ฉฐ, ์ด๋ฅผ ํด๊ฒฐํ๋ Actionbook์ด๋ผ๋ ๋๊ตฌ๋ฅผ ์๊ฐํฉ๋๋ค.
๊ธฐ์กด ๋ฌธ์ ์ (Problem Statement):
๊ธฐ์กด AI ์์ด์ ํธ ํ๋ ์์ํฌ๋ ์น ํ์ด์ง ์ ์ฒด์ DOM(Document Object Model)์ LLM(Large Language Model)์ ์ ๋ฌํ์ฌ ์น ๋ธ๋ผ์ฐ์ง์ ์ํํฉ๋๋ค. ์ด๋ก ์ธํด ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ์ ์ด ๋ฐ์ํฉ๋๋ค.
- ๋์ ํ ํฐ ์๋น:
Airbnb๊ฒ์๊ณผ ๊ฐ์ ์์ ์,DOMํธ๋ฆฌ๊ฐ ์๋ง ๊ฐ์ ํ ํฐ์ ์๋นํ๋ฉฐ, ๋จ์ผ ํ์ด์ง ํ์ฑ์GPT-5๊ธฐ์คLLM์ปจํ ์คํธ์ 60% ์ด์์ ์ฐจ์งํฉ๋๋ค. - ๋๋ฆฐ ์๋:
LLM์ด ๋ฐฉ๋ํDOM๋ด์์ ํ์ํ ์ ๋ณด๋ฅผ ํ์ํ๋ ๋ฐ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฝ๋๋ค. - ๋ฎ์ ์์ ์ฑ: ์น์ฌ์ดํธ UI๊ฐ ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ, ๊ธฐ์กด
CSS selector๊ฐ ๊นจ์ ธ ์์ด์ ํธ ๋ก์ง์ ์ ๋ฉด์ ์ผ๋ก ์์ ํด์ผ ํฉ๋๋ค. ๋ํ, ๋ณต์กํDOM์์์LLM์ดhallucination(๊ฑฐ์ง ์์ฑ)์ ์ผ์ผ์ผ ์๋ชป๋ ๋์์ ์ถ์ธกํ ์ ์์ต๋๋ค.
Actionbook์ ํด๊ฒฐ์ฑ
๋ฐ ํต์ฌ ๋ฐฉ๋ฒ๋ก (Core Methodology):Actionbook์ Vercel์ agent-browser๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐ๋์์ง๋ง, ์ ๊ทผ ๋ฐฉ์์ด ๋ค๋ฆ
๋๋ค.Actionbook์ ์น์ฌ์ดํธ๋ณ๋ก ๋ฏธ๋ฆฌ ์ ๋ฆฌ๋ ํ๋ ๋งค๋ด์ผ(action manual)์ ์์ฑํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค. ์ด ๋งค๋ด์ผ์ ์น์ฌ์ดํธ์ DOM selector์ ํ์ํ ๋์์ JSON ํํ๋ก ์์ถํ์ฌ ํฌํจํฉ๋๋ค. ์ด ์์ถ๋ JSON ์ ๋ณด๊ฐ LLM์ ์ปจํ
์คํธ์ ์ง์ ์ฃผ์
๋๋ฏ๋ก, ์์ด์ ํธ๋ ์น ํ์ด์ง๋ฅผ ํ์ํ ํ์ ์์ด ๋งค๋ด์ผ์ ๋ฐ๋ผ ์ฆ์ ๋์์ ์ํํ ์ ์์ต๋๋ค.
Actionbook์ ์ฃผ์ ์ด์ (Key Benefits):
- ํ ํฐ ์ฌ์ฉ๋ ๋ํญ ๊ฐ์: ์ ์ฒด
HTML๋์ ์์ถ๋JSON์ ์ฌ์ฉํ๋ฏ๋ก, ํ ํฐ ์ฌ์ฉ๋์ด 1/100 ์์ค์ผ๋ก ๊ฐ์ํฉ๋๋ค. - ์๋ ํฅ์: ์์ด์ ํธ๊ฐ ํ์ ์์ด ๋ฐ๋ก ๋์ํ๋ฏ๋ก ์ฒด๊ฐ ์๋๊ฐ 10๋ฐฐ ๊ฐ๊น์ด ๋นจ๋ผ์ง๋๋ค.
- ์ ์ง๋ณด์ ์ฉ์ด์ฑ: ์น์ฌ์ดํธ ๋ณ๊ฒฝ ์, ์์ด์ ํธ ์ฝ๋๋ฅผ ์์ ํ ํ์ ์์ด ๋งค๋ด์ผ๋ง ์ ๋ฐ์ดํธํ๋ฉด ๋ฉ๋๋ค.
- ๋์ ํธํ์ฑ:
GPT-5.3-Codex,Claude Opus 4.6,Gemini 3 Pro๋ฑ ๋ค์ํLLM๊ณผ ํธํ๋ฉ๋๋ค. - ์์ ์ฑ ํฅ์: ๋งค๋ด์ผ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํตํด ์๋ํ๊ฐ ๊นจ์ง๋ ๋น๋๊ฐ ํ์ ํ ์ค์ด๋ญ๋๋ค.
actionbook-rs์ ์ด์ (Advantages of actionbook-rs):Actionbook์ TypeScript ๋ฒ์ ๊ณผ Rust ๊ธฐ๋ฐ์ actionbook-rs ๋ฒ์ ์ด ์์ผ๋ฉฐ, ์ค๋ฌด์์๋ actionbook-rs๊ฐ ๋ ๊ถ์ฅ๋ฉ๋๋ค.
- ๊ฒฝ๋์ฑ: ๋ฐ์ด๋๋ฆฌ ํฌ๊ธฐ๊ฐ 7.8MB๋ก,
TypeScript๋ฒ์ ์ 150MB์ ๋นํด ํจ์ฌ ์์ต๋๋ค. - ๋น ๋ฅธ ์์ ์๊ฐ: ์์ ์๊ฐ์ด 5ms๋ก,
Node.js๊ธฐ๋ฐ์ 500~800ms์ ๋นํด ๋งค์ฐ ๋น ๋ฆ ๋๋ค. - ์ ๋ก ๋ฐํ์ ์์กด์ฑ:
CI/CD(Continuous Integration/Continuous Delivery)ํ์ดํ๋ผ์ธ์ ๋ฐ๋ก ํฌ์ ๊ฐ๋ฅํฉ๋๋ค. - ํธ์์ฑ: ๋ณ๋์ ๋ธ๋ผ์ฐ์ ์ค์น ์์ด ๊ธฐ์กด์ ์ค์น๋
Chrome์ด๋Brave๋ฅผ ํ์ฉํ๋ฉฐ,stealth mode์cookie management๊ฐ ๋ด์ฅ๋์ด ์์ต๋๋ค.
์คํฌ ํ์ผ ํตํฉ (Skill File Integration):Actionbook์ Claude Code์ ๊ฐ์ ์ฝ๋ฉ ์์ด์ ํธ์ skill๋ก ๋ฑ๋กํ๋ฉด, ์น ์์
์ ํ์ง ์ผ๊ด์ฑ์ ์ ์งํ ์ ์์ต๋๋ค. ๋ฐ๋ณต์ ์ธ ํ
์คํธ์์ skill ๋ฑ๋ก ํ ์์
์ฑ๊ณต๋ฅ ์ด ๊ฝค ๋์์ก์ผ๋ฉฐ, ์ด๋ headless ํ๊ฒฝ์ด ์๋ ๋ธ๋ผ์ฐ์ ํ๊ฒฝ์์ ๋์ฑ ํจ๊ณผ์ ์
๋๋ค. ๋งค๋ด์ผ ๊ธฐ๋ฐ์ ์๋ํ ๋ฐฉ์์ ํ์ ๊ธฐ๋ฐ๋ณด๋ค ๋ฐ๋ณต ์์
์์ ํจ์ฌ ์์ ์ ์
๋๋ค.
๊ฒฐ๋ก (Conclusion):Actionbook์ LLM ์์ด์ ํธ๊ฐ ์น์ "๋ณด๋" ๋ฐฉ์์ ํ์ ํ์ฌ ์๋ํ ํ์ง์ ๊ฒฐ์ ํฉ๋๋ค. ๋ฌด์์ DOM ์ ์ฒด๋ฅผ LLM์ ์ ๋ฌํ๋ ์๋๋ ๋๋ฌ์์ ์์ฌํฉ๋๋ค. ์ด ๋๊ตฌ๋ OpenClaw์ ๊ฐ์ ์น ๋ธ๋ผ์ฐ์ง ์๋ํ์ ์ต์ ํ๋์ด ์์ผ๋ฉฐ, ๊ฐ๋ฐ ํ
์คํธ์ฉ์ผ๋ก๋ ๊ธฐ์กด์ Playwright, Chrome Dev, agent-browser ์ฌ์ฉ์ ๊ถ์ฅํฉ๋๋ค.