[[ReAct (Reasoning + Acting)|ReAct (Reasoning + Acting)]] ๐Ÿ“Œ Brief Summary ReAct๋Š” LLM์ด ์ถ”๋ก (Reasoning)๊ณผ ํ–‰๋™(Acting)์„ ๊ต์ฐจ ๋ฐ˜๋ณตํ•˜๋ฉฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๋‹ค. ์ˆœ์ˆ˜ ์ถ”๋ก (Chain-of-Thought)์ด๋‚˜ ์ˆœ์ˆ˜ ํ–‰๋™(๋„๊ตฌ ํ˜ธ์ถœ)๋งŒ์œผ๋กœ๋Š” ํ•ด๊ฒฐํ•˜๊ธฐ ์–ด๋ ค์šด ๋ณต์žกํ•œ ๊ณผ์ œ์—์„œ, ์ƒ๊ฐํ•˜๊ณ โ†’๋„๊ตฌ ์“ฐ๊ณ โ†’๊ด€์ฐฐํ•˜๊ณ โ†’๋‹ค์‹œ ์ƒ๊ฐํ•˜๋Š” ๋ฃจํ”„๋กœ ์ •๋ณด๋ฅผ ์‹ค์‹œ๊ฐ„ ๋ณด์™„ํ•˜๋ฉฐ ์ •ํ™•ํ•œ ๋‹ต์— ๋„๋‹ฌํ•œ๋‹ค. --- ๐Ÿ“– Core Content ## 1. ReAct์˜ ํ•ต์‹ฌ ๋ฃจํ”„ ``` [ReAct ์‚ฌ์ดํด: Thought โ†’ Action โ†’ Observation] Thought 1: "2026๋…„ ๋Œ€ํ•œ๋ฏผ๊ตญ ์ตœ์ €์ž„๊ธˆ์„ ์•Œ์•„์•ผ ํ•œ๋‹ค." Action 1: Search["2026๋…„ ๋Œ€ํ•œ๋ฏผ๊ตญ ์ตœ์ €์ž„๊ธˆ"] Observation 1: "2026๋…„ ์ตœ์ €์ž„๊ธˆ์€ ์‹œ๊ฐ„๋‹น 10,030์› (๊ณ ์šฉ๋…ธ๋™๋ถ€, 2025.07 ๊ณ ์‹œ)" Thought 2: "์›” ๊ธฐ์ค€์œผ๋กœ ํ™˜์‚ฐํ•˜๋ฉด ์ฃผ 40์‹œ๊ฐ„ ๊ธฐ์ค€ 209์‹œ๊ฐ„ ์ ์šฉํ•ด์•ผ ํ•œ๋‹ค." Action 2: Calculate[10030 ร— 209] Observation 2: "2,096,270์›" Thought 3: "๋‹ต์„ ์ถœ๋ ฅํ•  ์ค€๋น„๊ฐ€ ๋๋‹ค." Final Answer: "2026๋…„ ๋Œ€ํ•œ๋ฏผ๊ตญ ์ตœ์ €์ž„๊ธˆ์€ ์‹œ๊ฐ„๋‹น 10,030์›, ์›”๊ธ‰์œผ๋กœ ํ™˜์‚ฐํ•˜๋ฉด ์•ฝ 2,096,270์›์ž…๋‹ˆ๋‹ค." ``` --- ## 2. ์ˆœ์ˆ˜ CoT vs ReAct ๋น„๊ต | ๊ตฌ๋ถ„ | ์ˆœ์ˆ˜ Chain-of-Thought | ReAct | |------|---------------------|-------| | **์ •๋ณด ์†Œ์Šค** | ๋ชจ๋ธ ๋‚ด์žฌ ์ง€์‹๋งŒ | ์™ธ๋ถ€ ๋„๊ตฌ(๊ฒ€์ƒ‰ยทDBยท๊ณ„์‚ฐ๊ธฐ ๋“ฑ) ํ™œ์šฉ | | **์‹ค์‹œ๊ฐ„ ์ •๋ณด** | โŒ (ํ•™์Šต ์‹œ์  ์ดํ›„ ๋ชจ๋ฆ„) | โœ… (์‹ค์‹œ๊ฐ„ ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅ) | | **์ˆ˜์น˜ ๊ณ„์‚ฐ** | ์˜ค๋ฅ˜ ๊ฐ€๋Šฅ (ํ™˜๊ฐ) | โœ… ๊ณ„์‚ฐ๊ธฐ ํ˜ธ์ถœ | | **์ •ํ™•๋„ ํ•œ๊ณ„** | ์ง€์‹ ์ปท์˜คํ”„ | ๋„๊ตฌ ํ’ˆ์งˆ์— ์˜์กด | | **ํ™˜๊ฐ ์œ„ํ—˜** | ๋†’์Œ (๋ชจ๋ฅด๋ฉด ์ง€์–ด๋ƒ„) | ๋‚ฎ์Œ (๋ชจ๋ฅด๋ฉด ๊ฒ€์ƒ‰์œผ๋กœ ํ™•์ธ) | --- ## 3. ReAct์˜ ํ™œ์šฉ ๋„๊ตฌ ์œ ํ˜• | ๋„๊ตฌ ์œ ํ˜• | ์˜ˆ์‹œ | ์—ญํ•  | |---------|------|------| | **์›น ๊ฒ€์ƒ‰** | Google Search, Bing | ์ตœ์‹  ์ •๋ณด ์กฐํšŒ | | **๊ณ„์‚ฐ๊ธฐ** | Python ์ฝ”๋“œ ์‹คํ–‰ | ์ •ํ™•ํ•œ ์ˆ˜์น˜ ๊ณ„์‚ฐ | | **์ฝ”๋“œ ์‹คํ–‰** | Code Interpreter | ๋ฐ์ดํ„ฐ ๋ถ„์„ยท์‹œ๊ฐํ™” | | **์ง€์‹ ๊ทธ๋ž˜ํ”„ ์กฐํšŒ** | SPARQL, Cypher | ์‚ฌ์‹ค ๊ฒ€์ฆยท๋‹ค์ค‘ ํ™‰ ๊ฒ€์ƒ‰ | | **API ํ˜ธ์ถœ** | ๋‚ ์”จยท์ฃผ๊ฐ€ยท์Šค์ผ€์ค„ API | ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ | | **๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค** | SQL ์ฟผ๋ฆฌ | ๊ตฌ์กฐํ™” ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ | --- ## 4. GraphRAG + ReAct ํ†ตํ•ฉ ํŒจํ„ด ``` [์งˆ์˜] "AI ์—ฐ๊ตฌ์†Œ X์˜ ์ตœ๊ทผ ๋…ผ๋ฌธ๊ณผ ์—ฐ๊ตฌ ๋ฐฉํ–ฅ์€?" Thought: "X ์—ฐ๊ตฌ์†Œ ์ตœ์‹  ๋…ผ๋ฌธ์„ ๊ฒ€์ƒ‰ํ•˜๊ณ  KG์—์„œ ์—ฐ๊ตฌ ๋ฐฉํ–ฅ์„ ์ฐพ์ž" Action 1: Search["AI ์—ฐ๊ตฌ์†Œ X 2025 ๋…ผ๋ฌธ"] Observation 1: [์ตœ์‹  ๋…ผ๋ฌธ ๋ชฉ๋ก ๋ฐ˜ํ™˜] Action 2: GraphRAG_Query["X ์—ฐ๊ตฌ์†Œ์˜ ์—ฐ๊ตฌ ๋ถ„์•ผ ๋ฐ ํ•ต์‹ฌ ์ธ๋ฌผ"] Observation 2: [์ง€์‹ ๊ทธ๋ž˜ํ”„์—์„œ ์—ฐ๊ตฌ ์ฃผ์ œยท์—ฐ๊ตฌ์ž ๋„คํŠธ์›Œํฌ ๋ฐ˜ํ™˜] Thought: "๋‘ ์ •๋ณด๋ฅผ ๊ฒฐํ•ฉํ•˜๋ฉด ์ข…ํ•ฉ์ ์ธ ๋ถ„์„์ด ๊ฐ€๋Šฅํ•˜๋‹ค." Final Answer: [์ตœ์‹  ๋…ผ๋ฌธ + KG ๊ตฌ์กฐ์  ์ •๋ณด ํ†ตํ•ฉ ์‘๋‹ต] ``` --- ## 5. ์„ฑ๋Šฅ ์ˆ˜์น˜ | ๋ฒค์น˜๋งˆํฌ | CoT | ReAct | ํ–ฅ์ƒ | |---------|-----|-------|------| | **HotpotQA** (๋‹ค์ค‘ ํ™‰ QA) | 29.4% | **35.1%** | +5.7%p | | **FEVER** (์‚ฌ์‹ค ๊ฒ€์ฆ) | 67.2% | **80.0%** | +12.8%p | | **ALFWorld** (ํ…์ŠคํŠธ ๊ฒŒ์ž„) | 0% (์‹คํŒจ) | **71%** | โ€” | --- ๐Ÿ”— Knowledge Connections - **Related Topics:** [[Chain-of-Thought (CoT, แ„‰แ…กแ„€แ…ฉ แ„‰แ…กแ„‰แ…ณแ†ฏ)|Chain-of-Thought (CoT, ์‚ฌ๊ณ  ์‚ฌ์Šฌ)]], [[GraphRAG (แ„€แ…ณแ„…แ…ขแ„‘แ…ณ แ„€แ…ตแ„‡แ…กแ†ซ แ„€แ…ฅแ†ทแ„‰แ…ขแ†จ แ„Œแ…ณแ†ผแ„€แ…กแ†ผ แ„‰แ…ขแ†ผแ„‰แ…ฅแ†ผ)|GraphRAG (๊ทธ๋ž˜ํ”„ ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰ ์ฆ๊ฐ• ์ƒ์„ฑ)]], [[RAG (แ„€แ…ฅแ†ทแ„‰แ…ขแ†จ แ„Œแ…ณแ†ผแ„€แ…กแ†ผ แ„‰แ…ขแ†ผแ„‰แ…ฅแ†ผ)|RAG (๊ฒ€์ƒ‰ ์ฆ๊ฐ• ์ƒ์„ฑ)]], [[Multi-Hop Reasoning (แ„ƒแ…กแ„Œแ…ฎแ†ผ แ„’แ…ฉแ†ธ แ„Žแ…ฎแ„…แ…ฉแ†ซ)|Multi-Hop Reasoning (๋‹ค์ค‘ ํ™‰ ์ถ”๋ก )]], [[SPARQL (RDF แ„€แ…ณแ„…แ…ขแ„‘แ…ณ แ„Œแ…ตแ†ฏแ„‹แ…ด แ„‹แ…ฅแ†ซแ„‹แ…ฅ)|SPARQL (RDF ๊ทธ๋ž˜ํ”„ ์งˆ์˜ ์–ธ์–ด)]], [[LLM Hallucination (แ„‹แ…ฅแ†ซแ„‹แ…ฅ แ„†แ…ฉแ„ƒแ…ฆแ†ฏ แ„’แ…ชแ†ซแ„€แ…กแ†จ)|LLM Hallucination (์–ธ์–ด ๋ชจ๋ธ ํ™˜๊ฐ)]], [[AI แ„‹แ…ฆแ„‹แ…ตแ„Œแ…ฅแ†ซแ„แ…ณ (AI Agent)|AI ์—์ด์ „ํŠธ (AI Agent)]] - **Projects/Contexts:** AI ์ถ”๋ก  ์‹œ์Šคํ…œ - **Contradictions/Notes:** - ReAct๋Š” ๋„๊ตฌ ํ˜ธ์ถœ ์˜ค๋ฅ˜ ์‹œ ๋ฃจํ”„์—์„œ ๋ฒ—์–ด๋‚˜์ง€ ๋ชปํ•  ์œ„ํ—˜ โ†’ ์ตœ๋Œ€ ๋ฐ˜๋ณต ํšŸ์ˆ˜(Max Steps) ์ œํ•œ ํ•„์š”. - ๋„๊ตฌ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ๋ธ์ด ์˜คํ•ดํ•˜๊ฑฐ๋‚˜ ์ž˜๋ชป ํ•ด์„ํ•  ๊ฒฝ์šฐ ์˜ค๋‹ต ๋” ๊ฐ•ํ™” ์œ„ํ—˜ โ†’ ๋„๊ตฌ ๊ฒฐ๊ณผ ๊ฒ€์ฆ ๋ ˆ์ด์–ด ๋ณ‘ํ–‰ ๊ถŒ์žฅ. - **์‹ ๊ทœ ํ‚ค์›Œ๋“œ**: `AI ์—์ด์ „ํŠธ (AI Agent)`, `Tool Use (๋„๊ตฌ ์‚ฌ์šฉ)`, `ํ•จ์ˆ˜ ํ˜ธ์ถœ (Function Calling)` โ†’ ํƒ์ƒ‰ ํ ์ถ”๊ฐ€.