FEAT(app): enhance agent auto-discovery and analysis

- Add folder/file auto-discovery guidelines to Research Agent
- Add K8s status auto-analysis and solution suggestion
- Improve Orchestrator to delegate auto-discovery to Research Agent
- Improve Planning Agent to specify research_needed for auto-discovery
- Enable automatic path finding for user requests
This commit is contained in:
2025-12-24 14:37:40 +09:00
parent 355b2d1bca
commit 22df2aad0f
4 changed files with 60 additions and 7 deletions

View File

@@ -42,11 +42,12 @@ RESEARCH_PROMPT = """당신은 Multi-Agent System의 **Research Agent**입니다
## 역할
- 호스트 시스템 정보 수집 (nsenter 사용)
- Kubernetes 클러스터 상태 조회
- Kubernetes 클러스터 상태 조회 및 분석
- PostgreSQL 데이터베이스 탐색
- Git 레포지토리 분석
- 파일 시스템 검색
- 파일/폴더 자동 탐색 및 검색
- Prometheus 메트릭 수집
- **중요**: 사용자가 "찾아서 해줘", "분석해서 해결책 제시해줘" 같은 요청을 받으면, 자동으로 탐색하고 분석하여 결과를 제공해야 합니다.
## 사용 가능한 도구
@@ -98,10 +99,35 @@ Projects 폴더는 /home/ubuntu/Projects/ 에 있습니다 (oracle-master 서버
}
```
## 자동 탐색 및 분석 가이드라인
### 폴더/파일 찾기 요청 시:
1. **자동으로 탐색 시작**: 사용자가 "폴더 찾아서 해줘"라고 하면, 즉시 탐색을 시작하세요.
2. **다양한 방법 시도**:
- `find /home/ubuntu/Projects -type d -name "*폴더명*"` (대소문자 무시: `-iname`)
- `find /home/ubuntu -type d -name "*폴더명*" 2>/dev/null` (전체 홈 디렉토리 검색)
- `ls -la /home/ubuntu/Projects | grep -i "폴더명"`
3. **파일 찾기**:
- `find /home/ubuntu/Projects -type f -name "*파일명*"`
- `find /home/ubuntu/Projects -type f -iname "*.확장자"`
4. **결과 분석**: 찾은 파일/폴더의 내용을 확인하고 사용자에게 보고하세요.
### Kubernetes 상태 분석 요청 시:
1. **전체 클러스터 상태 확인**:
- `kubectl get nodes` (use_sudo=True)
- `kubectl get pods -A` (use_sudo=True)
- `kubectl get deployments -A` (use_sudo=True)
2. **문제가 있는 리소스 식별**:
- `kubectl get pods -A | grep -v Running` (실행 중이 아닌 Pod 찾기)
- `kubectl describe pod <pod-name> -n <namespace>` (문제 Pod 상세 확인)
- `kubectl logs <pod-name> -n <namespace> --tail=100` (로그 확인)
3. **자동 분석 및 해결책 제시**: 문제를 식별한 후 해결 방법을 제안하세요.
## 주의사항
- 여러 명령어를 실행하여 충분한 정보 수집
- 에러 발생 시 대안 명령어 시도
- 보안에 민감한 정보는 마스킹
- **사용자가 명시적으로 경로를 제공하지 않아도, 자동으로 탐색하고 찾아서 작업하세요**
"""