- Email: kkuldangi2@gmail.com
- LinkedIn: LinkedIn/๊น์ฌํ
- Velog: velog.io/@KJH
Java์ Spring ๊ธฐ๋ฐ์ ๋ฐฑ์๋ ์์คํ ์ ์ค๊ณํ๊ณ , ๊ฒ์ ์ฑ๋ฅ๊ณผ ๋ฐ์ดํฐ ์ ํฉ์ฑ์ ๊ฐ์ ํด ์์ต๋๋ค. AI์ ํ๋จ์ ๊ถํยท๋ฉฑ๋ฑ์ฑยท์ํ ์ ์ด ๊ฐ์ ๋ฐฑ์๋ ๊ท์น ์์์ ์์ ํ๊ฒ ์ฐ๊ฒฐํ๋ ์ผ์ ๊ด์ฌ์ด ์์ต๋๋ค.
- Elasticsearch์ Redis๋ฅผ ํ์ฉํด ๋ก์ปฌ ์บ์ ํํธ ๊ฒฝ๋ก์ ๊ฒ์ ์๋ต์ ์ต๋ 5~7์ด์์ ํ๊ท 0.8ms ์์ค์ผ๋ก ๊ฐ์ ํ์ต๋๋ค.
- 1GB ์ฝํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฒ๋ฆฌํ๊ณ GPT Batch API๋ฅผ ์ ์ฉํด ์์ LLM ๋ณํ ๋น์ฉ์ ์ฝ $200์์ ์ค์ $11.18๋ก ์ค์์ต๋๋ค.
- Kafka์ transactional outbox๋ฅผ ํ์ฉํด ์ฅ์๊ฐ AI ์์ ์ ๋น๋๊ธฐํํ๊ณ , ์ค๋ณตยท์ญ์ ๋ ๊ฒฐ๊ณผ๊ฐ ์ต์ ์ํ๋ฅผ ๋ฎ์ด์ฐ์ง ์๋๋ก ์ค๊ณํ์ต๋๋ค.
- Primary: Java
- Backend: Spring Boot, REST API, Spring Security, JUnit 5
- Data & Messaging: PostgreSQL, MySQL, Redis, Elasticsearch, Kafka
- Infra: Docker, Docker Compose, AWS EC2, GitHub Actions
- Project Technologies: Python, FastAPI, Spring AI, RAG, OpenAI API, Vector DB
Fruition โ LLM Wiki์์ ์ฐฉ์ํ ๋ฌธ์ ์์ฑยท์ ๋ฆฌ ์ ๋ฌด๋ฅผ ๋๊ณ ์ง์์ ์์์ฃผ๋ AI Agent ์ํฌ์คํ์ด์ค
- Team Project
- Period / Role: 2026.05 ~ / AI ์ํฌํ๋ก ์ค๊ณ ๋ฐ ํตํฉ
Service Boundary Design
- Problem: ์ธ์ฆยท๋ฌธ์ยทAI ๊ธฐ๋ฅ์ด ํ๋์ ์๋น์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฒฐํฉ๋๋ฉด ๋ณ๊ฒฝ ๋ฒ์๊ฐ ์ปค์ง๊ณ , ์ฅ์๊ฐ AI ์์ ์ ์ฅ์ ๊ฐ ํต์ฌ ๋ฌธ์ ๊ธฐ๋ฅ์ผ๋ก ์ ํ๋ ์ ์์์ต๋๋ค.
- Solution:
- ๋ฐ์ดํฐ ์์ ๊ถ๊ณผ ์ฅ์ ๊ฒฝ๊ณ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ธ์ฆยท๋ฌธ์ยทAI ์๋น์ค๋ฅผ ๋ ๋ฆฝ ๋ฐฐํฌ ๋จ์๋ก ๋ถ๋ฆฌํ์ต๋๋ค.
- ์๋น์ค ๊ฐ ์ง์ DB ์ฐธ์กฐ๋ฅผ ์ ๊ฑฐํ๊ณ ๋ด๋ถ API์ Redis projection์ผ๋ก ํ์ํ ๋ฐ์ดํฐ๋ง ์ ๋ฌํ์ต๋๋ค.
- Result: ์๋น์ค๋ณ ๋ฐ์ดํฐ ์์ ๊ถ๊ณผ ์ฑ ์์ ๋ช ํํ ํ๊ณ , AI ์๋น์ค์ ์ง์ฐ์ด๋ ์ฅ์ ๊ฐ ๋ฌธ์ ์๋น์ค๋ก ์ง์ ์ ํ๋์ง ์๋ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค์์ต๋๋ค.
Asynchronous AI Workflow
- Problem: ์ฅ์๊ฐ AI ์์ ์ ๋๊ธฐ ์์ฒญ์ผ๋ก ์ฒ๋ฆฌํ๋ฉด ์๋ต ์๊ฐ์ด ๊ธธ์ด์ง๊ณ , ์ฌ์๋ ๊ณผ์ ์์ ์ค๋ณต ์คํ์ด๋ ์ค๋๋ ๊ฒฐ๊ณผ์ ์ญ์ ๋ฐ์์ด ๋ฐ์ํ ์ ์์์ต๋๋ค.
- Solution:
- Kafka command/event์ transactional outbox๋ฅผ ์ ์ฉํด AI ์์ ์ ๋น๋๊ธฐํํ์ต๋๋ค.
document_id๋ฅผ ๋ฉ์์ง ํค๋ก ์ฌ์ฉํด ๋์ผ ๋ฌธ์์ ์ฒ๋ฆฌ ์์๋ฅผ ๋ณด์กดํ๊ณ ์๋ก ๋ค๋ฅธ ๋ฌธ์๋ ๋ณ๋ ฌ ์ฒ๋ฆฌํ์ต๋๋ค.- receiptยทrevisionยทunique constraint๋ฅผ ์กฐํฉํด at-least-once ์ ๋ฌ์ ์ค๋ณต๊ณผ ์ค๋๋ ๊ฒฐ๊ณผ๋ฅผ ์ฐจ๋จํ์ต๋๋ค.
- Result: AI worker ์ค์ง, ์ฌ๊ฐ ํ backlog๊ฐ ๋ชจ๋ ์๋น๋๊ณ consumer lag๊ฐ 0์ผ๋ก ๋ณต๊ตฌ๋๋ ๊ฒ์ ํตํฉ ํ ์คํธ๋ก ๊ฒ์ฆํ์ต๋๋ค.
Evidence-Grounded Search and Answer Validation
-
Problem:
- ์ฌ์ฉ์๊ฐ ํ์ผ๋ช ์ ์ ํํ ๊ธฐ์ตํ์ง ๋ชปํด๋ ์ง๋ฌธ์ด๋ ๊ฐ๋ ๋ง์ผ๋ก ๊ด๋ จ ๋ฌธ์๋ฅผ ์ฐพ์์ผ ํ์ต๋๋ค.
- LLM์ด ์์ฑํ ๋ต๋ณ์ด ์ค์ ์ ๋ก๋ ๋ฌธ์์ ์ด๋ ๋ด์ฉ์ ๊ทผ๊ฑฐํ๋์ง๋ ํ์ธํ ์ ์์ด์ผ ํ์ต๋๋ค.
-
Solution:
- ์ ๋ก๋ ๋ฌธ์๋ฅผ ๋ฌธ์๋ณ ์์ฝยท๊ทผ๊ฑฐ ํ์ด์ง์ ์ฌ๋ฌ ๋ฌธ์์ ๊ณตํต ๊ฐ๋ ์ ํตํฉํ ์ง์ ํ์ด์ง๋ก ๊ตฌ์กฐํํ๊ณ , ๊ด๋ จ์ด ์์ผ๋ฉด ์ฐ๊ฒฐํ๋๋ก ํ์ต๋๋ค.
- BM25์ Embedding ์ ์๋ฅผ ๊ฒฐํฉํด ์ง๋ฌธ๊ณผ ๊ด๋ จ๋ ๋ฌธ์ ๋ฐ ์ง์ ํ์ด์ง์ ์์๋ฅผ ๊ณ์ฐํ์ต๋๋ค.
- ๊ฒ์ ๊ฒฐ๊ณผ์์ ์๋ณธ ๋ฌธ์์ ๊ทผ๊ฑฐ ๋ฌธ๋จ๊น์ง ์ถ์ ํด ๋ต๋ณ๊ณผ ํจ๊ป ์ ์ํ๋๋ก ๊ตฌ์ฑํ์ต๋๋ค.
- evaluator๊ฐ ์ง๋ฌธ๊ณผ ๊ทผ๊ฑฐ, ๋ต๋ณ์ ์ ํฉ์ฑ์ ๊ฒ์ฌํ๊ณ ๊ธฐ์ค์ ํต๊ณผํ์ง ๋ชปํ๋ฉด ํผ๋๋ฐฑ์ ๋ฐ์ํด ๋ค์ ์์ฑํ๋๋ก ์ค๊ณํ์ต๋๋ค.
-
Result:
- ํ์ผ๋ช ์ ๋ชฐ๋ผ๋ ๊ฐ๋ ์ด๋ ์์ฐ์ด ์ง๋ฌธ์ผ๋ก ๊ด๋ จ ์ ๋ณด๋ฅผ ํ์ํ ์ ์๊ฒ ํ์ต๋๋ค.
- ๋ต๋ณ๊ณผ ํจ๊ป ์ฌ์ฉ๋ ์๋ณธ ๋ฌธ์์ ๊ทผ๊ฑฐ ๋ฌธ๋จ์ ํ์ธํ ์ ์๋๋ก ํ์ต๋๋ค.
- ๊ทผ๊ฑฐ๊ฐ ๋ถ์กฑํ ๋ต๋ณ์ ์ ํ๋ ํ์ ์์์ ์ฌ์์ฑํ๋ ๊ฒ์ฆ ํ๋ฆ์ ๊ตฌ์ถํ์ต๋๋ค.
- Team Project
- Period / Role: 2025.03 ~ 2025.12 / Backend/AI Developer
- Stack: Spring Boot, MySQL, Weaviate, Elasticsearch, Redis, Docker Compose, Spring AI, GPT Batch API, FCM
Search Performance Optimization
-
Problem:
LIKE '%keyword%'๊ฒ์๊ณผ ์ฌ์ฉ์ ๋ง์ถค DUR ํ๋จ์ ์ํ ๋ค์ค JOIN์ผ๋ก ์ธํด ๋ก์ปฌ Postman ์ธก์ ๊ธฐ์ค ์ต๋ 5~7์ด์ ์๋ต ์ง์ฐ์ด ๋ฐ์ํ์ต๋๋ค.
-
Solution:
- RDBMS์ ์ฝํ ๋ฐ์ดํฐ๋ฅผ Elasticsearch๋ก ๋๊ธฐํํ๋
DataSyncํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ์ต๋๋ค. - Provider ํจํด๊ณผ Initializer๋ฅผ ์ ์ฉํด N-gramยทEdge N-gram ๊ธฐ๋ฐ ์ธ๋ฑ์ค ๋งคํ๊ณผ ์๋ช ์ฃผ๊ธฐ๋ฅผ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๊ด๋ฆฌํ์ต๋๋ค.
- DUR ํ์ ๊ฒฐ๊ณผ๋ฅผ Redis์
{type}:DUR:{durType}:{drugId}ํ์์ผ๋ก ์บ์ฑํด ๊ฒ์ ๊ฒฐ๊ณผ ๋ฐํ ์ ๋ฐ๋ณต์ ์ธ DB JOIN ์์ด ํ๊น ํ ์ ์๋๋ก ์ค๊ณํ์ต๋๋ค.
- RDBMS์ ์ฝํ ๋ฐ์ดํฐ๋ฅผ Elasticsearch๋ก ๋๊ธฐํํ๋
-
Result:
- ๊ฒ์ ๊ฒฝ๋ก์์ ๋ค์ค JOIN๊ณผ ๋ฐ๋ณต์ ์ธ DUR ์กฐํ๋ฅผ ์ ๊ฑฐํ์ต๋๋ค.
- ๋ก์ปฌ Postman ์ธก์ ๊ธฐ์ค, ์บ์ ํํธ ๊ฒฝ๋ก์ ํ๊ท ์๋ต ์๊ฐ์ ์ต๋ 5~7์ด์์ ์ฝ 0.8ms ์์ค์ผ๋ก ๋จ์ถํ์ต๋๋ค.
LLM Cost Optimization
- Problem: 1GB ๊ท๋ชจ์ ์ฝํ ๋ฐ์ดํฐ ๋ณํ์ ์ฝ
$200์ LLM ๋น์ฉ์ด ์์๋์์ต๋๋ค. - Solution:
- ์ ๊ทํํ์ ๊ธฐ๋ฐ ๋ฐ์ดํฐ ํด๋ฆฌ๋์ ์ํํ์ต๋๋ค.
- ๋ฌธ์ฅ์ block ๋จ์๋ก ๋ณด๊ณ fuzzy matching๊ณผ ์ฌ์ ๊ธฐ๋ฐ ์ด๋ฏธ ์ฒ๋ฆฌ๋ฅผ ์ ์ฉํ์ต๋๋ค.
- ์ํ ๋ถ์์ผ๋ก ์ฝ 70% ์ค๋ณต๋ฅ ์ ํ์ธํ๊ณ , ํ์ ์ค๋ํด 1์ฃผ์ผ์ ์ ์ฒ๋ฆฌ ์๊ฐ์ ํ๋ณดํ์ต๋๋ค.
- GPT Batch API๋ฅผ ์ ์ฉํด ๋น์ค์๊ฐ ๋๋ ๋ณํ ๋น์ฉ์ ์ถ๊ฐ ์ ๊ฐํ์ต๋๋ค.
- Result: ๋ณํ ๋์ ๋ฐ์ดํฐ๋ฅผ
1GB -> 326MB๋ก ์ค์ด๊ณ , ๋น์ฉ์$200 -> $11.18๋ก ๋ฎ์ท์ต๋๋ค.
RAG Architecture
- Problem: ์ฌ์ฉ์ ์ฆ์๊ณผ ์ฝํ ํจ๋ฅ์ ์๋ฏธ ๊ธฐ๋ฐ์ผ๋ก ์ฐ๊ฒฐํด์ผ ํ์ง๋ง, ์์ ์ฌ๋ถยท๋ณต์ฉ์ฝยท๊ธฐ์ ์งํ ๊ฐ์ ๋ฏผ๊ฐ ์ ๋ณด๋ฅผ ์ธ๋ถ LLM์ ์ ๋ฌํด์๋ ์ ๋์ต๋๋ค.
- Solution:
- ์ฝํ ํจ๋ฅ ์ ๋ณด๋ฅผ Vector DB์ ์๋ฒ ๋ฉํ๊ณ ์ฌ์ฉ์ ์ฆ์๊ณผ ์ ์ฌ๋ ๊ธฐ๋ฐ์ผ๋ก ๋งคํํ๋ RAG ํ๋ฆ์ ๊ตฌ์ฑํ์ต๋๋ค.
- ์ธ๋ถ LLM์๋ ์์ฐ์ด ์ฆ์๋ง ์ ๋ฌํ๊ณ ๋ฏผ๊ฐ ์ ๋ณด์ ๋ฐ๋ฅธ DUR ํ๋จ์ ๋ด๋ถ ์ฝ๋์์ ์ํํ๋๋ก ์ฑ ์์ ๋ถ๋ฆฌํ์ต๋๋ค.
- Result: ์๋ฏธ ๊ธฐ๋ฐ ์ฝํ ์ ๋ณด ํ์์ ์ ์งํ๋ฉด์ ๋ฏผ๊ฐ ์ ๋ณด๊ฐ ์ธ๋ถ LLM ํธ์ถ ๋ฒ์๋ฅผ ๋ฒ์ด๋์ง ์๋๋ก ์ ํํ์ต๋๋ค.
- Period: 2025.04 ~ 2025.06
Rust ๊ธฐ๋ฐ HWP/HWPX ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ด์ ๋ถ์, ์์ ๊ณํ, PR ์์ฑ, ํ ์คํธ์ CI ๋์์ ์ํํ์ต๋๋ค.
- ๊ธฐ์กด ์ฝ๋์ ํ ์คํธ๋ฅผ ์ถ์ ํด HWP/HWPX ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ด์ 7๊ฑด์ ์ฌํ ๋ฐ ๋ถ์ํ๊ณ PR 7๊ฑด ๊ธฐ์ฌ
- ๊ธฐ์ ์ปจํผ๋ฐ์ค ์ฐธ๊ด ยท 2026.08
- Open Source Summit Korea ยท 2026.08.11 ~ 08.12
- MCP Dev Summit Seoul ยท 2026.08.13 ~ 08.14
- AWS Skill BuilderยทAWS Training ๊ณผ์ ์ด์ ยท 2026.06 ~ 2026.07
- AWS Cloud Practitioner Essentials
- Machine Learning Engineering on AWS (3์ผ)
- Developing Generative AI Applications on AWS (2์ผ)
- ๋ถ์ฐ๋ํ๊ต APPTIVE Backend Mentor ยท 2025.03 ~ 2026.01
- ๋ฉํฐ 12๋ช ์ ๋์์ผ๋ก REST APIยทDB ๊ต์ก 6ํ์ ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ์งํํ์ต๋๋ค.
- ์ ์ฒด ๋ฉํ ๋ง ์์ฃผ์จ 94%๋ฅผ ๋ฌ์ฑํ๊ณ ๊ณต๋ก์์ ์์ํ์ต๋๋ค.
- SK Summit 2025 ๋ถ์ฐ๋ํ๊ต ๋ํ ์ ์ ๋ถ์ค ์ด์ / 2025.11
- K-ICT Week in Busan ๋ถ์ฐ๋ํ๊ต ๋ํ ์ ์ ๋ถ์ค ์ด์ / 2025.07
- ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ทจ๋ / 2025.09
- ๋ถ์ฐ๋ํ๊ต ์ ๋ณด์ปดํจํฐ๊ณตํ๋ถ ์กธ์ ๊ณผ์ SW/AI ๋ถ๊ณผ / ๊ธ์ / 2025.10.01 / ๋ถ์ฐ๋ํ๊ต ์์๋ช ๊ณตํ๋ํ
- AI์ปค๋ฆฌ์ด์ค์ฟจ ์ฐฝ์ ํค(L:AUNCH) / ์ฅ๋ ค์ / 2025.09.28 / Root Impact x Google.org
- ๋ถ์ฐ DATA WEEK - ๋ฐ์ดํฐ ํ์ฉ ์ฐ์์ฌ๋ก ๊ณต๋ชจ์ / ์ต์ฐ์์ / 2025.09.23 / ๋ถ์ฐํ ํฌ๋ ธํํฌ
- 2025 SW ์ค์ฌ๋ํ ๋์งํธ ๊ฒฝ์ง๋ํ SW๋ถ๋ฌธ/ ํ์๊ธฐ์ ์(๋ฅ๋ ธ์ด๋) / 2025.08.12 / SW์ค์ฌ๋ํํ์ํ
- ์ ๋ณด์ปดํจํฐ๊ณตํ
- GPA : 4.12 / 4.5 (์ต์ฐ๋ฑ ์กธ์ )
- ์ปดํจํฐ๊ณตํ๋ถ
- GPA : 4.2 / 4.5


