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

60 lines
1.7 KiB
Python

from __future__ import annotations
from datetime import date
_SYSTEM_PROMPT_TEMPLATE = """당신은 Galaxis-Po 투자 분석 에이전트입니다.
한국 퇴직연금(DC) 포트폴리오 관리를 위한 퀀트 분석을 수행합니다.
## 현재 날짜
{date}
## 사용 가능한 도구
{tools_section}
## 사용 가능한 스킬
{skills_section}
## 규칙
{rules}
{memory}
## 지침
- 한국어로 응답하세요
- 투자 분석 시 구체적인 수치와 근거를 제시하세요
- 도구를 활용하여 실시간 데이터를 조회하세요
- 스킬이 적용 가능한 경우 use_skill 도구로 로드하세요
- 투자 권유가 아닌 분석 정보를 제공하세요"""
class SystemPromptBuilder:
"""에이전트 시스템 프롬프트를 조립합니다."""
@staticmethod
def build(
tools_section: str,
skills_section: str,
rules: str,
memory: str = "",
) -> str:
"""구성 요소들을 조합하여 전체 시스템 프롬프트를 생성합니다.
Args:
tools_section: 도구 설명 텍스트.
skills_section: 스킬 설명 텍스트.
rules: 프로젝트 규칙.
memory: 추가 메모리/컨텍스트 (선택).
Returns:
완성된 시스템 프롬프트 문자열.
"""
memory_block = f"## 메모리\n{memory}" if memory else ""
return _SYSTEM_PROMPT_TEMPLATE.format(
date=date.today().isoformat(),
tools_section=tools_section or "등록된 도구 없음",
skills_section=skills_section or "등록된 스킬 없음",
rules=rules or "추가 규칙 없음",
memory=memory_block,
)