Milo: 살아있는 개발자 포트폴리오를 위한 AI 에이전트
요약
Milo는 개발자 포트폴리오를 정적인 문서가 아닌, 상호작용적이고 프로그래밍 가능한 AI 에이전트로 구현한 사례입니다. PostgreSQL을 진실의 원천으로 사용하고 FastAPI 백엔드를 통해 데이터에 대한 제어된 작업을 노출합니다. 언어 모델은 직접 DB에 접근하는 대신 정의된 도구(tools)를 사용하여 정보를 검색하고 작업을 수행하며, 이는 추론과 비즈니스 로직 간의 분리를 보장합니다.
핵심 포인트
- 포트폴리오를 상호작용적 AI 에이전트로 구현함.
- PostgreSQL을 진실의 원천으로 사용하고 FastAPI로 API 노출.
- LLM은 정의된 도구(tools)만 사용하여 데이터에 접근하도록 제어됨.
- 직무 기술서 기반 맞춤형 CV 생성 워크플로우를 제공함.
Milo는 저의 개발자 포트폴리오를 중심으로 구축된 AI 에이전트로, 전통적으로 정적인 포트폴리오를 상호작용적이고 프로그래밍 가능한 시스템으로 변환하도록 설계되었습니다.
포트폴리오 정보가 프론트엔드 컴포넌트 내부에 직접 저장되거나 수동으로 관리되는 문서에 의존하는 대신, 이 포트폴리오는 프로젝트, 경험, 기술, 아티클, 해커톤, 인증서, 링크 및 CV 데이터를 위한 진실의 원천(source of truth)으로 PostgreSQL을 사용합니다. FastAPI 백엔드가 이 데이터에 대한 제어된 작업을 노출하며, React 프론트엔드는 런타임에 동일한 백엔드를 소비합니다.
Milo는 이러한 아키텍처 위에 대화형 인터페이스로 자리 잡습니다. 언어 모델이 데이터베이스에 무제한 접근하는 대신, Milo는 정보를 검색하고 허용된 작업을 수행하기 위해 백엔드에서 정의된 도구(tools)를 사용합니다. 이는 추론 계층과 애플리케이션의 데이터 및 비즈니스 로직 사이에 분리를 만듭니다.
이 시스템은 또한 Telegram에 연결되어 포트폴리오 소유자가 원격으로 Milo와 상호작용할 수 있게 합니다. 소유자별 작업은 방문자 상호작용과 별도로 보호되며, 잠재적으로 파괴적인(destructive) 작업은 실행 전에 확인을 필요로 합니다.
더 진보된 워크플로우 중 하나는 CV 큐레이션입니다. 직무 기술서(job description)가 주어지면, Milo는 구조화된 포트폴리오 및 경험 데이터를 검색하고 기존 정보에서 관련 증거를 식별하여, 자격이나 경험을 지어내지 않고 맞춤형 CV를 생성할 수 있습니다. 이 워크플로우는 변경 불가능한 기본 CV 데이터와 직무별 큐레이션을 분리하여, 생성된 버전이 근본적인 포트폴리오에 기반하도록 합니다.
스택에는 프론트엔드에서 React 및 TypeScript, 백엔드에서 FastAPI 및 Python이 포함되며, 영구 데이터를 위해 PostgreSQL을 사용하고, 원격 상호작용을 위해 Telegram을 사용하며, AI 계층을 위해 Groq 기반의 언어 모델을 사용합니다. 이 시스템은 AI 기능이 애플리케이션의 백엔드를 대체하기보다는 기존 애플리케이션 아키텍처 위에 추가되도록 설계되었습니다.
Milo는 제가 AI 애플리케이션으로 탐구해 온 방향을 나타냅니다. 단순히 챗봇을 구축하는 것이 아니라, 제어된 도구(controlled tools), 구조화된 데이터(structured data), API, 그리고 명시적 권한(explicit permissions)을 통해 언어 모델을 실제 애플리케이션 기능에 연결하는 것입니다.
Github repo
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기