기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon Bedrock AgentCore를 사용하여 Lambda 테스트 이벤트 생성 자동화
Ishita Gupta 및 Kriti Gupta, Amazon Web Services
요약
이 패턴은 Amazon Bedrock의 생성형 AI 기능을 사용하여 AWS Lambda 함수에 대한 포괄적인 테스트 사례를 자동으로 생성하기 위한 AI 기반 접근 방식을 제공합니다. 이 패턴은 Amazon Bedrock AgentCore에 배포된 3-에이전트 아키텍처(분석기, 생성기 및 검사기)를 구현합니다.이 아키텍처는 실제 Lambda 함수 코드를 분석하여 입력/출력 패턴을 추출하고 사실적인 데이터를 사용하여 긍정적, 부정적 및 엣지 케이스 테스트 시나리오를 생성합니다.
아키텍처는 분석기 에이전트가 Amazon Bedrock을 사용하여 Lambda 코드를 가져오고 분석하고, 생성기 에이전트가 학습된 패턴을 기반으로 테스트 사례를 생성하고, 검사기 에이전트가 중복 제거 및 순위를 통해 품질을 보장하는 지능형 워크플로를 설정합니다. Amazon DynamoDB 기반 메모리 스토어를 사용하면 사용자 피드백에서 지속적으로 학습할 수 있으므로 시간이 지남에 따라 테스트 생성 정확도가 향상됩니다. Amazon Cognito는 JSON 웹 토큰(JWT) 기반 API 권한 부여를 통해 안전한 사용자 인증을 제공합니다. Amazon Bedrock 가드레일은 모든 Amazon Bedrock API 호출에 대해 즉각적인 공격 필터링, 민감한 정보 수정 및 콘텐츠 안전 적용을 제공합니다. 주요 기능:
다국어 지원: Python, Java, C#, JavaScript/TypeScript 및 Ruby Lambda 함수
Intelligent Code Chunking: 분석을 위해 대규모 코드베이스를 관리 가능한 청크로 자동 분할
병렬 처리: 더 빠른 테스트 생성을 위한 동시 Amazon Bedrock API 호출(코드 분석을 위한 동시 작업자 5명, 병렬 청크당 테스트 생성)
대상별 분석: Lambda 코드 내의 특정 함수, 클래스 또는 파일에 집중
패턴 학습: 대상별 및 글로벌 패턴 스토리지가 있는 Amazon DynamoDB 기반 메모리 스토어
거부 방지: 거부된 테스트 사례에서 학습하여 일반적인 실수를 방지합니다.
연속 메커니즘: 자동 연속으로 불완전한 Amazon Bedrock 응답을 처리합니다.
패턴 무시: 분석에서 테스트 파일, 종속성 및 코드 외 파일을 제외합니다.
서버리스 배포: Cognito 기반 인증을 사용하여 Amazon Bedrock AgentCore에서 실행
보안 가드레일: 모든 AI 호출에 대한 프롬프트 공격 필터링, 개인 식별 정보(PII) 수정, 콘텐츠 안전 및 거부된 주제 차단을 위한 Amazon Bedrock 가드레일
이 패턴은 Lambda 테스트를 가속화하고, 테스트 범위를 개선하고, AI 지원 테스트 생성을 통해 높은 코드 품질을 유지하려는 개발 팀과 조직에 적합합니다. 이 패턴은 AWS 관리형 서비스를 사용하여 테스트 생성을 간소화하고, 학습을 통해 품질을 개선하고, 진화하는 테스트 요구 사항에 맞게 확장합니다.
사전 조건 및 제한 사항
사전 조건
이 패턴을 성공적으로 구현하려면 다음이 마련되어 있어야 합니다.
활성 AWS 계정 - Lambda 함수에 액세스하고, Amazon Bedrock 모델을 호출하고, DynamoDB 테이블을 생성하고, Cognito 사용자 풀을 관리하고, Amazon Bedrock AgentCore 에이전트를 배포할 수 있는 권한이 있는 AWS 계정입니다.
Amazon Bedrock 모델 액세스 - AWS 리전에서 Anthropic Claude Sonnet 4(us.anthropic.claude-sonnet-4-6)가 활성화되었습니다. 설정 지침은 Amazon Bedrock 설명서의 모델 액세스를 참조하세요.
개발 환경은 다음으로 구성됩니다.
- 리포지토리 복제를 위한 Git
AWS Lambda 함수 - 분석을 위해 액세스 가능한 소스 코드가 있는 배포된 Lambda 함수가 하나 이상 있습니다. 함수는 컴파일된 바이트코드뿐만 아니라 배포 패키지에 소스 파일(.py, .js, .java, .cs, .rb)을 포함해야 합니다.
지원되는 Lambda 런타임:
- Python 3.x(모든 버전)
- Node.js(JavaScript/TypeScript)
- Java 8, 11, 17, 21(배포 패키지에 .java 소스 파일 필요)
- .NET Core/.NET 6+ (C#)(배포 패키지에 .cs 소스 파일 필요)
- Ruby 2.7, 3.2
제한 사항
이를 위해서는 Claude Sonnet 4.6에 대한 us-east-1 리전의 Amazon Bedrock 모델 액세스가 필요합니다. AWS Lambda 함수는 모든 리전에 있을 수 있습니다.
Amazon DynamoDB의 패턴 데이터는 관련성을 유지하고 비용을 제어하기 위해 90일 후에 만료됩니다(Time to Live(TTL)를 통해 구성 가능).
Java 및 C# Lambda 함수는 배포 패키지에 소스 파일(.java, .cs)을 포함해야 합니다. 컴파일 전용 패키지(.class, .dll)는 분석할 수 없습니다.
시스템은 사용자당 인 메모리 속도 제한(60초당 요청 5개)을 구현합니다. 여러 AgentCore 인스턴스가 있는 분산 배포의 경우 일관성을 위해 속도 제한을 DynamoDB 또는 Redis로 이동해야 합니다.
일부 AWS 서비스는 일부 AWS 리전에서 사용할 수 없습니다. 리전별 가용성은 리전별 AWS 서비스
를 참조하세요. 구체적인 엔드포인트는 서비스 엔드포인트 및 할당량 페이지를 참조하고 서비스 링크를 선택합니다.
제품 버전
Anthropic Claude Sonnet 4(us.anthropic.claude-sonnet-4-6)
bedrock-agentcore 1.4.7 이상
bedrock-agentcore-starter-toolkit 0.3.3 이상
아키텍처
대상 아키텍처·
다음 다이어그램은이 패턴의 아키텍처와 워크플로를 보여줍니다.

이 워크플로에서 다음을 수행합니다.
사용자 입력 제공: 개발자는 로컬에서 실행되는 Streamlit UI(app.py)와 상호 작용하고, Lambda 함수 이름, 테스트 생성을 위한 선택적 사용자 지정 지침, 특정 functions/classes/files에 초점을 맞추기 위한 대상 필터, 테스트 파일 또는 종속성을 제외하기 위한 패턴 무시를 제공합니다.
Cognito 인증: 애플리케이션이 Cognito로 요청을 인증하고 JWT(ID/액세스 토큰)를 Streamlit에 반환합니다.
AgentCore API 호출: Streamlit은 베어러 토큰 + 페이로드(함수 이름, 필터, 지침, 패턴 무시)를 사용하여 AgentCore API를 호출합니다.
JWT 검증: AgentCore API는 Cognito 토큰 서명을 사용하여 JWT를 검증합니다.
요청 라우팅: AgentCore API는 요청을 Lambda 테스트 생성기 워크플로(AgentCore 런타임)로 라우팅합니다.
코드 분석 요청: 분석기 에이전트가 대상 Lambda 함수의 코드 및 메타데이터를 가져오는 요청을 시작합니다.
Lambda 액세스를 위한 AWS 인증: Boto3는 AgentCore 실행 역할을 사용하여 AWS로 인증하여 읽기 액세스 권한을 요청합니다.
AWS Lambda 코드 검색 및 처리: IAM 역할은 액세스를 승인하고 Lambda 함수 코드를 ZIP 파일로 가져오고, 소스 파일을 추출하고, 종속성(node_modules, venv 등) 및 비코드 파일을 필터링하고, 사용자 정의 무시 패턴을 적용하고, 코드를 관리 가능한 부분으로 청크합니다.
Amazon Bedrock 인증: Boto3 Amazon Bedrock 클라이언트는 Amazon Bedrock 액세스를 위해 AWS IAM으로 인증하여 Anthropic Claude Sonnet 4.6을 사용할 수 있는 모델 호출 권한을 요청합니다.
AI 기반 코드 분석: IAM 역할은 프롬프트 공격 필터링 및 콘텐츠 안전을 위해 Amazon Bedrock Guardrail이 적용된 Anthropic Claude Sonnet 4(us.anthropic.claude-sonnet-4-6)를 사용하여 코드 청크를 승인하고 Amazon Bedrock(us-east-1)에 전송합니다. Amazon Bedrock은 정규식 + LLM 고급 분석을 수행하여 실제 입력 패턴(예: event['body'], headers['Authorization']), 출력 패턴(예: statusCode, 응답 본문 구조), 종속성, 오류 처리 패턴 및 코드의 엣지 케이스를 추출합니다.
분석 결과 패키징: Analyzer Agent는 분석 결과를 코드 청크, 입력 패턴, 출력 패턴, 종속성, 오류 패턴 및 메타데이터가 포함된 AnalysisResult 객체로 패키징한 다음 생성기 에이전트에 전달합니다.
테스트 생성 프로세스 시작: Generator Agent는 분석 결과를 수신하고 테스트 사례 생성 요청을 시작하여 먼저 DynamoDB 메모리 스토어에 과거 패턴을 쿼리하여 학습합니다.
메모리 액세스를 위한 Amazon DynamoDB 인증: Boto3 DynamoDB 클라이언트는 AWS IAM을 사용하여 저장된 패턴을 검색하기 위한 읽기 액세스 권한을 인증합니다.
기록 패턴은 데이터베이스에서 검색: IAM 역할은 DynamoDB 메모리 스토어 테이블(lambda-testcase-memory)에 특정 Lambda 함수에 대해 이전에 수락된 패턴 및 거부된 패턴(거부 이유가 있는 실패한 테스트)을 가져오도록 권한을 부여하고 쿼리합니다.
테스트 생성을 위한 Amazon Bedrock 인증: Boto3 Amazon Bedrock 클라이언트는 Amazon Bedrock 액세스를 위해 AWS IAM으로 다시 인증하여 테스트 사례를 생성합니다.
AI 테스트 사례 생성: IAM 역할은 메모리 패턴과 결합된 분석 결과를 승인하고 Amazon Bedrock으로 전송합니다. Amazon Bedrock은 실제 코드 패턴을 기반으로 사실적인 입력 이벤트를 사용하여 테스트 케이스 스키마를 생성하여 긍정 테스트(35%), 부정 테스트(35%) 및 엣지 케이스(30%)를 생성합니다. 생성은 효율성을 위해 병렬로 청크당 수행되며, 메모리에서 학습된 패턴을 적용하고, 거부된 패턴을 방지하고, 대규모 코드베이스에 필요한 경우 청크 생성을 방지합니다. 모든 Bedrock converse() 호출에는 프롬프트 공격 필터링, PII 수정 및 거부된 주제 적용을 위한 guardrailConfig가 포함됩니다.
테스트 검증 시작: 생성기 에이전트는 생성된 테스트 사례 후보를 품질 관리, 중복 제거 및 최종 선택을 위해 검사기 에이전트에 전달합니다.
검증 프로세스 구성: Validator Agent가 테스트 후보를 수신하고 검증 프로세스를 시작하여 DynamoDB 메모리 스토어에 대한 액세스를 요청하여 채점 및 검증을 요청합니다.
검증을 위한 DynamoDB 인증: Boto3 DynamoDB 클라이언트는 검증 점수를 위한 쿼리 메모리 패턴에 대한 읽기 액세스를 위해 AWS IAM으로 인증합니다.
테스트 품질 평가: IAM 역할은 DynamoDB 메모리 스토어를 승인하고 사용하여 이전 패턴 성공률, 함수 적용 범위 및 코드 복잡성을 기반으로 테스트 사례를 채점합니다. 검사기는 구조 검증, 패턴 해싱을 사용한 중복 제거, 핸들러 함수 및 오류 처리를 위한 신뢰도가 높은 품질 점수, 다양한 청크 및 테스트 유형을 다루기 위한 다양성 선택, 가장 품질이 높고 가장 다양한 상위 N개 테스트 사례를 선택합니다.
AgentCore에 반환된 최종 테스트 사례: Validator Agent는 메타데이터(신뢰도 점수, 설명, 입력 이벤트, 범주)와 함께 검증된 최종 테스트 사례를 기본 오케스트레이터에 반환하며,이 오케스트레이터는 이를 포맷하고 Amazon Bedrock AgentCore API로 반환합니다.
UI로 전달된 결과: AgentCore API는 생성된 테스트를 분석 요약, 생성 메타데이터 및 테스트 사례 세부 정보와 함께 표시할 수 있도록 Streamlit UI에 다시 반환합니다.
사용자 검토 및 피드백 제공: 개발자는 Streamlit UI에서 표시된 테스트 사례를 검토하고, 각 테스트의 품질 및 관련성을 평가하며, 좋은 테스트 사례를 수락하거나 특정 거부 사유(missing_auth_headers, wrong_status_code, unrealistic_data, missing_required_fields, incorrect_event_source 등)가 있는 불량 사례를 거부하고, 거부를 설명하는 선택적 사용자 지정 메모를 제출한 다음 피드백을 제출합니다.
피드백이 시스템에 제출됨: Streamlit UI는 수집된 피드백(승인/거부 상태, 거부 이유, 사용자 지정 메모)을 AgentCore API(save_feedback)로 전송합니다.
AgentCore는 피드백을 라우팅합니다. AgentCore API는 DynamoDB에 피드백을 저장하는 로직이 포함된 검사기 에이전트를 호출합니다.
피드백 저장 프로세스 시작: Validator Agent가 피드백을 저장하는 프로세스를 시작합니다.
DynamoDB 쓰기 액세스 인증: Boto3 DynamoDB 클라이언트는 AWS IAM(AgentCore 실행 역할)을 사용하여 피드백 패턴을 저장할 수 있는 쓰기 액세스 권한을 인증합니다.Boto3 DynamoDB
학습 패턴 저장: IAM 역할은 사용자 피드백을 승인하고 DynamoDB 메모리 스토어 테이블에 저장합니다. 각 패턴은 복합 파티션 키(function_name#target_function 또는 function_name#GLOBAL), 복합 정렬 키(FEEDBACK#accepted/rejected#PATTERN#hash), 중복 제거를 위한 패턴 해시, 테스트 유형, 입력 패턴 구조, 피드백 상태, 거부 이유(거부된 경우), 사용자 지정 메모, 사용 횟수, 성공률, 타임스탬프 및 자동 정리를 위한 TTL 90일과 함께 저장됩니다. 이 저장된 데이터를 통해 시스템은 사용자 피드백에서 학습하고 향후 테스트 생성을 개선할 수 있습니다.
자동화 및 규모 조정
이 패턴은 AWS 관리형 서비스를 사용하여 자동으로 확장됩니다. Amazon Bedrock은 200K 토큰 컨텍스트 기간과 호출당 64K 토큰 출력으로 온디맨드 AI 추론을 처리하며, Amazon DynamoDB는 트래픽 패턴에 자동으로 조정되는 온디맨드 결제를 사용합니다. 시스템은 속도에 병렬 처리를 사용하고 분석기 에이전트는 5개의 동시 Bedrock 호출을 수행하여 코드 청크(max_workers=5인 ThreadPoolExecutor)를 분석하는 반면 생성 에이전트는 5개의 동시 작업자와 병렬로 청크를 처리합니다. 연속 메커니즘은 요청을 자동으로 재시도하여 불완전한 응답을 처리합니다. 속도 제한(사용자당 60초당 요청 5개)은 과도한 Bedrock API 호출로 인한 비용 남용을 방지합니다.
비용 최적화에는 90일이 지난 패턴을 제거하는 TTL 기반 정리, 테이블 스캔 없이 즉각적인 조회를 위해 start_with()를 사용하는 복합 키 쿼리, DynamoDB 쓰기 작업을 약 90% 줄이는 BatchWriteItem 작업이 포함됩니다. 성능은 함수 크기에 따라 달라지며, 작은 함수(10개 미만 파일)는 30~60초에 10개의 테스트 사례를 생성하고, 중간 함수(10~50개 파일)는 1~3분, 큰 함수(50개 이상 파일)는 3~5분이 걸립니다. 하지만 대상 필터를 사용하여 특정 코드 섹션에 집중하면 시간이 50~70% 단축됩니다.
도구
AWS 서비스
Amazon Bedrock
- 코드 분석, 테스트 생성, 검증 및 거부 요약을 위해 Anthropic Claude Sonnet 4를 통해 생성형 AI 기능을 제공합니다. 모델 액세스에는 항상 us-east-1 리전을 사용합니다. Amazon Bedrock AgentCore - 자동 조정, OAuth 기반 권한 부여 및 CloudWatch 관찰성을 통해 테스트 생성 백엔드를 배포하고 호스팅하기 위한 서버리스 에이전트 런타임을 제공합니다.
Amazon Bedrock 가드레일
- 프롬프트 공격 탐지(HIGH 강도), 콘텐츠 필터링, PII 익명화(이메일, 전화, 이름), AWS 액세스 키/프라이빗 키/JWT 토큰 차단, 주제 적용 거부(익스플로이트 코드 생성, 원시 소스 코드 출력)를 포함하여 모든 Bedrock API 호출에 대한 ML 기반 보안 필터링을 제공합니다. CloudFormation을 통해 배포됩니다. AWS CloudFormation
- DynamoDB 테이블, Cognito 사용자 풀, 버전 관리를 사용하는 Amazon Bedrock Guardrail, AgentCore에 대한 IAM 실행 역할을 포함한 전체 인프라 프로비저닝을 자동화합니다. Amazon Cognito - AgentCore 백엔드에 대한 이메일 기반 가입, JWT 토큰 발급 및 보안 API 권한 부여를 통해 사용자 인증을 제공합니다.
Amazon DynamoDB
- 지속적 학습 및 개선을 위한 사용 통계와 함께 수락 및 거부된 테스트 패턴을 저장합니다. 제로 스캔 쿼리 및 대상별 패턴 스토리지에 복합 키(function_target, pattern_sk)를 사용합니다. AWS Lambda
- 분석을 위한 함수 코드의 소스인 GetFunction API는 코드와 구성을 검색합니다. 이 도구는 Python, Node.js, Java, .NET 및 Ruby 런타임을 지원합니다.
기타 도구
Python 3.11 이상
- 애플리케이션 및 에이전트 오케스트레이션을 위한 런타임 환경입니다. Streamlit
- 인증, 테스트 생성, 피드백 수집 및 시스템 상태 모니터링을 위한 웹 기반 사용자 인터페이스입니다. Boto3 - Lambda, Amazon Bedrock, DynamoDB 및 Cognito 서비스와 상호 작용하는 Python용 AWS SDK입니다.
코드 리포지토리
이 패턴의 코드는 Github - Lambda 테스트 이벤트 생성
모범 사례
이 패턴은 다음 모범 사례를 구현합니다.
AWS Lambda(읽기 전용), Amazon Bedrock(호출), Amazon DynamoDB(쿼리/쓰기) 및 Amazon Cognito(인증) 액세스에 최소 권한 IAM 정책을 사용합니다.
테스트 정확도 향상을 위해 글로벌 폴백을 통해 대상별 패턴 학습을 구현합니다.
DynamoDB TTL을 활성화하여 이전 패턴(90일)을 자동으로 정리하여 스토리지 비용을 제어합니다.
빠른 패턴 검색을 위해 복합 키(function_target, pattern_sk)와 함께 제로 스캔 쿼리를 사용합니다.
무시 패턴을 적용하여 분석에서 테스트 파일, 종속성 및 비코드 파일을 제외합니다.
추상 구문 트리(AST) 구문 분석(Python) 및 정규식 패턴(Java, C#, JS, Ruby)과 함께 다국어 코드 청킹을 사용합니다.
실제 중복 제거를 위해 실제 값(구조뿐만 아니라)이 있는 패턴을 저장합니다.
서버리스 규모 조정 및 관리형 인프라를 위해 Amazon Bedrock AgentCore에 백엔드를 배포합니다.
모든 API 요청에 대해 JWT 토큰 검증을 사용하여 Amazon Cognito를 통해 사용자를 인증합니다.
프롬프트 공격 필터링, PII 수정, 민감한 데이터 차단(AWS 키, 프라이빗 키, JWTs를 적용합니다.
사용자에게 반환하기 전에 분석 결과 삭제 - 모든 원시 소스 코드 청크가 응답에서 제거되므로 Lambda 소스 코드가 AgentCore 런타임 경계를 벗어나지 않습니다.
주입 및 남용을 방지하기 위해 정규식 패턴 및 길이 제한(함수 이름 최대 170자, 사용자 지정 지침 최대 2000자, 최대 50개의 무시 패턴)으로 모든 API 입력을 검증합니다.
사용자당 속도 제한(60초당 요청 5개)을 구현하여 과도한 Bedrock API 호출로 인한 비용 남용을 방지합니다.
사용자에게 반환하기 전에 오류 메시지를 삭제합니다. 내부 파일 경로, AWS SDK 세부 정보 및 인프라 정보는 오류 응답에 노출되지 않습니다.
다음 추가 모범 사례를 고려하세요.
학습 정확도를 높이기 위해 테스트 사례를 거부할 때 구체적인 피드백 이유를 제공합니다.
시스템이 학습하고 개선할 수 있도록 동일한 함수에 대한 테스트를 반복적으로(2~3회) 생성합니다.
특정 테스트 시나리오 또는 데이터 형식이 필요한 경우 사용자 지정 지침을 제공합니다.
IAM Access Analyzer를 활성화하여 리소스 권한을 모니터링하고 의도하지 않은 액세스를 식별합니다.
큰 코드베이스를 분석하기 전에 작은 Lambda 함수로 시작하여 시스템을 이해합니다.
IAM 정책을 정기적으로 검토하고 사용하지 않는 권한을 제거합니다.
강력한 암호 정책을 사용하고 위협 탐지를 위해 Cognito AdvancedSecurityMode를 활성화합니다.
에픽
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
리포지토리를 복제합니다. | GitHub 리포지토리를 로컬 시스템에 복제하고 프로젝트 디렉터리로 이동합니다.
이 리포지토리에는 Python 애플리케이션, CloudFormation 템플릿 및 구성 파일이 포함되어 있습니다. | 앱 개발자 |
AWS 자격 증명을 구성합니다. | AWS CLI가 AWS 계정과 상호 작용하고 애플리케이션이 테스트하려는 Lambda 함수에 액세스할 수 있도록 AWS 자격 증명을 구성합니다. AWS CLI 구성 명령을 사용하여이 작업을 수행할 수 있습니다.
요청 메시지가 나타나면 다음 정보를 입력합니다.
| 앱 개발자 |
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
CloudFormation을 사용하여 인프라를 배포합니다. |
생성되는 항목:
참고스택은 필요한 모든 리소스를 생성합니다. 다음 단계로 진행하기 전에 CloudFormation 템플릿이 성공적으로 완료되었는지 확인합니다. | 앱 개발자 |
구성 변수를 내보냅니다. | CloudFormation 스택 출력의 모든 값을 환경 변수로 내보냅니다.
이러한 변수는 AgentCore 구성 및 .env 파일 생성을 위한 후속 단계에서 사용됩니다. | 관리자 |
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
가상 환경을 생성합니다. |
| 앱 개발자 |
AgentCore를 구성하고 배포합니다. |
| 앱 개발자 |
로컬 개발을 위한 .env 파일을 생성합니다. | 모든 구성 값을 사용하여 프로젝트 루트 디렉터리에 .env 파일을 생성합니다.
AWS 서비스에 대한 연결을 테스트합니다.
두 명령 모두 성공적인 응답을 반환해야 합니다. 권한 오류가 발생하면 IAM 정책이 올바르게 구성되었는지 확인합니다. | 앱 개발자 |
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
새 Cognito 사용자를 생성합니다. | Cognito 사용자 풀은 보안을 위해 관리자 전용 사용자 생성으로 구성되어 있으므로 사용자가 자체 등록할 수 없습니다. CloudFormation 스택 출력에서 내보낸 Cognito 풀 ID 및 클라이언트 ID를 사용하여 AWS CLI를 통해 사용자를 생성합니다. 새 사용자를 생성합니다(이메일
영구 암호를 설정합니다(최소 8자, 대문자, 소문자 및 숫자를 포함해야 함).
다음 단계에서 이러한 자격 증명을 사용하여 Streamlit UI를 통해 로그인합니다. | 앱 개발자 |
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
Streamlit UI를 시작합니다. | 애플리케이션을 시작합니다.
UI는의 기본 브라우저에서 열립니다. 이전 단계에서 생성한 자격 증명으로 로그인 | 앱 개발자 |
생성 옵션 구성 | UI에서 다음 옵션을 구성합니다.
| 앱 개발자 |
테스트 사례를 생성합니다. | "테스트 사례 생성" 버튼을 클릭합니다. 시스템은 다음을 수행합니다.
| 앱 개발자 |
생성된 테스트를 검토합니다. | 다음을 포함하여 생성된 각 테스트 사례를 검토합니다.
| DevOps 엔지니어, 앱 개발자 |
피드백을 제공합니다. | 각 테스트 사례에 대해 피드백을 제공합니다. 테스트 사례를 수락하려면:
테스트 사례를 거부하려면:
| 테스트 엔지니어 |
메모리에 피드백을 저장합니다. | 모든 테스트 사례를 검토한 후:
| 테스트 엔지니어 |
개선을 위해 반복합니다. | 품질을 개선하기 위해 동일한 함수에 대한 테스트를 2~3회 더 생성합니다.
참고반복적으로 사용하면 학습 시스템이 더 효과적이 됩니다. 각 피드백 주기는 AI가 테스트 기본 설정을 이해하고 Lambda 함수에 대해 더 관련성이 높은 테스트 사례를 생성하는 데 도움이 됩니다. | 앱 개발자 |
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
AgentCore API를 직접 호출합니다. | 자동화 및 통합을 위해 Cognito 인증과 함께 API 직접 호출을 사용하여 AgentCore 백엔드를 직접 호출합니다. Cognito 토큰 가져오기:
테스트 생성 호출:
또는 curl 사용:
| 앱 개발자 |
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
DynamoDB 패턴을 모니터링하고 비용을 추적합니다. |
참고정기적인 모니터링을 통해 비용 최적화 기회를 식별하고 시스템이 계속 효과적으로 학습할 수 있습니다. DynamoDB 테이블의 TTL 구성은 오래된 패턴을 자동으로 정리하여 시간이 지남에 따라 스토리지 비용을 관리하는 데 도움이 됩니다. | 관리자 |
| 작업 | 설명 | 필요한 기술 |
|---|---|---|
배포된 리소스를 삭제합니다. | 배포된 모든 리소스를 제거하려면: AgentCore 에이전트를 삭제합니다.
CloudFormation 스택을 삭제합니다(DynamoDB 테이블, Cognito 사용자 풀 및 IAM 역할 삭제).
| 관리자 |
문제 해결
| 문제 | Solution |
|---|---|
Lambda 코드를 가져올 때 "액세스 거부" 오류 |
|
“DynamoDB 쓰기 오류” |
|
테스트 케이스가 생성되지 않음 | 가능한 원인 및 해결 방법:
|
Java/C# Lambda에 "소스 코드를 찾을 수 없음"이 표시됩니다. | Java 및 C# Lambdas는 배포 패키지에 소스 파일이 필요합니다. Java(Maven):
C#(.NET):
|
DynamoDB 쓰기 오류 |
|
느린 테스트 생성 | 생성 속도 최적화:
|
AgentCore: "에이전트를 찾을 수 없음" | 에이전트가 배포되었는지 확인합니다.
|
AgentCore: 런타임 시 "권한 거부" | 실행 역할에 올바른 정책이 있는지 확인합니다.
|
Cognito: "잘못된 사용자 이름 또는 암호" | 자격 증명이 올바른지 확인합니다. Streamlit UI의 "계정 생성" 흐름을 사용하거나 AWS CLI를 통해 새 사용자를 생성할 수 있습니다.
|
로그의 "Bedrock Guardrail이 구성되지 않음" 경고 | AgentCore 배포에서 CloudFormation 출력 확인:
|
"Rate limit exceeded" 오류 | 시스템은 사용자당 60초당 5개의 요청으로 제한됩니다. 다시 시도하기 전에 표시된 시간을 기다립니다. 처리량 요구 사항이 더 높은 프로덕션 환경에서 사용하려면 main.py |
관련 리소스
AWS 설명서