728x90

전체 글 216

AWS: IAM

IAM?AWS 리소스에 대한 인증 authentication 과 권한 부여 authorization 을 관리하는 글로벌 서비스이다.user, group, role 을 생성 및 관리한다.policy 를 통해 aws 서비스 접근 권한을 제어한다.글로벌 서비스 이므로 리전 선택이 필요 없다. Root User?aws 계정 생성시 자동 생성root는 모든 권한을 가진다. 계정 생성 시에만 사용하고, 일상적인 작업을 할 때는 사용하지 않는다.MFA를 활성화 한다.최초 IAM admin user 생성 후에는 root사용을 최소화한다.root user 는 절대 삭제할 수 없다. Group/Useruser는 하나의 사람을 의미 Group 은 권한을 관리하기 위한 논리적인 집합이다.그룹은 policy 을 연결한다.한명의..

클라우드 2026.07.13

[Local RAG] 사내 챗봇 구축 - 싱글톤 패턴과 의도 분석으로 완성하는 RAG 파이프라인

지금까지 Hybrid Search, RRF, Reranker를 적용하며 검색 정확도를 크게 향상시켰다.하지만 기능들을 하나씩 추가하다보니 속도가 점점 느려졌고 이를 해결하기 위해 사용한 방법을 소개한다. Singleton으로 무거운 리소스 캐싱하기BGE Reranker처럼 Transformer 기반 모델은 초기 로딩 비용이 상당하다.처음에는 매 요청마다 아래와 같은 과정이 반복됐다.사용자 요청↓Reranker 생성↓검색↓응답↓객체 제거 이 방식은 응답 속도뿐 아니라 메모리 사용량도 불필요하게 증가시킨다.그래서 engine.py에서 Singleton 패턴을 적용했다. # ──────────────────────────────────────────────────────────────# Reranker (싱..

AI 2026.07.05

[Local RAG] 사내 챗봇 구축 - 하이브리드 검색과 RRF 활용해 검색기능 고도화

단순 질문인- a프로젝트 내부 개발기 포트 번호 뭐야?- 개발기 엘라스틱 정보 뭐야?등에는 답변을 잘 했다. 하지만다중 파일 조회 테스트: a project 와 b 프로젝트 중 회사 내부 서버(000.999.999)를 공통으로 사용하는 정보가 있어?복합 조건 검색: batch-service 작업의 상용 환경 Cronjob 수행 시간은 언제이며, tb_table 테이블의 데이터 삭제 주기는 어떻게 설정되어 있어?a프로젝트 배치 중 오전 4시10분 에 실행되는거 있어? ( rag 에 넣은 문서에는 " 매 시간 10분에 배치가 실행된다. " 라고 기술되어 있다. ) 같은 질문들에는 엉뚱한 답변을 하였다. 이번 글에서는 이를 해결하기 위해 Hybrid Search, RRF(Reciprocal Rank..

AI 2026.07.03

[Local RAG] 사내 챗봇 구축 - Ollama와 LlamaIndex로 시작하는 로컬 RAG

팀 내에서 ai 활용 내부 프로젝트 진행하였고 , 평소 개발 서버 , 검수 서버, 상용 서버, 테스트 정보, DB 정보 등 사내 문서를 찾는데 오랜 시간이 걸리고 신입 입장에서는 찾는 것이 거의 불가능 하다는 것이 떠올라 (경험담) 사내 챗봇을 구축하게 되었다.나는 파이썬, ai 관련 경험이 없는 자바 백엔드 개발자가 왜 해당 스펙을 선택했는지, 어떤 구조로 프로젝트를 진행하였는지 정리해 보려고 한다. 왜 Local RAG?RAG(Retrieval-Augmented Generation, 검색 증강 생성)이란, LLM이 답변 전 외부 신뢰할 수 있는 DB에서 관련 정보를 검색 후, 그 정보를 바탕으로 답변을 생성함.open ai 를 사용할 수도 있었지만, local rag 를 구축한 이유는 크게 세가지..

AI 2026.07.03

DB 연관관계를 고려하지 못한 수정과 배포 후 에러

① Incident (장애 발생)보안 관련 문제로 코드를 수정했다. Request 값과 DB 값을 사용해 사용자를 비교하면 되는 간단한 수정이었다. 로컬 테스트, 개발기 테스트 테스트 완료, 문서 작성 완료, 상용기 배포 후 모니터링 중 예외가 발생하지 않는 것을 확인했다. 배포 직후엔 아무 일도 없는 듯 했으나, 반영 대략 2주후, 출근을 해보니org.mybatis.spring.MyBatisSystemException: nested exception isorg.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne, but found: 2 위 내용으로 슬랙 Serve..

트러블슈팅 2026.03.22

백엔드 개발자 1년차 회고록

들어가며 학교 + 부트캠프 8개월 수료를 완료하고 백엔드/서버팀에 합류한지 1년차가 되어간다.내가 할 수 있을까 라는 생각을 많이 했는데 어쩌다보니 1년이 되었다.그동안 내가 느끼고 배운 점을 기록하기 위해 작성한다. 상상 vs 현실입사 전 백엔드/서버 개발자라고 하면 하루종일 코드를 분석하고, 설계하고, 코딩하는 모습을 떠올렸다.부트캠프에서 실무자 멘토님에게 들었던 말인,개발하는 시간은 실제로 많지 않다. 개발 능력은 시간이 지나면 다들 비슷비슷해진다. 좋은 개발자를 판별하는 것은 결국 요구사항을 명확하게 정의하는 것, 의사소통 하는 것이다.이 말을 처음엔 믿지 않았다 입사 1년차인 지금 저 뼈저리게 공감된다.하루 8시간( 야근하면 12시간이 될수도...) 동안 코드를 쳐다보면 당연히 개발 능력이..

회고록 2026.02.05

프롬프트 엔지니어링 Prompt Engineering 이란

프롬프트 엔지니어링 Prompt Engineering대규모 언어 모델(LLM)이 원하는 작업을 수행하도록 프롬프트(GEMINI.md, CALUDE.md 등)를 설계하고 개선하는 과정이다. 좋은 프롬프트는 좋은결과를 가져온다. 프롬프트 엔지니어링은 생성형 AI 결과물의 품질, 관련성 및 정확성에 직접적인 영향을 미치기 때문에 매우 중요하다. LLM은 인간을 모방하려고 시도하지만 고품질의 관련성 높은 결과물을 생성하려면 자세한 지침이 필요하다. 잘 만들어진 프롬프트는 AI가 사용자의 의도를 이해하고 의미 있는 응답을 생성해 후처리를 회소화하는데 도움이 된다. 프롬프트 Prompt프롬프트는 특정 작업을 수행하도록 생성형 AI에 요청하는 자연어 텍스트이다. 단순히 말 해 우리가 ChatGpt, Gemini 등..

AI 2026.01.22

Claude Code 란

Claude Code터미널 기반 AI 코딩 도우미 + 코드 에이전트요즘 유행하는 바이브 코딩 중심에 있다. Chat GPT 에게 코드 수정을 부탁하려면,상황 설명 -> 서비스 레이어 -> 레포지토리 레이어 -> DB 설계를 모두 복사 붙여넣기 해줘야했다.하지만 Claude Code는 다음과 같은 작업을 한 번에 수행한다.프로젝트 전체 코드베이스를 이해테스트 코드 작성테스트 실행 → 실패 확인코드 수정다시 실행즉, 사람이 하던 개발 사이클 자체를 자동으로 수행한다. 이런 프로젝트 단위 사고로 인해 판단 하나하나를 일일이 알려주지 않아도 된다. Claude code는 파일 단위로 진행 되는 것이 아니라, 프로젝트 단위로 명령을 이행한다. 1. 전체 코드 베이스 인식단일 파일이 아닌 프로젝트 구조 전체를 ..

AI 2026.01.21

Hallucination 할루시네이션 환각 이란

Gemini CLI 테스트 자동화 도입의 최대 난제, Hallucination 환각Hallucination생성형 AI 모델에서 주어지는 옳지 않거나 잘못된 응답을 가리킨다. 그럴듯 하지만 틀린 답변을 의미한다. 유명한 예로는 세종대왕 맥북 사건이 있다. 환각의 원인LLM은 “모른다”라는 상태를 기본적으로 가지려고 하지 않고, 항상 가장 그럴듯한 답을 생성하려고 시도한다. 학습 및 평가 방식의 구조적 문제: 현재의 평가 방식에서 잘못된 인센티브를 설정했기 때문이다. 정답을 모르더라도 과감하게 추측해서 운이 좋으면 정답을 맞힐 수도 있다. 객관식 시험에서 답안지를 비워 두면 0점이지만, 어떤 답안이라도 적어 낸다면, 정답 확률은 20%가 된다. OpenAI의 연구 논문⁠에서는 언어 모델 환각이 표준..

AI 2026.01.21

LLM 이란?

LLM : Large Language Model 대규모 언어 모델방대한 텍스트 데이터를 기반으로 사전 학습된 딥 러닝 모델로 인간의 언어를 이해하고 생성하며 번역, 요약, 질의응답 등 다양한 자연어 처리 작업을 수행할 수 있는 인공지능 모델이다.LLM 은 방대한 데이터 세트를 학습해 대규모 라는 이름이 붙었다. LLM은 문자, 단어, 문장이 함께 작동하는 방식을 이해하기 위해 딥러닝이라는 일종의 머신 러닝을 사용한다. 딥러닝은 비정형 데이터의 확률적 분석을 포함하며, 딥러닝 모델은 사람의 개입 없이도 콘텐츠 간의 구분을 인식할 수 있다. 딥러닝과 LLM 의 관계?딥 러닝은 인간의 두뇌에서 영감을 받은 방식으로 컴퓨터가 데이터를 처리하도록 가르치는 방법이다.대규모 비정형 데이터에서 패턴과 구조를 스스로..

AI 2026.01.21
728x90
반응형