컨테이너의 안전함에서 벗어나기 — NanoClaw에서 Hermes로
컨테이너 격리는 안전했지만 그만큼 기능도 제약됐다. 자율성과 지속적 발전을 염두에 두면 제한을 풀어야 하고, 풀면 보안이 따라와야 한다. 그 중간 합의점으로 Hermes를 택하며 겪은 실제 사례를 정리한다.
Cloud 인프라 · DevOps · Vibe 코딩의 기술과 경험을 기록합니다.
컨테이너 격리는 안전했지만 그만큼 기능도 제약됐다. 자율성과 지속적 발전을 염두에 두면 제한을 풀어야 하고, 풀면 보안이 따라와야 한다. 그 중간 합의점으로 Hermes를 택하며 겪은 실제 사례를 정리한다.
LangGraph를 도입했는데 코드가 오히려 스파게티가 됐다. 노드 1개짜리 래퍼, 이중 체크포인팅, 3개 Executor에 흩어진 8천여 줄의 중복. 개인 프로젝트에서 직접 겪은 실패의 해부와, 거기서 배운 구조화 원칙을 정리한다.
ChatGPT처럼 한 글자씩 도착하는 응답의 뒤에는 Streamable HTTP가 있다. HTTP/1.1 chunked와 HTTP/2 DATA frame의 차이, LLM 토큰 스트리밍에서 버퍼링을 꺼야 하는 이유와 그 메모리 대가, 그리고 Envoy Gateway·APISIX 선택 기준까지.
LangChain/LangGraph의 연장선에서 등장한 Deep Agents가 무엇인지, 어떻게 발전해 왔는지, 그리고 기술적으로 어떤 특징을 갖는지 정리한다. 핵심은 하나다 — Claude Code가 로컬에서 보여준 Skill 기반 실행 체계가, 이제 웹 애플리케이션 안에서 그대로 재현 가능해졌다는 점이다.
블로그에 큐레이션 피드 섹션을 신설하고, Hermes cron 두 잡이 매일 아침 실데이터를 수집·요약해 md로 발행하고, 스크립트가 커밋·배포까지 끌고 가게 만든 과정. 왜 뉴스 잡에 opus를 버리고 sonnet을 골랐는지, 유형 구분을 색이 아니라 라벨로 한 이유, 발행을 cron이 아니라 스크립트에 맡긴 판단까지.
Linear가 왜 그렇게 빠른지를 아키텍처 관점에서 분해한다. 비결은 최적화가 아니라 '네트워크를 UI의 임계 경로에서 완전히 제거한다'는 설계 결정이다. local-first 동기화 엔진, MobX observable, IndexedDB 세 가지가 맞물려야 50ms 페이지 로드가 나오고, 하나라도 빠지면 무너진다. 앞서 살핀 로컬 우선 도구들과 같은 가치관을, Linear는 앱 아키텍처 수준에서 극단까지 밀어붙인 사례다.
코드팩토리 영상이 정리한 RAG Loop·하네스·루프 엔지니어링 세 단어는 경쟁이 아니라 한 줄로 이어진 발전이다. 하네스(정적 제약) 다음에 오는 루프 엔지니어링은, 내가 매번 AI에게 다시 치던 N번째 프롬프트를 시스템 안으로 옮기는 일이다. 내 블로그 발행 파이프라인이 사실상 루프였다는 걸 돌아보며, 루프가 비효율이 되는 조건까지 짚는다.