Aegis-OS: 산업용 인텔리전스 HUD by Gemini 2.5-Flash

발행: (2026년 2월 1일 오전 12:50 GMT+9)
4 min read
원문: Dev.to

Source: Dev.to

번역을 진행하려면 번역이 필요한 전체 텍스트를 제공해 주시겠어요? 텍스트를 알려주시면 요청하신 대로 한국어로 번역해 드리겠습니다.

데모 및 저장소

  • GitHub:
  • Live demo:

데모를 클릭하여 P&ID 다이어그램을 업로드하고, 매뉴얼 데이터베이스를 조회하거나 AI 어시스턴트와 채팅하세요.

Google Cloud Run에 배포

gcloud run deploy aegis-os \
  --image gcr.io/qwiklabs-gcp-04-1def6ef2b7e7/aegis-os \
  --platform managed \
  --region us-east1 \
  --allow-unauthenticated \
  --port 8080 \
  --set-secrets="NEXT_PUBLIC_GEMINI_API_KEY=GEMINI_API_KEY:latest,NEXT_PUBLIC_RAG_API_KEY=RAG_API_KEY:latest" \
  --labels dev-tutorial=devnewyear2026

배포 출력

Deploying container to Cloud Run service [aegis-os] in project [qwiklabs-gcp-04-1def6ef2b7e7] region [us-east1]
✓ OK Deploying... Done.
  ✓ OK Creating Revision...
  ✓ OK Routing traffic...
  ✓ OK Setting IAM Policy...
Done.
Service [aegis-os] revision [aegis-os-00002-dft] has been deployed and is serving 100 percent of traffic.
Service URL: https://aegis-os-765925296978.us-east1.run.app

배포 구성 요소

  • Next.js 독립 실행형 빌드를 포함한 다단계 Dockerfile
  • Google Secret Manager를 사용한 이중 키 API 관리 (Gemini 채팅 vs. RAG/Vision)
  • 서비스 계정에 구성된 IAM 역할 Secret Accessor
  • 컨테이너 이미지: gcr.io/qwiklabs-gcp-04-1def6ef2b7e7/aegis-os

Note: Cloud Run 배포는 Qwiklabs 샌드박스에서 실행됩니다. 파키스탄 은행 카드가 Google Cloud 결제에 허용되지 않으므로 영구 호스팅에는 추가 인증이 필요합니다. 위의 Vercel 임베드가 데모 목적을 위해 전체 기능을 제공합니다.

핵심 기능

  • P&ID 분석 – 엔지니어링 청사진을 업로드하면 즉시 구성 요소 식별 및 위험 평가를 수행합니다.
  • 수동 RAG 검색 – 수천 페이지의 기술 문서를 몇 초 만에 조회합니다.
  • 24/7 산업 AI – 안전 교육을 받은 어시스턴트가 운영 지원을 제공합니다.

Technical Stack

  • 프론트엔드: Next.js 15 + TypeScript
  • 스타일링: Tailwind CSS + custom HUD animations
  • AI: Google Gemini 2.5‑Flash (Vision + RAG + Chat)
  • 배포: Docker + Cloud Run + Secret Manager
  • 아키텍처: Dual‑key API with 5‑tier retry logic

멀티모달 기능

비전 분석

// JavaScript – Gemini Vision
const visionModel = genAI.getGenerativeModel({ model: "gemini-2.5-flash" });
const result = await visionModel.generateContent([
  { inlineData: { data: base64Image, mimeType: "image/png" } },
  { text: "Analyze this P&ID diagram..." }
]);

RAG 구현

// JavaScript – Retrieval‑Augmented Generation
const ragModel = getGenAI('rag').getGenerativeModel({ model: "gemini-2.5-flash" });
const chunks = await vectorSearch(query);
const context = chunks.join('\n');
const response = await ragModel.generateContent([
  `Context: ${context}`,
  `Query: ${query}`
]);

API 복원성

연속적인 산업 가동 시간을 위해 설계되었습니다:

  • 듀얼‑키 격리 (채팅과 RAG/비전용 키를 분리)
  • 스마트 재시도 (지수 백오프 사용)
  • 쿼터 감지 (일일 및 분당 제한)
// JavaScript – Quota‑aware retry logic
const isDailyLimit = errorMessage.includes("PerDay");
if (isDailyLimit) {
  throw new Error("GEMINI_DAILY_LIMIT: Quota exhausted for 24h.");
}
const delay = extractWaitTime(error) || (5000 * Math.pow(2, attempt));

산업용 HUD 미학

  • 전술적 다각형 테두리
  • 생체인식 스캔‑라인 애니메이션
  • SVG 노이즈‑그레인 오버레이
  • RGB 글리치 효과

이러한 시각적 요소는 저조도 공장 바닥에 최적화되어 있으며, 운영자가 중요한 정보를 집중하도록 돕습니다.

학습 및 재사용 가능한 패턴

  • API 할당량 관리: skills/gemini-resilience.md
  • HUD 컴포넌트 라이브러리: skills/industrial-hud-design.md
  • 복구 프로토콜: .agent/workflows/gemini-quota-recovery.md

해시태그: #GoogleAIChallenge #GeminiAI #BuildWithAI #Industry40 #NextJS #CloudRun

Back to Blog

관련 글

더 보기 »

오피스 포트폴리오

개요 이 제출물은 Google AI가 주최한 New Year, New You Portfolio Challenge를 위한 것입니다. 목표는 인터랙티브하고 office‑themed 포트폴리오를 만드는 것이었습니다.