View a markdown version of this page

서버리스 AI를 위한 CI/CD 및 자동화 - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

서버리스 AI를 위한 CI/CD 및 자동화

기존 소프트웨어 개발에서 지속적 통합 및 배포(CI/CD)를 통해 팀은 변경 사항을 빠르고 안전하게 테스트하고 릴리스할 수 있습니다. 서버리스 AI 시스템에서 CI/CD는 서비스의 휘발성 이벤트 기반 특성과 AI 모델 및 프롬프트의 휘발성 동작으로 인해 훨씬 더 중요해집니다.

인프라(예: AWS Lambda Amazon API Gateway 및 Amazon Bedrock 에이전트)에서 로직(예: 프롬프트, RAG 흐름 및 에이전트 도구 구성)에 이르기까지 모든 항목의 버전을 지정하고 테스트해야 합니다. 그런 다음 이러한 구성 요소를 환경에 일관되게 배포해야 합니다.

CI/CD 관행을 구현하지 않으면 조직은 다음과 같은 위험에 직면합니다.

  • 수동 AWS Identity and Access Management (IAM) 또는 프롬프트 변경으로 인해 인적 오류가 증가합니다.

  • 모델 및 인프라 드리프트는 development/test/production덕션 환경에서 발생합니다.

  • 병목 현상을 테스트하면 혁신 속도가 느려집니다.

  • 검증되지 않은 업데이트는 가동 중지 또는 동작 변경의 위험을 초래합니다.

서버리스 AI의 CI/CD 기능

CI/CD는 서버리스 AI에서 다음과 같은 기능과 관련 이점을 제공합니다.

  • 안전한 프롬프트 및 에이전트 버전 관리 - 프롬프트 및 에이전트 구성 변경 사항은 검토, 테스트 및 승인 프로세스를 통과합니다.

  • 인프라 재현성 - AWS Cloud Development Kit (AWS CDK) 또는를 사용하는 코드형 인프라(IaC)는 여러 단계에서 환경이 동일한지 확인하는 데 AWS CloudFormation 도움이 됩니다.

  • 통합 테스트 - 배포 전에 프롬프트 테스트, 스키마 검증 및 보안 검사를 실행합니다.

  • 자동 배포 승인 - 수동 검토 및 자동 지표를 포함하여 프로덕션 홍보에 가드레일을 사용합니다.

  • 롤백 및 감사 - 태그가 지정된 버전을 사용하면 신속한 롤백 및 규정 준수 추적이 가능합니다.

  • 빈번한 저위험 업데이트 - 대규모 언어 모델(LLM) 애플리케이션 및 프롬프트 튜닝을 위한 빠른 반복 주기를 활성화합니다.

서버리스 AI 프로젝트를 위한 일반적인 CI/CD 워크플로

서버리스 AI 프로젝트를 위한 포괄적인 CI/CD 파이프라인에는 여러 단계가 포함됩니다. 다음 목록은 연결된 작업 및 예제 도구를 포함하여 일반적인 CI/CD 워크플로의 각 단계를 간략하게 설명합니다.

  • 코드 및 프롬프트 커밋 - 개발자는 GitHub 또는 GitLab과 같은 도구를 사용하여 업데이트된 Lambda 함수, AWS CDK 코드 또는 프롬프트 텍스트를 Git에 푸시합니다. GitLab

  • 빌드 및 린트 - for JavaScript, ESLint for , 및 사용자 지정 프롬프트 검사기와 같은 도구를 사용하여 구문, 프롬프트 형식 Python yamllint및 스키마 정렬Black을 검증합니다.

  • 단위 테스트 및 프롬프트 회귀 - pytest, 및 사용자 지정 픽스처를 사용하여 로컬 로직 및 단위 테스트promptfoo와 골든 프롬프트-응답 테스트를 실행합니다.

  • IaC 검증 - AWS CDK 및를 사용하여 및 CloudFormationtemplates 합성cdk synth하고 검증합니다cfn–lint.

  • 통합 테스트 - AWS CodeBuild 및 모의 에이전트를 사용하여 스테이징에 배포하고 전체 워크플로(예: Amazon S3를 Amazon Bedrock 에이전트에 업로드)를 호출합니다.

  • 수동 또는 자동 승인 - AWS CodePipeline 또는 GitHub Actions 게이트를 사용하여 모델 비용 영향 및 승인 체크리스트(예: 프롬프트 변경)를 검토합니다.

  • 프로덕션에 배포 - , 및 AWS SAM 명령줄 인터페이스(CLI)를 사용하여 스택을 승격하고, Amazon Bedrock 에이전트 구성을 업데이트하고 AWS CodeDeploy AWS CDK, 프롬프트를 게시합니다.

  • 배포 후 연기 테스트 - Amazon CloudWatch Synthetics를 사용하여 프로덕션 에이전트 출력, 로그 캡처 및 롤백 준비 상태를 검증하고 Lambda를 테스트합니다.

  • 모니터링 및 관찰 - CloudWatch, Amazon Bedrock 토큰 로그(CloudWatch를 통해) 및를 사용하여 대시보드, 비용 알림 및 토큰 사용 모니터를 자동으로 생성합니다 AWS X-Ray.

프롬프트 및 Amazon Bedrock 에이전트에 대한 CI/CD

프롬프트 및 Amazon Bedrock 에이전트 구성은 CI/CD 프로세스에서 특별한 처리가 필요합니다.

  • 소스 제어에서 프롬프트를 버전이 지정된 자산으로 취급합니다(예: /prompts/v1/agent-support-en.yaml).

  • 자동 골든 테스트 사례에 프롬프트를 포함합니다.

  • IaC 템플릿을 사용하여 Amazon Bedrock 에이전트 구성(도구, 지침 및 지식 기반 URIs.

  • 다음과 같은 경우에만 Amazon Bedrock 에이전트 업데이트를 배포합니다.

    • 프롬프트 회귀 테스트가 통과합니다.

    • 도구 권한은 IAM 템플릿과 일치합니다.

    • 신뢰도 임계값 또는 검증 Lambda 결과는 허용 기준을 충족합니다.

이 접근 방식은 자동 프롬프트 성능 저하를 방지하고 프로덕션 환경에서 반복 가능한 생성형 AI 동작을 보장합니다.

AgentCore를 CI/CD 파이프라인과 통합

Amazon Bedrock AgentCore는 에이전트 배포, 테스트 및 진화를 위한 관리형 런타임 및 메모리 패브릭을 도입하여 기존 CI/CD 자동화를 확장합니다. 현재 서버리스 파이프라인은 에이전트 코드의 패키징 및 배포를 자동화합니다(예: , AWS CodePipeline AWS CodeBuild또는를 통해 AWS CDK). 그러나 AgentCore는이 프로세스에 직접 통합되어 배포 수명 주기의 일부로 에이전트 상태, 메모리 및 도구 커넥터를 관리합니다.

CI/CD 파이프라인과 AgentCore의 주요 통합 지점은 다음과 같습니다.

  • 런타임 등록 및 버전 관리 - 배포된 각 에이전트는 조정, 라우팅 및 수명 주기 오케스트레이션을 처리하는 AgentCore 런타임에 등록할 수 있습니다. 이 접근 방식은 CI/CD 워크플로에서 사용자 지정 레지스트리 또는 서비스 검색 로직을 유지 관리할 필요성을 대체합니다.

  • 메모리 스냅샷 및 승격 - 자동 테스트 중에 AgentCore는 학습된 컨텍스트 또는 상태를 포함한 에이전트 메모리 스냅샷을 유지하고 파이프라인을 통해 코드 아티팩트와 함께 승격할 수 있습니다. 이 기능을 사용하면 개발, 스테이징 및 프로덕션 환경 간의 컨텍스트 연속성이 가능합니다.

  • 도구 구성 관리 - 팀은 AgentCore Gateway 도구를 사용하여 동일한 파이프라인 내에서 다른 AWS 서비스 (예: Amazon DynamoDB, Amazon S3, Amazon Bedrock FMs 또는 Amazon EventBridge)와의 통합 지점을 선언적으로 정의할 수 있습니다. 이 구성 관리 기능은 일관되고 감사 가능한 액세스 구성을 제공하는 데 도움이 됩니다.

  • 검증을 위한 관찰성 후크 - AgentCore는 에이전트 실행을 위한 기본 제공 원격 측정을 공개하므로 CI/CD 파이프라인이 배포 전에 성능, 추론 품질 및 규정 준수 지표를 자동으로 검증할 수 있습니다.

CodePipeline 배포는 다음 단계로 구성될 수 있습니다.

  1. CodeBuild를 사용하여 새 에이전트 코드를 빌드합니다.

  2. 실행을 위해 에이전트를 AgentCore 런타임에 배포합니다.

  3. AgentCore 메모리를 사용하여 실행 간에 상태를 유지하고 비교하는 자동 통합 테스트를 실행합니다.

  4. 검색 및 오케스트레이션을 위해 AgentCore 레지스트리를 업데이트하는 동안 성공적인 빌드를 프로덕션으로 승격합니다.

AWS 서비스 CI/CD 도구용

다음은 서버리스 AI에 대한 CI/CD 구현을 AWS 서비스 지원합니다.

  • AWS CodePipeline는 코드, 프롬프트 및 인프라를 위한 end-to-end 파이프라인 기능을 제공합니다.

  • AWS CodeBuild는 테스트, 린트 및 검증을 실행합니다.

  • AWS CDKCloudFormation과 HashiCorp Terraform(타사 도구)는 인프라, 에이전트, 권한 및 워크플로를 정의합니다.

  • Amazon S3는 버전이 지정된 프롬프트 파일과 에이전트 템플릿을 저장합니다.

  • Amazon Bedrock API 및 CLI는 프롬프트와 에이전트 정의를 동적으로 등록합니다.

  • CloudWatch Synthetics는 배포 후 프로브 및 신뢰도 검증을 수행합니다.

  • Lambda@EdgeAmazon EventBridge는 드리프트 및 배포 실패와 같은 모니터링된 이벤트에서 CI/CD를 트리거합니다.

CI/CD 및 자동화 요약

CI/CD는 단순히 모범 사례가 아니라 안전하고 신뢰할 수 있는 AI 시스템을 확장하는 데 필요합니다. 프롬프트 민감도, 도구 자율성 및 인프라 복잡성을 통해 자동화는 다음과 같은 몇 가지 중요한 이점을 제공합니다.

  • 위험을 줄이면서 더 빠른 혁신 주기

  • 관리 및 감사 가능한 업데이트

  • 팀 및 리전 전반의 안정적인 환경

  • 로직과 언어 모두에 대한 통합 테스트

AgentCore를 CI/CD 파이프라인에 통합하면 에이전트 배포가 코드 전송에서 지속적인 기능 전송으로 진화합니다. 추론, 메모리 및 상태는 최신 서버리스 AI 시스템에서 최고의 배포 가능 자산이 됩니다.

DevOps 원칙을 AI 네이티브 아키텍처에 적용하면 기업은 속도와 규모에 따라 AI를 책임감 있게 프로덕션에 도입할 수 있습니다.