국문
AirWARDS 군사특화 번역 Vertical AI 고도화
군사번역 데이터 플라이휠 구축 및 운영
- 사용자 요구사항 수집·반영: 군 내 번역 업무자 수십 명에게 직접 연락하여 번역 패턴, 군사용어 선택 방식 및 서비스 이용 중 불편사항을 조사하고, 요구사항을 기능에 반영한 뒤 변경 내용을 공유하여 후속 의견 확인
- 번역 데이터 플라이휠 설계·구현: ① 프로덕션 환경에 Langfuse를 도입하여 입력 문장, 군사용어 해석 선택, 모델·프롬프트별 번역 결과 등 사용자 상호작용을 관측하고 피드백을 수집, ② AI가 제시한 군사약어 해석을 번역가가 확인·교정하는 과정에서 발생한 선택을 적합성 피드백 신호로 수집하여 이후 번역에 반영, ③ 축적된 피드백을 파인튜닝 데이터로 변환하여 지속 파인튜닝으로 연결하는 3단계 구조를 설계하고 1·2단계 구현
- 프로덕트 확산: 일일 번역 요청량이 수천 문장 수준에서 최대 약 4만 문장으로 증가하고, 입출력 합산 약 1억 2천만 토큰 규모의 번역 서비스로 성장
군사약어 중의성 개선
- 군사약어 의미 판별: 하나의 군사약어가 군 내 조직에 따라 다수의 해석을 갖는 군사 도메인의 특성을 반영하여, 전후문맥과 군사용어 사전의 해석 후보를 LLM에 제공하고 문맥상 적합한 해석을 자동 선택하는 구조 구현
- AI가 선택한 해석과 대체 해석 후보를 화면에 함께 제시하여 번역가가 선택 결과를 빠르게 확인·교정할 수 있도록 사용자 화면과 상호작용 방식 설계
- 번역 RAG 구조 구현: 사용자가 번역 요청한 문장 벡터를 기반으로 과거 번역문 중 의미적으로 유사한 문장을 검색·복원하여 약어 해석 성능 향상
- 군사 지식 중앙화: 각 부대와 개인에게 분산되어 있던 군사용어 사전과 번역 노하우를 중앙화하여 약어 해석 후보 구성과 군사특화 번역에 활용
LLM 평가체계 구축
- 평가 및 과거 실사용 데이터 기반 검증 자동화: Langfuse에 규칙 기반 및 루브릭 기반 평가 지표를 정의하고, 실제 사용자의 번역 요청 문장을 이용하여 모델·프롬프트 변경안을 비교·검증할 수 있는 평가 환경 구축
- 비교 기준 표준화: 모델과 프롬프트 선택 시 동일한 프로덕션 데이터와 평가 지표를 사용하도록 하여 변경안별 성능 비교가 가능한 의사결정 구조 마련
번역 파이프라인 안정화 및 아키텍처 개선
- 실행 구조 안정화: 비동기 함수 내부의 외부 서비스 클라이언트 반복 생성, 스트리밍 구간의 동기 실행 및 DB Connection Pool 누수로 인한 자원 고갈 원인을 분석하고 클라이언트·연결 생명주기 개선
- 구성요소 교체 구조 구축: 의존성 주입·Clean Architecture를 적용하여 핵심 번역 로직을 LLM, 프롬프트, Langfuse 로깅 코드, Vector DB 및 군사 사전 구현체로부터 분리
군사회의 AI 녹취 서비스 개발 및 k3s 인프라 특성을 고려한 배포
- 신규 서비스 end-to-end 구현: 새로운 AI 녹취 서비스 구현 요청을 받아, 분석 대상 파일 처리부터 음성 분석·결과 조회까지 이어지는 전체 백엔드 흐름을 최소 구성으로 단독 구현하고, 상급자 시연을 통해 후속 개발 및 배포 승인 확보
- 확장형 서비스 구현 및 배포: 승인 후 API·작업 큐·GPU worker 구조로 컨테이너화하여 k3s 배포, 새로운 분석 요청마다 GPU worker Pod를 할당하는 방식으로 처리량을 확장할 수 있는 구조 구축
- 인프라 제약 기반 기술 의사결정: 기존 Docker 작업과 k3s Pod가 동일한 물리 GPU를 공유하여 가용 연산 자원과 VRAM이 계속 변하는 환경을 고려하고, Pod 시작 시점의 측정값으로 병렬도를 고정하는 방식 대신 실행 중 GPU 여유와 설정 상한에 따라 chunk 병렬도를 조절하도록 설계
폐쇄망 Python 개발·배포 환경 표준화 및 Kubernetes 배포 확산
- Python 개발·배포 절차 표준화: 로컬/서버가 동일한 Docker 이미지를 사용하는 개발·배포 절차를 정립하고, 동료 Python 개발자들이 동일한 방식으로 개발·배포할 수 있도록 공유
- 컨테이너화한 python BE를 GitLab CI와 Argo CD에 연계 실증화
- 개발 방식 표준화: 서버의 Jupyter Notebook에서 프로덕션 서비스를 직접 실행하던 방식에서 재현 가능한 Docker 이미지 기반 개발·배포 방식 제시
- 베이스 이미지의 상위 레이어에 SSH daemon과 VSCode Server를 사전 구성하는 이미지 패턴 자산화
AI 서비스 Health Check 관제체계 구축 및 정착
- 관제체계 재설계: 단순 Health Check 엔드포인트가 아니라 애플리케이션의 주요 기능과 AI 응답의 필수 형식·조건을 검증하도록 기준 확립
- Uptime Kuma를 서비스 등록·상태 확인 인터페이스, Prometheus는 운영 상태 데이터 수집, Grafana는 알림 정책 관리에 사용하도록 역할 분리
- 조직 내 관제체계 정착: 등록 기준과 사용 방법을 개발자·상급자에게 직접 안내하여 사무실 중앙 대형 TV에 서비스 상태를 표시하는 핵심 장애를 상시 확인할 수 있는 관제체계로 정착
영문
AirWARDS — Military Translation Vertical AI Enhancement
Military Translation Data Flywheel
- Conducted user research with dozens of military personnel engaged in translation to identify translation practices, terminology choices, and service pain points; incorporated the findings into product features and collected follow-up feedback after communicating the changes.
- Designed a three-stage translation data flywheel to (1) capture production inputs, selected term interpretations, model/prompt outputs, and user feedback in Langfuse; (2) use translators’ confirmations and corrections as relevance signals for subsequent translations; and (3) convert accumulated feedback into continuous fine-tuning data. Implemented stages 1 and 2.
- Scaled daily translation volume from several thousand to a peak of approximately 40,000 sentences and processed approximately 120 million combined input/output tokens.
Military Abbreviation Disambiguation
- Implemented context-aware disambiguation for military abbreviations with organization-specific meanings by supplying the LLM with surrounding context and candidate interpretations from a military terminology dictionary.
- Designed the user interface and interaction flow to display the AI-selected interpretation alongside alternatives, enabling translators to review and correct selections efficiently.
- Implemented a translation RAG pipeline using sentence embeddings to retrieve semantically similar prior translations and improve abbreviation interpretation.
- Centralized military terminology dictionaries and translation expertise previously dispersed across units and individuals to generate abbreviation candidates and support military-domain translation.
LLM Evaluation Framework
- Defined rule-based and rubric-based metrics in Langfuse and built an evaluation environment to compare and validate model and prompt changes against actual user translation requests.
- Standardized model and prompt evaluations using the same production data and metrics, enabling consistent performance comparisons across alternatives.
Translation Pipeline Stabilization and Architectural Improvement
- Diagnosed resource exhaustion caused by repeated external-service client creation within asynchronous functions, synchronous execution in streaming paths, and database connection-pool leaks; improved client and connection lifecycle management.
- Applied dependency injection and Clean Architecture to decouple core translation logic from LLM backends, prompts, Langfuse logging, vector databases, and military terminology dictionary implementations.
AI Transcription Service for Military Meetings — k3s Deployment
- Developed a minimal end-to-end backend independently, covering file processing, speech analysis, and result retrieval; demonstrated it to senior leadership and secured approval for further development and deployment.
- Containerized the API, task queue, and GPU worker components; deployed them on k3s; and implemented a scale-out architecture that allocated one GPU worker Pod per analysis request.
- Designed dynamic chunk-level concurrency based on available GPU headroom and a configured cap to accommodate compute and VRAM fluctuations caused by Docker workloads and k3s Pods sharing the same physical GPU.
Air-Gapped Python Development Standardization and Kubernetes Adoption
- Established and shared a workflow using the same Docker image locally and on servers, enabling consistent Python development and deployment.
- Integrated the containerized Python backend with GitLab CI and Argo CD to validate the workflow in practice.
- Proposed a reproducible Docker image-based development and deployment model to replace direct production execution from server-hosted Jupyter Notebooks.
- Codified a reusable derived-image pattern by preconfiguring an SSH daemon and VS Code Server in a layer above the base image.
AI Service Health Monitoring
- Redefined health checks to validate critical application functions and required AI response formats and conditions rather than endpoint liveness alone.
- Separated monitoring responsibilities across Uptime Kuma for service registration and status visibility, Prometheus for operational telemetry collection, and Grafana for alert-policy management.
- Operationalized the monitoring framework by briefing developers and leadership on registration criteria and usage and displaying service status continuously on a central office screen to surface critical failures.