임성혁 / AI / 개발 / 인프라
AI 서비스를 개발하고, 서비스 운영에 필요한 인프라를 구축합니다.
목차
01. Experience /
02. Tech Stack /
04. Projects /
05. Activity /
06. Community /
07. Awards
소속 / 직위 AI정보실 / 학생연구원 재직 기간 2025.09–현재 AI 서비스와 백엔드 개발, 온프레미스 인프라 구축 및 운영 자료 반출 제약에 맞춰 로컬 LLM 기반 AI 서버를 설계하고 데이터플랫폼에 연결했습니다. AI Agent 플랫폼과 Kubernetes 전환을 직접 제안해 개발과 구축을 맡았습니다. 서비스의 응답 지연을 개선하고 웹 자동 배포 및 공유 서비스도 직접 개발했습니다. 사내 규정 및 법률 질의용 Open WebUI 구축 업무 프로젝트 보기 ↓ / 데이터플랫폼 ↗
|
| Languages | |
| Backend | |
| Web & Mobile | |
| Data & Search | |
| AI & LLM | |
| Infrastructure | |
| CI/CD & Monitoring |
프로젝트 분류
3.1 Work Projects
3.2 Apps
3.3 AI Challenges
3.4 Campus Projects / 교내 프로젝트
01. 연구데이터플랫폼
02. AI Agent 플랫폼
03. 직원 자체 개발 웹서비스 배포 서비스 구축
04. 주문배송 관리 서비스
05. Kubernetes 클러스터 구축 및 서비스 이관
06. Ceph 분산 스토리지 구축 및 데이터 이관
07. vLLM 기반 LLM 추론 서비스
|
2025.09 - 현재 연구자의 자료 검색과 데이터관리계획 초안 작성을 돕는 AI 서버를 직접 설계하고 기존 데이터플랫폼에 연결했습니다. 자료 반출 제약에 맞춰 원내 로컬 LLM을 선택했으며 FastAPI와 LlamaIndex로 검색과 초안 생성 기능을 구현했습니다.
공개 웹사이트 ↗ |
AI Agent 플랫폼 / 아키텍처 및 성능 개선
- 중앙 플랫폼 Control API와 개인 실행환경 Gateway 계층을 분리해 요청을 공통 방식으로 전달하고 Agent를 교체할 수 있도록 직접 설계
- 외부 실행 요청이 서버에 수락된 뒤 응답만 유실될 수 있어 호출 전 실행 의도를 기록하고 수락 확인 시 messageID와 수락 상태를 저장하도록 구현. 재연결 시 수락 여부가 불명확하면 즉시 재전송하지 않고 기존 실행 상태와 messageID를 대조해 중복 전송 방지
- 빈 마지막 응답이나 다른 상위 요청 응답이 완료로 오판되지 않도록 입출력 상태 관리와 완료 판정 정책을 분리해, 상위 요청이 일치하고 최종 응답 본문이 채워진 경우만 완료로 확정하도록 구현
- 자동 컨텍스트 압축이 생성 정지로 오판되거나 요약본이 최종 답변이 되지 않도록, 압축과 연속 실행은 OpenCode에 맡기고 Gateway는 별도 감시 타이머와 상태 기록으로 최종 답변을 추적하도록 구현
- 취소 직후 대기열 작업이 겹쳐 실행되지 않도록 취소 의도를 먼저 기록하고 엔진 중단 수락과 유휴 전환, 대상 요청 일치 확인 후에만 취소를 확정하며 불명확할 때는 실행 소유권과 대기열을 유지하도록 구현
동시 생성 요청과 상태 목록 반복 조회, 채팅 입력 과정에서 발생하는 자원 경합과 중복 연산을 줄이기 위해 요청 처리 순서와 상태 캐시, 콜백 참조 구조를 직접 설계하고 개선함
- 동시에 여러 실행환경을 생성할 때 차례를 기다리는 요청들이 DB 접속을 미리 차지한 채 대기해, 정작 처리 중인 요청이 추가 DB 접속을 얻지 못해 실패하는 문제가 있었음. 이를 해결하기 위해 자기 차례가 된 요청만 DB에 접속하도록 순서를 제어하고, 생성 정보 저장이 끝나면 즉시 DB 접속을 반납한 뒤 기동 확인 등 후속 작업을 수행하도록 바꿔 동시 생성 재현 시험의 DB 접속 실패를 240/300건에서 0/300건으로 해소함
- 다수 사용자의 목록 동시 조회 시 같은 인스턴스 상태를 여러 요청이 중복으로 조회하지 않도록, RuntimeStatusCache로 진행 중 조회와 결과를 공유하고 인스턴스가 시작하거나 정지되면 저장된 결과를 즉시 비워 재현 시험에서 배치당 상태 조회 API 호출을 240회에서 48회로 80% 줄임
- 채팅 입력 때마다 알림과 다운로드 콜백이 새로 생성되어 메모이제이션된 기존 답변 MarkdownMessage가 다시 그려지는 문제를 확인하고, useCallback으로 두 콜백 참조를 고정해 격리 컴포넌트 시험에서 불필요한 추가 렌더링을 300회에서 0회로 제거함
|
2026.09 - 현재 AI Agent 플랫폼의 부속 기능으로서, 개인 실행환경에서 만든 웹서비스를 원내 직원에게 배포하고 공유할 수 있는 원내 웹페이지 배포 서비스를 직접 설계하고 개발함
|
스토리지 및 배포 안정성 개선
이미 도입된 Ceph 전용 볼륨 구조를 활용해 파일 저장 전 용량 검사 지연을 줄이고, 배포 전환 중 기존 파일 전송 유지와 보존 자원 보호 구조를 설계하고 구현함
- 파일 저장 때마다 전체 파일을 반복 순회하면 파일 수에 비례해 검사가 느려지고 공유 호스트 디스크 통계로는 개인 할당량을 판별할 수 없어, Ceph RBD 전용 XFS 볼륨을 검증한 뒤 fs.statfs 블록 통계로 여유 공간을 확인하도록 바꿔 개발 환경 시험에서 저장 p95 지연을 3472.55ms에서 832.64ms로 76.02% 단축함
- 배포 시 기존 Pod를 남겨도 단일 Service selector를 즉시 전환하면 진행 중이던 업로드와 다운로드가 끊길 수 있어, 별도 연결 보존 ClusterIP Service로 기존 엔드포인트를 유지하고 새 Deployment 준비 확인 뒤에만 신규 요청을 전환하며 이전 세대 연결 비움을 확인한 뒤 정리하도록 구현함
- 후보 배포 환경이 보존 대상 Namespace와 PVC를 임의로 소유하거나 삭제하지 못하도록 Argo 허용 리소스 종류를 제한하고, 보존 Namespace와 PVC의 삭제 방지 설정 및 PVC 용량 축소 금지는 GitOps CI에서 자동 검사하도록 분리함
08. Replant
09. 가야디 / Gayadi
10. Chickadee Studio
11. SCPC 2026 AI Challenge
12. 연금 어드바이저 / mirae_pj
13. TREC 2024 Product Search
14. TREC 2025 Product Search & Recommendations
15. K-Policy-LLM
16. AWS 기반 미국 공시 및 뉴스 요약 서비스
17. 조건별 장소 검색 웹서비스
18. 웹서비스설계 과제
19. Java 게임 개발
20. COALA 홈페이지
21. JBIG 홈페이지
수업 과제와 동아리 홈페이지 개발 프로젝트입니다.
재학 중 사용한 GitHub: highcastle01 ↗
|
2023년 1학기 / 객체지향프로그래밍 수업 과제 객체지향프로그래밍 수업 과제로 Java를 사용해 게임을 구현했습니다. |
|
온라인 AI 교육 이수 / 온라인 해커톤 참여 교육 2025.01.02–2025.01.27 온라인 AI 교육을 이수하고, 난임 환자의 임신 성공 여부를 예측하는 온라인 해커톤에 팀으로 참여했습니다. 관련 논문으로 도메인 지식을 보완하며 XGBoost와 앙상블 기법을 활용해 모델 개선을 시도했습니다. |
|
개발 동아리 회장 스터디와 멘토링을 진행하고 동아리 웹사이트를 개발했습니다. 임원들과 운영 방향을 논의하며 동아리 활동을 이끌었습니다. |
|
인공지능 동아리 임원 및 부원 임원으로 동아리 활동과 스터디 운영에 참여했습니다. 회원들이 학습 자료와 활동을 공유할 수 있도록 커뮤니티 웹사이트를 개발했습니다. |
- 2025 / JBNU SW·AI 경진대회 AI 부문 장려상
- 2024 / 오픈소스 SW 아이디어 해커톤 캠프 팀 최우수상 — 취약점 분석
- 2024 / 한국디지털콘텐츠학회 추계종합학술대회 대학생 논문경진대회 은상
- 2024 / 2학기 SW캡스톤디자인 경진대회 장려상
- 2023 / 컴퓨터인공지능학부 해킹대회 특별상
