GitHub - unclecode/crawl4ai: ๐Ÿš€๐Ÿค– Crawl4AI: Open-source LLM Friendly Web Crawler & Scraper. Don't be shy, join here: https://discord.gg/jP8KfhDhyN
Service

GitHub - unclecode/crawl4ai: ๐Ÿš€๐Ÿค– Crawl4AI: Open-source LLM Friendly Web Crawler & Scraper. Don't be shy, join here: https://discord.gg/jP8KfhDhyN

unclecode
2026.02.22
ยทGitHubยทby ์ตœ์„ธ์˜
#Data Extraction#LLM#RAG#Scraper#Web Crawler

ํ•ต์‹ฌ ํฌ์ธํŠธ

  • 1Crawl4AI๋Š” ์›น ์ฝ˜ํ…์ธ ๋ฅผ RAG, ์—์ด์ „ํŠธ ๋ฐ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์— ์ตœ์ ํ™”๋œ LLM ์นœํ™”์ ์ธ Markdown ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์˜คํ”ˆ์†Œ์Šค ์›น ํฌ๋กค๋Ÿฌ ๋ฐ ์Šคํฌ๋ ˆ์ดํผ์ž…๋‹ˆ๋‹ค.
  • 2์ด ํ”Œ๋žซํผ์€ ๋น„๋™๊ธฐ ๋ธŒ๋ผ์šฐ์ € ํ’€ ๊ธฐ๋ฐ˜์˜ ๋น ๋ฅธ ์†๋„, ์„ธ์…˜ ๋ฐ ํ”„๋ก์‹œ ์ œ์–ด, ์ ์‘ํ˜• ์ง€๋Šฅ๊ณผ ๊ฐ™์€ ๊ฐ•์ ์„ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋“ค ์‚ฌ์ด์—์„œ ๋†’์€ ์ธ๊ธฐ๋ฅผ ์–ป๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • 3์ตœ๊ทผ ์—…๋ฐ์ดํŠธ๋ฅผ ํ†ตํ•ด ๋”ฅ ํฌ๋กค๋ง Crash Recovery, Prefetch Mode, ์ง€๋Šฅํ˜• LLM ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ ์ถ”์ถœ, ์‹ค์‹œ๊ฐ„ ๋ชจ๋‹ˆํ„ฐ๋ง Dashboard ๋“ฑ ๋‹ค์–‘ํ•œ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ๋“ค์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Crawl4AI๋Š” LLM(Large Language Model) ์นœํ™”์ ์ธ ์˜คํ”ˆ์†Œ์Šค ์›น ํฌ๋กค๋Ÿฌ์ด์ž ์Šคํฌ๋ž˜ํผ๋กœ, ์›น ์ฝ˜ํ…์ธ ๋ฅผ RAG(Retrieval Augmented Generation), ์—์ด์ „ํŠธ, ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์— ์ฆ‰์‹œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊นจ๋—ํ•˜๊ณ  ๊ตฌ์กฐํ™”๋œ Markdown ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ๋น„์šฉ ํšจ์œจ์„ฑ๊ณผ ์ ‘๊ทผ์„ฑ์— ์ค‘์ ์„ ๋‘๊ณ  ์žˆ์œผ๋ฉฐ, ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ๊ณผ ์œ ์—ฐ์„ฑ์„ ์ œ๊ณตํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์›น ๋ฐ์ดํ„ฐ ์ถ”์ถœ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•ฉ๋‹ˆ๋‹ค.

ํ•ต์‹ฌ ๋ฐฉ๋ฒ•๋ก  ๋ฐ ๊ธฐ์ˆ ์  ํŠน์ง•:

  1. LLM ์นœํ™”์  Markdown ์ƒ์„ฑ:
    • Heuristic-based Filtering (Fit Markdown): ์›น ํŽ˜์ด์ง€์—์„œ ๋…ธ์ด์ฆˆ์™€ ๊ด€๋ จ ์—†๋Š” ๋ถ€๋ถ„์„ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•œ ํœด๋ฆฌ์Šคํ‹ฑ ๊ธฐ๋ฐ˜ ํ•„ํ„ฐ๋ง์„ ์‚ฌ์šฉํ•˜์—ฌ, AI๊ฐ€ ์ฒ˜๋ฆฌํ•˜๊ธฐ์— ์ ํ•ฉํ•œ(fit) Markdown์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
    • BM25 Algorithm: ํ•ต์‹ฌ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•˜๊ณ  ๊ด€๋ จ ์—†๋Š” ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด BM25 ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ™œ์šฉํ•œ ํ•„ํ„ฐ๋ง์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๊ฒ€์ƒ‰ ๊ด€๋ จ์„ฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ฝ˜ํ…์ธ  ์ค‘์š”๋„๋ฅผ ํŒ๋‹จํ•˜๋Š” ๋ฐฉ๋ฒ•๋ก ์ž…๋‹ˆ๋‹ค.
    • Citations and References: ํŽ˜์ด์ง€ ๋‚ด ๋งํฌ๋ฅผ ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์ง„ ์ฐธ์กฐ ๋ชฉ๋ก๊ณผ ๊นจ๋—ํ•œ ์ธ์šฉ๋ฌธ์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ Markdown์— ํฌํ•จ์‹œํ‚ต๋‹ˆ๋‹ค.
    • Custom Strategies: ์‚ฌ์šฉ์ž๊ฐ€ ํŠน์ • ์š”๊ตฌ์‚ฌํ•ญ์— ๋งž์ถฐ ์ž์‹ ๋งŒ์˜ Markdown ์ƒ์„ฑ ์ „๋žต์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  1. ์ •ํ˜• ๋ฐ์ดํ„ฐ ์ถ”์ถœ:
    • LLM-Driven Extraction: ๋ชจ๋“  LLM(์˜คํ”ˆ์†Œ์Šค ๋ฐ ์ƒ์šฉ)์„ ํ™œ์šฉํ•˜์—ฌ ์ •ํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” LLM์— ํŠน์ • ์ถ”์ถœ ์ง€์‹œ์™€ ์Šคํ‚ค๋งˆ๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์›น ์ฝ˜ํ…์ธ ์—์„œ ์›ํ•˜๋Š” JSON ๋˜๋Š” ๊ธฐํƒ€ ๊ตฌ์กฐํ™”๋œ ํ˜•์‹์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฝ‘์•„๋‚ด๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.
    • Chunking Strategies: ๊ธด ์ฝ˜ํ…์ธ ๋ฅผ LLM์ด ์ฒ˜๋ฆฌํ•˜๊ธฐ ์šฉ์ดํ•˜๋„๋ก ํ† ํ”ฝ ๊ธฐ๋ฐ˜(topic-based), ์ •๊ทœ์‹(regex), ๋ฌธ์žฅ ๋‹จ์œ„(sentence-level) ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ์ฒญํฌ(chunk) ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
    • Cosine Similarity: ์‚ฌ์šฉ์ž ์ฟผ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ด€๋ จ์„ฑ ๋†’์€ ์ฝ˜ํ…์ธ  ์ฒญํฌ๋ฅผ ์ฐพ์•„ ์˜๋ฏธ๋ก ์ (semantic) ์ถ”์ถœ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํ…์ŠคํŠธ ์ž„๋ฒ ๋”ฉ ๊ฐ„์˜ ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„๋ฅผ ์ธก์ •ํ•˜์—ฌ ์ฟผ๋ฆฌ์™€ ๋‚ด์šฉ์ด ๋น„์Šทํ•œ ๋ถ€๋ถ„์„ ์‹๋ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•๋ก ์ž…๋‹ˆ๋‹ค.
    • CSS-Based Extraction: XPath ๋ฐ CSS Selector๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ธ ์Šคํ‚ค๋งˆ ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ ์ถ”์ถœ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
    • LLMTableExtraction (v0.7.4): ๋Œ€๊ทœ๋ชจ ํ…Œ์ด๋ธ”์„ ์ง€๋Šฅ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ฒญํ‚น(chunking), ์ฒ˜๋ฆฌ, ๋ณ‘ํ•ฉ ๊ธฐ๋Šฅ์„ ํฌํ•จํ•˜๋Š” ํ˜์‹ ์ ์ธ ํ…Œ์ด๋ธ” ์ถ”์ถœ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. enable_chunking๊ณผ chunk_token_threshold, overlap_threshold๋ฅผ ํ†ตํ•ด ๋Œ€์šฉ๋Ÿ‰ ํ…Œ์ด๋ธ”๋„ ํšจ์œจ์ ์œผ๋กœ ์ถ”์ถœํ•˜๊ณ  ๊ตฌ์กฐํ™”๋œ ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  1. ๋ธŒ๋ผ์šฐ์ € ํ†ตํ•ฉ ๋ฐ ์ œ์–ด:
    • Async/Await (Playwright ๊ธฐ๋ฐ˜): ๋น„๋™๊ธฐ Python asyncio๋ฅผ ํ™œ์šฉํ•˜๋ฉฐ, ์›น ์ž๋™ํ™” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ Playwright๋ฅผ ํ†ตํ•ด ์‹ค์ œ ๋ธŒ๋ผ์šฐ์ €(Chromium, Firefox, WebKit)๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด JavaScript ์‹คํ–‰, ๋™์  ์ฝ˜ํ…์ธ  ๋กœ๋”ฉ, CAPTCHA ํšŒํ”ผ ๋“ฑ ์‹ค์ œ ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ๊ณผ ์œ ์‚ฌํ•œ ํฌ๋กค๋ง์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
    • Remote Browser Control (CDP): Chrome Developer Tools Protocol (CDP)์„ ํ™œ์šฉํ•˜์—ฌ ์›๊ฒฉ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ œ์–ดํ•˜๊ณ  ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ์ถ”์ถœ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    • Browser Profiler & Session Management: ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ ๋””๋ ‰ํ† ๋ฆฌ(user data directory)๋ฅผ ํ†ตํ•ด ์˜๊ตฌ์ ์ธ ํ”„๋กœํ•„์„ ์ƒ์„ฑํ•˜๊ณ  ์ธ์ฆ ์ƒํƒœ, ์ฟ ํ‚ค, ์„ค์ •์„ ์ €์žฅํ•˜์—ฌ ์„ธ์…˜ ๊ด€๋ฆฌ๋ฅผ ์šฉ์ดํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. use_persistent_context๋ฅผ ํ†ตํ•ด ๋ธŒ๋ผ์šฐ์ € ์„ธ์…˜ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • Dynamic Viewport Adjustment: ํŽ˜์ด์ง€ ์ฝ˜ํ…์ธ ์— ๋งž์ถฐ ๋ธŒ๋ผ์šฐ์ € ๋ทฐํฌํŠธ๋ฅผ ์ž๋™์œผ๋กœ ์กฐ์ •ํ•˜์—ฌ ๋ชจ๋“  ์š”์†Œ๊ฐ€ ๋ Œ๋”๋ง๋˜๊ณ  ์บก์ฒ˜๋˜๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.
    • Stealth Mode (v0.7.3): undetected ๋ธŒ๋ผ์šฐ์ € ํƒ€์ž…์„ ์ง€์›ํ•˜์—ฌ ๋ด‡ ๊ฐ์ง€๋ฅผ ํšŒํ”ผํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” browsertype="undetected"browser_type="undetected" ์„ค์ •์„ ํ†ตํ•ด Cloudflare, Akamai ๋“ฑ๊ณผ ๊ฐ™์€ ๊ณ ๊ธ‰ ๋ด‡ ๊ฐ์ง€ ์‹œ์Šคํ…œ์„ ์šฐํšŒํ•ฉ๋‹ˆ๋‹ค.
  1. ํฌ๋กค๋ง ๋ฐ ์Šคํฌ๋ž˜ํ•‘ ๊ธฐ๋Šฅ:
    • Dynamic Crawling: ์›น ํŽ˜์ด์ง€์˜ JavaScript๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๋น„๋™๊ธฐ/๋™๊ธฐ ๋กœ๋”ฉ์„ ๊ธฐ๋‹ค๋ ค ๋™์  ์ฝ˜ํ…์ธ ๋ฅผ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. js_code ์ธ์ž๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž ์ •์˜ JavaScript ์ฝ”๋“œ๋ฅผ ํŽ˜์ด์ง€์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • Customizable Hooks: ํฌ๋กค๋ง ํ”„๋กœ์„ธ์Šค์˜ ๊ฐ ๋‹จ๊ณ„(์˜ˆ: on_page_context_created, before_goto)์— ์‚ฌ์šฉ์ž ์ •์˜ Python ํ•จ์ˆ˜ ๊ธฐ๋ฐ˜์˜ ํ›…(hook)์„ ์ •์˜ํ•˜์—ฌ ๋™์ž‘์„ ๋ฏธ์„ธํ•˜๊ฒŒ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํฌ๋กค๋ง ํŒŒ์ดํ”„๋ผ์ธ์˜ ์œ ์—ฐ์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•ฉ๋‹ˆ๋‹ค.
    • Caching: ๋ฐ์ดํ„ฐ ์บ์‹ฑ์„ ํ†ตํ•ด ํฌ๋กค๋ง ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  ์ค‘๋ณต fetch๋ฅผ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.
    • Full-Page Scanning: ์Šคํฌ๋กค๋ง์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜์—ฌ ๋ชจ๋“  ๋™์  ์ฝ˜ํ…์ธ ๋ฅผ ๋กœ๋“œํ•˜๊ณ  ์บก์ฒ˜ํ•˜๋ฉฐ, ํŠนํžˆ ๋ฌดํ•œ ์Šคํฌ๋กค ํŽ˜์ด์ง€์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.
    • Deep Crawl Crash Recovery (v0.8.0): on_state_change ์ฝœ๋ฐฑ๊ณผ resume_state ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํ†ตํ•ด ์žฅ์‹œ๊ฐ„ ๋”ฅ ํฌ๋กค๋ง ์ค‘์—๋„ ํฌ๋ž˜์‹œ ๋ฐœ์ƒ ์‹œ ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ณต๊ตฌํ•˜์—ฌ ์ž‘์—…์„ ์žฌ๊ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. BFS, DFS, Best-First ์ „๋žต๊ณผ ์—ฐ๋™๋ฉ๋‹ˆ๋‹ค.
  1. ๋ฐฐํฌ ๋ฐ ํ™•์žฅ์„ฑ:
    • Dockerized Setup: FastAPI ์„œ๋ฒ„์™€ ํ•จ๊ป˜ ์ตœ์ ํ™”๋œ Docker ์ด๋ฏธ์ง€๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์‰ฌ์šด ๋ฐฐํฌ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‹ค์‹œ๊ฐ„ ๋ชจ๋‹ˆํ„ฐ๋ง ๋Œ€์‹œ๋ณด๋“œ, ๋ธŒ๋ผ์šฐ์ € ํ’€๋ง, MCP(Multi-Client Protocol) ํ†ตํ•ฉ ๋“ฑ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๊ธ‰ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • Scalable Architecture: ๋Œ€๊ทœ๋ชจ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์— ์ตœ์ ํ™”๋œ ์„œ๋ฒ„ ์„ฑ๋Šฅ์„ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • Multi-URL Configuration (v0.7.3): url_matcher๋ฅผ ํ†ตํ•ด URL ํŒจํ„ด๋ณ„๋กœ ๋‹ค๋ฅธ ํฌ๋กค๋ง ์ „๋žต(CrawlerRunConfig)์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์–ด, ๋‹จ์ผ ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ์—์„œ๋„ ์œ ์—ฐํ•œ ์„ค์ •์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
    • Prefetch Mode (v0.8.0): prefetch=Trueprefetch=True ์„ค์ •์„ ํ†ตํ•ด Markdown, ์ถ”์ถœ, ๋ฏธ๋””์–ด ์ฒ˜๋ฆฌ๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ณ  URL ๋ฐ ๋งํฌ๋งŒ ๋น ๋ฅด๊ฒŒ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ „์ฒด ์ฒ˜๋ฆฌ๋ณด๋‹ค 5-10๋ฐฐ ๋น ๋ฅด๋ฉฐ, ๋‘ ๋‹จ๊ณ„ ํฌ๋กค๋ง(๋ฐœ๊ฒฌ ํ›„ ์„ ํƒ์  ์ฒ˜๋ฆฌ)์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
  1. ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๋””๋ฒ„๊น…:
    • Real-time Monitoring Dashboard (v0.7.7): ๋ผ์ด๋ธŒ ์‹œ์Šคํ…œ ๋ฉ”ํŠธ๋ฆญ๊ณผ ๋ธŒ๋ผ์šฐ์ € ํ’€ ๊ฐ€์‹œ์„ฑ์„ ์ œ๊ณตํ•˜๋Š” ์›น UI๋ฅผ ํ†ตํ•ด ์‹ค์‹œ๊ฐ„ ๋ชจ๋‹ˆํ„ฐ๋ง์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
    • Comprehensive Monitor API & WebSocket Streaming (v0.7.7): ๋ชจ๋“  ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹ ์ ‘๊ทผ์„ ์œ„ํ•œ REST API์™€ ์‹ค์‹œ๊ฐ„ ์—…๋ฐ์ดํŠธ๋ฅผ ์œ„ํ•œ WebSocket ์ŠคํŠธ๋ฆฌ๋ฐ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    • Memory Monitoring (v0.7.3): ํฌ๋กค๋ง ์ค‘ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ถ”์ ํ•˜๊ณ  ์ตœ์ ํ™” ๋ณด๊ณ ์„œ๋ฅผ ์ œ๊ณตํ•˜์—ฌ ํšจ์œจ์ ์ธ ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ๋ฅผ ๋•์Šต๋‹ˆ๋‹ค.

Crawl4AI๋Š” ์›น์—์„œ LLM์„ ์œ„ํ•œ ๊ณ ํ’ˆ์งˆ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ฐ•๋ ฅํ•˜๊ณ  ์œ ์—ฐํ•˜๋ฉฐ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.