Skip to content

GovOn Public Roadmap — LangGraph Agentic Shell R1 #402

Description

@umyunsang

목적

GovOn R1(LangGraph Agentic Shell) 첫 공식 릴리즈를 위한 루트 로드맵 이슈입니다.
한국 지방자치단체 공무원의 민원 답변 업무를 AI로 보조하는 CLI 기반 에이전트 시스템을 MVP 수준으로 완성합니다.

MVP 범위

In-Scope

  • LangGraph ReAct + ToolNode 기반 에이전트 런타임 (v2 approval-gated + v3 auto-execute)
  • 7개 도구: api_lookup, issue_detector, stats_lookup, keyword_analyzer, demographics_lookup, public_admin_adapter, legal_adapter
  • EXAONE 4.0-32B-AWQ 기반 civil/legal LoRA 어댑터 + vLLM Multi-LoRA 서빙
  • 대화형 멀티턴 (LangGraph checkpointer 기반, 프로덕션 컨텍스트 관리)
  • FastAPI + vLLM 2-프로세스 아키텍처 + SQLite session persistence
  • CLI interactive shell (승인 UI, 스트리밍 출력, session resume)
  • Docker 컨테이너화 및 HF Spaces 배포
  • E2E 통합 테스트 (6-Phase 27 시나리오) 및 품질 평가
  • 사용자/운영 문서, 데모 패키지

Out-of-Scope (Post-R1)

  • Web/App UI Surface
  • UI/UX Design System
  • 고급 성능 벤치마킹

최종 산출물

산출물 위치
GitHub Repository GovOn-Org/GovOn
HF Space (Runtime) huggingface.co/spaces/umyunsang/govon-runtime
HF Model (civil-adapter) huggingface.co/umyunsang/govon-civil-adapter
HF Model (legal-adapter) huggingface.co/siwo/govon-legal-adapter
사용자/운영 문서 docs/
데모 영상 GitHub Release
pip 패키지 (백엔드) PyPI: govon
pip/npm 패키지 (CLI) PyPI: govon-cli / npm: @govon/cli
Homebrew formula govon tap

아키텍처

graph LR
    subgraph Client ["사용자 터미널"]
        CLI["govon CLI
(npm/pip)"]
    end

    subgraph HFSpace ["HF Space — A100 80GB"]
        subgraph FastAPI ["FastAPI :7860"]
            V2["v2 Agent
(approval flow)"]
            V3["v3 Agent
(auto-execute)"]
            CTX["6-Layer
Context Mgmt"]
            SL["session_load"]
            PERSIST["persist"]
        end
        subgraph VLLM ["vLLM :8000"]
            BASE["EXAONE-4.0
32B-AWQ"]
            LORA1["LoRA: public_admin"]
            LORA2["LoRA: legal"]
        end
    end

    CLI -- "HTTP/SSE
/v3/agent/run
/v3/agent/stream" --> V3
    CLI -- "/v2/agent/stream
/v2/agent/approve" --> V2
    V3 --> SL --> CTX
    V2 --> SL
    CTX --> PERSIST
    V3 -- httpx --> BASE
    V2 -- httpx --> BASE
    BASE --- LORA1
    BASE --- LORA2

    style Client fill:#e0f2fe,stroke:#0284c7
    style HFSpace fill:#fef3c7,stroke:#d97706
    style FastAPI fill:#dcfce7,stroke:#16a34a
    style VLLM fill:#fce7f3,stroke:#db2777
Loading

v3 ReAct 루프 흐름

graph TD
    START([START]) --> SL[session_load
컨텍스트 관리]
    SL --> AGENT[agent
LLM 자율 도구 선택]
    AGENT -->|tool_calls 있음| TOOLS[tools
ToolNode 실행]
    AGENT -->|tool_calls 없음| SYNTH[synthesize
persist + END]
    TOOLS --> AGENT

    style SL fill:#dbeafe
    style AGENT fill:#fef9c3
    style TOOLS fill:#dcfce7
    style SYNTH fill:#f3e8ff
Loading

6-Layer 컨텍스트 관리

graph TD
    L1["L1: Tool Output Truncation
3000자 head+tail"] --> L2["L2: Tool Result Clearing
iteration 2+, placeholder"]
    L2 --> L3["L3: ReAct 루프 내 trim
역순 토큰 예산"]
    L3 --> L4["L4: Hard cap
while 루프 강제 제거"]
    L5["L5: Extractive Summary
룰 기반 대화 요약"] --> L6["L6: RemoveMessage trim
토큰 예산 영구 삭제"]

    subgraph tools_node ["tools_node_v3"]
        L1
    end
    subgraph agent_node ["agent_node_v3"]
        L2
        L3
        L4
    end
    subgraph session_load ["session_load_node"]
        L5
        L6
    end

    style tools_node fill:#dcfce7,stroke:#16a34a
    style agent_node fill:#fef9c3,stroke:#ca8a04
    style session_load fill:#dbeafe,stroke:#2563eb
Loading

크리티컬 패스

graph LR
    A["#406 Agent Runtime"] --> B["#368 Tooling Layer"]
    A --> C["#367 Daemon Runtime"]
    B --> D["#366 Civil Adapter"]
    C --> E["#369 Shell Client"]
    D --> F["#373 테스트 & QA"]
    E --> F
    F --> I["#585 중간발표"]
    F --> G["#374 문서화"]
    G --> H["#375 최종 납품"]
    
    style A fill:#22c55e,color:#fff
    style B fill:#22c55e,color:#fff
    style C fill:#22c55e,color:#fff
    style D fill:#22c55e,color:#fff
    style E fill:#22c55e,color:#fff
    style F fill:#f59e0b,color:#fff
    style I fill:#f59e0b,color:#fff
    style G fill:#ef4444,color:#fff
    style H fill:#ef4444,color:#fff
Loading

워크스트림 상태

상태 워크스트림 이슈 진행률
🟢 완료 Agent Runtime #406 100%
🟢 완료 Tooling Layer #368 100%
🟢 완료 Daemon Runtime #367 100%
🟢 완료 Civil Adapter & Data #366 100%
🟢 완료 Shell Client #369 100%
🟡 진행 테스트 & QA #373 3/10
🟡 진행 중간발표 준비 #585 0/4
🔴 미착수 문서화 #374 0/3
🔴 미착수 최종 납품 #375 0/7

주요 성과 (2026-04-09 기준)

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions