임성혁 / 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 구축 사용자 질의 환경으로 Open WebUI를 구축하고 로컬 LLM인 GPT-OSS-120B를 연동
업무 프로젝트 보기 ↓ / 데이터플랫폼 ↗
RAG 문서 처리 10분 → 평균 3분 이하 상태 조회 API 호출 240회 → 48회 / 재현 시험 운송장 매칭 화면 초기 표시 32.176초 → 1.862초
전체 목차 ↑
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 진행 상태 개선 반복 스크롤이 필요했던 작성 화면을 탭 구조로 바꾸고 서비스 API를 개발했습니다. 검색과 도구 호출 상태는 SSE로 전달하고 연결 종료와 API 예외를 처리했습니다.RAG 문서 처리 10분 → 평균 3분 이하 반복 LLM 호출을 줄여 RAG 문서 처리 시간을 10분에서 평균 3분 이하로 단축하고 품질 유지
사용 기술
공개 웹사이트 ↗ 업무 프로젝트 / 코드 비공개
2025.09 - 현재
기밀자료를 내부에서 처리하고 검증된 AI 활용법과 도구를 함께 쓸 수 있도록 AI Agent 플랫폼을 제안하고 직접 설계했습니다. 개인별 VM 제공만으로는 활용법이 흩어진다고 판단해 개인 실행환경과 공유 자산을 함께 관리하도록 구성했습니다.
중앙 플랫폼 Control API와 개인 실행환경 Gateway 계층을 분리해 요청을 공통 방식으로 전달하고 Agent를 교체할 수 있도록 직접 설계
외부 실행 요청이 서버에 수락된 뒤 응답만 유실될 수 있어 호출 전 실행 의도를 기록하고 수락 확인 시 messageID와 수락 상태를 저장하도록 구현. 재연결 시 수락 여부가 불명확하면 즉시 재전송하지 않고 기존 실행 상태와 messageID를 대조해 중복 전송 방지
사용 기술
기관 로그인 필요 / 코드 비공개
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회로 제거함
03. 직원 자체 개발 웹서비스 배포 서비스 구축
2026.09 - 현재
AI Agent 플랫폼의 부속 기능으로서, 개인 실행환경에서 만든 웹서비스를 원내 직원에게 배포하고 공유할 수 있는 원내 웹페이지 배포 서비스를 직접 설계하고 개발함
그동안 직원들을 위해 개별 서비스를 직접 만들어주던 역할에서 나아가, 직원들이 직접 AI로 바이브코딩하며 원내에 필요한 서비스를 만들고 공유할 수 있도록 플랫폼과 인프라를 구축하고 운영하는 관리자로 역할을 확장해 정부출연연구소의 AX 전환에 기여함 안전한 자체 제작 및 배포 환경을 위해 개인 Agent에는 클러스터 자격증명을 두지 않고 배포는 Gateway API 호출로만 요청하게 하며, Gateway API가 실제 소유 프로세스와 응답을 검증한 뒤 중앙 Control API가 배포 권한을 제어하도록 분리함. 또한 버전 저장과 공유 전환을 분리해 새 버전 저장 중에도 기존 공유를 유지하고 실패 시 이전 버전을 복구하도록 구현함 공유 서비스가 개인 실행환경의 재시작이나 정지에 영향을 받지 않도록 앱별 배포 리소스를 분리하고 플랫폼 영속 파일로 상태를 관리하며, 개인 볼륨 대신 공용 CephFS를 마운트하되 배포 코드는 읽기 전용(RO), 앱 데이터는 쓰기 가능(RW) 경로로 격리해 운영 안정성을 확보함
04. 제주TP 연계 주문배송 관리
2026.04 - 2026.10
직원들이 요청한 세밀한 필터 조건을 반영해 주문 접수와 배송 및 재고 관리 웹서비스를 직접 개발했습니다. 필터 때문에 합배송에 필요한 주문이 빠지지 않도록 연관 주문 구성과 합배송 판정을 마친 뒤 화면 필터를 적용했습니다.
지역기업 지원사업으로 주문배송 관리 시스템을 설계하고 직접 개발하여 직원 업무 효율을 높이고 주문 처리 실수를 줄여 회사에서 발생하던 비용을 크게 절감시킨 뜻깊은 AX 사례임. 회사 측으로부터 직원 업무부담 완화와 주문배송 착오 대폭 감소를 직접 전달받음.
운송장 매칭 화면 초기 표시 32.176초 → 1.862초 전체 목록을 스크롤로 확인하는 요구를 지키면서 필요한 구간부터 점진적으로 조회하도록 바꿨습니다. 전체 목록을 순회하며 중복과 누락 및 정렬 순서를 검증했습니다.정확 집계 6.815초 → 3.214초 오차가 관측된 근사 집계를 기각하고, 조회마다 Painless 스크립트로 묶음 기준 키를 반복 계산하는 대신 저장 시점에 파생 keyword 키를 미리 생성해 doc_values로 조회하도록 전환. 기존 문서 백필 전후의 데이터 일치를 검증하고 정확 집계 시간을 6.815초에서 3.214초로 단축규칙과 AI를 나눈 배송메시지 처리 날짜와 발송인 등 확정할 수 있는 항목은 규칙으로 처리했습니다. 불확실한 내용은 Kanana로 추론한 뒤 사람이 검수하도록 구성했습니다.
사용 기술
업무 프로젝트 / 코드 비공개
05. Kubernetes 클러스터 구축 및 서비스 이관
2025.09 - 현재
서버 자원을 통합 관리하고 서비스 배치를 개선하기 위해 Kubernetes 전환을 직접 제안했습니다. Kubespray로 클러스터를 구축하고 기존 컨테이너 서비스를 모두 이관했습니다.
사용자 작업을 보존하는 배포 구성 무상태 서비스는 RollingUpdate로, 동시 쓰기가 제한된 RBD 단일 워크로드는 Recreate로 배포 전략을 구분. 사용 중인 런타임은 교체를 보류해 작업 보호
GitLab CI에서 검증한 이미지 digest를 운영 승격까지 그대로 유지. 변경된 컴포넌트 매니페스트만 갱신해 Argo CD로 배포 정합성 확보
상태 확인 실패에 따른 반복 재시작 해결 상태 확인 요청이 인증에서 차단되는 원인을 찾아 해당 경로만 인증 예외로 분리했습니다. 상태 확인의 정상 응답과 일반 API의 인증 유지를 검증했습니다.운영 절차 문서화와 공유 다른 사람이 운영 작업을 따라 할 수 있도록 Headlamp 사용법과 CLI 명령어를 포함한 작업 순서와 확인 방법을 문서로 정리해 공유했습니다.
사용 기술
업무 프로젝트 / 코드 비공개
10000
07. vLLM 기반 LLM 추론 서비스
2025.09 - 현재
내부 자료를 외부에 보내지 않고 AI를 활용할 수 있도록 vLLM 추론 서비스를 구축하고 LiteLLM 공통 API로 모델 호출을 통합했습니다. Solar Open 2와 Gemma 4 31B IT 및 GPT-OSS 120B를 서빙했습니다.
긴 입력으로 인한 후속 요청 대기 분석 긴 요청 뒤의 짧은 요청까지 함께 대기하는 원인이 허용 컨텍스트 설정과 실제 KV 수용량의 차이, 전체 입력을 미리 예약하는 정책에 있음을 분석. 입력 예약 옵션을 조정해 장문과 단문이 섞인 동시 요청의 처리를 확인하고 대기열 해소
이와 별도로 GPT-OSS 120B의 실제 출력 길이를 반영해 처리량과 첫 토큰 지연을 비교하고, 처리량이 높아도 응답 시작이 항상 빠르지는 않음을 확인
실패가 발생한 계층 구분 Prometheus와 Grafana 지표를 로그와 대조해 플랫폼과 서버 간 호출 및 모델 추론 중 어느 계층에서 실패했는지 구분했습니다.
사용 기술
업무 프로젝트 / 코드 비공개
스토리지 및 배포 안정성 개선
이미 도입된 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
2025.09 - 2026.02 / PM, 백엔드 개발
사회적 고립을 겪는 사용자의 일상 회복을 돕는 앱에서 PM과 백엔드 개발을 맡았습니다. 게임과 라이프케어 중 서비스 방향을 논의할 때 라이프케어를 지지했습니다. 팀과 합의해 일상 회복을 중심에 두고 미션과 감정 기록에 캐릭터 성장 요소를 연결했습니다.
캐릭터와 대화하는 기능이 외부 AI 호출 실패로 끊기지 않도록 Gemini 2.0 Flash를 우선 사용하고 로컬 Qwen2.5-7B를 대체 경로로 뒀습니다. Spring AI로 두 호출 경로를 연결하고 Qwen은 vLLM으로 서빙했습니다. 출시 뒤에는 사용자와 직접 대화하는 일의 필요성도 느껴 후속 앱 가야디에서 직접 홍보하며 개선 의견을 들었습니다.
앱 출시 및 배리어프리 공모전 최종 발표 PM과 백엔드 개발을 맡아 앱을 출시하고 공모전 최종 발표까지 진행했습니다.외부 AI 호출 실패에 대응하는 대체 경로 구현 Gemini 호출에 실패하면 로컬 Qwen 모델로 전환하도록 구성했습니다.
사용 기술
아키텍처 보기 ↓
2026.08 - 2026.09 / 백엔드, AI 서비스 개발
일행의 성향과 관광지 정보를 바탕으로 여행 일정을 추천하고, 날씨와 혼잡도 변화에 따라 대안을 제안하는 앱을 개발했습니다. Spring Boot의 일정 API에 관광 정보와 상황 정보 및 Spring AI 기반 추천을 연결해 후보를 제안하는 과정과 실제 일정을 수정하는 과정을 나눴습니다.
AI가 변경안을 만드는 동안 일행이 일정을 수정하면 이전 상태를 바탕으로 한 제안이 최신 일정을 덮어쓸 수 있었습니다. 변경안에 일정 버전을 기록하고 승인 시 현재 버전과 대조했습니다. 버전이 맞을 때만 반영한 뒤 이동경로를 다시 계산하도록 구현했습니다.
여행 일정 추천 앱 개발 및 출시 성향 설문과 관광, 날씨, 혼잡도 정보를 연결해 일정과 대안을 추천하는 백엔드와 AI 서비스를 개발했습니다.오래된 AI 제안의 최신 일정 덮어쓰기 방지 사용자가 변경안을 승인할 때 일정 버전을 확인하고 일치하는 경우에만 반영했습니다. 반영 뒤에는 이동경로를 다시 계산하도록 구현했습니다.
사용 기술
아키텍처 보기 ↓
2026.10 / 팀 프로젝트
공공 웹사이트의 게시글과 댓글 및 이미지에서 위장 광고를 탐지하고 판단 근거를 검토하는 오픈소스 데스크톱 앱입니다. 팀 프로젝트에서 웹 수집 탐지 엔진 개발과 OCR 모델 연동 및 광고 탐지 모델의 학습과 평가를 담당했습니다.
Playwright로 페이지 본문과 댓글 및 iframe 요소를 수집하고 닮은꼴 문자 치환이나 화면 밖 숨김 같은 우회 표기를 잡아내는 Python 탐지 엔진을 구현했습니다. 본문 텍스트는 바로 분석하고 이미지가 포함된 영역은 필요할 때만 PaddleOCR을 연동해 문구를 추출하도록 구성했으며 본문 텍스트와 OCR 추출 문구의 입력 출처를 구분하고 OCR로 추출한 문구에는 원본 이미지 및 글자 좌표 근거를 연결했습니다.
위장 광고 문맥을 판별하는 분류 모델의 학습과 평가를 수행해 탐지 엔진에 연결했습니다.
사용 기술
GitHub ↗ / Windows 다운로드 ↗ 아키텍처 보기 ↗ / 사용설명서 ↗
10.1 아키텍처 ↓
08. Replant / 아키텍처
도식 크게 보기 ↗ / 프로젝트 설명 ↑
09. 가야디 / Gayadi / 아키텍처
도식 크게 보기 ↗ / 프로젝트 설명 ↑
프로젝트 목차 ↑
10.1 Chickadee Studio / 아키텍처
도식 크게 보기 ↗ / 프로젝트 설명 ↑
11. SCPC 2026 AI Challenge
12. 연금 어드바이저 / mirae_pj
13. TREC 2024 Product Search
14. TREC 2025 Product Search & Recommendations
11. SCPC 2026 AI Challenge
2026.07 - 2026.08
대회 과제로 실행 계획을 만드는 Python Agent와 공유 조건을 관리하는 Android 앱 SafeShare를 개발했습니다. Agent는 같은 내용이 다른 순서나 형식으로 들어와도 같은 규칙을 적용하도록 입력을 정규화하고, 충돌하는 조건을 확인한 뒤 실행 계획을 만들도록 구성했습니다.
SafeShare에서는 이전에 확인한 공유 조건을 다음 세션에도 활용하되, 목적과 대상, 역할이나 권한이 달라지면 다시 확인해야 했습니다. 공유 초안과 실행 상태를 나눠 변경에 영향을 받는 부분을 보류하고, 프로세스가 재시작돼도 확인한 조건과 작업 상태를 이어가도록 구현했습니다.
실행 계획 Agent와 Android 앱 구현 Python Agent와 SafeShare 앱을 개발하고 확인한 공유 조건을 다음 세션에서도 활용하도록 구성했습니다.수만 건의 자체 변형 입력 테스트 자체 테스트에서 예외와 출력 형식 위반이 발생하지 않는 것을 확인했습니다.
사용 기술
아키텍처 보기 ↓
공개 저장소 ↗ / 아키텍처 크게 보기 ↗
12. 연금 어드바이저 / mirae_pj
2026.08 - 2026.09
연금 제도와 세금 및 상품 관련 질문에 근거 자료와 계산 결과를 제공하는 AI 상담 서비스를 단독 개발해 출품했습니다. 모델이 수치를 임의로 생성하지 않도록 계산과 상품 비교는 FastAPI 도구 모듈로 분리하고 HyperCLOVA X에는 근거와 계산 결과를 전달해 설명을 생성하도록 했습니다.
생성한 답변의 수치와 상품 정보 및 인용을 원문과 대조했습니다.
계산과 상품 비교를 답변 생성에서 분리 질문에 맞는 근거 검색과 계산 및 상품 비교 결과를 모델에 전달하는 상담 파이프라인을 구현했습니다.답변 검증 실패 시 후속 처리 구현 검증 실패 시 근거와 인용을 보완해 재검사하고 통과하지 못하면 확인된 자료만 발췌하거나 답변 범위 축소
사용 기술
아키텍처 보기 ↓
공개 저장소 ↗ / 아키텍처 크게 보기 ↗
13. TREC 2024 Product Search
2024 / JBNU 팀, 공동저자
TREC 참가 논문 JBNU at TREC 2024 Product Search Track
상품 검색에서 검색어 확장으로 관련 없는 상품까지 높은 순위에 오르는 문제를 다룬 공동연구입니다. SPLADE++의 가중치 계산을 GELU로 바꿔 음수 가중치를 반영하는 방법을 실험했습니다.
상품 설명이 검색 모델의 입력 길이를 넘는 문제에는 T5 요약을 인덱싱에 활용했습니다. TAS-B와 ColBERTv2, 단일 모델과 결합 검색을 비교해 TREC에 팀 실험 결과를 제출하고 공동저자로 참가 논문을 작성했습니다.
상품 검색에 맞춘 검색 모델 개선 연구 공동연구에서 SPLADE++의 활성화 함수를 GELU로 변경해 음수 가중치를 반영하고, 관련성이 낮은 상품의 순위를 조정하는 방법을 실험했습니다.상품 요약과 검색 결과 결합 비교 T5로 상품 설명을 요약해 인덱싱하고 TAS-B, ColBERTv2의 검색 결과를 비교했습니다. 단일 모델과 검색 결과 결합 방식을 포함해 팀에서 12개 실험 결과를 제출했습니다.팀 제출 결과 NDCG 0.7595 / MAP 0.5805 논문에 보고된 jbnu05의 평가 결과입니다. 상품 요약과 검색 모델 결합에 따른 결과를 비교하고, 공동저자로 TREC 2024 참가 논문을 작성했습니다.
사용 기술 SPLADE++ T5 ColBERTv2 TAS-B
아키텍처 보기 ↓
TREC 2024 참가 논문 ↗
14. TREC 2025 Product Search & Recommendations
2025 / JBNU 팀, 공동제1저자
TREC 참가 논문 JBNU at TREC 2025 Product Search and Recommendations Track
검색 의도에 맞는 상품을 찾고 대체재와 보완재를 추천하는 TREC 공동연구에 참여해 공동제1저자로 참가 논문을 작성했습니다. 목적이 담긴 검색어를 단어 일치만으로 처리하는 한계를 보완하려고 LLM이 검색 의도를 Lucene 검색식으로 바꾸는 방법을 연구했습니다. 추천에서는 후보 검색과 상품 관계 분류를 분리해 대체재와 보완재에 맞춰 순위를 조정했습니다.
추천 실험에서는 지시문 준수를 고려해 Qwen3-14B를 선택하고 추론 비용을 줄이기 위해 AWQ를 적용했습니다. ModernBERT를 이용한 상품 관계 분류와도 비교했습니다. 검색 실험에서는 텍스트 질의 재구성과 이미지 정보를 활용한 확장을 각각 평가했습니다.
검색 의도를 반영한 검색어 재구성 연구 LLM으로 검색어를 Lucene 형식으로 재구성하는 방법과 Qwen2.5-VL로 이미지 정보를 반영하는 방법을 비교했습니다. 팀이 제출한 검색 실험 중 jbnu-s02의 NDCG는 0.2911로 참가 결과 중앙값 0.2832를 상회했습니다.상품 관계 분류를 활용한 추천 순위 조정 ColBERTv2와 SPLADE로 후보 상품을 검색한 뒤 Qwen3-14B 또는 ModernBERT로 대체재, 보완재, 무관 상품을 분류해 순위를 다시 정하는 구조를 연구했습니다.팀 추천 결과와 모델별 차이 검증 보완재 추천 jbnu-r01은 NDCG@10 0.1864, 대체재 추천 jbnu-r02는 0.4927을 기록했습니다. 관계 유형과 평가 지표별로 LLM과 BERT 기반 분류 결과를 비교했습니다.
사용 기술 Pyserini ColBERTv2 ModernBERT
아키텍처 보기 ↓
TREC 2025 참가 논문 ↗
11. SCPC 2026 AI Challenge / 아키텍처
도식 크게 보기 ↗ / 프로젝트 설명 ↑
12. 연금 어드바이저 / mirae_pj / 아키텍처
도식 크게 보기 ↗ / 프로젝트 설명 ↑
13. TREC 2024 Product Search / 아키텍처
도식 크게 보기 ↗ / 프로젝트 설명 ↑
14. TREC 2025 Product Search & Recommendations / 아키텍처
도식 크게 보기 ↗ / 프로젝트 설명 ↑
프로젝트 목차 ↑
3.4 Campus Projects / 교내 프로젝트
15. K-Policy-LLM
16. AWS 기반 미국 공시 및 뉴스 요약 서비스
17. 조건별 장소 검색 웹서비스
18. 웹서비스설계 과제
19. Java 게임 개발
20. COALA 홈페이지
21. JBIG 홈페이지
수업 과제와 동아리 홈페이지 개발 프로젝트입니다. 재학 중 사용한 GitHub: highcastle01 ↗
2026.04 - 2026.06 / 수업 과제
한국어 정치와 정책 및 법률 자료를 다루는 언어모델을 수업 과제로 직접 구성하고 학습했습니다. 한국어 중심 80K 토크나이저와 약 1.221B 파라미터의 Llama 계열 모델 구조를 구성하고 자료의 토큰화와 데이터 패킹을 구현했습니다.
사전학습 체크포인트를 같은 평가 기준으로 비교해 15B 토큰 학습 시점을 선택했습니다. 이후 CPT로 도메인 지식을 보완하고 SFT로 지시문 응답을 학습한 뒤 DPO로 응답 선호를 반영했습니다.
모델 구성부터 단계별 학습까지 수행 데이터와 토크나이저 및 모델 구조를 직접 구성하고 사전학습과 후속 학습을 진행했습니다.공개 벤치마크와 자체 진단으로 변화 비교 공개 한국어 벤치마크와 자체 진단 803문항으로 단계별 변화를 비교했습니다. 학습과 평가를 수행한 수업 과제이며 서비스에 배포한 모델은 아닙니다.
사용 기술
아키텍처 보기 ↓
16. AWS 기반 미국 공시 및 뉴스 요약 서비스
2024.12 / 클라우드컴퓨팅 수업 개인 프로젝트
미국 기업의 공시와 뉴스를 한국어로 확인하는 서비스를 개인 프로젝트로 개발했습니다. 새 공시를 정해진 시간에 수집하는 작업이어서 상시 서버를 운영하기보다 EventBridge와 Lambda로 예약 실행하는 서버리스 구성을 선택했습니다.
원문과 한국어 요약을 함께 확인할 수 있도록 S3에 원문을, DynamoDB에 처리 결과를 저장했습니다. Bedrock 요약과 Translate 번역을 연결하고, 새 공시는 SQS와 SNS로 알려 웹 조회와 알림 처리를 나눴습니다.
자료 수집부터 한국어 요약까지 자동화 EventBridge와 Lambda로 자료를 주기적으로 수집하고, Bedrock의 요약과 Translate의 번역 기능을 연결했습니다.수집 결과 저장과 알림 처리 구현 처리 결과를 S3와 DynamoDB에 저장하고 SQS와 SNS를 활용해 새 공시 알림을 처리하도록 구성했습니다.
사용 기술
아키텍처 보기 ↓
아키텍처 크게 보기 ↗ / 프로젝트 시연 영상 ↗
17. 조건별 장소 검색 웹서비스
2024년 1학기 / 데이터베이스 수업 과제
인원과 위치, 예산, 이용 시간에 맞는 장소를 찾는 웹서비스를 팀으로 개발했습니다. 목록을 하나씩 확인하는 대신 여러 조건으로 후보를 좁힐 수 있도록 Next.js 화면의 검색 조건을 nestJS API에 전달하고, TypeORM에서 입력된 조건에 맞춰 MySQL 조회 조건을 조합했습니다.
장소 정보에 회원의 평가를 연결하려고 장소와 회원, 평가를 관계형 데이터로 구성했습니다. 검색 결과에서 장소 상세와 평가를 이어 볼 수 있도록 화면과 API를 연결하고 입력 조건을 실제 DB 조회로 옮기는 과정을 구현했습니다.
조건별 장소 탐색 기능 구현 Next.js와 nestJS로 검색 화면과 API를 구성해 사용자가 입력한 조건에 맞는 장소 정보를 제공했습니다.서비스 데이터 구조 설계 및 연동 MySQL과 TypeORM으로 장소, 회원, 게시글, 평가 데이터를 관리하고 조회 기능에 연결했습니다.
사용 기술
아키텍처 보기 ↓
공개 저장소 ↗
2024.11 - 2024.12 / 수업 과제
웹서비스설계 수업에서 영화 탐색 화면과 로그인, 별도의 채용 정보 API를 과제별로 개발했습니다. 영화 화면은 TMDB의 목록과 상세 정보를 React에 연결하고, 후속 과제에서는 카카오 로그인과 사용자 정보 처리를 추가했습니다.
백엔드 과제에서는 채용 공고와 기업 정보, 지원과 리뷰를 Express와 MySQL로 관리했습니다. 요청 조건과 응답 형식을 확인할 수 있도록 Swagger 문서를 작성했고, 프론트엔드는 GitHub Actions의 검사와 빌드를 거쳐 Pages에 배포하도록 연결했습니다.
영화 탐색 화면과 로그인 기능 구현 React와 TypeScript로 영화 탐색 화면을 만들고, 후속 과제에서 카카오 로그인을 구현했습니다.API 개발과 문서화 별도 API 과제에서 Express와 MySQL을 활용해 서버를 개발하고 Swagger로 API 문서를 작성했습니다.프론트엔드 배포 자동화 GitHub Actions로 검사와 빌드를 거쳐 프론트엔드를 Pages에 자동 배포하도록 구성
사용 기술
아키텍처 보기 ↓
영화 탐색 화면 ↗ / API 과제 ↗ / 카카오 로그인 ↗
2023년 1학기 / 객체지향프로그래밍 수업 과제
객체지향프로그래밍 수업 과제로 Java를 사용해 게임을 구현했습니다.
사용 기술
게임 시연 영상 ↗
활동 기간 2024.03 - 2025.08 / 동아리 회장, 웹사이트 개발
개발 동아리 COALA의 공지와 자료를 찾고 모집과 활동에 참여할 수 있는 홈페이지 개발에 참여했습니다. 자주 찾는 정보를 먼저 볼 수 있도록 메인 화면의 공지와 자료, 게시글 배치를 조정했습니다.
화면에서는 정보를 탐색하고 참여를 요청하며, Spring Boot API에서는 회원 권한을 확인하고 데이터를 처리하도록 역할을 나눴습니다. 회원과 활동 기록은 PostgreSQL에, 이메일 인증 코드와 토큰 상태는 Redis에 두는 구조로 구성했습니다. 회장으로 스터디와 멘토링을 운영하며 홈페이지 개발도 함께 진행했습니다.
동아리 홈페이지 개발과 메인 화면 구성 조정 게시판과 모집, 활동 관리 기능을 개발하고 공지와 자료에 우선 접근하도록 화면을 구성했습니다.개발 동아리 회장 활동 스터디와 멘토링을 진행하며 동아리 학습 활동을 운영했습니다.
사용 기술
아키텍처 보기 ↓
coala.jbnu.ac.kr ↗ Frontend / Backend / GitHub 조직
활동 기간 2023.03 - 2024.08 / 동아리 임원 및 부원, 웹사이트 개발 참여
AI 동아리 JBIG의 자료 공유와 스터디 및 프로젝트 모집을 위한 홈페이지 개발에 참여했습니다. 회원이 글을 쓰고 모집에 참여할 수 있도록 React 화면에 Django REST Framework의 회원과 게시판 및 모집 API를 연결했습니다.
자료를 읽는 회원과 게시물을 관리하는 운영진의 권한을 구분하려고 회원 인증을 API 처리에 연결했습니다. 회원과 게시글, 지원 기록을 Django ORM으로 연결해 누가 글을 쓰고 모집에 지원했는지 관리하도록 구성했습니다.
동아리 커뮤니티 기능 개발 React와 Django 기반 웹사이트에서 게시판과 댓글, 공지, 스터디 및 프로젝트 모집 기능을 개발했습니다.회원 인증과 운영 기능 구현 회원 인증과 이메일 처리, 관리자 기능을 구성해 회원 활동과 게시물을 관리하도록 구현했습니다.
사용 기술
아키텍처 보기 ↓
jbig.co.kr ↗ Frontend / Backend / GitHub 조직
15. K-Policy-LLM / 아키텍처
도식 크게 보기 ↗ / 프로젝트 설명 ↑
16. AWS 기반 미국 공시 및 뉴스 요약 서비스 / 아키텍처
도식 크게 보기 ↗ / 프로젝트 설명 ↑
17. 조건별 장소 검색 웹서비스 / 아키텍처
도식 크게 보기 ↗ / 프로젝트 설명 ↑
18. 웹서비스설계 과제 / 아키텍처
도식 크게 보기 ↗ / 프로젝트 설명 ↑
20. COALA 홈페이지 / 아키텍처
도식 크게 보기 ↗ / 프로젝트 설명 ↑
21. JBIG 홈페이지 / 아키텍처
도식 크게 보기 ↗ / 프로젝트 설명 ↑
프로젝트 목차 ↑
온라인 AI 교육 이수 / 온라인 해커톤 참여
교육 2025.01.02–2025.01.27온라인 해커톤 2025.02
온라인 AI 교육을 이수하고, 난임 환자의 임신 성공 여부를 예측하는 온라인 해커톤에 팀으로 참여했습니다. 관련 논문으로 도메인 지식을 보완하며 XGBoost와 앙상블 기법을 활용해 모델 개선을 시도했습니다.
프로그램 소개 ↗ / 온라인 해커톤 ↗
전체 목차 ↑
🐾 05. Community
개발 동아리 회장 2024.03–2025.08
스터디와 멘토링을 진행하고 동아리 웹사이트를 개발했습니다. 임원들과 운영 방향을 논의하며 동아리 활동을 이끌었습니다.
홈페이지 ↗ / GitHub 조직 ↗
인공지능 동아리 임원 및 부원 2023.03–2024.08
임원으로 동아리 활동과 스터디 운영에 참여했습니다. 회원들이 학습 자료와 활동을 공유할 수 있도록 커뮤니티 웹사이트를 개발했습니다.
홈페이지 ↗ / GitHub 조직 ↗
전체 목차 ↑
2025 / JBNU SW·AI 경진대회 AI 부문 장려상
2024 / 오픈소스 SW 아이디어 해커톤 캠프 팀 최우수상 — 취약점 분석
2024 / 한국디지털콘텐츠학회 추계종합학술대회 대학생 논문경진대회 은상
2024 / 2학기 SW캡스톤디자인 경진대회 장려상
2023 / 컴퓨터인공지능학부 해킹대회 특별상