$7/월 VPS로 구축한 AI 에이전트, IRC로 소통한다!

by DD
2개월 전
조회수 12

저렴한 VPS(Virtual Private Server) 환경에서 AI 에이전트(AI Agent)를 구축하고, IRC를 통해 웹 기반으로 접근 가능하도록 구현함

GitHub 레포지토리(Repository)를 기반으로 질문에 답변하며, 이력서 기반 챗봇의 한계를 극복하고자 함

Haiku 4.5Sonnet 4.6 모델을 활용하여 비용 효율적인 계층적 추론(Tiered Inference)을 구현함

A2A 프로토콜(Protocol)을 활용하여 에이전트 간 통신을 안전하게 처리하고, 단일 API 키(API Key)로 비용을 관리함

IRC를 전송 계층으로 선택한 이유

저자는 IRC(Internet Relay Chat)를 AI 에이전트의 전송 계층으로 선택한 이유를 세 가지로 설명한다. 첫째, 터미널 UI(User Interface)를 가진 포트폴리오 사이트의 미학에 부합하며, Discord와 같은 다른 플랫폼보다 적합하다는 점이다. 둘째, Ergo IRC 서버, gamja 웹 클라이언트, nullclaw 에이전트 등 모든 구성 요소를 직접 관리하여 벤더 종속(Vendor Lock-in)을 피할 수 있다는 점이다. 셋째, 30년 된 프로토콜로 단순하고 널리 사용되며, SDK나 API 버전 관리의 부담이 없다는 점을 강조한다.

계층적 추론(Tiered Inference)을 통한 비용 절감

저자는 Haiku 4.5Sonnet 4.6 모델을 사용하여 비용 효율적인 추론 방식을 구현했다. Haiku 4.5는 간단한 질문에 대한 답변에 사용되어 빠른 응답 속도와 낮은 비용을 제공하며, Sonnet 4.6은 코드 분석과 같은 복잡한 작업에 사용된다. 이러한 계층적 접근 방식을 통해, 필요한 경우에만 고비용 모델을 사용함으로써, 하루 2달러의 비용 제한을 유지할 수 있었다. 이는 모델 선택(Model Selection)이 시스템 설계의 중요한 부분임을 보여준다.

A2A 프로토콜(Protocol)을 활용한 에이전트 간 통신

저자는 Google A2A 프로토콜(Protocol)을 사용하여 두 개의 에이전트(nullclaw, ironclaw) 간의 안전한 통신을 구현했다. 특히, A2A 호출(Call)을 처리하는 nullclaw는 ironclaw의 추론 파이프라인(Inference Pipeline)을 공유하여, 단일 API 키와 비용 관리 체계를 유지한다. 또한, A2A 엔드포인트(Endpoint)에 대한 엄격한 접근 제어를 통해 프롬프트 주입(Prompt Injection) 공격을 방지하고, Tailscale을 통해 접근을 제한하여 보안을 강화했다.

보안 강화를 위한 최소 공격 표면(Minimal Attack Surface)

저자는 보안을 위해 최소한의 공격 표면을 유지하는 데 중점을 두었다. 구체적으로, SSH는 키 기반 인증(Key-based Authentication)과 비표준 포트를 사용하고, 루트 로그인을 비활성화했다. 또한, UFW(Uncomplicated Firewall)를 사용하여 SSH, IRC(TLS), HTTPS(WebSocket) 포트만 열어두었다. Cloudflare를 프록시(Proxy)로 사용하여 웹 방문자의 직접적인 접근을 차단하고, 에이전트는 제한된 파일 접근 권한과 명령어를 사용하도록 샌드박싱(Sandboxing)했다. 이러한 조치들을 통해, 잠재적인 보안 위협을 최소화했다.

Show HN: I put an AI agent on a $7/month VPS with IRC as its transport layer