| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- 오블완
- PETERICA
- SRE
- 코틀린 코루틴의 정석
- 티스토리챌린지
- 정보처리기사 실기 기출문제
- minikube
- Rag
- AWS EKS
- LLM
- Spring
- AI
- go
- aws
- Claude
- Java
- CKA
- docker
- Kubernetes
- MySQL
- 공부
- 바이브코딩
- golang
- kotlin
- 기록으로 실력을 쌓자
- kotlin coroutine
- tucker의 go 언어 프로그래밍
- CloudWatch
- HARNESS
- CKA 기출문제
- Today
- Total
목록PETERICA (785)
피터의 개발이야기
ㅁ TL;DR약한 청크 = moc/·entities/·concepts/의 "관련 포스트", "주요 태그", 연도 그룹, 순수 링크 목록본문 없고 키워드만 풍부 → 임베딩 유사도가 가짜로 높게 나온다해법: 경로·헤딩 한 줄 필터 (새 모델·인덱스·리랭커 0개)실측 기준:청크 수: 118 → 93 (-25, -21%)MRR(Mean Reciprocal Rank): 0.794 → 0.947 (+0.15)R@3(Recall@3): 0.933 → 1.000결론: 모델을 바꾸기 전에 청크를 봐야 한다ㅁ 왜 이 문제를 발견했나폰에서 "쿠버네티스에서 graceful shutdown이란?"을 물었다.top-3에 정답 블로그 183번 글과 함께, MOC 파일의 "관련 포스트" 링크 목록이 두 개 섞여 들어왔다.그 목록 청..
ㅁ TL;DRRTK는 github.com/rtk-ai/rtk 의 실존 OSS다. 아키텍처 개념이 아니라 단일 Rust 바이너리로 배포되는 CLI 프록시.AI 에이전트(Claude Code, Cursor, Gemini CLI 등)가 실행한 터미널 명령 출력을 가로채, 60~90% 압축한 뒤 LLM에 전달한다.동작 방식은 shell hook 이 git status 를 rtk git status 로 자동 치환. 에이전트 코드 수정 없이 붙는다.오버헤드는 ㅁ 왜 이게 필요한가AI 코딩 에이전트는 매 작업마다 아래를 실행한다.npm installpytestgit statusdocker build .출력은 대부분 진행바, 다운로드 로그, 성공 라인 이다. LLM은 이 노이즈를 전부 context window 에 ..
[AI] Peterica의 AI공부와 비젼 정리ㅁ 들어가며ㅇ LiteRT-LM — 온디바이스 LLM을 실제로 “돌리게” 만드는 런타임 ㅁ TL;DRLiteRT-LM = 온디바이스 LLM 추론 런타임핵심 차별점: .litertlm (모델 + 토크나이저 + 템플릿 번들)서버 런타임(vLLM/Ollama)은 모바일에 그대로 못 옮긴다실제 기준:Galaxy S23 UltraGemma 4 E2B약 40초/응답모델 크기 약 2.4GB결론: 모델만큼 런타임 선택이 초기에 결정된다 ㅁ 왜 LiteRT-LM까지 오게 됐는가Gemma 4 E2B를 폰에서 돌리는 데 48시간을 썼다.시간의 대부분은 모델이 아니라 런타임에서 막혔다.llama.cpp → Android NDK / NPU 활용 제한서버 구조(vLLM/Ollama)..
TL;DR#원칙핵심1목표 축소완벽한 RAG ❌ → 끝까지 도는 최소 사이클 1개2모델 통일서버/모바일 분리 ❌ → 동일 임베딩 모델3데이터가 성능모델보다 청크 품질이 MRR을 움직인다4청크는 제거추가 ❌ → 약한 청크 제거로 R@3 올리기5검색은 단순하게N brute-force가 정답6배포 단위모델 ❌ → 모델 + 토크나이저 + 설정 세트7양자화는 필수선택 ❌ → 배포 조건8프롬프트 욕심 금지작은 모델 → 짧고 단순하게9속도 기대치 현실화40초 느림 = 독립성과 바꾼 비용10제약을 받아들여라장애 ❌ → 설계 기준한 줄 요약: 작게 만들고, 단순하게 유지하고, 끝까지 동작시킨다. ㅁ 들어가며서버·네트워크 없이, Galaxy S23 Ultra에서 40초 뒤 두 문장으로 답하는 RAG를 만들었다.기술 다섯..
ㅁ 들어가며이전 글에서 맥미니 위에 RAG 서버를 올려 내 블로그 1,000편을 검색하게 만들었다.그 글 마지막에 "문서 1,000개는 보유만으로는 창고. 검색이 붙는 순간 두 번째 뇌가 된다"고 썼다.그런데 그 뇌는 맥미니가 켜져 있을 때만 일했다.와이파이가 없으면, 서버가 내려가면, 내 지식에 닿지 않았다.그래서 질문을 바꿨다 — 내 기억을 내 주머니로 옮길 수 있을까.Galaxy S23 Ultra를 비행기 모드로 둔 채 물어봤다."쿠버네티스에서 graceful shutdown이란?"40초 뒤 폰이 내 블로그 183번 글의 청크를 인용하며 두 문장으로 답했다.서버 없이, 네트워크 없이, 내 손 안에서.이 글은 그 한 번의 응답까지 가기 위해 검토해야 했던 다섯 가지 기술의 요약이다.상세한 벤치마크·시..
[AI] Peterica의 AI공부와 비젼 정리ㅁ 들어가며지난 글, [AI] 1,000개 블로그 글 Wiki에 로컬 RAG 챗봇 붙이기 — peterica-blog-chat에서 sqlite-vec에 대해서 언급하였다.sqlite-vec는 파일 하나(wiki.db)가 벡터 스토어의 전부이다.ㅁ 왜 sqlite-vec를 선택하였는가?ㅇ DB와 인덱스가 파일 하나(`data/wiki.db`)로 구성된다. → 별도의 서버 없이도 하나의 파일만으로 데이터와 검색 구조를 함께 관리할 수 있다.ㅇ 백업과 복구가 단순하다. → 백업은 파일을 복사(`cp`)하면 끝이고, 문제가 생기면 파일을 교체하는 방식으로 롤백이 가능하다. 운영 복잡도가 매우 낮다.ㅇ 별도의 서버나 런타임이 필요 없다. → sqlite 확장 형..
[AI] Peterica의 AI공부와 비젼 정리ㅁ 들어가며나는 AI를 잘 운영하는 개발자로 성장하기위해 노력하고 있다.그래서 지난 글 [AI] 1000개 블로그 글을 LLM Wiki로 만든 이야기 — Karpathy의 아이디어를 실전에 적용하다에서1,000개 문서짜리 제 Obsidian Wiki를 만들었다.이번엔 그 위에 로컬 RAG 챗봇을 올렸다.이 글은 그 구축 기록이고, 동시에 왜 Vercel을 버리고 맥미니 + Cloudflare Tunnel로 갔는지에 대한 기록이다. 내가 공부한 llm모델의 임베딩, 로컬 시스템으로 연동하여 나에게 필요한 백터디비의 사양을 파악하는 연습을 하기 위해서다. 우리집 맥미니 M1 8GB에서 local LLM으로 가동 중이다. peterica-blog-chat ㅁ 요..
[AI] Peterica의 AI공부와 비젼 정리ㅁ 들어가며예전에 "Claude Code를 소프트웨어처럼 설계하기 — 프롬프트 하네스 아키텍처" 라는 글에서 정리한 적이 있다.프롬프트가 코드이고, 스킬이 함수이며, 에이전트가 마이크로서비스라는 관점이다.그 위에서 블로그 1,000편을 스크래핑하고 위키로 변환하는 파이프라인을 운영했다. 시간이 지나니 스킬이 17개, 18개, 20개로 늘어났다.한편으로는 좋았지만, 다른 한편으로는 "어떤 스킬을 언제 불러야 하는지" 를 나조차 자주 잊어버렸다. "이 초안 팩트체크도 하고 폴리싱도 하고 발행준비도 해줘"라고 말하면,Claude가 어떤 스킬을 어떤 순서로 부를지 매번 다르게 해석했다. 그래서 하나 더 만들었다.이번엔 스킬을 부르는 스킬 - FDE(Forward D..
[AI] Peterica의 AI공부와 비젼 정리ㅁ 들어가며오늘 회의 시간에 나온 질문이다. "왜 Argo CD로 다 안 하고 Jenkins로 빌드하죠?" 쿠버네티스 도입 초기 팀에서 자주 나오는 질문이다.Argo CD 이름에 "CD"가 박혀 있으니 CI/CD 풀스택으로 오해하기 쉽지만, 실제로는 그렇지 않다. 결론부터 말하면 이미지 빌드는 Jenkins, 클러스터 배포는 Argo CD 다.둘은 경쟁재가 아니라 조합재다. 이 글은 그 역할 분리가 왜 자연스러운 설계인지 정리한다. ㅁ 역할이 애초에 다르다 — CI vs CD Jenkins와 Argo CD는 파이프라인에서 서로 다른 영역을 책임진다.Jenkins — 코드 변경 → 빌드 → 테스트 → Docker 이미지 생성 → 레지스트리 푸시. CI (Con..
[AI] Peterica의 AI공부와 비젼 정리ㅁ 들어가며이 문서는 이전 블로그 글에서 설명한 각 설계 패턴을 실제로 구현할 때 사용한 프롬프트 예시를 모아둔 것이다. 그대로 복사해서 쓸 수 있도록 작성했다. 1. CLAUDE.md — 글로벌 행동 규칙 정의프롬프트: 글로벌 규칙 파일 작성 요청~/.claude/CLAUDE.md에 다음 규칙을 추가해줘:1. 코드 수정 전 반드시 해당 파일을 Read 한 후 Edit 한다2. git commit은 명시적 요청 없이 절대 하지 않는다3. 임시 파일은 작업 완료 후 반드시 삭제한다4. 테스트가 있는 프로젝트에서는 코드 수정 후 테스트를 실행한다5. feature 브랜치에서만 작업하고, main에 직접 커밋하지 않는다프롬프트: 프로젝트 CLAUDE.md 작성이..
