
하나의 CLI로 AI 에이전트에게 데이터베이스, 컴퓨팅, 스토리지 및 모델을 제공하기
요약
Neon의 새로운 플랫폼 프리뷰를 통해 데이터베이스, 컴퓨팅, 스토리지, 모델 게이트웨이를 하나의 CLI로 통합 관리하는 방법을 소개합니다. 복잡한 자격 증명 관리 없이 단일 명령어로 AI 에이전트 인프라를 구축하는 실전 사례를 다룹니다.
핵심 포인트
- Neon CLI를 통해 DB, 컴퓨팅, 스토리지, 모델을 하나의 계정으로 통합 관리 가능
- neonctl bootstrap 명령어로 AI 에이전트 스타터 템플릿 즉시 구성
- 별도의 API 키나 연결 문자열 설정 없이 선언적 인프라 프로비저닝 지원
- 현재 AWS us-east-2 리전 및 프리뷰 프로젝트에서만 사용 가능
제대로 작동하는 AI 에이전트는 화려하지 않은 쇼핑 리스트를 가지고 있습니다. 무언가를 기억하기 위한 데이터베이스(database), 타임아웃 없이 토큰을 스트리밍하며 실행할 수 있는 컴퓨팅(compute) 환경, 생성된 결과물을 담을 객체 스토리지(object storage), 그리고 모델(model)에 대한 접근 권한이 필요합니다. 일반적인 방식으로 이를 조립하려면 네 가지 별도의 가입 절차가 필요합니다. Postgres 호스트, 컴퓨팅 플랫폼, S3 버킷, 그리고 OpenAI 또는 Anthropic 계정이며, 각 환경마다 프로비저닝(provision), 주입(inject), 순환(rotate)을 위한 고유한 자격 증명(credential)이 필요합니다.
Neon의 2026년 6월 플랫폼 프리뷰(platform preview)는 이 리스트를 하나로 통합합니다. 데이터베이스, 컴퓨팅, 스토리지, 그리고 모델 게이트웨이(model gateway)가 모두 하나의 계정에서 제공되며 함께 브랜치(branch)된다는 것이 핵심입니다. 이것이 실제인지 아니면 단순한 발표용 슬라이드인지 알고 싶었기에, 저는 전형적인 예시를 처음부터 끝까지 구축했습니다. 프롬프트(prompt)를 입력받아 모델을 호출하고, 결과를 저장하며, 이를 Postgres에 인덱싱(indexing)하는 이미지 생성 에이전트입니다. 다음은 실제 명령어와 출력 결과, 그리고 프리뷰 단계에서 여전히 제한적인 부분들을 포함한 빌드 로그입니다.
(동반 리포지토리: The-DevOps-Daily/neon-ai-agent. 아래의 모든 과정은 글을 쓰는 동안 생성된 새로운 프로젝트를 대상으로 실행되었습니다.)
전체 스택을 구성하는 단 하나의 명령어
Neon은 CLI를 통해 스타터 템플릿(starter templates)을 제공합니다. 이미지 에이전트가 그중 하나입니다:
neonctl bootstrap ./ai-agent --template ai-sdk
이 명령은 26개의 파일을 구성합니다: Hono 함수, Drizzle 스키마(schema), neon.ts 설정, 그리고 (훌륭한 디테일로) 프로젝트 편집에 아마도 사용 중일 AI 어시스턴트를 위한 기술 문서가 포함된 .agents/skills/ 디렉토리입니다. Neon은 자사 제품을 위한 에이전트 지침(agent instructions)을 번들로 제공하며, 이는 이 템플릿이 누구를 대상으로 하는지를 알려줍니다.
중요한 파일은 neon.ts입니다. 이는 전체 백엔드(backend)가 하나의 객체로 선언되어 있습니다:
import { defineConfig } from '@neondatabase/config/v1';
export default defineConfig({
...
세 줄의 의도: AI 게이트웨이(AI gateway)를 켜고, images라는 이름의 버킷(bucket)을 생성하며, src/index.ts를 함수(function)로 배포하라. 연결 문자열(connection strings), 버킷 ARN, 모델 API 키는 필요 없습니다. 그것들은 나중에 자동으로 채워집니다.
연결(Linking)은 프로젝트를 생성하고, 배포(deploying)는 그 외의 모든 것을 생성합니다
neon link는 Neon 프로젝트를 생성하고 연결합니다. 새로운 플랫폼 기능은 프라이빗 프리뷰(private preview) 상태이므로, 사전에 명시해야 할 두 가지 제약 사항이 있습니다: 모든 것은 AWS us-east-2에 있으며, 프리뷰 내에서 생성된 프로젝트에서만 작동한다는 점입니다. 기존의 Neon 데이터베이스에는 이러한 기능이 즉시 적용되지 않습니다.
그 다음 neon deploy는 neon.ts를 읽고 선언된 서비스들을 프로비저닝(provision)합니다. 연결부터 배포까지의 전체 시퀀스는 다음과 같습니다:
마지막 줄이 실제 제품입니다. 11개의 환경 변수(DATABASE_URL, S3 액세스 키/비밀 키/엔드포인트, 그리고 AI 게이트웨이 토큰 및 베이스 URL)가 모두 저를 위해 작성되었으며, 모두 이 브랜치에 범위가 지정(scoped)되었습니다. 평소라면 네 개의 대시보드에서 각각 수집해야 했을 네 가지 자격 증명(credentials)이 단 한 번의 deploy로 전달되었습니다.
모델 호출: 하나의 자격 증명으로 어떤 제공업체든 사용
AI 게이트웨이(AI Gateway)는 OpenAI와 호환됩니다. 기존 SDK의 베이스 URL(base URL)만 변경하면 바로 작동하므로, 가장 저렴한 카탈로그 모델을 대상으로 하는 동일한 채팅 완성(chat completion) 요청이 현재 사용 중인 도구에서 다음과 같이 구현됩니다:
curl:
curl "$NEON_AI_GATEWAY_BASE_URL/ai-gateway/mlflow/v1/chat/completions" \
-H "Authorization: Bearer $NEON_AI_GATEWAY_TOKEN" \
-d '{"model":"gpt-5-nano","messages":[
...
Python:
from openai import OpenAI
client = OpenAI(base_url=GATEWAY_URL, api_key=GATEWAY_TOKEN)
...
Node:
import OpenAI from 'openai';
const client = new OpenAI({ baseURL: GATEWAY_URL, apiKey: GATEWAY_TOKEN });
...
한 번의 호출로 모델로부터 기대하는 정확한 결과를 반환합니다:
{
"model": "gpt-5-nano-2025-08-07",
"choices": [{ "message": { "role": "assistant",
...
동일한 토큰이 Anthropic, OpenAI, Google 및 몇몇 오픈 소스 (open-source) 제공업체에 걸쳐 약 25개의 모델에 도달합니다. 단 하나의 model 문자열을 변경함으로써 모델 간을 이동할 수 있습니다. 이 프로젝트에는 별도의 OpenAI 또는 Anthropic 계정이 필요하지 않습니다. 공시된 가격은 각 제공업체의 자체 리스트 요금과 동일해 보이므로, 게이트웨이는 단일 자격 증명(credential)의 편리함을 제공하면서 패스스루 (pass-through) 방식으로 작동합니다.

핵심은 특정 숫자가 아니라, "CI에서는 저렴한 모델을 사용하고 프로덕션(prod)에서는 프론티어 모델(frontier model)을 사용한다"는 설정이 별도의 벤더 통합 과정 없이 단순한 설정값(config value)이 된다는 점입니다.
함수가 일반 S3 SDK로 접근할 수 있는 스토리지
images 버킷은 귀하의 코드 입장에서 보면 일반적인 S3입니다. 주입된 AWS_* 변수들이 표준 AWS SDK를 브랜치 범위(branch-scoped)의 엔드포인트로 가리키기 때문에, 별도의 커스텀 클라이언트 없이 함수 내부에서 바로 작동합니다:
const s3 = new S3Client({ forcePathStyle: true });
await s3.send(new PutObjectCommand({
Bucket: 'images', Key: key, Body: jpeg, ContentType: 'image/jpeg',
...
저는 이를 직접 확인했습니다: PutObject 후 GetObject를 수행했을 때 왕복(round-tripped)이 이루어졌으며, 프리사인드 URL(presigned URL)은 브랜치에 범위가 지정된 호스트(br-green-star-….storage.c-3.us-east-2.aws.neon.tech)로 반환되었습니다. 이러한 브랜치 범위 지정은 외부 S3 버킷을 데이터베이스에 단순히 결합하는 방식으로는 얻을 수 없는 부분입니다. 브랜치를 열면 해당 브랜치의 파일들도 함께 포크(fork)되므로, 프리뷰 환경(preview environment)이 프로덕션의 객체에 절대 쓰기를 수행하지 않습니다.
종합: 에이전트 실행
이 함수는 작은 핸들러(handler)입니다. 모델의 응답을 스트리밍하며, 모델이 이미지 생성 도구(image-generation tool)를 호출하면 JPEG를 버킷에 업로드하고, Postgres에 행(row)을 삽입한 뒤, 프리사인드 URL을 반환합니다. 배포된 에이전트를 호출하면 다음과 같습니다:
curl -X POST "$IMAGEGEN_URL" -H 'content-type: application/json' \
-d '{"messages":[{"role":"user",
"content":"Draw a small minimalist server rack icon, flat style"}]}'
에이전트가 설명하고 그림을 그리는 동안 응답이 스트리밍되며, 그 이후에는 모든 부수 효과 (side effects)가 적용되어 있습니다. 객체는 버킷에 저장되어 있고, Postgres에는 해당 객체를 가리키는 행(row)이 삽입되어 있습니다:
id | prompt | bucket_key | bytes
----+-----------------------------------+-------------------------------------+-------
2 | Draw a small minimalist server... | generated/ed49b102-…-f8c46e2f8c16.jpg | 47372
...
빈 디렉토리에서 이미지를 생성하고, 저장하고, Postgres에 인덱싱하는 배포된 에이전트까지 구축하는 데 단 몇 분과 정확히 하나의 자격 증명 (credential)이 소요되었습니다. 모델 호출 (model call), 파일 쓰기 (file write), 데이터베이스 삽입 (database insert)은 모두 제가 아닌 플랫폼에 의해 연결되었습니다.
여전히 프리뷰 단계인 부분
빌드는 매끄러웠지만, 현재 프라이빗 프리뷰 (private preview) 단계이므로 이를 바탕으로 계획을 세우기 전에 알아두어야 할 몇 가지 미흡한 점이 있습니다.
단일 리전, 신규 프로젝트 전용. 모든 것은 AWS
us-east-2에 있으며, 프리뷰 내에서 생성된 프로젝트에서만 작동합니다. 현재로서는 이러한 기능들을 기존의 운영 (production) 데이터베이스에 결합할 수 없습니다.
- 함수는 요청/응답 방식이며, 작업 실행기(job runner)가 아닙니다. 에이전트의 동기식 루프 및 스트리밍에 매우 유용합니다. 백그라운드 작업(큐, 재시도, 스케줄링)은 여전히 Inngest나 QStash와 같은 별도의 시스템에 속해야 합니다.
- 두 가지 게이트웨이 방언(dialect)이 있으며, 이는 중요합니다.
OPENAI_BASE_URL을 사용하면 Neon이 OpenAI Responses API 경로에 포인트를 주입합니다. 일반적인 chat-completions 호출의 경우 대신mlflow방언 경로가 필요합니다. 저는 경로를 변경하기 전까지 404 오류를 만났습니다. 실제로 제공되는 SKILL 문서에는 이 내용이 설명되어 있는데, 이는 먼저 읽으면 시간을 절약해 주는 종류의 세부 사항입니다. - 결제는 반(半)공개적입니다. 모델별 토큰 가격은 나열되어 있지만, 그 위에 마크업이나 프리뷰 크레딧이 추가되는지는 명확하게 설명되어 있지 않습니다. 데모용으로는 괜찮지만, 예산 책정 전에 질문해야 할 사항입니다.
- 편의성에는 결합(coupling)도 포함됩니다. 함수, 버킷, 게이트웨이를 선언하는 하나의 설정 파일은 설계상 Neon 형태를 띱니다. S3 호환 API와 표준 SDK는 탈출로를 넓게 유지하지만, 이는 이전에 개별적으로 구매했던 네 가지 항목에 대해 한 공급업체에 베팅하는 것입니다.
그래서 정말인가요?
네,
오늘 당장 이를 기반으로 구축해야 할지는 프라이빗 프리뷰 (private preview)와 공급업체 통합 (vendor consolidation)에 대한 귀하의 선호도에 달려 있습니다. 하지만 방향성 측면에서 볼 때, 하나의 CLI (Command Line Interface)로부터 제공되는 에이전트 스택 (agent stack)은 매우 명확한 비전을 제시합니다. 저희는 Neon is becoming a backend platform, not just Postgres에서 그 이면에 담긴 전략을 심도 있게 다루었으며, Neon vs Supabase series에서 Neon의 데이터베이스 측면을 벤치마크 (benchmark)했습니다. 이러한 기능들이 프리뷰 단계를 벗어남에 따라, 저희는 동일한 방식으로 테스트를 계속할 것입니다. 즉, 실제 프로젝트, 실제 결과물, 그리고 여러분이 직접 실행해 볼 수 있도록 공개된 데모 코드 (demo code)를 통해 검증할 것입니다.
전체 프로젝트는 GitHub에 있습니다. 클론 (Clone)한 뒤, neonctl을 새로운 us-east-2 프로젝트로 지정하고 deploy 하세요:
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기