ARCHIVE
아카이브
기존에 공개한 글을 원래 주소 그대로 보관합니다.
과거의 글에는 작성 당시의 기술과 관점이 담겨 있습니다.
356개 글 · 3 / 12 페이지
· KO
AI 크롤러를 robots.txt로 제대로 제어하기 — 학습은 막고 인용은 허용하는 2026 전략
GPTBot 한 줄 막고 "AI 차단 끝"이라 믿는 사이트가 많다. 학습·검색·사용자요청 크롤러를 분리 제어하는 robots.txt를 직접 만들고 표준 파서로 검증했다. Google-Extended가 AI Overviews를 못 막는 함정과 llms.txt의 정직한 현황까지.
· KO
접근성 점수 55에서 100까지 — Lighthouse로 WCAG 위반 직접 잡아 고치기
가상의 베이커리 랜딩 페이지를 Lighthouse 접근성 감사에 돌려 55점을 받았다. 색상 대비부터 폼 레이블과 ARIA 속성까지 6개 WCAG 위반을 하나씩 직접 고쳐 100점으로 만든 실측 로그와, 자동 감사 도구가 놓친 키보드 내비게이션 함정까지 단계별로 정리했다.
· KO
로컬 LLM에 에이전트 8개를 동시에 붙였더니 — Ollama 동시성 처리량 실측
서브에이전트를 병렬로 돌리면 로컬 모델도 그만큼 빨라질 줄 알았다. 직접 재보니 기본 Ollama는 요청을 한 줄로 세워 처리해서 8개를 붙여도 총 처리량이 그대로였다. OLLAMA_NUM_PARALLEL을 올렸을 때의 처리량 이득과 VRAM 대가를 M1 맥북 16GB에서 실측했다.
· KO
LocalBusiness 구조화 데이터, JS로 넣어도 되지만 서버사이드가 더 확실한 이유
매장 검색 페이지의 LocalBusiness JSON-LD를 JavaScript로 주입하면 원시 HTML엔 구조화 데이터 블록이 0개로 잡힌다. 서버사이드 렌더링 출력과 직접 비교하고, Google 공식 견해와 리치 결과·검색 순위에 미치는 한계까지 실측으로 정리했다.
· KO
로컬 추론 모델은 추론값을 하는가 — gemma4:12b로 thinking ON/OFF를 직접 잰 기록
gemma4:12b의 빈 응답을 패키징 버그로 단정했다가 사실은 추론(thinking) 모델이었음을 뒤늦게 알았다. 추론 ON/OFF로 13문제를 돌려보니 정답은 1개 더 맞혔지만 출력 토큰을 68배, 시간을 19배 더 썼다. 에이전트에서 추론을 언제 켜고 끌지 실측으로 정리한다.
· KO
로컬 에이전트가 시스템 프롬프트를 까먹은 이유 — Ollama num_ctx 무음 truncation 실측
로컬 에이전트가 긴 대화에서 갑자기 지시를 무시하길래, 프롬프트 맨 앞에 비밀 코드를 숨기고 길이를 늘여가며 recall을 측정했다. num_ctx를 넘기면 Ollama는 에러 없이 프롬프트 앞쪽을 잘라낸다. 그리고 기본값이 4096이라는 통설도 내 맥북에선 사실과 달랐다.
· KO
로컬 LLM의 첫 응답은 왜 가끔 10초씩 걸릴까 — 콜드 스타트(load_duration)를 직접 재봤다
잠깐 쉬었다가 에이전트를 다시 부르면 첫 응답이 유독 굼떴다. Ollama가 응답마다 주는 load_duration을 모델 크기별로 뜯어보니 2GB는 1.5초, 9.6GB는 최대 9.7초였다. keep_alive 하나로 이 콜드 스타트 비용이 어떻게 갈리는지 직접 측정해 정리했다.
· KO
로컬 LLM은 왜 대화가 길어질수록 느려질까 — prefill과 generation 비용을 직접 분해해봤다
같은 9,700토큰 프롬프트가 내 노트북에서 첫 토큰까지 55초 걸렸는데, 두 번째 호출은 65밀리초였다. Ollama 타임스탬프를 뜯어 prefill과 generation을 분리 측정하고, prefix 캐시가 왜 396배 빨랐는지, 에이전트 컨텍스트 설계에 어떻게 적용할지 정리했다.
· KO
같은 글인데 한국어는 토큰이 1.4배 — 내 블로그 285편으로 비영어 토큰세를 직접 쟀다
같은 글을 ko/ja/en/zh 네 언어로 내는 내 블로그 285편을 실제 토크나이저 세 개로 토큰화해 비영어 토큰 비용을 측정했다. 한국어는 영어의 1.38배, 일본어 1.34배, 그리고 토크나이저 세대 교체가 사실상 비영어 할인이었다는 것까지 실측 데이터로 직접 확인했다.
· KO
로컬 LLM은 같은 답을 두 번 줄까 — temperature와 seed로 출력 재현성 직접 측정
같은 프롬프트를 로컬 Gemma 4에 수십 번 던져 LLM 출력 재현성을 직접 측정한 실험 기록이다. temperature=0은 완전히 결정적이었고, 온도를 올려도 seed를 고정하면 출력이 한 줄로 수렴했다. 평가와 CI 테스트에 바로 적용할 결론과 권장 설정값까지 정리한다.
· KO
JSON을 그대로 LLM에 넣지 마라 — 데이터 포맷 9종 토큰 비용 실측
같은 50개 레코드를 JSON·YAML·CSV·TSV 등 9가지 포맷으로 직렬화해 tiktoken으로 토큰을 측정했다. 평탄한 데이터는 TSV가 pretty JSON 대비 62% 저렴했고, 중첩 데이터는 compact JSON으로 결론이 뒤집힌다. 포맷 하나가 토큰 비용을 가른다.
· KO
TypeScript MCP 클라이언트 만들기 — @modelcontextprotocol/sdk v1.29
@modelcontextprotocol/sdk v1.29.0을 직접 설치해 TypeScript MCP 클라이언트를 만들어봤다. Claude Desktop 없이 MCP 서버의 tool을 프로그래밍으로 호출하고 resource를 읽는 실전 가이드. 실제 실행 로그와 에러 처리 패턴 포함.
· KO
Agno로 AI 에이전트 만들기 — Gemini와 내장 툴로 직접 돌려봤다
Agno v2.6.17(구 phidata)로 Gemini 기반 AI 에이전트를 직접 구현했다. Calculator·Wikipedia 툴, 구조화 출력, 멀티 에이전트 팀까지 실행 로그로 검증. output_schema 혼동, deprecated 모델 ID 등 실제 트랩도 기록한다.
· KO
Ollama 구조화 출력 실전 — Pydantic으로 로컬 LLM 응답을 타입 안전하게 받는 법
Ollama 0.3+의 JSON schema 강제 모드와 Pydantic을 연결해 로컬 LLM 응답을 타입 안전하게 파싱하는 실전 가이드. 직접 측정하니 구조화 출력은 일반 텍스트 파싱보다 6배 빠르고 성공률이 100%에 가까웠다. 재시도 없는 로컬 LLM 파이프라인.
· KO
sentence-transformers로 한국어 RAG 임베딩 실험 — 정확도가 67% 떨어지는 이유
all-MiniLM-L6-v2를 로컬에 설치해 코사인 유사도, 미니 RAG 검색, 다국어 모델 비교까지 직접 측정했다. 영어 최적화 임베딩으로 한국어 RAG를 만들면 정확도가 67% 떨어지는 실측 결과와, 다국어 모델로 이를 해결하는 구체적 방법을 코드와 함께 공유한다.
· KO
InsightForge를 만든 이유: AI 소비자 리서치를 검증 우선순위 도구로 만들기까지
InsightForge가 무엇인지, 왜 만들었는지를 솔직하게 정리했다. synthetic panel과 SSR 방법론으로 소비자 리서치 자동화를 구현하면서 겪은 시행착오, 그리고 AI를 검증 우선순위 결정 도구로 재정의하기까지의 핵심 설계 원칙과 기술적 선택을 공유한다.
· KO
Mastra.ai 실전 가이드 — TypeScript로 AI 에이전트를 5분 만에 실행하는 법
Mastra.ai TypeScript AI 에이전트 프레임워크를 직접 설치하고 Google Gemini와 연동해 날씨 조회 에이전트를 만들었다. 설치·워크플로우·메모리 통합 등 실습 전 과정과 LangGraph, CrewAI와의 핵심 차이점을 개발자 관점에서 정리했다.
· KO
Anthropic과 OpenAI가 같은 달에 IPO를 신청했다 — 토큰 가격 전쟁이 개발자에게 의미하는 것
2026년 6월, Anthropic(6/1)과 OpenAI(6/8)가 각각 SEC에 비공개 S-1을 제출했다. 두 AI 최대 기업의 동시 IPO가 API 토큰 가격을 어떻게 흔들고 있는지, 모델별 실제 단가 비교와 함께 개발자가 지금 잡아둘 대응 방안까지 함께 정리한다.
· KO
Claude Fable 5 출시 분석 — Mythos가 공개됐다, API 비용 두 배는 낼 가치가 있나
Anthropic이 2026년 6월 9일 Claude Fable 5를 출시했다. SWE-bench Pro 80.3%, 비용 $10/$50/MTok. Mythos Preview 대중화판 Fable 5가 Opus 4.8보다 값어치를 하는지 API 변경·안전 라우팅·비용 구조로 따져본다.
· KO
Claude Code 6월 2026 업데이트 분석 — Safe Mode, Opus 4.8, 요금 2배
2026년 6월 Claude Code 업데이트 완전 분석 — Safe Mode 권한 격리, /cd 커맨드 추가, Opus 4.8 기본값 전환, /usage 비용 세분화, 요금 한도 2배 상향까지. 개발자가 지금 알아야 할 모든 변경사항과 실무 이행 체크리스트를 정리했다.
· KO
Drizzle ORM 완전 가이드 — Prisma 없이 타입 안전한 TypeScript DB 레이어 만들기
Drizzle ORM 0.45와 drizzle-kit으로 SQLite·PostgreSQL을 TypeScript에서 타입 안전하게 다루는 완전 가이드(Prisma 대안). 스키마 정의와 마이그레이션부터 트랜잭션의 async 함정, 쿼리 빌더 패턴까지 실제 실행 로그와 함께 정리했다.
· KO
Node.js 내장 SQLite 완전 가이드 — 외부 패키지 없이 바로 쓰는 실전 DB
Node.js 22.5.0에 추가된 node:sqlite 내장 모듈. npm install 없이 DatabaseSync, StatementSync API, 트랜잭션, 사용자 정의 함수까지 실제 실행 코드와 로그로 단계별 정리. better-sqlite3와의 API 차이도 비교한다.
· KO
LlamaIndex vs LangChain vs Haystack — 2026년 RAG 프레임워크 실전 비교
LlamaIndex 0.14, LangChain 1.3, Haystack 2.30을 직접 설치·테스트했다. langchain-community deprecated 경고, 코드 복잡도 측정, InMemory 검색 결과. 2026년 RAG 프레임워크 선택 기준을 실측 데이터로 정리했다.
· KO
Amazon Kiro 실전 분석 — 스펙 주도 AI IDE가 Claude Code를 대체할 수 있을까
AWS가 만든 스펙 주도 AI IDE Kiro를 공식 문서와 커뮤니티 리뷰로 분석했다. EARS 노테이션 기반 요구사항 생성, Agent Hooks, Steering Files의 실제 가치와 Claude Code와의 결정적 차이를 솔직하게 정리한다.
· KO
Deno 2 vs Bun 1.3 — 2026년 Node.js 런타임 실전 비교
Deno 2.8.2와 Bun 1.3.14를 직접 설치해서 startup 시간, HTTP 처리량, npm 호환성, 보안 모델을 실측했다. TypeScript 네이티브 지원과 패키지 호환성을 포함해, 2026년 프로젝트에 맞는 Node.js 대안을 데이터로 결정하는 실전 가이드.
· KO
Hono.js + TypeScript로 엣지 REST API 만들기 — Cloudflare Workers
Hono v4 + Bun 1.3 + Zod v4로 타입 안전한 REST API를 직접 만들었다. 라우팅 정의, Zod 기반 입력 검증, CORS·logger·timing 미들웨어, Cloudflare Workers 배포 설정까지 실전 코드와 터미널 로그를 포함한 단계별 가이드.
· KO
TypeScript Zod v4 + Claude API 구조화 출력 가이드 — LLM 응답 타입 파싱
Zod v4 safeParse()와 변경된 스키마 API로 Claude API 응답을 타입 안전하게 파싱하는 패턴을 직접 검증했다. v3 대비 성능 수치, z.string().check() 신규 API, 중첩 스키마 설계 전략을 Claude API 통합 코드와 함께 정리한다.
· KO
Vitest 4로 AI 에이전트 테스트하기 — LLM 호출 모킹, 스트리밍 응답 테스트 실전 패턴
Vitest 4.1.7로 Anthropic SDK messages.create()와 스트리밍 응답을 모킹하는 실전 패턴. vi.fn()과 화살표 함수 차이, async function* 제너레이터로 SSE 스트림을 재현해 9개 테스트를 142ms에 통과시키는 방법을 안내한다.
· KO
TypeScript로 MCP 서버 만들기 — @modelcontextprotocol/sdk 실전 튜토리얼
@modelcontextprotocol/sdk v1.29.0과 Zod v4로 TypeScript MCP 서버를 처음부터 구축하는 실전 튜토리얼. 도구 등록, InMemoryTransport 테스트, 공개 API 연동까지 30분 안에 동작하는 서버를 완성하는 방법을 단계별로 설명합니다.
· KO
Gemini API Managed Agents 실전 가이드 — 격리 샌드박스에서 에이전트 한 줄로 실행하기
Google I/O 2026에서 발표된 Gemini Managed Agents를 직접 실행해봤다. client.interactions.create() 한 번으로 에이전트를 돌리는 구조, Claude·OpenAI Managed Agents와의 차이점, 멀티턴 대화 구현까지 코드로 정리한다.