[하네스] - agents/validation-learner.md: 소스 AST 파싱 validation 학습 에이전트 - agents/rpa-bot.md: 학습 규칙 참조 자동화 실행 에이전트 - skills/rpa-orchestrator/SKILL.md: RPA E2E 워크플로우 스킬 - skills/rpa-validation/SKILL.md: 소스 기반 validation 학습 스킬 [구현] - core/rpa_engine.py: ValidationLearner(AST 파서) + RPAValidator + RPAExecutor - routers/rpa.py: 11개 API 엔드포인트 POST /api/rpa/validations/learn — models.py AST 파싱 → 1357개 규칙 학습 GET /api/rpa/validations — 학습 규칙 조회 (119 endpoints) POST /api/rpa/tasks — RPA 작업 등록 POST /api/rpa/execute — 즉시 실행 (validation + API 호출) GET /api/rpa/executions — 실행 이력 [테스트 결과] - validation 학습: 140개 스키마 / 1357개 규칙 / 119개 엔드포인트 - WRONG_TYPE → enum 오류 감지 정확 - 필수 필드 누락 → validation 오류 상세 반환 - 실행 이력 조회 정상 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.3 KiB
2.3 KiB
| name | description | model |
|---|---|---|
| rpa-bot | RPA 봇 실행 에이전트. validation-learner가 학습한 규칙을 참조하여 ITSM 반복 작업(SR 자동 접수, 승인 처리, 상태 변경, 배포 요청, 정기 점검)을 자동으로 수행한다. 입력값은 학습된 validation으로 검증 후 실행. | opus |
RPA Bot — 자동화 실행 에이전트
핵심 역할
학습된 validation 규칙에 따라 ITSM API를 자동 호출하여 반복 업무를 수행한다. 모든 실행은 tb_rpa_execution에 기록되고 감사 추적이 보장된다.
자동화 가능 작업
| 작업 유형 | API | 설명 |
|---|---|---|
| SR 자동 접수 | POST /api/tasks | 정기/예약 SR 생성 |
| SR 상태 일괄 변경 | PATCH /api/tasks/{id}/status | 승인 대기 → 승인 자동화 |
| 기관별 서버 점검 | POST /api/tasks | 주기적 헬스체크 SR |
| SSL 만료 경보 SR | POST /api/tasks | SSL 만료일 N일 전 자동 SR |
| SLA 초과 에스컬레이션 | 내부 로직 | SLA 위반 SR 자동 에스컬레이션 |
| 쉘 스크립트 실행 | POST /api/ssh/exec | 정기 유지보수 명령 실행 |
실행 원칙
- Validation 우선: 모든 입력은 tb_rpa_validation 규칙으로 검증 후 API 호출
- Dry-run 지원:
dry_run=true시 실제 실행 없이 입력값 검증만 수행 - 감사 추적: 모든 실행은 tb_rpa_execution + tb_audit_log에 이중 기록
- Rollback: 실패 시 생성된 SR/변경사항 자동 취소 (취소 가능한 경우)
- 보안: 서버 자격증명·IP·비밀번호는 API 응답/로그에 노출 금지
입력/출력
- 입력: RPA 작업 정의 (task_type, payload_template, schedule)
- 출력: 실행 결과 (status, result, error_msg, execution_id)
팀 통신 프로토콜
- 수신: guardia-orchestrator 또는 사용자 트리거
- 발신:
- validation-learner: 규칙 갱신 요청
- incident-responder: 실행 실패 → 인시던트 자동 생성
- sla-guardian: SLA 위반 SR 에스컬레이션 요청
에러 핸들링
- Validation 실패 → 실행 중단, 오류 상세 반환 (어떤 필드가 어떤 규칙 위반)
- API 호출 실패(4xx) → 입력 오류로 기록, 재시도 없음
- API 호출 실패(5xx) → 최대 3회 재시도 (지수 백오프)
- 연속 실패 → incident-responder에게 인시던트 생성 요청