Files
deepagent/DeepAgent_research.ipynb
2025-12-31 15:48:56 +09:00

2147 lines
368 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"cells": [
{
"cell_type": "markdown",
"id": "4c897bc9",
"metadata": {},
"source": [
"# DeepAgent 기반의 Research Agent\n",
"\n",
"## 주요 특징\n",
"\n",
"1. **Multi-SubAgent 시스템**: 세 가지 전문화된 SubAgent (researcher, explorer, synthesizer)\n",
"2. **CompiledSubAgent 패턴**: Researcher는 자율적 DeepAgent로 \"넓게 탐색 → 깊게 파기\" 패턴 수행\n",
"3. **Skills System**: Progressive Disclosure를 통한 스킬 관리\n",
"4. **Filesystem Backend**: 연구 결과의 영구 저장\n",
"\n",
"## 아키텍처 개요\n",
"\n",
"```\n",
"Main Orchestrator (create_deep_agent)\n",
" │\n",
" ├── researcher (CompiledSubAgent - 자율적 DeepAgent)\n",
" │ └── 자체 계획 루프 + 반성 + 컨텍스트 관리\n",
" │\n",
" ├── explorer (Simple SubAgent)\n",
" │ └── 빠른 읽기 전용 탐색\n",
" │\n",
" └── synthesizer (Simple SubAgent)\n",
" └── 연구 결과 통합\n",
"```"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "fecc3e39",
"metadata": {},
"outputs": [],
"source": [
"import sys\n",
"from pathlib import Path\n",
"\n",
"from dotenv import load_dotenv\n",
"\n",
"load_dotenv(\".env\", override=True)\n",
"\n",
"# 프로젝트 루트를 Python 경로에 추가 (노트북에서 모듈 import를 위해)\n",
"PROJECT_ROOT = Path.cwd()\n",
"if str(PROJECT_ROOT) not in sys.path:\n",
" sys.path.insert(0, str(PROJECT_ROOT))"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "9163556f",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1. tavily_search: 주어진 쿼리로 웹을 검색한다.\n",
"\n",
"Tavily를 사용해 관련 URL을 찾고, 전체 웹페이지 콘텐츠를 마크다운으로 가져와 반환한다.\n",
"\n",
"Args:\n",
" query: 실행할 검색 쿼리\n",
" max_results: 반환할 최대 결과 수 (기본값: 1)\n",
" topic: 주제 필터 - 'general', 'news', 또는 'finance' (기본값: 'general')\n",
"\n",
"Returns:\n",
" 전체 웹페이지 콘텐츠가 포함된 포맷팅된 검색 결과\n",
"2. think_tool: 연구 진행 상황과 의사결정을 위한 전략적 성찰 도구.\n",
"\n",
"각 검색 후 결과를 분석하고 다음 단계를 체계적으로 계획하기 위해 이 도구를 사용한다.\n",
"이는 품질 높은 의사결정을 위해 연구 워크플로우에 의도적인 멈춤을 만든다.\n",
"\n",
"사용 시점:\n",
"- 검색 결과를 받은 후: 어떤 핵심 정보를 찾았는가?\n",
"- 다음 단계를 결정하기 전: 포괄적으로 답변할 수 있을 만큼 충분한가?\n",
"- 연구 공백을 평가할 때: 아직 누락된 구체적인 정보는 무엇인가?\n",
"- 연구를 마무리하기 전: 지금 완전한 답변을 제공할 수 있는가?\n",
"\n",
"성찰에 포함해야 할 내용:\n",
"1. 현재 발견의 분석 - 어떤 구체적인 정보를 수집했는가?\n",
"2. 공백 평가 - 어떤 중요한 정보가 아직 누락되어 있는가?\n",
"3. 품질 평가 - 좋은 답변을 위한 충분한 증거/예시가 있는가?\n",
"4. 전략적 결정 - 검색을 계속해야 하는가, 답변을 제공해야 하는가?\n",
"\n",
"Args:\n",
" reflection: 연구 진행 상황, 발견, 공백, 다음 단계에 대한 상세한 성찰\n",
"\n",
"Returns:\n",
" 의사결정을 위해 성찰이 기록되었다는 확인\n"
]
}
],
"source": [
"# 연구 도구 살펴보기\n",
"from research_agent.tools import tavily_search, think_tool\n",
"\n",
"print(f\"1. tavily_search: {tavily_search.description}\")\n",
"print(f\"2. think_tool: {think_tool.description}\")"
]
},
{
"cell_type": "markdown",
"id": "7ba3ee5b",
"metadata": {},
"source": [
"---\n",
"\n",
"## 자율적 연구 에이전트 (Autonomous Researcher)\n",
"\n",
"### 핵심 개념: CompiledSubAgent vs Simple SubAgent\n",
"\n",
"| 유형 | 구조 | 특징 |\n",
"|------|------|------|\n",
"| **Simple SubAgent** | `{name, description, system_prompt, tools}` | 단일 응답, 미들웨어에서 컴파일 |\n",
"| **CompiledSubAgent** | `{name, description, runnable}` | 자체 DeepAgent, 다중 턴 실행 |\n",
"\n",
"### 자율적 연구 워크플로우: \"넓게 탐색 → 깊게 파기\"\n",
"\n",
"```\n",
"┌─────────────────────────────────────────────────────────────────┐\n",
"│ AUTONOMOUS RESEARCH LOOP │\n",
"├─────────────────────────────────────────────────────────────────┤\n",
"│ Phase 1: Exploratory Search (1-2회) │\n",
"│ └── 광범위한 검색으로 연구 환경 파악 │\n",
"│ └── think_tool로 유망한 방향 2-3개 식별 │\n",
"│ │\n",
"│ Phase 2: Directed Research (방향당 1-2회) │\n",
"│ └── 각 방향에 대한 집중 검색 │\n",
"│ └── think_tool로 인사이트 평가 │\n",
"│ │\n",
"│ Phase 3: Synthesis │\n",
"│ └── 모든 발견을 구조화된 형태로 통합 │\n",
"└─────────────────────────────────────────────────────────────────┘\n",
"```\n",
"\n",
"### 에이전트 연구 기법\n",
"\n",
"[Anthropic 에서 제시한 프롬프팅 기법](https://youtu.be/XSZP9GhhuAc?si=zowpViL-2j-vI9hA)을 활용합니다:\n",
"\n",
"1. **에이전트처럼 생각하기**: 질문을 꼼꼼히 읽고, 넓게 시작해서 좁혀가기\n",
"2. **하드 리밋 설정**: 검색 도구 2-5회, 최대 5-6회로 제한\n",
"3. **생각의 과정 드러내기**: 각 검색 후 `think_tool`로 결과 분석"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "4487f04d",
"metadata": {},
"outputs": [],
"source": [
"# 프롬프트 및 유틸리티 임포트\n",
"from research_agent.prompts import (\n",
" EXPLORER_INSTRUCTIONS,\n",
" RESEARCH_WORKFLOW_INSTRUCTIONS,\n",
" SUBAGENT_DELEGATION_INSTRUCTIONS,\n",
" SYNTHESIZER_INSTRUCTIONS,\n",
")\n",
"from research_agent.researcher.prompts import AUTONOMOUS_RESEARCHER_INSTRUCTIONS\n",
"from research_agent.utils import format_messages, show_prompt"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "a6570183",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #000080; text-decoration-color: #000080\">╭──────────────────────────────────────────────────── </span><span style=\"color: #008000; text-decoration-color: #008000; font-weight: bold\">Prompt</span><span style=\"color: #000080; text-decoration-color: #000080\"> ─────────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> You are an autonomous research agent. Your job is to thoroughly research a topic by following a <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> \"breadth-first, then depth\" approach. <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> For context, today's date is {date}. <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> <span style=\"color: #800080; text-decoration-color: #800080; font-weight: bold\">## Your Capabilities</span> <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> You have access to: <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> - **tavily_search**: Web search with full content extraction <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> - **think_tool**: Reflection and strategic planning <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> - **write_todos**: Self-planning and progress tracking <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> <span style=\"color: #800080; text-decoration-color: #800080; font-weight: bold\">## Autonomous Research Workflow</span> <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">### Phase 1: Exploratory Search (1-2 searches)</span> <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> **Goal**: Get the lay of the land <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> Start with broad searches to understand: <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> - Key concepts and terminology in the field <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> - Major players, sources, and authorities <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> - Recent trends and developments <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> - Potential sub-topics worth exploring <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> After each search, **ALWAYS** use think_tool to: <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> ``` <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> \"What did I learn? Key concepts are: ... <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> What are 2-3 promising directions for deeper research? <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> 1. Direction A: [reason] <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> 2. Direction B: [reason] <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> 3. Direction C: [reason] <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> Do I need more exploration, or can I proceed to Phase 2?\" <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> ``` <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">### Phase 2: Directed Research (1-2 searches per direction)</span> <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> **Goal**: Deep dive into promising directions <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> For each promising direction identified in Phase 1: <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> 1. Formulate a specific, focused search query <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> 2. Execute tavily_search with the focused query <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> 3. Use think_tool to assess: <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> ``` <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> \"Direction: [name] <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> What new insights did this reveal? <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> - Insight 1: ... <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> - Insight 2: ... <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> Is this direction yielding valuable information? [Yes/No] <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> Should I continue deeper or move to the next direction?\" <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> ``` <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">### Phase 3: Synthesis</span> <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> **Goal**: Combine all findings into a coherent response <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> After completing directed research: <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> 1. Review all gathered information <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> 2. Identify patterns and connections <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> 3. Note where sources agree or disagree <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> 4. Structure your findings clearly <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> <span style=\"color: #800080; text-decoration-color: #800080; font-weight: bold\">## Self-Management with write_todos</span> <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> At the start, create a research plan: <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> ``` <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> 1. [Explore] Broad search to understand the research landscape <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> 2. [Analyze] Review findings and identify 2-3 promising directions <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> 3. [Deep Dive] Research Direction A: [topic <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> ... (truncated) <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[34m╭─\u001b[0m\u001b[34m───────────────────────────────────────────────────\u001b[0m\u001b[34m \u001b[0m\u001b[1;32mPrompt\u001b[0m\u001b[34m \u001b[0m\u001b[34m────────────────────────────────────────────────────\u001b[0m\u001b[34m─╮\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m You are an autonomous research agent. Your job is to thoroughly research a topic by following a \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \"breadth-first, then depth\" approach. \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m For context, today's date is {date}. \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[1;35m## Your Capabilities\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m You have access to: \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m - **tavily_search**: Web search with full content extraction \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m - **think_tool**: Reflection and strategic planning \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m - **write_todos**: Self-planning and progress tracking \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[1;35m## Autonomous Research Workflow\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[1;36m#\u001b[0m\u001b[1;36m## Phase 1: Exploratory Search (1-2 searches)\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m **Goal**: Get the lay of the land \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m Start with broad searches to understand: \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m - Key concepts and terminology in the field \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m - Major players, sources, and authorities \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m - Recent trends and developments \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m - Potential sub-topics worth exploring \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m After each search, **ALWAYS** use think_tool to: \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m ``` \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \"What did I learn? Key concepts are: ... \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m What are 2-3 promising directions for deeper research? \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m 1. Direction A: [reason] \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m 2. Direction B: [reason] \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m 3. Direction C: [reason] \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m Do I need more exploration, or can I proceed to Phase 2?\" \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m ``` \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[1;36m#\u001b[0m\u001b[1;36m## Phase 2: Directed Research (1-2 searches per direction)\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m **Goal**: Deep dive into promising directions \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m For each promising direction identified in Phase 1: \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m 1. Formulate a specific, focused search query \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m 2. Execute tavily_search with the focused query \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m 3. Use think_tool to assess: \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m ``` \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \"Direction: [name] \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m What new insights did this reveal? \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m - Insight 1: ... \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m - Insight 2: ... \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m Is this direction yielding valuable information? [Yes/No] \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m Should I continue deeper or move to the next direction?\" \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m ``` \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[1;36m#\u001b[0m\u001b[1;36m## Phase 3: Synthesis\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m **Goal**: Combine all findings into a coherent response \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m After completing directed research: \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m 1. Review all gathered information \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m 2. Identify patterns and connections \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m 3. Note where sources agree or disagree \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m 4. Structure your findings clearly \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[1;35m## Self-Management with write_todos\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m At the start, create a research plan: \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m ``` \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m 1. [Explore] Broad search to understand the research landscape \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m 2. [Analyze] Review findings and identify 2-3 promising directions \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m 3. [Deep Dive] Research Direction A: [topic \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m ... (truncated) \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"show_prompt(AUTONOMOUS_RESEARCHER_INSTRUCTIONS[:2000] + \"\\n\\n... (truncated)\")"
]
},
{
"cell_type": "markdown",
"id": "4e55b2c0",
"metadata": {},
"source": [
"## SubAgent 구조 비교\n",
"\n",
"아래에서 Simple SubAgent와 CompiledSubAgent의 차이를 살펴봅니다."
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "y5y5vinhb9",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"=== SubAgent 구조 비교 ===\n",
"\n",
"1. Researcher (CompiledSubAgent)\n",
" - name: researcher\n",
" - has 'runnable': True\n",
" - runnable type: CompiledStateGraph\n",
" - description: Autonomous deep research agent with self-planning and 'bread...\n",
"\n",
"2. Explorer (Simple SubAgent)\n",
" - name: explorer\n",
" - has 'system_prompt': True\n",
" - has 'runnable': False\n",
"\n",
"3. Synthesizer (Simple SubAgent)\n",
" - name: synthesizer\n",
" - has 'system_prompt': True\n",
" - has 'runnable': False\n"
]
}
],
"source": [
"# SubAgent 구조 비교\n",
"from research_agent.agent import ALL_SUBAGENTS, SIMPLE_SUBAGENTS\n",
"from research_agent.researcher import get_researcher_subagent\n",
"\n",
"print(\"=== SubAgent 구조 비교 ===\\n\")\n",
"\n",
"# 1. Researcher (CompiledSubAgent)\n",
"researcher = ALL_SUBAGENTS[0]\n",
"print(\"1. Researcher (CompiledSubAgent)\")\n",
"print(f\" - name: {researcher['name']}\")\n",
"print(f\" - has 'runnable': {'runnable' in researcher}\")\n",
"print(f\" - runnable type: {type(researcher.get('runnable')).__name__}\")\n",
"print(f\" - description: {researcher['description'][:60]}...\")\n",
"print()\n",
"\n",
"# 2. Explorer (Simple SubAgent)\n",
"explorer = ALL_SUBAGENTS[1]\n",
"print(\"2. Explorer (Simple SubAgent)\")\n",
"print(f\" - name: {explorer['name']}\")\n",
"print(f\" - has 'system_prompt': {'system_prompt' in explorer}\")\n",
"print(f\" - has 'runnable': {'runnable' in explorer}\")\n",
"print()\n",
"\n",
"# 3. Synthesizer (Simple SubAgent)\n",
"synthesizer = ALL_SUBAGENTS[2]\n",
"print(\"3. Synthesizer (Simple SubAgent)\")\n",
"print(f\" - name: {synthesizer['name']}\")\n",
"print(f\" - has 'system_prompt': {'system_prompt' in synthesizer}\")\n",
"print(f\" - has 'runnable': {'runnable' in synthesizer}\")"
]
},
{
"cell_type": "markdown",
"id": "ab6e3639",
"metadata": {},
"source": [
"---\n",
"\n",
"## Research Orchestrator 에이전트\n",
"\n",
"`research_agent.agent` 모듈에서 이미 구성된 에이전트를 가져옵니다.\n",
"\n",
"### 구성 요소:\n",
"- **모델**: `gpt-4.1` (temperature=0.0)\n",
"- **백엔드**: CompositeBackend (FileSystem + State)\n",
"- **SubAgents**: researcher (CompiledSubAgent), explorer, synthesizer\n",
"- **미들웨어**: SkillsMiddleware (Progressive Disclosure)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "62da8411",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"=== Research Agent 구성 ===\n",
"Model: gpt-4.1\n",
"SubAgents: ['researcher', 'explorer', 'synthesizer']\n",
"Agent type: CompiledStateGraph\n"
]
}
],
"source": [
"# research_agent 모듈에서 구성된 에이전트 가져오기\n",
"from research_agent.agent import ALL_SUBAGENTS, agent, model\n",
"\n",
"print(\"=== Research Agent 구성 ===\")\n",
"print(f\"Model: {model.model_name}\")\n",
"print(f\"SubAgents: {[s['name'] for s in ALL_SUBAGENTS]}\")\n",
"print(f\"Agent type: {type(agent).__name__}\")"
]
},
{
"cell_type": "markdown",
"id": "1whxhn2gnai",
"metadata": {},
"source": [
"---\n",
"\n",
"## 연구 실행\n",
"\n",
"에이전트에게 연구 요청을 보내고 결과를 확인합니다.\n",
"\n",
"자율적 연구 에이전트는:\n",
"1. 오케스트레이터가 `task(researcher)` 호출\n",
"2. Researcher가 자체적으로 Phase 1-2-3 수행\n",
"3. 구조화된 결과를 오케스트레이터에 반환"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "613634c2",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Messages: 28 개\n",
"Files: []\n"
]
}
],
"source": [
"# 연구 요청 실행\n",
"result = agent.invoke(\n",
" {\n",
" \"messages\": [\n",
" {\n",
" \"role\": \"user\",\n",
" \"content\": \"Research context engineering approaches used to build AI agents. Speak in Korean.\",\n",
" }\n",
" ],\n",
" },\n",
")\n",
"\n",
"print(f\"Messages: {len(result['messages'])} 개\")\n",
"print(f\"Files: {list(result.get('files', {}).keys())}\")"
]
},
{
"cell_type": "markdown",
"id": "5zanhuabnb4",
"metadata": {},
"source": [
"### 메시지 흐름 확인\n",
"\n",
"에이전트 실행 과정의 메시지를 시각화합니다."
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "36652467",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #000080; text-decoration-color: #000080\">╭───────────────────────────────────────────────────── Human ─────────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">│</span> Research context engineering approaches used to build AI agents. Speak in Korean. <span style=\"color: #000080; text-decoration-color: #000080\">│</span>\n",
"<span style=\"color: #000080; text-decoration-color: #000080\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[34m╭─\u001b[0m\u001b[34m────────────────────────────────────────────────────\u001b[0m\u001b[34m Human \u001b[0m\u001b[34m────────────────────────────────────────────────────\u001b[0m\u001b[34m─╮\u001b[0m\n",
"\u001b[34m│\u001b[0m Research context engineering approaches used to build AI agents. Speak in Korean. \u001b[34m│\u001b[0m\n",
"\u001b[34m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">╭────────────────────────────────────────────────────── AI ───────────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Tool Call: write_todos <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Args: { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"todos\": [ <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"사용자 요청을 /research_request.md에 저장\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"in_progress\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법에 대해 연구할 구체적인 질문을 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 도출하고, 연구 계획을 수립\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"pending\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"연구 계획에 따라 연구를 하위 에이전트에 위임하여 자료를 수집\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"pending\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"수집된 자료를 종합 및 인용 정리\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"pending\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"최종 보고서를 /final_report.md에 작성 (한국어, 인용 포함)\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"pending\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"/research_request.md와 비교하여 모든 요구사항이 충족되었는지 검증\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"pending\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> } <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> ] <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> } <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> ID: call_6XvIJLkJZHBkfZXpcXsvf7dV <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[37m╭─\u001b[0m\u001b[37m─────────────────────────────────────────────────────\u001b[0m\u001b[37m AI \u001b[0m\u001b[37m──────────────────────────────────────────────────────\u001b[0m\u001b[37m─╮\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Tool Call: write_todos \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Args: { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"todos\": [ \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"사용자 요청을 /research_request.md에 저장\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"in_progress\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법에 대해 연구할 구체적인 질문을 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 도출하고, 연구 계획을 수립\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"pending\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"연구 계획에 따라 연구를 하위 에이전트에 위임하여 자료를 수집\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"pending\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"수집된 자료를 종합 및 인용 정리\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"pending\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"최종 보고서를 /final_report.md에 작성 (한국어, 인용 포함)\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"pending\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"/research_request.md와 비교하여 모든 요구사항이 충족되었는지 검증\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"pending\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m } \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m ] \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m } \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m ID: call_6XvIJLkJZHBkfZXpcXsvf7dV \u001b[37m│\u001b[0m\n",
"\u001b[37m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #808000; text-decoration-color: #808000\">╭────────────────────────────────────────────────── Tool Output ──────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> Updated todo list to [{'content': '사용자 요청을 /research_request.md에 저장', 'status': 'in_progress'}, <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> {'content': 'AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법에 대해 연구할 구체적인 질문을 도출하고, <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 연구 계획을 수립', 'status': 'pending'}, {'content': '연구 계획에 따라 연구를 하위 에이전트에 위임하여 자료를 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 수집', 'status': 'pending'}, {'content': '수집된 자료를 종합 및 인용 정리', 'status': 'pending'}, {'content': <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> '최종 보고서를 /final_report.md에 작성 (한국어, 인용 포함)', 'status': 'pending'}, {'content': <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> '/research_request.md와 비교하여 모든 요구사항이 충족되었는지 검증', 'status': 'pending'}] <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[33m╭─\u001b[0m\u001b[33m─────────────────────────────────────────────────\u001b[0m\u001b[33m Tool Output \u001b[0m\u001b[33m─────────────────────────────────────────────────\u001b[0m\u001b[33m─╮\u001b[0m\n",
"\u001b[33m│\u001b[0m Updated todo list to [{'content': '사용자 요청을 /research_request.md에 저장', 'status': 'in_progress'}, \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m {'content': 'AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법에 대해 연구할 구체적인 질문을 도출하고, \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 연구 계획을 수립', 'status': 'pending'}, {'content': '연구 계획에 따라 연구를 하위 에이전트에 위임하여 자료를 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 수집', 'status': 'pending'}, {'content': '수집된 자료를 종합 및 인용 정리', 'status': 'pending'}, {'content': \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m '최종 보고서를 /final_report.md에 작성 (한국어, 인용 포함)', 'status': 'pending'}, {'content': \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m '/research_request.md와 비교하여 모든 요구사항이 충족되었는지 검증', 'status': 'pending'}] \u001b[33m│\u001b[0m\n",
"\u001b[33m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">╭────────────────────────────────────────────────────── AI ───────────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Tool Call: write_file <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Args: { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"file_path\": \"/research_request.md\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법을 연구해 주세요. (한국어로 작성)\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> } <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> ID: call_Q4zD3BuMuFPlFpE8aMh3OI07 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[37m╭─\u001b[0m\u001b[37m─────────────────────────────────────────────────────\u001b[0m\u001b[37m AI \u001b[0m\u001b[37m──────────────────────────────────────────────────────\u001b[0m\u001b[37m─╮\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Tool Call: write_file \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Args: { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"file_path\": \"/research_request.md\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법을 연구해 주세요. (한국어로 작성)\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m } \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m ID: call_Q4zD3BuMuFPlFpE8aMh3OI07 \u001b[37m│\u001b[0m\n",
"\u001b[37m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #808000; text-decoration-color: #808000\">╭────────────────────────────────────────────────── Tool Output ──────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> Cannot write to /research_request.md because it already exists. Read and then make an edit, or write to a new <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> path. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[33m╭─\u001b[0m\u001b[33m─────────────────────────────────────────────────\u001b[0m\u001b[33m Tool Output \u001b[0m\u001b[33m─────────────────────────────────────────────────\u001b[0m\u001b[33m─╮\u001b[0m\n",
"\u001b[33m│\u001b[0m Cannot write to /research_request.md because it already exists. Read and then make an edit, or write to a new \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m path. \u001b[33m│\u001b[0m\n",
"\u001b[33m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">╭────────────────────────────────────────────────────── AI ───────────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Tool Call: read_file <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Args: { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"file_path\": \"/research_request.md\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"offset\": 0, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"limit\": 100 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> } <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> ID: call_1p5tGIyXJXFoti1qnGTt3YKj <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[37m╭─\u001b[0m\u001b[37m─────────────────────────────────────────────────────\u001b[0m\u001b[37m AI \u001b[0m\u001b[37m──────────────────────────────────────────────────────\u001b[0m\u001b[37m─╮\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Tool Call: read_file \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Args: { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"file_path\": \"/research_request.md\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"offset\": 0, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"limit\": 100 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m } \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m ID: call_1p5tGIyXJXFoti1qnGTt3YKj \u001b[37m│\u001b[0m\n",
"\u001b[37m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #808000; text-decoration-color: #808000\">╭────────────────────────────────────────────────── Tool Output ──────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 1 연구 주제: AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법에 대해 조사하라. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 2 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 3 세부 요구사항: <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 4 - Context Engineering이란 무엇인지 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 5 - 연구 에이전트형 AI 시스템에서의 Context Engineering 적용 사례 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 6 - 파일시스템 기반 컨텍스트 관리 시스템에서의 Context Engineering 적용 사례 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 7 - 최신 연구 동향 및 실제 적용 예시 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 8 - 참고문헌 및 인용 포함 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 9 - 결과물은 한국어로 작성할 것 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[33m╭─\u001b[0m\u001b[33m─────────────────────────────────────────────────\u001b[0m\u001b[33m Tool Output \u001b[0m\u001b[33m─────────────────────────────────────────────────\u001b[0m\u001b[33m─╮\u001b[0m\n",
"\u001b[33m│\u001b[0m 1 연구 주제: AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법에 대해 조사하라. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 2 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 3 세부 요구사항: \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 4 - Context Engineering이란 무엇인지 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 5 - 연구 에이전트형 AI 시스템에서의 Context Engineering 적용 사례 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 6 - 파일시스템 기반 컨텍스트 관리 시스템에서의 Context Engineering 적용 사례 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 7 - 최신 연구 동향 및 실제 적용 예시 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 8 - 참고문헌 및 인용 포함 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 9 - 결과물은 한국어로 작성할 것 \u001b[33m│\u001b[0m\n",
"\u001b[33m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">╭────────────────────────────────────────────────────── AI ───────────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Tool Call: write_todos <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Args: { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"todos\": [ <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"사용자 요청을 /research_request.md에 저장\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"completed\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법에 대해 연구할 구체적인 질문을 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 도출하고, 연구 계획을 수립\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"in_progress\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"연구 계획에 따라 연구를 하위 에이전트에 위임하여 자료를 수집\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"pending\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"수집된 자료를 종합 및 인용 정리\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"pending\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"최종 보고서를 /final_report.md에 작성 (한국어, 인용 포함)\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"pending\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"/research_request.md와 비교하여 모든 요구사항이 충족되었는지 검증\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"pending\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> } <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> ] <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> } <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> ID: call_ZgYJXf0FdGzv3Q2fLUcVtB9E <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[37m╭─\u001b[0m\u001b[37m─────────────────────────────────────────────────────\u001b[0m\u001b[37m AI \u001b[0m\u001b[37m──────────────────────────────────────────────────────\u001b[0m\u001b[37m─╮\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Tool Call: write_todos \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Args: { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"todos\": [ \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"사용자 요청을 /research_request.md에 저장\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"completed\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법에 대해 연구할 구체적인 질문을 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 도출하고, 연구 계획을 수립\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"in_progress\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"연구 계획에 따라 연구를 하위 에이전트에 위임하여 자료를 수집\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"pending\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"수집된 자료를 종합 및 인용 정리\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"pending\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"최종 보고서를 /final_report.md에 작성 (한국어, 인용 포함)\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"pending\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"/research_request.md와 비교하여 모든 요구사항이 충족되었는지 검증\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"pending\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m } \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m ] \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m } \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m ID: call_ZgYJXf0FdGzv3Q2fLUcVtB9E \u001b[37m│\u001b[0m\n",
"\u001b[37m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #808000; text-decoration-color: #808000\">╭────────────────────────────────────────────────── Tool Output ──────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> Updated todo list to [{'content': '사용자 요청을 /research_request.md에 저장', 'status': 'completed'}, <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> {'content': 'AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법에 대해 연구할 구체적인 질문을 도출하고, <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 연구 계획을 수립', 'status': 'in_progress'}, {'content': '연구 계획에 따라 연구를 하위 에이전트에 위임하여 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 자료를 수집', 'status': 'pending'}, {'content': '수집된 자료를 종합 및 인용 정리', 'status': 'pending'}, <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> {'content': '최종 보고서를 /final_report.md에 작성 (한국어, 인용 포함)', 'status': 'pending'}, {'content': <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> '/research_request.md와 비교하여 모든 요구사항이 충족되었는지 검증', 'status': 'pending'}] <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[33m╭─\u001b[0m\u001b[33m─────────────────────────────────────────────────\u001b[0m\u001b[33m Tool Output \u001b[0m\u001b[33m─────────────────────────────────────────────────\u001b[0m\u001b[33m─╮\u001b[0m\n",
"\u001b[33m│\u001b[0m Updated todo list to [{'content': '사용자 요청을 /research_request.md에 저장', 'status': 'completed'}, \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m {'content': 'AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법에 대해 연구할 구체적인 질문을 도출하고, \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 연구 계획을 수립', 'status': 'in_progress'}, {'content': '연구 계획에 따라 연구를 하위 에이전트에 위임하여 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 자료를 수집', 'status': 'pending'}, {'content': '수집된 자료를 종합 및 인용 정리', 'status': 'pending'}, \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m {'content': '최종 보고서를 /final_report.md에 작성 (한국어, 인용 포함)', 'status': 'pending'}, {'content': \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m '/research_request.md와 비교하여 모든 요구사항이 충족되었는지 검증', 'status': 'pending'}] \u001b[33m│\u001b[0m\n",
"\u001b[33m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">╭────────────────────────────────────────────────────── AI ───────────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Tool Call: think_tool <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Args: { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"reflection\": \"/research_request.md의 요구사항을 분석한 결과, 다음과 같은 세부 질문이 도출된다: 1) Context <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Engineering의 정의와 주요 개념, 2) 연구 에이전트형 AI 시스템에서의 적용 사례, 3) 파일시스템 기반 컨텍스트 관리 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 시스템에서의 적용 사례, 4) 최신 연구 동향 및 실제 적용 예시, 5) 참고문헌 및 인용. 이 네 가지 세부 질문은 상호 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 독립적이므로, 한 명의 연구 하위 에이전트가 포괄적으로 조사하는 것이 효율적이다. 연구 결과는 한국어로 요약 및 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 인용 정리해야 한다. 다음 단계는 이 네 가지 세부 질문을 포함한 연구 지침을 하위 에이전트에 전달하여 자료를 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 수집하는 것이다.\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> } <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> ID: call_afsX9xT6yi6lky31hgfAVFty <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[37m╭─\u001b[0m\u001b[37m─────────────────────────────────────────────────────\u001b[0m\u001b[37m AI \u001b[0m\u001b[37m──────────────────────────────────────────────────────\u001b[0m\u001b[37m─╮\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Tool Call: think_tool \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Args: { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"reflection\": \"/research_request.md의 요구사항을 분석한 결과, 다음과 같은 세부 질문이 도출된다: 1) Context \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Engineering의 정의와 주요 개념, 2) 연구 에이전트형 AI 시스템에서의 적용 사례, 3) 파일시스템 기반 컨텍스트 관리 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 시스템에서의 적용 사례, 4) 최신 연구 동향 및 실제 적용 예시, 5) 참고문헌 및 인용. 이 네 가지 세부 질문은 상호 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 독립적이므로, 한 명의 연구 하위 에이전트가 포괄적으로 조사하는 것이 효율적이다. 연구 결과는 한국어로 요약 및 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 인용 정리해야 한다. 다음 단계는 이 네 가지 세부 질문을 포함한 연구 지침을 하위 에이전트에 전달하여 자료를 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 수집하는 것이다.\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m } \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m ID: call_afsX9xT6yi6lky31hgfAVFty \u001b[37m│\u001b[0m\n",
"\u001b[37m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #808000; text-decoration-color: #808000\">╭────────────────────────────────────────────────── Tool Output ──────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 성찰 기록됨: /research_request.md의 요구사항을 분석한 결과, 다음과 같은 세부 질문이 도출된다: 1) Context <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> Engineering의 정의와 주요 개념, 2) 연구 에이전트형 AI 시스템에서의 적용 사례, 3) 파일시스템 기반 컨텍스트 관리 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 시스템에서의 적용 사례, 4) 최신 연구 동향 및 실제 적용 예시, 5) 참고문헌 및 인용. 이 네 가지 세부 질문은 상호 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 독립적이므로, 한 명의 연구 하위 에이전트가 포괄적으로 조사하는 것이 효율적이다. 연구 결과는 한국어로 요약 및 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 인용 정리해야 한다. 다음 단계는 이 네 가지 세부 질문을 포함한 연구 지침을 하위 에이전트에 전달하여 자료를 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 수집하는 것이다. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[33m╭─\u001b[0m\u001b[33m─────────────────────────────────────────────────\u001b[0m\u001b[33m Tool Output \u001b[0m\u001b[33m─────────────────────────────────────────────────\u001b[0m\u001b[33m─╮\u001b[0m\n",
"\u001b[33m│\u001b[0m 성찰 기록됨: /research_request.md의 요구사항을 분석한 결과, 다음과 같은 세부 질문이 도출된다: 1) Context \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m Engineering의 정의와 주요 개념, 2) 연구 에이전트형 AI 시스템에서의 적용 사례, 3) 파일시스템 기반 컨텍스트 관리 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 시스템에서의 적용 사례, 4) 최신 연구 동향 및 실제 적용 예시, 5) 참고문헌 및 인용. 이 네 가지 세부 질문은 상호 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 독립적이므로, 한 명의 연구 하위 에이전트가 포괄적으로 조사하는 것이 효율적이다. 연구 결과는 한국어로 요약 및 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 인용 정리해야 한다. 다음 단계는 이 네 가지 세부 질문을 포함한 연구 지침을 하위 에이전트에 전달하여 자료를 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 수집하는 것이다. \u001b[33m│\u001b[0m\n",
"\u001b[33m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">╭────────────────────────────────────────────────────── AI ───────────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Tool Call: write_todos <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Args: { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"todos\": [ <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"사용자 요청을 /research_request.md에 저장\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"completed\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법에 대해 연구할 구체적인 질문을 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 도출하고, 연구 계획을 수립\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"completed\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"연구 계획에 따라 연구를 하위 에이전트에 위임하여 자료를 수집\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"in_progress\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"수집된 자료를 종합 및 인용 정리\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"pending\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"최종 보고서를 /final_report.md에 작성 (한국어, 인용 포함)\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"pending\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"/research_request.md와 비교하여 모든 요구사항이 충족되었는지 검증\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"pending\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> } <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> ] <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> } <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> ID: call_59oKa1px2Dk8EGKgQTeA11Qe <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[37m╭─\u001b[0m\u001b[37m─────────────────────────────────────────────────────\u001b[0m\u001b[37m AI \u001b[0m\u001b[37m──────────────────────────────────────────────────────\u001b[0m\u001b[37m─╮\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Tool Call: write_todos \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Args: { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"todos\": [ \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"사용자 요청을 /research_request.md에 저장\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"completed\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법에 대해 연구할 구체적인 질문을 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 도출하고, 연구 계획을 수립\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"completed\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"연구 계획에 따라 연구를 하위 에이전트에 위임하여 자료를 수집\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"in_progress\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"수집된 자료를 종합 및 인용 정리\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"pending\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"최종 보고서를 /final_report.md에 작성 (한국어, 인용 포함)\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"pending\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"/research_request.md와 비교하여 모든 요구사항이 충족되었는지 검증\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"pending\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m } \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m ] \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m } \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m ID: call_59oKa1px2Dk8EGKgQTeA11Qe \u001b[37m│\u001b[0m\n",
"\u001b[37m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #808000; text-decoration-color: #808000\">╭────────────────────────────────────────────────── Tool Output ──────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> Updated todo list to [{'content': '사용자 요청을 /research_request.md에 저장', 'status': 'completed'}, <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> {'content': 'AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법에 대해 연구할 구체적인 질문을 도출하고, <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 연구 계획을 수립', 'status': 'completed'}, {'content': '연구 계획에 따라 연구를 하위 에이전트에 위임하여 자료를 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 수집', 'status': 'in_progress'}, {'content': '수집된 자료를 종합 및 인용 정리', 'status': 'pending'}, <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> {'content': '최종 보고서를 /final_report.md에 작성 (한국어, 인용 포함)', 'status': 'pending'}, {'content': <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> '/research_request.md와 비교하여 모든 요구사항이 충족되었는지 검증', 'status': 'pending'}] <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[33m╭─\u001b[0m\u001b[33m─────────────────────────────────────────────────\u001b[0m\u001b[33m Tool Output \u001b[0m\u001b[33m─────────────────────────────────────────────────\u001b[0m\u001b[33m─╮\u001b[0m\n",
"\u001b[33m│\u001b[0m Updated todo list to [{'content': '사용자 요청을 /research_request.md에 저장', 'status': 'completed'}, \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m {'content': 'AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법에 대해 연구할 구체적인 질문을 도출하고, \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 연구 계획을 수립', 'status': 'completed'}, {'content': '연구 계획에 따라 연구를 하위 에이전트에 위임하여 자료를 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 수집', 'status': 'in_progress'}, {'content': '수집된 자료를 종합 및 인용 정리', 'status': 'pending'}, \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m {'content': '최종 보고서를 /final_report.md에 작성 (한국어, 인용 포함)', 'status': 'pending'}, {'content': \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m '/research_request.md와 비교하여 모든 요구사항이 충족되었는지 검증', 'status': 'pending'}] \u001b[33m│\u001b[0m\n",
"\u001b[33m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">╭────────────────────────────────────────────────────── AI ───────────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Tool Call: task <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Args: { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"description\": \"아래의 세부 질문을 모두 포함하여 AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링(context <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> engineering) 접근법에 대해 포괄적으로 조사해 주세요. 결과는 한국어로 요약하고, 각 주장이나 사례에는 신뢰할 수 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 있는 참고문헌(논문, 공식 문서, 기술 블로그 등)을 인용 번호와 함께 명시해 주세요.\\n\\n세부 질문:\\n1. Context <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Engineering이란 무엇이며, 주요 개념과 원리는 무엇인가?\\n2. 연구 에이전트형 AI 시스템(예: LLM 기반 연구 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 에이전트)에서의 Context Engineering 적용 사례와 구체적 방법론은?\\n3. 파일시스템 기반 컨텍스트 관리 시스템에서의 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Context Engineering 적용 사례와 특징은?\\n4. 최신 연구 동향 및 실제 적용 예시(2022~2024년 기준)는?\\n5. 참고문헌 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 및 인용 정리\\n\\n최종 결과는 각 항목별로 명확하게 구분하여 정리해 주세요.\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"subagent_type\": \"researcher\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> } <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> ID: call_yJFP5CbEQVSYNNAalm8c15tv <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[37m╭─\u001b[0m\u001b[37m─────────────────────────────────────────────────────\u001b[0m\u001b[37m AI \u001b[0m\u001b[37m──────────────────────────────────────────────────────\u001b[0m\u001b[37m─╮\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Tool Call: task \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Args: { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"description\": \"아래의 세부 질문을 모두 포함하여 AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링(context \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m engineering) 접근법에 대해 포괄적으로 조사해 주세요. 결과는 한국어로 요약하고, 각 주장이나 사례에는 신뢰할 수 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 있는 참고문헌(논문, 공식 문서, 기술 블로그 등)을 인용 번호와 함께 명시해 주세요.\\n\\n세부 질문:\\n1. Context \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Engineering이란 무엇이며, 주요 개념과 원리는 무엇인가?\\n2. 연구 에이전트형 AI 시스템(예: LLM 기반 연구 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 에이전트)에서의 Context Engineering 적용 사례와 구체적 방법론은?\\n3. 파일시스템 기반 컨텍스트 관리 시스템에서의 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Context Engineering 적용 사례와 특징은?\\n4. 최신 연구 동향 및 실제 적용 예시(2022~2024년 기준)는?\\n5. 참고문헌 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 및 인용 정리\\n\\n최종 결과는 각 항목별로 명확하게 구분하여 정리해 주세요.\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"subagent_type\": \"researcher\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m } \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m ID: call_yJFP5CbEQVSYNNAalm8c15tv \u001b[37m│\u001b[0m\n",
"\u001b[37m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #808000; text-decoration-color: #808000\">╭────────────────────────────────────────────────── Tool Output ──────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> ## 주요 조사 결과 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> --- <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> ### 1. Context Engineering이란 무엇이며, 주요 개념과 원리는 무엇인가? <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 컨텍스트 엔지니어링(Context Engineering)은 AI, 특히 LLM(대형 언어 모델) 기반 에이전트가 복잡한 문제를 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 효과적으로 해결할 수 있도록, 동적으로 관련 맥락(문맥, 정보, 과거 상호작용 등)을 수집·가공·관리·제공하는 기술 및 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 설계 방법론을 의미합니다. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> - 기존의 프롬프트 엔지니어링이 “질문을 잘 던지는 기술”에 집중했다면, 컨텍스트 엔지니어링은 AI가 상황을 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 인식하고, 적절한 시점에 관련성 높은 정보를 동적으로 제공받아 판단·추론할 수 있도록 시스템을 설계하는 데 초점을 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 둡니다. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> - Shopify CEO 토비아스 뤼트케와 OpenAI의 안드레이 카파시 등은 “LLM이 신뢰할 만한 수준으로 과제를 수행하도록 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 모든 문맥을 제공하는 예술이자 과학”이라고 정의합니다. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> - 핵심 원리는 “관련성 있는 정보”를 “적절한 시점”에 “적절한 형식”으로 제공하는 것, 즉 동적 컨텍스트 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 검색·생성·처리·관리가 중심입니다[1][2]. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> --- <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> ### 2. 연구 에이전트형 AI 시스템(예: LLM 기반 연구 에이전트)에서의 Context Engineering 적용 사례와 구체적 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 방법론 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> - 실제 LLM 기반 연구 에이전트(예: Inngest의 AI Research Assistant)는 다음과 같은 컨텍스트 엔지니어링 방법론을 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 적용합니다: <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> - **다양한 데이터 소스 병렬 수집**: arXiv, GitHub, 웹 검색, PDF 등 여러 출처에서 관련 정보를 병렬로 수집. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> - **컨텍스트 압축 및 증강**: 수집된 정보를 여러 특화 LLM(예: GPT-4, Claude, Gemini, Mistral 등)로 분산 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 처리하여 요약·분류·팩트체크 등 역할을 분담, 최종적으로 가장 관련성 높은 정보만을 추출. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> - **오케스트레이터-워커 패턴**: 중앙 오케스트레이터가 각 워커(특화 LLM)에 작업을 분배하고, 결과를 종합해 최종 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 응답을 생성. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> - **컨텍스트 푸시 vs. 풀**: 대규모 코드베이스 등에서는 LLM이 필요한 정보를 동적으로 “pull”하는 방식(툴 호출 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 등)이 효과적임. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> - **실시간 컨텍스트 파이프라인**: 외부 API의 속도·신뢰성·레이트리밋을 고려한 내구성 있는 워크플로우 설계[3]. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> - 실제 적용 분야로는 연구 논문 요약, 최신 기술 동향 분석, 코드베이스 탐색, 고객지원, 의료 데이터 분석 등 다양한 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 영역이 있습니다[2][3]. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> --- <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> ### 3. 파일시스템 기반 컨텍스트 관리 시스템에서의 Context Engineering 적용 사례와 특징 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> - 파일시스템 기반 컨텍스트 관리에서는 “시스템 컨텍스트 다이어그램(System Context Diagram)” 등 시각적 도구를 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 활용해, 시스템 내부와 외부 엔터티(사용자, 외부 시스템 등) 간의 정보 흐름과 상호작용을 구조적으로 설계합니다. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> - 주요 특징: <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> - **블랙박스 모델링**: 시스템 내부를 블랙박스로 보고, 외부와의 데이터 흐름(입출력, 트리거 등)을 명확히 정의. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> - **데이터 흐름의 시각화**: 도서관 대출, 생산계획, 회원관리 등 실제 업무 시나리오에서 파일 기반 정보의 흐름과 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 컨텍스트를 다이어그램으로 표현. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> - **컨텍스트의 계층적 관리**: 요구사항 분석, 리소스 관리, 문제 구조 분석 등 다양한 단계에서 컨텍스트를 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 계층적으로 분해·관리. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> - **실제 적용 예시**: 도서관 대출 시스템, 생산·자재관리, 전자상거래 플랫폼 등에서 컨텍스트 다이어그램을 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 활용해 정보 흐름과 상호작용을 최적화[4]. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> --- <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> ### 4. 최신 연구 동향 및 실제 적용 예시(2022~2024년 기준) <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> - 2022~2024년 사이, 컨텍스트 엔지니어링은 LLM 기반 에이전트의 성능 향상과 신뢰성 확보의 핵심 기술로 부상. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> - Shopify, OpenAI, Anthropic 등 주요 기업과 연구자들이 “프롬프트 엔지니어링”에서 “컨텍스트 엔지니어링”으로 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 패러다임 전환을 주도. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> - 실제 적용 예시: <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> - **Shopify**: 고객지원 챗봇, 콘텐츠 생성, 헬스케어 등에서 컨텍스트 엔지니어링을 통해 사용자 맞춤형 응답 및 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 서비스 품질 향상. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> - **Inngest**: 오픈소스 AI Research Assistant에서 병렬 데이터 수집, 컨텍스트 증강, 오케스트레이터-워커 패턴 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 등 실무적 방법론을 공개. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> - **연구 논문**: LLM의 컨텍스트 윈도우 확장, 컨텍스트 압축/증강, 멀티에이전트 협력 등 다양한 주제로 arXiv, <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> ResearchGate 등에서 활발히 논의[2][3][5]. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> - 도전과제: 정보 과다/부족의 균형, 윤리적 데이터 관리, 편향 방지, 실시간성·신뢰성 확보 등[2][3]. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> --- <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> ### 5. 참고문헌 및 인용 정리 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> ## Source Agreement Analysis <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> - **High agreement**: 컨텍스트 엔지니어링의 정의, 프롬프트 엔지니어링과의 차이, LLM 기반 에이전트에서의 중요성, <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 오케스트레이터-워커 패턴, 데이터 소스 병렬 수집 및 증강의 필요성. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> - **Disagreement/Uncertainty**: 구체적 구현 방식(컨텍스트 푸시 vs. 풀), 각 산업별 최적화 전략, 최신 논문의 일부 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 세부 내용(일부 논문 접근 제한). <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> --- <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> ## Sources <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> [1] [사이언스칼럼] AI 에이전트 시대의 새로운 화두: 컨텍스트 엔지니어링 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> https://v.daum.net/v/5Q868Bo9so?f=p <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> [2] The Art of Context Engineering: Revolutionizing AI Interactions for Optimal Performance (Shopify 사례 및 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 원리) <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> https://praella.com/no/blogs/shopify-news/the-art-of-context-engineering-revolutionizing-ai-interactions-for-op <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> timal-performance <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> [3] Context Engineering in Practice: Building an AI Research Assistant (Inngest, OpenAI, Anthropic 등 실제 적용 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 사례) <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> https://www.inngest.com/blog/context-engineering-in-practice <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> [4] 시스템 컨텍스트 다이어그램이란? (파일시스템 기반 컨텍스트 관리 사례) <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> https://www.processon.io/ko/blog/how-to-make-a-system-context-diagram <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> [5] Context Engineering 2.0: The Context of Context Engineering (연구 논문, ResearchGate) <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> https://www.researchgate.net/publication/397088090_Context_Engineering_20_The_Context_of_Context_Engineering <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> --- <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> ※ 각 인용번호는 본문 내 으로 표기하였으며, 실제 사례와 방법론은 2~4번 참고문헌에서 구체적으로 확인할 수 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 있습니다. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[33m╭─\u001b[0m\u001b[33m─────────────────────────────────────────────────\u001b[0m\u001b[33m Tool Output \u001b[0m\u001b[33m─────────────────────────────────────────────────\u001b[0m\u001b[33m─╮\u001b[0m\n",
"\u001b[33m│\u001b[0m ## 주요 조사 결과 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m --- \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m ### 1. Context Engineering이란 무엇이며, 주요 개념과 원리는 무엇인가? \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 컨텍스트 엔지니어링(Context Engineering)은 AI, 특히 LLM(대형 언어 모델) 기반 에이전트가 복잡한 문제를 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 효과적으로 해결할 수 있도록, 동적으로 관련 맥락(문맥, 정보, 과거 상호작용 등)을 수집·가공·관리·제공하는 기술 및 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 설계 방법론을 의미합니다. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m - 기존의 프롬프트 엔지니어링이 “질문을 잘 던지는 기술”에 집중했다면, 컨텍스트 엔지니어링은 AI가 상황을 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 인식하고, 적절한 시점에 관련성 높은 정보를 동적으로 제공받아 판단·추론할 수 있도록 시스템을 설계하는 데 초점을 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 둡니다. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m - Shopify CEO 토비아스 뤼트케와 OpenAI의 안드레이 카파시 등은 “LLM이 신뢰할 만한 수준으로 과제를 수행하도록 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 모든 문맥을 제공하는 예술이자 과학”이라고 정의합니다. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m - 핵심 원리는 “관련성 있는 정보”를 “적절한 시점”에 “적절한 형식”으로 제공하는 것, 즉 동적 컨텍스트 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 검색·생성·처리·관리가 중심입니다[1][2]. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m --- \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m ### 2. 연구 에이전트형 AI 시스템(예: LLM 기반 연구 에이전트)에서의 Context Engineering 적용 사례와 구체적 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 방법론 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m - 실제 LLM 기반 연구 에이전트(예: Inngest의 AI Research Assistant)는 다음과 같은 컨텍스트 엔지니어링 방법론을 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 적용합니다: \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m - **다양한 데이터 소스 병렬 수집**: arXiv, GitHub, 웹 검색, PDF 등 여러 출처에서 관련 정보를 병렬로 수집. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m - **컨텍스트 압축 및 증강**: 수집된 정보를 여러 특화 LLM(예: GPT-4, Claude, Gemini, Mistral 등)로 분산 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 처리하여 요약·분류·팩트체크 등 역할을 분담, 최종적으로 가장 관련성 높은 정보만을 추출. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m - **오케스트레이터-워커 패턴**: 중앙 오케스트레이터가 각 워커(특화 LLM)에 작업을 분배하고, 결과를 종합해 최종 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 응답을 생성. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m - **컨텍스트 푸시 vs. 풀**: 대규모 코드베이스 등에서는 LLM이 필요한 정보를 동적으로 “pull”하는 방식(툴 호출 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 등)이 효과적임. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m - **실시간 컨텍스트 파이프라인**: 외부 API의 속도·신뢰성·레이트리밋을 고려한 내구성 있는 워크플로우 설계[3]. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m - 실제 적용 분야로는 연구 논문 요약, 최신 기술 동향 분석, 코드베이스 탐색, 고객지원, 의료 데이터 분석 등 다양한 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 영역이 있습니다[2][3]. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m --- \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m ### 3. 파일시스템 기반 컨텍스트 관리 시스템에서의 Context Engineering 적용 사례와 특징 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m - 파일시스템 기반 컨텍스트 관리에서는 “시스템 컨텍스트 다이어그램(System Context Diagram)” 등 시각적 도구를 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 활용해, 시스템 내부와 외부 엔터티(사용자, 외부 시스템 등) 간의 정보 흐름과 상호작용을 구조적으로 설계합니다. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m - 주요 특징: \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m - **블랙박스 모델링**: 시스템 내부를 블랙박스로 보고, 외부와의 데이터 흐름(입출력, 트리거 등)을 명확히 정의. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m - **데이터 흐름의 시각화**: 도서관 대출, 생산계획, 회원관리 등 실제 업무 시나리오에서 파일 기반 정보의 흐름과 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 컨텍스트를 다이어그램으로 표현. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m - **컨텍스트의 계층적 관리**: 요구사항 분석, 리소스 관리, 문제 구조 분석 등 다양한 단계에서 컨텍스트를 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 계층적으로 분해·관리. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m - **실제 적용 예시**: 도서관 대출 시스템, 생산·자재관리, 전자상거래 플랫폼 등에서 컨텍스트 다이어그램을 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 활용해 정보 흐름과 상호작용을 최적화[4]. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m --- \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m ### 4. 최신 연구 동향 및 실제 적용 예시(2022~2024년 기준) \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m - 2022~2024년 사이, 컨텍스트 엔지니어링은 LLM 기반 에이전트의 성능 향상과 신뢰성 확보의 핵심 기술로 부상. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m - Shopify, OpenAI, Anthropic 등 주요 기업과 연구자들이 “프롬프트 엔지니어링”에서 “컨텍스트 엔지니어링”으로 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 패러다임 전환을 주도. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m - 실제 적용 예시: \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m - **Shopify**: 고객지원 챗봇, 콘텐츠 생성, 헬스케어 등에서 컨텍스트 엔지니어링을 통해 사용자 맞춤형 응답 및 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 서비스 품질 향상. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m - **Inngest**: 오픈소스 AI Research Assistant에서 병렬 데이터 수집, 컨텍스트 증강, 오케스트레이터-워커 패턴 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 등 실무적 방법론을 공개. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m - **연구 논문**: LLM의 컨텍스트 윈도우 확장, 컨텍스트 압축/증강, 멀티에이전트 협력 등 다양한 주제로 arXiv, \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m ResearchGate 등에서 활발히 논의[2][3][5]. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m - 도전과제: 정보 과다/부족의 균형, 윤리적 데이터 관리, 편향 방지, 실시간성·신뢰성 확보 등[2][3]. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m --- \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m ### 5. 참고문헌 및 인용 정리 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m ## Source Agreement Analysis \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m - **High agreement**: 컨텍스트 엔지니어링의 정의, 프롬프트 엔지니어링과의 차이, LLM 기반 에이전트에서의 중요성, \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 오케스트레이터-워커 패턴, 데이터 소스 병렬 수집 및 증강의 필요성. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m - **Disagreement/Uncertainty**: 구체적 구현 방식(컨텍스트 푸시 vs. 풀), 각 산업별 최적화 전략, 최신 논문의 일부 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 세부 내용(일부 논문 접근 제한). \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m --- \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m ## Sources \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m [1] [사이언스칼럼] AI 에이전트 시대의 새로운 화두: 컨텍스트 엔지니어링 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m https://v.daum.net/v/5Q868Bo9so?f=p \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m [2] The Art of Context Engineering: Revolutionizing AI Interactions for Optimal Performance (Shopify 사례 및 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 원리) \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m https://praella.com/no/blogs/shopify-news/the-art-of-context-engineering-revolutionizing-ai-interactions-for-op \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m timal-performance \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m [3] Context Engineering in Practice: Building an AI Research Assistant (Inngest, OpenAI, Anthropic 등 실제 적용 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 사례) \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m https://www.inngest.com/blog/context-engineering-in-practice \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m [4] 시스템 컨텍스트 다이어그램이란? (파일시스템 기반 컨텍스트 관리 사례) \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m https://www.processon.io/ko/blog/how-to-make-a-system-context-diagram \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m [5] Context Engineering 2.0: The Context of Context Engineering (연구 논문, ResearchGate) \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m https://www.researchgate.net/publication/397088090_Context_Engineering_20_The_Context_of_Context_Engineering \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m --- \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m ※ 각 인용번호는 본문 내 으로 표기하였으며, 실제 사례와 방법론은 2~4번 참고문헌에서 구체적으로 확인할 수 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 있습니다. \u001b[33m│\u001b[0m\n",
"\u001b[33m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">╭────────────────────────────────────────────────────── AI ───────────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Tool Call: write_todos <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Args: { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"todos\": [ <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"사용자 요청을 /research_request.md에 저장\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"completed\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법에 대해 연구할 구체적인 질문을 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 도출하고, 연구 계획을 수립\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"completed\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"연구 계획에 따라 연구를 하위 에이전트에 위임하여 자료를 수집\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"completed\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"수집된 자료를 종합 및 인용 정리\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"in_progress\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"최종 보고서를 /final_report.md에 작성 (한국어, 인용 포함)\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"pending\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"/research_request.md와 비교하여 모든 요구사항이 충족되었는지 검증\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"pending\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> } <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> ] <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> } <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> ID: call_TAI8wS1P3dq0bzG8HhrVbkwi <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[37m╭─\u001b[0m\u001b[37m─────────────────────────────────────────────────────\u001b[0m\u001b[37m AI \u001b[0m\u001b[37m──────────────────────────────────────────────────────\u001b[0m\u001b[37m─╮\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Tool Call: write_todos \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Args: { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"todos\": [ \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"사용자 요청을 /research_request.md에 저장\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"completed\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법에 대해 연구할 구체적인 질문을 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 도출하고, 연구 계획을 수립\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"completed\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"연구 계획에 따라 연구를 하위 에이전트에 위임하여 자료를 수집\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"completed\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"수집된 자료를 종합 및 인용 정리\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"in_progress\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"최종 보고서를 /final_report.md에 작성 (한국어, 인용 포함)\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"pending\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"/research_request.md와 비교하여 모든 요구사항이 충족되었는지 검증\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"pending\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m } \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m ] \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m } \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m ID: call_TAI8wS1P3dq0bzG8HhrVbkwi \u001b[37m│\u001b[0m\n",
"\u001b[37m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #808000; text-decoration-color: #808000\">╭────────────────────────────────────────────────── Tool Output ──────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> Updated todo list to [{'content': '사용자 요청을 /research_request.md에 저장', 'status': 'completed'}, <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> {'content': 'AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법에 대해 연구할 구체적인 질문을 도출하고, <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 연구 계획을 수립', 'status': 'completed'}, {'content': '연구 계획에 따라 연구를 하위 에이전트에 위임하여 자료를 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 수집', 'status': 'completed'}, {'content': '수집된 자료를 종합 및 인용 정리', 'status': 'in_progress'}, <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> {'content': '최종 보고서를 /final_report.md에 작성 (한국어, 인용 포함)', 'status': 'pending'}, {'content': <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> '/research_request.md와 비교하여 모든 요구사항이 충족되었는지 검증', 'status': 'pending'}] <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[33m╭─\u001b[0m\u001b[33m─────────────────────────────────────────────────\u001b[0m\u001b[33m Tool Output \u001b[0m\u001b[33m─────────────────────────────────────────────────\u001b[0m\u001b[33m─╮\u001b[0m\n",
"\u001b[33m│\u001b[0m Updated todo list to [{'content': '사용자 요청을 /research_request.md에 저장', 'status': 'completed'}, \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m {'content': 'AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법에 대해 연구할 구체적인 질문을 도출하고, \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 연구 계획을 수립', 'status': 'completed'}, {'content': '연구 계획에 따라 연구를 하위 에이전트에 위임하여 자료를 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 수집', 'status': 'completed'}, {'content': '수집된 자료를 종합 및 인용 정리', 'status': 'in_progress'}, \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m {'content': '최종 보고서를 /final_report.md에 작성 (한국어, 인용 포함)', 'status': 'pending'}, {'content': \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m '/research_request.md와 비교하여 모든 요구사항이 충족되었는지 검증', 'status': 'pending'}] \u001b[33m│\u001b[0m\n",
"\u001b[33m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">╭────────────────────────────────────────────────────── AI ───────────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Tool Call: task <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Args: { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"description\": \"아래 조사 결과를 바탕으로, 보고서 작성 가이드라인에 따라 한국어로 최종 보고서를 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> /final_report.md에 작성하세요. 각 항목별로 명확하게 구분하고, 본문 내 인용번호와 함께 참고문헌을 마지막에 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 정리하세요.\\n\\n---\\n\\n1. Context Engineering이란 무엇이며, 주요 개념과 원리는 무엇인가?\\n2. 연구 에이전트형 AI <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 시스템(예: LLM 기반 연구 에이전트)에서의 Context Engineering 적용 사례와 구체적 방법론은?\\n3. 파일시스템 기반 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 컨텍스트 관리 시스템에서의 Context Engineering 적용 사례와 특징은?\\n4. 최신 연구 동향 및 실제 적용 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 예시(2022~2024년 기준)는?\\n5. 참고문헌 및 인용 정리\\n\\n아래 조사 결과를 참고하여, 각 항목별로 충분히 상세하고 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 전문적으로 작성할 것. 인용번호는 [1], [2] 형식으로 표기. 마지막에 Sources 섹션에 각 인용의 URL과 제목을 정리.\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"subagent_type\": \"synthesizer\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> } <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> ID: call_fGpEAzkvXkGUs9cj4OhTLMxJ <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[37m╭─\u001b[0m\u001b[37m─────────────────────────────────────────────────────\u001b[0m\u001b[37m AI \u001b[0m\u001b[37m──────────────────────────────────────────────────────\u001b[0m\u001b[37m─╮\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Tool Call: task \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Args: { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"description\": \"아래 조사 결과를 바탕으로, 보고서 작성 가이드라인에 따라 한국어로 최종 보고서를 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m /final_report.md에 작성하세요. 각 항목별로 명확하게 구분하고, 본문 내 인용번호와 함께 참고문헌을 마지막에 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 정리하세요.\\n\\n---\\n\\n1. Context Engineering이란 무엇이며, 주요 개념과 원리는 무엇인가?\\n2. 연구 에이전트형 AI \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 시스템(예: LLM 기반 연구 에이전트)에서의 Context Engineering 적용 사례와 구체적 방법론은?\\n3. 파일시스템 기반 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 컨텍스트 관리 시스템에서의 Context Engineering 적용 사례와 특징은?\\n4. 최신 연구 동향 및 실제 적용 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 예시(2022~2024년 기준)는?\\n5. 참고문헌 및 인용 정리\\n\\n아래 조사 결과를 참고하여, 각 항목별로 충분히 상세하고 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 전문적으로 작성할 것. 인용번호는 [1], [2] 형식으로 표기. 마지막에 Sources 섹션에 각 인용의 URL과 제목을 정리.\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"subagent_type\": \"synthesizer\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m } \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m ID: call_fGpEAzkvXkGUs9cj4OhTLMxJ \u001b[37m│\u001b[0m\n",
"\u001b[37m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #808000; text-decoration-color: #808000\">╭────────────────────────────────────────────────── Tool Output ──────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> /final_report.md에 요청하신 가이드라인에 따라 최신 연구와 사례를 통합한 보고서를 작성 및 반영하였습니다. 각 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 항목별로 명확히 구분하고, 본문 내 인용번호와 함께 참고문헌을 마지막에 정리하였습니다. 필요시 추가 요약, 비교, <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 또는 특정 항목의 보강 요청도 가능합니다. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[33m╭─\u001b[0m\u001b[33m─────────────────────────────────────────────────\u001b[0m\u001b[33m Tool Output \u001b[0m\u001b[33m─────────────────────────────────────────────────\u001b[0m\u001b[33m─╮\u001b[0m\n",
"\u001b[33m│\u001b[0m /final_report.md에 요청하신 가이드라인에 따라 최신 연구와 사례를 통합한 보고서를 작성 및 반영하였습니다. 각 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 항목별로 명확히 구분하고, 본문 내 인용번호와 함께 참고문헌을 마지막에 정리하였습니다. 필요시 추가 요약, 비교, \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 또는 특정 항목의 보강 요청도 가능합니다. \u001b[33m│\u001b[0m\n",
"\u001b[33m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">╭────────────────────────────────────────────────────── AI ───────────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Tool Call: write_todos <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Args: { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"todos\": [ <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"사용자 요청을 /research_request.md에 저장\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"completed\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법에 대해 연구할 구체적인 질문을 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 도출하고, 연구 계획을 수립\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"completed\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"연구 계획에 따라 연구를 하위 에이전트에 위임하여 자료를 수집\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"completed\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"수집된 자료를 종합 및 인용 정리\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"completed\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"최종 보고서를 /final_report.md에 작성 (한국어, 인용 포함)\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"completed\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"/research_request.md와 비교하여 모든 요구사항이 충족되었는지 검증\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"in_progress\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> } <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> ] <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> } <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> ID: call_Lc56khjP4czcluE3HWa72jCB <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[37m╭─\u001b[0m\u001b[37m─────────────────────────────────────────────────────\u001b[0m\u001b[37m AI \u001b[0m\u001b[37m──────────────────────────────────────────────────────\u001b[0m\u001b[37m─╮\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Tool Call: write_todos \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Args: { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"todos\": [ \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"사용자 요청을 /research_request.md에 저장\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"completed\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법에 대해 연구할 구체적인 질문을 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 도출하고, 연구 계획을 수립\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"completed\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"연구 계획에 따라 연구를 하위 에이전트에 위임하여 자료를 수집\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"completed\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"수집된 자료를 종합 및 인용 정리\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"completed\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"최종 보고서를 /final_report.md에 작성 (한국어, 인용 포함)\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"completed\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"/research_request.md와 비교하여 모든 요구사항이 충족되었는지 검증\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"in_progress\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m } \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m ] \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m } \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m ID: call_Lc56khjP4czcluE3HWa72jCB \u001b[37m│\u001b[0m\n",
"\u001b[37m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #808000; text-decoration-color: #808000\">╭────────────────────────────────────────────────── Tool Output ──────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> Updated todo list to [{'content': '사용자 요청을 /research_request.md에 저장', 'status': 'completed'}, <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> {'content': 'AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법에 대해 연구할 구체적인 질문을 도출하고, <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 연구 계획을 수립', 'status': 'completed'}, {'content': '연구 계획에 따라 연구를 하위 에이전트에 위임하여 자료를 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 수집', 'status': 'completed'}, {'content': '수집된 자료를 종합 및 인용 정리', 'status': 'completed'}, <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> {'content': '최종 보고서를 /final_report.md에 작성 (한국어, 인용 포함)', 'status': 'completed'}, {'content': <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> '/research_request.md와 비교하여 모든 요구사항이 충족되었는지 검증', 'status': 'in_progress'}] <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[33m╭─\u001b[0m\u001b[33m─────────────────────────────────────────────────\u001b[0m\u001b[33m Tool Output \u001b[0m\u001b[33m─────────────────────────────────────────────────\u001b[0m\u001b[33m─╮\u001b[0m\n",
"\u001b[33m│\u001b[0m Updated todo list to [{'content': '사용자 요청을 /research_request.md에 저장', 'status': 'completed'}, \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m {'content': 'AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법에 대해 연구할 구체적인 질문을 도출하고, \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 연구 계획을 수립', 'status': 'completed'}, {'content': '연구 계획에 따라 연구를 하위 에이전트에 위임하여 자료를 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 수집', 'status': 'completed'}, {'content': '수집된 자료를 종합 및 인용 정리', 'status': 'completed'}, \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m {'content': '최종 보고서를 /final_report.md에 작성 (한국어, 인용 포함)', 'status': 'completed'}, {'content': \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m '/research_request.md와 비교하여 모든 요구사항이 충족되었는지 검증', 'status': 'in_progress'}] \u001b[33m│\u001b[0m\n",
"\u001b[33m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">╭────────────────────────────────────────────────────── AI ───────────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Tool Call: read_file <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Args: { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"file_path\": \"/final_report.md\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"offset\": 0, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"limit\": 100 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> } <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> ID: call_w5XeR9VIkAgPidWvjHsUkvde <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[37m╭─\u001b[0m\u001b[37m─────────────────────────────────────────────────────\u001b[0m\u001b[37m AI \u001b[0m\u001b[37m──────────────────────────────────────────────────────\u001b[0m\u001b[37m─╮\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Tool Call: read_file \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Args: { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"file_path\": \"/final_report.md\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"offset\": 0, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"limit\": 100 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m } \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m ID: call_w5XeR9VIkAgPidWvjHsUkvde \u001b[37m│\u001b[0m\n",
"\u001b[37m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #808000; text-decoration-color: #808000\">╭────────────────────────────────────────────────── Tool Output ──────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 1 # AI 에이전트 구축을 위한 컨텍스트 엔지니어링 접근법 연구 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 2 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 3 ## 1. Context Engineering이란 무엇이며, 주요 개념과 원리는 무엇인가? <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 4 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 5 Context Engineering(컨텍스트 엔지니어링)은 AI 에이전트, 특히 멀티에이전트 시스템에서 각 에이전트가 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 최적의 의사결정을 내릴 수 있도록 필요한 정보(컨텍스트)를 설계, 관리, 전달하는 일련의 전략과 기술을 의미한다. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 이는 단순히 프롬프트를 설계하는 수준을 넘어, 시스템 전체의 집단적 지식, 이전 결정, 도구 피드백, 외부 데이터 등 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 다양한 맥락 정보를 동적으로 조합·제공함으로써, 에이전트 간 협업의 정확성과 일관성을 극대화하는 것이 핵심 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 원리다[1][4]. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 6 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 7 컨텍스트의 유형은 크게 ① 명령(프롬프트, 규칙, 예시), ② 지식(도메인 정보, 검색 데이터, 메모리), ③ 도구 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 피드백(API 결과, 런타임 신호)로 구분된다. 효과적인 컨텍스트 엔지니어링을 위해서는 정보의 저장(외부 메모리, <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 파일시스템), 선택(RAG, 유사도 검색), 압축(요약, 필터링), 격리(역할별 컨텍스트 분리) 등 다양한 전략이 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 활용된다[4]. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 8 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 9 ## 2. 연구 에이전트형 AI 시스템(예: LLM 기반 연구 에이전트)에서의 Context Engineering 적용 사례와 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 구체적 방법론 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 10 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 11 연구 에이전트형 AI 시스템에서는 복잡한 연구 과제를 해결하기 위해 여러 특화 에이전트가 협업하는 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 멀티에이전트 구조가 주로 채택된다. 대표적으로 Anthropic의 멀티에이전트 연구 시스템은 Opus 4 리드 에이전트가 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> Sonnet 4 서브에이전트들을 조율하여, 각 서브에이전트가 실시간 데이터 수집, 통계 분석, 전문가 의견 요약 등 역할을 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 분담하고, 리드 에이전트가 결과를 통합·검증하는 방식으로 동작한다. 이 시스템은 단일 에이전트 대비 90% 이상의 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 성능 향상을 보였으며, 컨텍스트 엔지니어링이 성능 차이의 80%를 설명하는 핵심 요인으로 분석되었다[1]. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 12 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 13 구체적 방법론으로는 ① 각 에이전트의 역할과 책임을 명확히 정의하고, ② 시스템 전체의 결정 및 가정(예: <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 분석 범위, 데이터 기준)을 공유 메모리나 프롬프트에 명시적으로 삽입하며, ③ 이전 단계의 핵심 결정만을 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 요약·전달하여 정보 과부하를 방지한다. 또한, 에이전트 간 충돌 방지를 위해 일관된 포맷, 스타일, 인용 규칙 등을 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 컨텍스트에 포함시키고, 중복 작업이나 모순된 결과가 발생하지 않도록 동적 메모리 참조 및 역할 기반 정보 격리를 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 적용한다[1][4][5]. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 14 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 15 ## 3. 파일시스템 기반 컨텍스트 관리 시스템에서의 Context Engineering 적용 사례와 특징 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 16 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 17 파일시스템 기반 컨텍스트 관리 시스템은 에이전트가 외부 메모리(파일, DB, shared memory 등)에 정보를 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 저장·조회함으로써, 컨텍스트 윈도우 한계를 극복하고 장기적 일관성을 유지하는 데 중점을 둔다. 예를 들어, <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 멀티에이전트 시스템에서 각 에이전트가 자신의 결정, 중간 산출물, 외부 데이터 등을 파일시스템에 기록하고, 필요 시 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 유사도 검색(RAG)이나 메타데이터 필터링을 통해 관련 정보를 동적으로 불러와 컨텍스트로 활용한다[4]. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 18 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 19 이러한 구조는 ① 정보의 영속성(장기 기억), ② 역할별/에이전트별 컨텍스트 격리, ③ 동적 정보 선택 및 압축, <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> ④ 시스템 전체의 투명성(감사·재현성) 등에서 강점을 가진다. 실제로 Vellum, LangChain 등 최신 플랫폼은 외부 메모리 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 연동, 프롬프트 체이닝, 컨텍스트 필터링, 버전 관리 등 파일시스템 기반 컨텍스트 엔지니어링을 위한 다양한 도구를 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 제공하고 있다[4]. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 20 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 21 ## 4. 최신 연구 동향 및 실제 적용 예시(2022~2024년 기준) <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 22 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 23 2022~2024년 사이, 컨텍스트 엔지니어링은 멀티에이전트 시스템의 신뢰성, 확장성, 비용 효율성 확보의 핵심 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 기술로 부상하였다. Anthropic, Cognition, Vellum 등은 멀티에이전트 시스템에서의 컨텍스트 결손이 실패의 주요 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 원인임을 지적하며, 컨텍스트 설계·관리 전략의 중요성을 강조한다[1][3][5][6]. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 24 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 25 실제 적용 예시로는 ① Anthropic의 멀티에이전트 연구 시스템(리드/서브에이전트 구조, 공유 메모리 기반 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 컨텍스트 관리), ② Vellum의 Corpus-in-Context, RAG 파이프라인, 프롬프트 버전 관리, 외부 메모리 연동, ③ <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> LangChain의 컨텍스트 엔지니어링 프레임워크(정보 저장/선택/압축/격리), ④ Cognition의 실패 사례 분석(컨텍스트 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 결손, 역할 충돌, 정보 과부하 등)이 있다. 또한, 최근 연구들은 토큰 사용량 최적화, 에이전트 간 충돌 방지, 동적 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 에이전트 라우팅, 시스템 감사·재현성 확보 등 실무적 과제에 대한 구체적 솔루션을 제시하고 있다[1][4][5][6]. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 26 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 27 ## 5. 참고문헌 및 인용 정리 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 28 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 29 [1] Anthropic. (2025). How We Built Our Multi-Agent Research System. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> https://www.anthropic.com/engineering/built-multi-agent-research-system <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 30 [2] Kubiya. (2024). Single Agent vs Multi Agent AI: Which Is Better? <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> https://www.kubiya.ai/blog/single-agent-vs-multi-agent-in-ai <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 31 [3] Cognition AI. (2024). Dont Build Multi-Agents. https://cognition.ai/blog/dont-build-multi-agents <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 32 [4] LangChain. (2024). Context Engineering for Agents. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> https://blog.langchain.com/context-engineering-for-agents/ <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 33 [5] Anna A Grigoryan (2025). Why Do Multi-Agent LLM Systems Fail? <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> https://thegrigorian.medium.com/why-do-multi-agent-llm-systems-fail-14dc34e0f3cb <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 34 [6] Arxiv. (2025). Why Do Multi-Agent LLM Systems Fail? https://arxiv.org/abs/2503.13657 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 35 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[33m╭─\u001b[0m\u001b[33m─────────────────────────────────────────────────\u001b[0m\u001b[33m Tool Output \u001b[0m\u001b[33m─────────────────────────────────────────────────\u001b[0m\u001b[33m─╮\u001b[0m\n",
"\u001b[33m│\u001b[0m 1 # AI 에이전트 구축을 위한 컨텍스트 엔지니어링 접근법 연구 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 2 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 3 ## 1. Context Engineering이란 무엇이며, 주요 개념과 원리는 무엇인가? \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 4 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 5 Context Engineering(컨텍스트 엔지니어링)은 AI 에이전트, 특히 멀티에이전트 시스템에서 각 에이전트가 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 최적의 의사결정을 내릴 수 있도록 필요한 정보(컨텍스트)를 설계, 관리, 전달하는 일련의 전략과 기술을 의미한다. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 이는 단순히 프롬프트를 설계하는 수준을 넘어, 시스템 전체의 집단적 지식, 이전 결정, 도구 피드백, 외부 데이터 등 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 다양한 맥락 정보를 동적으로 조합·제공함으로써, 에이전트 간 협업의 정확성과 일관성을 극대화하는 것이 핵심 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 원리다[1][4]. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 6 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 7 컨텍스트의 유형은 크게 ① 명령(프롬프트, 규칙, 예시), ② 지식(도메인 정보, 검색 데이터, 메모리), ③ 도구 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 피드백(API 결과, 런타임 신호)로 구분된다. 효과적인 컨텍스트 엔지니어링을 위해서는 정보의 저장(외부 메모리, \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 파일시스템), 선택(RAG, 유사도 검색), 압축(요약, 필터링), 격리(역할별 컨텍스트 분리) 등 다양한 전략이 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 활용된다[4]. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 8 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 9 ## 2. 연구 에이전트형 AI 시스템(예: LLM 기반 연구 에이전트)에서의 Context Engineering 적용 사례와 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 구체적 방법론 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 10 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 11 연구 에이전트형 AI 시스템에서는 복잡한 연구 과제를 해결하기 위해 여러 특화 에이전트가 협업하는 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 멀티에이전트 구조가 주로 채택된다. 대표적으로 Anthropic의 멀티에이전트 연구 시스템은 Opus 4 리드 에이전트가 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m Sonnet 4 서브에이전트들을 조율하여, 각 서브에이전트가 실시간 데이터 수집, 통계 분석, 전문가 의견 요약 등 역할을 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 분담하고, 리드 에이전트가 결과를 통합·검증하는 방식으로 동작한다. 이 시스템은 단일 에이전트 대비 90% 이상의 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 성능 향상을 보였으며, 컨텍스트 엔지니어링이 성능 차이의 80%를 설명하는 핵심 요인으로 분석되었다[1]. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 12 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 13 구체적 방법론으로는 ① 각 에이전트의 역할과 책임을 명확히 정의하고, ② 시스템 전체의 결정 및 가정(예: \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 분석 범위, 데이터 기준)을 공유 메모리나 프롬프트에 명시적으로 삽입하며, ③ 이전 단계의 핵심 결정만을 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 요약·전달하여 정보 과부하를 방지한다. 또한, 에이전트 간 충돌 방지를 위해 일관된 포맷, 스타일, 인용 규칙 등을 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 컨텍스트에 포함시키고, 중복 작업이나 모순된 결과가 발생하지 않도록 동적 메모리 참조 및 역할 기반 정보 격리를 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 적용한다[1][4][5]. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 14 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 15 ## 3. 파일시스템 기반 컨텍스트 관리 시스템에서의 Context Engineering 적용 사례와 특징 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 16 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 17 파일시스템 기반 컨텍스트 관리 시스템은 에이전트가 외부 메모리(파일, DB, shared memory 등)에 정보를 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 저장·조회함으로써, 컨텍스트 윈도우 한계를 극복하고 장기적 일관성을 유지하는 데 중점을 둔다. 예를 들어, \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 멀티에이전트 시스템에서 각 에이전트가 자신의 결정, 중간 산출물, 외부 데이터 등을 파일시스템에 기록하고, 필요 시 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 유사도 검색(RAG)이나 메타데이터 필터링을 통해 관련 정보를 동적으로 불러와 컨텍스트로 활용한다[4]. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 18 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 19 이러한 구조는 ① 정보의 영속성(장기 기억), ② 역할별/에이전트별 컨텍스트 격리, ③ 동적 정보 선택 및 압축, \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m ④ 시스템 전체의 투명성(감사·재현성) 등에서 강점을 가진다. 실제로 Vellum, LangChain 등 최신 플랫폼은 외부 메모리 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 연동, 프롬프트 체이닝, 컨텍스트 필터링, 버전 관리 등 파일시스템 기반 컨텍스트 엔지니어링을 위한 다양한 도구를 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 제공하고 있다[4]. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 20 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 21 ## 4. 최신 연구 동향 및 실제 적용 예시(2022~2024년 기준) \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 22 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 23 2022~2024년 사이, 컨텍스트 엔지니어링은 멀티에이전트 시스템의 신뢰성, 확장성, 비용 효율성 확보의 핵심 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 기술로 부상하였다. Anthropic, Cognition, Vellum 등은 멀티에이전트 시스템에서의 컨텍스트 결손이 실패의 주요 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 원인임을 지적하며, 컨텍스트 설계·관리 전략의 중요성을 강조한다[1][3][5][6]. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 24 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 25 실제 적용 예시로는 ① Anthropic의 멀티에이전트 연구 시스템(리드/서브에이전트 구조, 공유 메모리 기반 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 컨텍스트 관리), ② Vellum의 Corpus-in-Context, RAG 파이프라인, 프롬프트 버전 관리, 외부 메모리 연동, ③ \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m LangChain의 컨텍스트 엔지니어링 프레임워크(정보 저장/선택/압축/격리), ④ Cognition의 실패 사례 분석(컨텍스트 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 결손, 역할 충돌, 정보 과부하 등)이 있다. 또한, 최근 연구들은 토큰 사용량 최적화, 에이전트 간 충돌 방지, 동적 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 에이전트 라우팅, 시스템 감사·재현성 확보 등 실무적 과제에 대한 구체적 솔루션을 제시하고 있다[1][4][5][6]. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 26 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 27 ## 5. 참고문헌 및 인용 정리 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 28 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 29 [1] Anthropic. (2025). How We Built Our Multi-Agent Research System. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m https://www.anthropic.com/engineering/built-multi-agent-research-system \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 30 [2] Kubiya. (2024). Single Agent vs Multi Agent AI: Which Is Better? \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m https://www.kubiya.ai/blog/single-agent-vs-multi-agent-in-ai \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 31 [3] Cognition AI. (2024). Dont Build Multi-Agents. https://cognition.ai/blog/dont-build-multi-agents \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 32 [4] LangChain. (2024). Context Engineering for Agents. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m https://blog.langchain.com/context-engineering-for-agents/ \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 33 [5] Anna A Grigoryan (2025). Why Do Multi-Agent LLM Systems Fail? \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m https://thegrigorian.medium.com/why-do-multi-agent-llm-systems-fail-14dc34e0f3cb \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 34 [6] Arxiv. (2025). Why Do Multi-Agent LLM Systems Fail? https://arxiv.org/abs/2503.13657 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 35 \u001b[33m│\u001b[0m\n",
"\u001b[33m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">╭────────────────────────────────────────────────────── AI ───────────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Tool Call: read_file <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Args: { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"file_path\": \"/research_request.md\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"offset\": 0, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"limit\": 100 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> } <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> ID: call_blmgCqeo812n68sY7m1ascbh <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[37m╭─\u001b[0m\u001b[37m─────────────────────────────────────────────────────\u001b[0m\u001b[37m AI \u001b[0m\u001b[37m──────────────────────────────────────────────────────\u001b[0m\u001b[37m─╮\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Tool Call: read_file \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Args: { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"file_path\": \"/research_request.md\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"offset\": 0, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"limit\": 100 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m } \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m ID: call_blmgCqeo812n68sY7m1ascbh \u001b[37m│\u001b[0m\n",
"\u001b[37m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #808000; text-decoration-color: #808000\">╭────────────────────────────────────────────────── Tool Output ──────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 1 연구 주제: AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법에 대해 조사하라. <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 2 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 3 세부 요구사항: <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 4 - Context Engineering이란 무엇인지 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 5 - 연구 에이전트형 AI 시스템에서의 Context Engineering 적용 사례 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 6 - 파일시스템 기반 컨텍스트 관리 시스템에서의 Context Engineering 적용 사례 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 7 - 최신 연구 동향 및 실제 적용 예시 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 8 - 참고문헌 및 인용 포함 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 9 - 결과물은 한국어로 작성할 것 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[33m╭─\u001b[0m\u001b[33m─────────────────────────────────────────────────\u001b[0m\u001b[33m Tool Output \u001b[0m\u001b[33m─────────────────────────────────────────────────\u001b[0m\u001b[33m─╮\u001b[0m\n",
"\u001b[33m│\u001b[0m 1 연구 주제: AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법에 대해 조사하라. \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 2 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 3 세부 요구사항: \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 4 - Context Engineering이란 무엇인지 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 5 - 연구 에이전트형 AI 시스템에서의 Context Engineering 적용 사례 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 6 - 파일시스템 기반 컨텍스트 관리 시스템에서의 Context Engineering 적용 사례 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 7 - 최신 연구 동향 및 실제 적용 예시 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 8 - 참고문헌 및 인용 포함 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 9 - 결과물은 한국어로 작성할 것 \u001b[33m│\u001b[0m\n",
"\u001b[33m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">╭────────────────────────────────────────────────────── AI ───────────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Tool Call: write_todos <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> Args: { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"todos\": [ <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"사용자 요청을 /research_request.md에 저장\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"completed\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법에 대해 연구할 구체적인 질문을 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 도출하고, 연구 계획을 수립\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"completed\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"연구 계획에 따라 연구를 하위 에이전트에 위임하여 자료를 수집\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"completed\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"수집된 자료를 종합 및 인용 정리\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"completed\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"최종 보고서를 /final_report.md에 작성 (한국어, 인용 포함)\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"completed\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> }, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> { <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"content\": \"/research_request.md와 비교하여 모든 요구사항이 충족되었는지 검증\", <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> \"status\": \"completed\" <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> } <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> ] <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> } <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> ID: call_LXLb7OSu9fyLYBC6bORfZzsk <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[37m╭─\u001b[0m\u001b[37m─────────────────────────────────────────────────────\u001b[0m\u001b[37m AI \u001b[0m\u001b[37m──────────────────────────────────────────────────────\u001b[0m\u001b[37m─╮\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Tool Call: write_todos \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m Args: { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"todos\": [ \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"사용자 요청을 /research_request.md에 저장\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"completed\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법에 대해 연구할 구체적인 질문을 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 도출하고, 연구 계획을 수립\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"completed\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"연구 계획에 따라 연구를 하위 에이전트에 위임하여 자료를 수집\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"completed\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"수집된 자료를 종합 및 인용 정리\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"completed\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"최종 보고서를 /final_report.md에 작성 (한국어, 인용 포함)\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"completed\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m }, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m { \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"content\": \"/research_request.md와 비교하여 모든 요구사항이 충족되었는지 검증\", \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \"status\": \"completed\" \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m } \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m ] \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m } \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m ID: call_LXLb7OSu9fyLYBC6bORfZzsk \u001b[37m│\u001b[0m\n",
"\u001b[37m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #808000; text-decoration-color: #808000\">╭────────────────────────────────────────────────── Tool Output ──────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> Updated todo list to [{'content': '사용자 요청을 /research_request.md에 저장', 'status': 'completed'}, <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> {'content': 'AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법에 대해 연구할 구체적인 질문을 도출하고, <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 연구 계획을 수립', 'status': 'completed'}, {'content': '연구 계획에 따라 연구를 하위 에이전트에 위임하여 자료를 <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> 수집', 'status': 'completed'}, {'content': '수집된 자료를 종합 및 인용 정리', 'status': 'completed'}, <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> {'content': '최종 보고서를 /final_report.md에 작성 (한국어, 인용 포함)', 'status': 'completed'}, {'content': <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">│</span> '/research_request.md와 비교하여 모든 요구사항이 충족되었는지 검증', 'status': 'completed'}] <span style=\"color: #808000; text-decoration-color: #808000\">│</span>\n",
"<span style=\"color: #808000; text-decoration-color: #808000\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[33m╭─\u001b[0m\u001b[33m─────────────────────────────────────────────────\u001b[0m\u001b[33m Tool Output \u001b[0m\u001b[33m─────────────────────────────────────────────────\u001b[0m\u001b[33m─╮\u001b[0m\n",
"\u001b[33m│\u001b[0m Updated todo list to [{'content': '사용자 요청을 /research_request.md에 저장', 'status': 'completed'}, \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m {'content': 'AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법에 대해 연구할 구체적인 질문을 도출하고, \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 연구 계획을 수립', 'status': 'completed'}, {'content': '연구 계획에 따라 연구를 하위 에이전트에 위임하여 자료를 \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m 수집', 'status': 'completed'}, {'content': '수집된 자료를 종합 및 인용 정리', 'status': 'completed'}, \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m {'content': '최종 보고서를 /final_report.md에 작성 (한국어, 인용 포함)', 'status': 'completed'}, {'content': \u001b[33m│\u001b[0m\n",
"\u001b[33m│\u001b[0m '/research_request.md와 비교하여 모든 요구사항이 충족되었는지 검증', 'status': 'completed'}] \u001b[33m│\u001b[0m\n",
"\u001b[33m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">╭────────────────────────────────────────────────────── AI ───────────────────────────────────────────────────────╮</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 요청하신 \"AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법\"에 대한 최신 연구와 실제 사례를 종합하여, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 아래와 같이 보고서를 작성하였습니다. <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> --- <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> # AI 에이전트 구축을 위한 컨텍스트 엔지니어링 접근법 연구 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> ## 1. Context Engineering이란 무엇이며, 주요 개념과 원리는 무엇인가? <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 컨텍스트 엔지니어링(Context Engineering)은 AI 에이전트, 특히 멀티에이전트 시스템에서 각 에이전트가 최적의 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 의사결정을 내릴 수 있도록 필요한 정보(컨텍스트)를 설계, 관리, 전달하는 일련의 전략과 기술을 의미합니다. 이는 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 단순히 프롬프트를 설계하는 수준을 넘어, 시스템 전체의 집단적 지식, 이전 결정, 도구 피드백, 외부 데이터 등 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 다양한 맥락 정보를 동적으로 조합·제공함으로써, 에이전트 간 협업의 정확성과 일관성을 극대화하는 것이 핵심 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 원리입니다[1][4]. <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 컨텍스트의 유형은 크게 ① 명령(프롬프트, 규칙, 예시), ② 지식(도메인 정보, 검색 데이터, 메모리), ③ 도구 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 피드백(API 결과, 런타임 신호)로 구분됩니다. 효과적인 컨텍스트 엔지니어링을 위해서는 정보의 저장(외부 메모리, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 파일시스템), 선택(RAG, 유사도 검색), 압축(요약, 필터링), 격리(역할별 컨텍스트 분리) 등 다양한 전략이 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 활용됩니다[4]. <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> ## 2. 연구 에이전트형 AI 시스템(예: LLM 기반 연구 에이전트)에서의 Context Engineering 적용 사례와 구체적 방법론 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 연구 에이전트형 AI 시스템에서는 복잡한 연구 과제를 해결하기 위해 여러 특화 에이전트가 협업하는 멀티에이전트 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 구조가 주로 채택됩니다. 대표적으로 Anthropic의 멀티에이전트 연구 시스템은 Opus 4 리드 에이전트가 Sonnet 4 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 서브에이전트들을 조율하여, 각 서브에이전트가 실시간 데이터 수집, 통계 분석, 전문가 의견 요약 등 역할을 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 분담하고, 리드 에이전트가 결과를 통합·검증하는 방식으로 동작합니다. 이 시스템은 단일 에이전트 대비 90% 이상의 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 성능 향상을 보였으며, 컨텍스트 엔지니어링이 성능 차이의 80%를 설명하는 핵심 요인으로 분석되었습니다[1]. <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 구체적 방법론으로는 ① 각 에이전트의 역할과 책임을 명확히 정의하고, ② 시스템 전체의 결정 및 가정(예: 분석 범위, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 데이터 기준)을 공유 메모리나 프롬프트에 명시적으로 삽입하며, ③ 이전 단계의 핵심 결정만을 요약·전달하여 정보 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 과부하를 방지합니다. 또한, 에이전트 간 충돌 방지를 위해 일관된 포맷, 스타일, 인용 규칙 등을 컨텍스트에 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 포함시키고, 중복 작업이나 모순된 결과가 발생하지 않도록 동적 메모리 참조 및 역할 기반 정보 격리를 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 적용합니다[1][4][5]. <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> ## 3. 파일시스템 기반 컨텍스트 관리 시스템에서의 Context Engineering 적용 사례와 특징 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 파일시스템 기반 컨텍스트 관리 시스템은 에이전트가 외부 메모리(파일, DB, shared memory 등)에 정보를 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 저장·조회함으로써, 컨텍스트 윈도우 한계를 극복하고 장기적 일관성을 유지하는 데 중점을 둡니다. 예를 들어, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 멀티에이전트 시스템에서 각 에이전트가 자신의 결정, 중간 산출물, 외부 데이터 등을 파일시스템에 기록하고, 필요 시 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 유사도 검색(RAG)이나 메타데이터 필터링을 통해 관련 정보를 동적으로 불러와 컨텍스트로 활용합니다[4]. <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 이러한 구조는 ① 정보의 영속성(장기 기억), ② 역할별/에이전트별 컨텍스트 격리, ③ 동적 정보 선택 및 압축, ④ 시스템 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 전체의 투명성(감사·재현성) 등에서 강점을 가집니다. 실제로 Vellum, LangChain 등 최신 플랫폼은 외부 메모리 연동, <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 프롬프트 체이닝, 컨텍스트 필터링, 버전 관리 등 파일시스템 기반 컨텍스트 엔지니어링을 위한 다양한 도구를 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 제공하고 있습니다[4]. <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> ## 4. 최신 연구 동향 및 실제 적용 예시(2022~2024년 기준) <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 2022~2024년 사이, 컨텍스트 엔지니어링은 멀티에이전트 시스템의 신뢰성, 확장성, 비용 효율성 확보의 핵심 기술로 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 부상하였습니다. Anthropic, Cognition, Vellum 등은 멀티에이전트 시스템에서의 컨텍스트 결손이 실패의 주요 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 원인임을 지적하며, 컨텍스트 설계·관리 전략의 중요성을 강조합니다[1][3][5][6]. <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 실제 적용 예시로는 ① Anthropic의 멀티에이전트 연구 시스템(리드/서브에이전트 구조, 공유 메모리 기반 컨텍스트 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 관리), ② Vellum의 Corpus-in-Context, RAG 파이프라인, 프롬프트 버전 관리, 외부 메모리 연동, ③ LangChain의 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 컨텍스트 엔지니어링 프레임워크(정보 저장/선택/압축/격리), ④ Cognition의 실패 사례 분석(컨텍스트 결손, 역할 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 충돌, 정보 과부하 등)이 있습니다. 또한, 최근 연구들은 토큰 사용량 최적화, 에이전트 간 충돌 방지, 동적 에이전트 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 라우팅, 시스템 감사·재현성 확보 등 실무적 과제에 대한 구체적 솔루션을 제시하고 있습니다[1][4][5][6]. <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> ## 5. 참고문헌 및 인용 정리 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> [1] Anthropic. (2025). How We Built Our Multi-Agent Research System. <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> https://www.anthropic.com/engineering/built-multi-agent-research-system <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> [2] Kubiya. (2024). Single Agent vs Multi Agent AI: Which Is Better? <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> https://www.kubiya.ai/blog/single-agent-vs-multi-agent-in-ai <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> [3] Cognition AI. (2024). Dont Build Multi-Agents. https://cognition.ai/blog/dont-build-multi-agents <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> [4] LangChain. (2024). Context Engineering for Agents. <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> https://blog.langchain.com/context-engineering-for-agents/ <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> [5] Anna A Grigoryan (2025). Why Do Multi-Agent LLM Systems Fail? <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> https://thegrigorian.medium.com/why-do-multi-agent-llm-systems-fail-14dc34e0f3cb <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> [6] Arxiv. (2025). Why Do Multi-Agent LLM Systems Fail? https://arxiv.org/abs/2503.13657 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> --- <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 모든 요구사항(정의, 적용 사례, 파일시스템 기반 사례, 최신 동향, 인용, 한국어 작성)이 충족되었습니다. 추가 <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span> 설명이나 특정 사례의 심화가 필요하시면 말씀해 주세요. <span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">│</span>\n",
"<span style=\"color: #c0c0c0; text-decoration-color: #c0c0c0\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
"</pre>\n"
],
"text/plain": [
"\u001b[37m╭─\u001b[0m\u001b[37m─────────────────────────────────────────────────────\u001b[0m\u001b[37m AI \u001b[0m\u001b[37m──────────────────────────────────────────────────────\u001b[0m\u001b[37m─╮\u001b[0m\n",
"\u001b[37m│\u001b[0m 요청하신 \"AI 에이전트 구축에 사용되는 컨텍스트 엔지니어링 접근법\"에 대한 최신 연구와 실제 사례를 종합하여, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 아래와 같이 보고서를 작성하였습니다. \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m --- \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m # AI 에이전트 구축을 위한 컨텍스트 엔지니어링 접근법 연구 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m ## 1. Context Engineering이란 무엇이며, 주요 개념과 원리는 무엇인가? \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 컨텍스트 엔지니어링(Context Engineering)은 AI 에이전트, 특히 멀티에이전트 시스템에서 각 에이전트가 최적의 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 의사결정을 내릴 수 있도록 필요한 정보(컨텍스트)를 설계, 관리, 전달하는 일련의 전략과 기술을 의미합니다. 이는 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 단순히 프롬프트를 설계하는 수준을 넘어, 시스템 전체의 집단적 지식, 이전 결정, 도구 피드백, 외부 데이터 등 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 다양한 맥락 정보를 동적으로 조합·제공함으로써, 에이전트 간 협업의 정확성과 일관성을 극대화하는 것이 핵심 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 원리입니다[1][4]. \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 컨텍스트의 유형은 크게 ① 명령(프롬프트, 규칙, 예시), ② 지식(도메인 정보, 검색 데이터, 메모리), ③ 도구 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 피드백(API 결과, 런타임 신호)로 구분됩니다. 효과적인 컨텍스트 엔지니어링을 위해서는 정보의 저장(외부 메모리, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 파일시스템), 선택(RAG, 유사도 검색), 압축(요약, 필터링), 격리(역할별 컨텍스트 분리) 등 다양한 전략이 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 활용됩니다[4]. \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m ## 2. 연구 에이전트형 AI 시스템(예: LLM 기반 연구 에이전트)에서의 Context Engineering 적용 사례와 구체적 방법론 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 연구 에이전트형 AI 시스템에서는 복잡한 연구 과제를 해결하기 위해 여러 특화 에이전트가 협업하는 멀티에이전트 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 구조가 주로 채택됩니다. 대표적으로 Anthropic의 멀티에이전트 연구 시스템은 Opus 4 리드 에이전트가 Sonnet 4 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 서브에이전트들을 조율하여, 각 서브에이전트가 실시간 데이터 수집, 통계 분석, 전문가 의견 요약 등 역할을 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 분담하고, 리드 에이전트가 결과를 통합·검증하는 방식으로 동작합니다. 이 시스템은 단일 에이전트 대비 90% 이상의 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 성능 향상을 보였으며, 컨텍스트 엔지니어링이 성능 차이의 80%를 설명하는 핵심 요인으로 분석되었습니다[1]. \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 구체적 방법론으로는 ① 각 에이전트의 역할과 책임을 명확히 정의하고, ② 시스템 전체의 결정 및 가정(예: 분석 범위, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 데이터 기준)을 공유 메모리나 프롬프트에 명시적으로 삽입하며, ③ 이전 단계의 핵심 결정만을 요약·전달하여 정보 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 과부하를 방지합니다. 또한, 에이전트 간 충돌 방지를 위해 일관된 포맷, 스타일, 인용 규칙 등을 컨텍스트에 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 포함시키고, 중복 작업이나 모순된 결과가 발생하지 않도록 동적 메모리 참조 및 역할 기반 정보 격리를 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 적용합니다[1][4][5]. \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m ## 3. 파일시스템 기반 컨텍스트 관리 시스템에서의 Context Engineering 적용 사례와 특징 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 파일시스템 기반 컨텍스트 관리 시스템은 에이전트가 외부 메모리(파일, DB, shared memory 등)에 정보를 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 저장·조회함으로써, 컨텍스트 윈도우 한계를 극복하고 장기적 일관성을 유지하는 데 중점을 둡니다. 예를 들어, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 멀티에이전트 시스템에서 각 에이전트가 자신의 결정, 중간 산출물, 외부 데이터 등을 파일시스템에 기록하고, 필요 시 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 유사도 검색(RAG)이나 메타데이터 필터링을 통해 관련 정보를 동적으로 불러와 컨텍스트로 활용합니다[4]. \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 이러한 구조는 ① 정보의 영속성(장기 기억), ② 역할별/에이전트별 컨텍스트 격리, ③ 동적 정보 선택 및 압축, ④ 시스템 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 전체의 투명성(감사·재현성) 등에서 강점을 가집니다. 실제로 Vellum, LangChain 등 최신 플랫폼은 외부 메모리 연동, \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 프롬프트 체이닝, 컨텍스트 필터링, 버전 관리 등 파일시스템 기반 컨텍스트 엔지니어링을 위한 다양한 도구를 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 제공하고 있습니다[4]. \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m ## 4. 최신 연구 동향 및 실제 적용 예시(2022~2024년 기준) \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 2022~2024년 사이, 컨텍스트 엔지니어링은 멀티에이전트 시스템의 신뢰성, 확장성, 비용 효율성 확보의 핵심 기술로 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 부상하였습니다. Anthropic, Cognition, Vellum 등은 멀티에이전트 시스템에서의 컨텍스트 결손이 실패의 주요 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 원인임을 지적하며, 컨텍스트 설계·관리 전략의 중요성을 강조합니다[1][3][5][6]. \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 실제 적용 예시로는 ① Anthropic의 멀티에이전트 연구 시스템(리드/서브에이전트 구조, 공유 메모리 기반 컨텍스트 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 관리), ② Vellum의 Corpus-in-Context, RAG 파이프라인, 프롬프트 버전 관리, 외부 메모리 연동, ③ LangChain의 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 컨텍스트 엔지니어링 프레임워크(정보 저장/선택/압축/격리), ④ Cognition의 실패 사례 분석(컨텍스트 결손, 역할 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 충돌, 정보 과부하 등)이 있습니다. 또한, 최근 연구들은 토큰 사용량 최적화, 에이전트 간 충돌 방지, 동적 에이전트 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 라우팅, 시스템 감사·재현성 확보 등 실무적 과제에 대한 구체적 솔루션을 제시하고 있습니다[1][4][5][6]. \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m ## 5. 참고문헌 및 인용 정리 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m [1] Anthropic. (2025). How We Built Our Multi-Agent Research System. \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m https://www.anthropic.com/engineering/built-multi-agent-research-system \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m [2] Kubiya. (2024). Single Agent vs Multi Agent AI: Which Is Better? \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m https://www.kubiya.ai/blog/single-agent-vs-multi-agent-in-ai \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m [3] Cognition AI. (2024). Dont Build Multi-Agents. https://cognition.ai/blog/dont-build-multi-agents \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m [4] LangChain. (2024). Context Engineering for Agents. \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m https://blog.langchain.com/context-engineering-for-agents/ \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m [5] Anna A Grigoryan (2025). Why Do Multi-Agent LLM Systems Fail? \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m https://thegrigorian.medium.com/why-do-multi-agent-llm-systems-fail-14dc34e0f3cb \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m [6] Arxiv. (2025). Why Do Multi-Agent LLM Systems Fail? https://arxiv.org/abs/2503.13657 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m --- \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 모든 요구사항(정의, 적용 사례, 파일시스템 기반 사례, 최신 동향, 인용, 한국어 작성)이 충족되었습니다. 추가 \u001b[37m│\u001b[0m\n",
"\u001b[37m│\u001b[0m 설명이나 특정 사례의 심화가 필요하시면 말씀해 주세요. \u001b[37m│\u001b[0m\n",
"\u001b[37m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"format_messages(result[\"messages\"])"
]
},
{
"cell_type": "markdown",
"id": "73a94881",
"metadata": {},
"source": [
"## 수행 한 LangSmith 결과물\n",
"\n",
"> https://smith.langchain.com/public/68a0a3a8-d6b3-4c07-a8a3-445d8c6cf663/r"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "deepagent-context-engineering (3.13.9)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.13.9"
}
},
"nbformat": 4,
"nbformat_minor": 5
}