AI 에이전트를 활용한 애플리케이션 개발 시, 개발팀은 반복적으로 동일한 문제에 직면합니다. 바로 유휴 상태일 때는 비용 없이 대기하고, 필요할 때 빠르게 재개되며, 작업 파일과 컨텍스트를 유지하는 장기 실행 프로세스의 부재입니다. 이러한 요구사항을 충족하려면 머신 라이프사이클 관리, 샌드박스 설정, 자격 증명 처리, 통신 인프라 구축 등 제품의 핵심 기능과는 무관한 복잡한 작업들이 선행되어야 합니다. 이러한 어려움을 해결하기 위해 오픈소스 대화형 API '파운틴(Fountain)'이 등장했습니다.
파운틴은 앱이 '대화 가능한 컴퓨터'를 가질 수 있도록 지원하는 셀프 호스팅 가능한 오픈소스 API입니다. 사용자가 프롬프트를 보내면, 필요한 저장소(repository), 도구, 자격 증명을 갖춘 샌드박스가 활성화되고 에이전트가 작업을 시작하며, 결과는 스트림 형태로 다시 전달됩니다. 파운틴은 환경(머신 설정), 볼트(자격 증명), 에이전트(런타임, 모델, 스킬), 대화(실행 중인 작업)의 네 가지 핵심 요소를 분리하여 관리합니다. 이를 통해 개발자는 각 요소를 독립적으로 변경하고 재사용할 수 있어, 동일한 설정을 여러 제품이나 자동화 워크플로우에 쉽게 적용할 수 있습니다.
파운틴의 가장 큰 장점은 에이전트의 활용 방식을 유연하게 선택할 수 있다는 점입니다. 개발자는 에이전트의 작업 과정을 화면에 직접 보여주며 엔지니어가 작업을 지시하는 '에이전트 온 더 글라스(Agent on the glass)' 방식의 엔지니어링 워크벤치를 구축할 수 있습니다. 또는 고객에게는 결과물만 제공하고 에이전트는 백그라운드에서 작동하는 '에이전트 비하인드 더 인터페이스(Agent behind the interface)' 형태로 제품에 통합할 수도 있습니다. 나아가 웹훅(webhook)이나 크론 잡(cron job), CI/CD 파이프라인 등 외부 트리거에 의해 자동으로 작업을 시작하고 결과를 반환하는 '에이전트 오프 온 잇츠 온(Agent off on its own)' 방식의 자동화 시스템 구축도 가능합니다. 이 모든 시나리오에서 파운틴은 동일한 대화형 API를 기반으로 작동하며, 사용자는 원하는 런타임(Claude Code, Codex 등)과 모델 제공업체(Anthropic, OpenAI, Google Gemini 등)를 자유롭게 선택하고 자체 자격 증명을 사용할 수 있습니다. 또한, 모든 데이터는 사용자의 서버에 저장되어 데이터 주권을 보장합니다. 이는 AI 에이전트 기반 애플리케이션 개발의 복잡성을 크게 줄여주며, 개발자가 핵심 제품 기능 구현에 집중할 수 있도록 돕는 중요한 진전입니다.
