galaxis-po/docs/plans/agents-architecture.md
머니페니 76e3220e77
All checks were successful
Deploy to Production / deploy (push) Successful in 3m10s
feat: 에이전트 기능 추가 (LLM 서비스, 에이전트 API, 테스트)
2026-05-06 20:56:45 +09:00

2.6 KiB

Agent Architecture

개요

Galaxis-Po 투자 분석 에이전트 시스템. 자연어 쿼리를 받아 도구를 활용하여 투자 분석을 수행합니다.

구조

backend/app/agents/
├── __init__.py
├── tools/                    # Meta-tool 패턴
│   ├── types.py             # ToolResult, RegisteredTool
│   ├── registry.py          # 도구 레지스트리
│   ├── meta_tool.py         # MetaTool 베이스 클래스
│   ├── finance/             # 금융 데이터 도구
│   │   ├── get_financials.py
│   │   ├── get_market_data.py
│   │   └── sub_tools.py
│   ├── search/              # 검색 도구
│   │   ├── web_search.py
│   │   └── news_search.py
│   └── filesystem/          # 파일 도구
│       ├── read_file.py
│       ├── write_file.py
│       └── edit_file.py
├── skills/                   # SKILL.md 시스템
│   ├── types.py             # SkillMetadata, Skill
│   ├── loader.py            # SKILL.md 파서
│   ├── registry.py          # 스킬 디스커버리
│   ├── tool.py              # use_skill 도구
│   └── builtin/             # 내장 스킬
│       ├── dcf/SKILL.md
│       └── kim-jong-bong-strategy/SKILL.md
└── core/                     # 에이전트 코어
    ├── agent.py             # 에이전트 루프
    ├── compact.py           # 컨텍스트 압축
    ├── prompts.py           # 시스템 프롬프트
    ├── scratchpad.py        # 실행 로그
    ├── tool_executor.py     # 동시 도구 실행
    └── rules.py             # RULES.md 로더

핵심 패턴

Meta-tool

NL 쿼리를 받아 LLM(fast tier)으로 적절한 sub-tool을 선택하여 실행합니다.

SKILL.md

YAML frontmatter + 마크다운 본문으로 구성된 전문 분석 워크플로우입니다. 에이전트가 use_skill 도구로 스킬을 로드하면 해당 워크플로우를 따릅니다.

도구 동시성

concurrency_safe 플래그로 읽기 전용 도구는 병렬 실행, 쓰기 도구는 직렬 실행합니다.

컨텍스트 압축

토큰 수가 임계값을 초과하면 LLM으로 대화를 요약하여 컨텍스트를 압축합니다.

API

POST /api/agent/query

동기 응답. 에이전트 실행 후 최종 결과 반환.

POST /api/agent/stream

SSE 스트리밍. 도구 실행 과정을 실시간으로 전달.

LLM 연동

app.services.llm.get_chat_model()을 통해 LangChain BaseChatModel 사용. ModelTier.FAST(라우팅/압축), ModelTier.STRONG(분석/추론).