Cover image

AI 코드모드로 구현하는 대규모 안드로이드 보안 자동화

왜 지금 이게 문제인가 대규모 코드베이스에서 보안 취약점은 복리처럼 쌓인다. 메타(Meta)와 같은 빅테크가 수백만 라인의 안드로이드 코드를 관리할 때, 특정 API의 보안 허점 하나가 수천 개의 호출 지점(Call site)에 퍼져 있는 것은 흔한 일이다. 이를 사람이 일일이 수정하는 것은 불가능에 가깝고, 단순한 정규표현식 기반의 치환은 문맥을 놓쳐 런타임 에러를 유발하기 십상이다. 한국의 ‘네카라쿠배’나 대형 금융 앱 환경도 다르지 않다. 서비스가 고도화될수록 레거시 API는 도처에 깔리고, 보안 컴플라이언스 대응을 위해 수천 개의 클래스를 전수 조사해야 하는 상황이 빈번하게 발생한다. 개발자는 비즈니스 로직 개발보다 보안 패치와 라이브러리 마이그레이션 같은 반복 작업에 더 많은 에너지를 소모하게 된다. ...

March 18, 2026 · 4 min · 743 words · gnosyslambda
Cover image

Gemini CLI 'Plan 모드' 출시: 안전한 대규모 코드 분석 및 설계

왜 지금 이게 문제인가 LLM 기반의 코딩 에이전트가 코드를 직접 수정하는 ‘Auto-Edit’ 방식은 초기 도입 시 높은 생산성을 보여주지만, 복잡도가 높은 레거시 시스템에서는 치명적인 리스크를 동반한다. 에이전트가 전체 아키텍처를 오해한 상태에서 파일을 수정하기 시작하면 의존성 그래프가 깨지거나 비즈니스 로직에 결함이 생기는 일이 빈번하다. 특히 한국의 대규모 이커머스나 금융권 시스템처럼 도메인 로직이 파편화된 환경에서는 단순한 코드 생성이 아니라 ‘정확한 영향도 분석’이 선행되어야 한다. 기존의 CLI 도구들은 사용자의 프롬프트를 즉시 실행으로 옮기려는 경향이 강해, 대규모 마이그레이션이나 복잡한 기능 구현에서 제어력을 잃기 쉬웠다. 구글이 Gemini CLI에 Plan Mode를 도입한 배경은 에이전트의 실행력을 억제하고 ‘읽기 전용’ 상태에서 아키텍처를 먼저 설계하도록 강제하기 위함이다. 이제 에이전트는 코드를 고치기 전에 질문을 던지고, 계획을 세우며, 사용자의 승인을 기다리는 단계를 거친다. ...

March 13, 2026 · 4 min · 766 words · gnosyslambda
Cover image

MCP부터 A2A까지, AI 에이전트 표준 프로토콜 가이드

왜 지금 이게 문제인가 LLM을 단순한 챗봇이 아니라 ‘에이전트’로 활용하려는 시도가 늘어나면서 백엔드 엔지니어들은 새로운 형태의 통합 지옥(Integration Hell)에 빠졌다. 기존에는 서비스마다 제각각인 REST API 명세에 맞춰 툴(Tool)을 정의하고, 프롬프트에 수십 개의 함수 명세를 때려 넣는 노가다를 반복해 왔다. 툴 관리의 비대해짐: 에이전트가 처리할 도메인이 넓어질수록 tools[] 리스트는 관리 불가능한 수준으로 길어지고, 이는 곧 컨텍스트 윈도우 낭비와 모델의 추론 성능 저하로 이어진다. 표준의 부재: 서로 다른 팀이나 회사가 만든 에이전트끼리 협업하려면, 결국 또 사람이 개입해서 API 스펙을 맞추고 인증 로직을 새로 짜야 한다. 신뢰와 보안의 트레이드오프: 에이전트에게 실행 권한을 줄수록 보안 리스크는 커지며, 특히 금융권이나 대규모 커머스처럼 ‘무결성’이 중요한 한국 실무 환경에서 ‘Auto-Approve’ 같은 기능은 기술적 부채보다 무서운 운영 리스크가 된다. 구글이 제시한 MCP(Model Context Protocol)와 A2A(Agent-to-Agent) 등의 프로토콜은 이 파편화된 연결 고리를 표준화하겠다는 선언이다. 이제 에이전트는 직접 API를 호출하는 대신, 표준화된 프로토콜을 통해 데이터에 접근하고 다른 에이전트에게 업무를 위임한다. ...

March 12, 2026 · 3 min · 636 words · gnosyslambda

넷플릭스는 어떻게 LLM을 자사 서비스에 맞게 길들이는가

왜 지금 이게 문제인가 “GPT-4를 그냥 API로 쓰면 되지 않나?” 많은 기업이 이 질문에서 출발하지만, 넷플릭스는 다른 답을 내렸다. 범용 LLM은 넷플릭스의 콘텐츠 카탈로그, 추천 알고리즘, 사용자 행동 패턴을 모른다. “이 영화가 한국 30대 남성에게 왜 매력적인가"를 GPT-4에게 물어봐야 일반론만 돌아온다. 넷플릭스 AI 플랫폼 팀은 범용 모델을 가져다가 자사 데이터로 **Post-Training(사후 학습)**하는 내부 프레임워크를 구축했다. 이는 단순한 파인튜닝을 넘어, 프로덕션에서 추천·검색·개인화에 직접 투입되는 모델을 대규모로 생산하는 LLM 공장이다. API 의존의 한계: 외부 LLM API는 자사 데이터로 학습되지 않았고, 모델 업데이트 시점을 통제할 수 없으며, 민감한 사용자 데이터를 외부로 보내야 한다. 넷플릭스 규모에서 이 세 가지는 모두 수용 불가능하다. 파인튜닝의 인프라 복잡성: 수십~수백 대의 GPU 노드에서 분산 학습을 돌리는 것은 모델 코드를 짜는 것보다 10배 어렵다. 노드 하나가 죽으면 수일간의 학습이 날아가고, 체크포인팅은 네트워크 대역폭을 잡아먹으며, GPU 메모리 관리는 악몽이다. 한국적 맥락: 쿠팡, 토스, 카카오 같은 데이터 기반 서비스가 “우리만의 LLM을 만들어야 하나"를 고민 중이다. 넷플릭스의 사례는 Pre-training(처음부터 학습)이 아닌 Post-Training(기존 모델 위에 학습)이라는 현실적 경로를 보여준다. 어떻게 동작하는가 넷플릭스의 Post-Training Framework는 세 개의 레이어로 구성된다. ...

February 19, 2026 · 4 min · 830 words · gnosyslambda
Cover image

신뢰성 있는 AI를 위한 에이전트 아키텍처: 스플릿-브레인 설계의 실무 적용

왜 지금 이게 문제인가 LLM을 프로덕션에 투입하는 팀이 늘어나면서 두 가지 근본적인 문제가 동시에 터지고 있다. 첫째, 지연 시간(Latency). 거대 모델에 모든 요청을 던지면 응답이 느려서 실시간 시스템에 쓸 수 없다. 둘째, 신뢰성(Reliability). 빠른 경량 모델만 쓰면 복잡한 추론에서 환각(Hallucination)이 터진다. “빠르면 부정확하고, 정확하면 느리다"는 딜레마 속에서 대부분의 팀은 하나를 포기한다. 구글이 고속 레이싱 환경에서 실험한 스플릿-브레인(Split-Brain) 아키텍처는 이 딜레마를 정면으로 공략한다. 시속 160km로 달리는 차량에서 AI가 실시간 코칭을 하는 극단적인 시나리오에서 검증된 설계다. ...

February 5, 2026 · 5 min · 938 words · gnosyslambda

OpenAI는 어떻게 PostgreSQL 하나로 8억 사용자를 감당하는가

왜 지금 이게 문제인가 “PostgreSQL은 스타트업 DB 아닌가?” 많은 한국 개발자들이 대규모 트래픽을 언급할 때 당연하게 NoSQL이나 NewSQL을 먼저 떠올린다. 그런데 세계에서 가장 폭발적으로 성장한 서비스인 ChatGPT가 단일 PostgreSQL 프라이머리 인스턴스를 핵심 데이터 저장소로 사용하고 있다는 사실은 업계의 통념을 정면으로 뒤집는다. OpenAI는 1년 만에 트래픽이 10배 증가하는 상황에서도 PostgreSQL을 포기하지 않았다. 대신 약 50대의 읽기 복제본(Read Replica)을 배치하고, 쓰기 부하가 큰 워크로드만 선별적으로 CosmosDB로 분리하는 전략을 택했다. 결과는 p99 레이턴시 두 자릿수 밀리초, 가용성 99.999%. ...

January 28, 2026 · 4 min · 770 words · gnosyslambda

Cloudflare가 인터넷의 20%를 Rust로 다시 쓴 이유

왜 지금 이게 문제인가 전 세계 인터넷 트래픽의 약 20%가 Cloudflare를 경유한다. 이 거대한 트래픽을 처리하는 핵심 프록시가 NGINX + LuaJIT 조합(내부 코드명 FL1)으로 10년 이상 운영되어 왔다. 그리고 Cloudflare는 이것을 **Rust로 완전히 재작성(FL2)**하는 데 성공했다. “동작하는 코드를 왜 다시 짜는가?“라는 질문에 대한 답은 명확하다. 메모리 안전성의 한계: C/C++ 기반의 NGINX는 버퍼 오버플로우, Use-after-free 같은 메모리 취약점의 온상이다. 보안 회사가 자체 프록시에서 메모리 버그를 내는 것은 존재론적 위협이다. 확장성의 벽: NGINX의 모놀리식 구조 위에 LuaJIT으로 비즈니스 로직을 붙이는 방식은 기능이 늘어날수록 유지보수가 기하급수적으로 어려워졌다. 새 기능 하나를 추가하려면 Lua, C, 설정 파일 세 곳을 동시에 건드려야 했다. 성능 천장: LuaJIT의 GC(가비지 컬렉션)가 예측 불가능한 레이턴시 스파이크를 일으켰고, NGINX의 스레딩 모델은 현대적인 비동기 I/O 패턴과 맞지 않았다. Cloudflare의 재작성은 “Rust가 좋으니까"가 아니라, 기존 시스템의 기술적 부채가 사업적 리스크가 되는 시점에서 내린 결정이다. 100명 이상의 엔지니어가 130개 이상의 모듈을 작성하여 점진적으로 트래픽을 이관한, 대규모 시스템 마이그레이션의 교과서적 사례다. ...

October 8, 2025 · 4 min · 729 words · gnosyslambda