💬User Query
🤖Output
Agent
Orchestrator LangGraph · 7-stage + 분기
Stage 1.
Intent Classifier
- intent: doc_qa / doc_summary / doc_compare / file_search / web_search / chat
- mode: file_mode / folder_mode / general_chat
- confidence · needs_context · web_search_enabled · response_language · selected_files
↳ chat → Generator 직행 (needs_context+이력 있으면 History Selector 경유)
▼
Stage 2.
History Selector
- needs_context=true + chat_history 존재 시에만 실행
- selected_history · selected_indices · selection_reason (관련 대화 턴 선택)
↳ 조건 미충족 → skip · chat → Generator / 그 외 → Rewriter
▼
Stage 3.
Query Rewriter
- optimized_query · resolved_query · keywords
- search_filter: {author, extension, date_from, date_to}
- 프롬프트 분기: search_optimization(doc_qa·web_search) / file_filter(file_search)
↳ web_search → Web Search Setup · 그 외 → Planner
▼
Stage 4.
Planner
- complexity: simple / complex
- tasks: [{id, agent, query, description, depends_on, parameters}]
- summary · original_query
- agent: document_retriever(→file_rag/folder_rag) · file_search · summary · compare · file_resolver
▷ Web Search Setup — web_search intent 시 Planner 대체 (rewriter→web_search_setup)
▼
Stage 5.
Executor
- Registry로 Sub-Agent Executor 선택 → in-process 호출 · 결과 통합
Registry lookup
completed
Replan (depends_on 재정리)
failed
Wait User Input → END
input required
▼
Stage 6.
Condenser
- doc_summary / doc_compare & formatted_size > max_context_chars(20,000자) 시 압축
↳ 그 외 · 소용량 → skip (Generator 직행)
▼
Stage 7.
Generator
- intent별 프롬프트 조합으로 최종 응답 생성
Sub-Agents Registry 기반 in-process
File Rag Agent
Folder Rag Agent
File Search Agent
Summary Agent
Compare Agent
Web Search Agent
File Resolver Agent
Registry (sub_agents/registry.py) — AgentCard 탐색 대체
agent_id → Executor 클래스 매핑 · importlib 동적 import
BaseAgentExecutor(ABC) 서브클래스, 각 도구는 Direct 호출
agent_id → Executor 클래스 매핑 · importlib 동적 import
BaseAgentExecutor(ABC) 서브클래스, 각 도구는 Direct 호출
Tools
- Vector Search Tool
- File Chunk Retriever Tool
- DB Query Tool
- DB Filename Search Tool
- Web Search Tool
- Web Content Parser Tool
- Filename Similarity Scorer Tool
- User Confirmation Tool
Direct 구현 (use_mcp=False)
Prompt Manager
- Intent / Stage Prompts
- Persona Prompts (cs · marketing · admin)
- Loader · Selector (DB→Redis 3-tier)