AWS Bedrock AgentCore로 나만의 AI 비서 만들기!
AWS Bedrock AgentCore를 활용하여 뉴스 수집, 요약, 대화 기능을 갖춘 AI 에이전트(AI Agent)를 구축하는 과정을 소개
Hacker News 및 Reddit RSS에서 정보를 수집하고, 수집된 데이터를 기반으로 매일 요약본을 생성하여 사용자에게 전달
AgentCore Managed Harness를 사용하여 브라우저 자동화, 영구 저장, 스케줄링 기능을 구현하여 개발 편의성(Development Convenience)을 높임
Lambda와 EventBridge를 사용하여 에이전트 실행을 자동화하고, Telegram 봇을 통해 요약본을 전송
비용 절감(Cost Reduction)을 위해 Bedrock의 저렴한 모델을 활용하고, AgentCore의 런타임 및 브라우저 사용료는 프리뷰 기간 동안 무료
AgentCore Managed Harness 아키텍처 분석
본문에서는 AgentCore Managed Harness를 사용하여 AI 에이전트(AI Agent)를 구축하는 아키텍처를 설명한다. EventBridge는 매시간 트리거(Trigger)를 발생시키고, 트리거는 Lambda 함수(Lambda Function)를 호출한다. Lambda 함수는 AgentCore Harness API를 호출하여 에이전트를 실행하며, 에이전트는 자체 마이크로VM(MicroVM) 환경에서 동작한다.
브라우저 자동화(Browser Automation)를 위해 AgentCore Browser를 사용하고, Hacker News에서 정보를 스크래핑(Scraping)한다.
Reddit RSS 피드를 통해 데이터를 수집하고, 수집된 데이터는 세션 스토리지(Session Storage)에 저장된다.
6시간마다 요약본을 생성하여 Telegram 봇을 통해 사용자에게 전달한다. 이 아키텍처는 지속적인 상태 관리(Persistent State Management)와 스케줄링(Scheduling)을 용이하게 한다.
Lambda와 AgentCore의 비교 분석
저자는 간단한 작업의 경우 Lambda만으로도 가능하지만, AgentCore를 선택한 이유를 설명한다. Lambda는 브라우저 자동화(Browser Automation), 영구적인 파일 저장, 긴 실행 시간, 그리고 세션 간의 컨텍스트 유지(Context Preservation)에 한계가 있다.
AgentCore는 Managed Browser를 제공하여 브라우저를 직접 관리할 필요가 없다.
/tmp 디렉토리가 초기화되는 Lambda와 달리, AgentCore는 영구적인 세션 스토리지(Persistent Session Storage)를 제공한다.
Lambda의 15분 실행 시간 제한과 달리, AgentCore는 더 긴 실행 시간을 지원한다.
AgentCore Memory를 통해 대화 컨텍스트를 유지하여, 이전 질문에 대한 답변을 제공할 수 있다. 이러한 기능들은 AgentCore를 사용하여 AI 에이전트(AI Agent)를 구축하는 주요 장점이다.
AgentCore를 활용한 비용 최적화 전략
본문에서는 Bedrock 모델 사용에 따른 비용을 절감하기 위한 전략을 제시한다. 특히, Haiku와 같은 저렴한 모델을 사용하여 비용 효율성(Cost Efficiency)을 높이는 방법을 소개한다.
Hourly Collection 작업에는 Haiku 모델을 사용하고, Summary Run에는 Sonnet 모델을 사용하여 정확도를 유지한다.
AgentCore는 인보케이션(Invocation) 단위로 모델을 변경할 수 있는 기능을 제공하여, 유연한 비용 관리를 가능하게 한다.
AgentCore Runtime과 Browser는 프리뷰 기간 동안 별도의 요금이 부과되지 않으므로, 초기 비용 부담을 줄일 수 있다.
이러한 전략을 통해, AI 에이전트(AI Agent)의 운영 비용을 효과적으로 관리할 수 있다.
AgentCore 배포 및 테스트 과정
본문에서는 AgentCore를 사용하여 AI 에이전트(AI Agent)를 배포하고 테스트하는 과정을 상세히 설명한다. 배포는 AgentCore CLI를 통해 간단하게 수행되며, 몇 가지 명령어로 필요한 모든 리소스를 프로비저닝(Provisioning)한다.
`agentcore create` 명령어를 사용하여 프로젝트를 생성하고, 필요한 설정을 구성한다.
`agentcore add tool` 명령어를 사용하여 브라우저 도구를 추가한다.
`agentcore deploy` 명령어를 사용하여 에이전트를 배포하고, `agentcore status` 명령어로 배포 상태를 확인한다.
`agentcore invoke` 명령어를 사용하여 에이전트를 테스트하고, `agentcore logs` 명령어를 통해 로그를 확인한다.
이러한 과정을 통해, 개발자는 쉽게 AI 에이전트(AI Agent)를 구축하고, 배포 및 테스트할 수 있다.
AgentCore 기반 AI 에이전트(AI Agent)의 확장 가능성
저자는 AI 에이전트(AI Agent)의 기능을 확장하기 위한 몇 가지 아이디어를 제시한다. 현재는 Telegram을 통해 아웃바운드(Outbound) 통신만 가능하지만, API Gateway Webhook과 Lambda를 사용하여 양방향 대화(Two-way Chat) 기능을 추가할 수 있다.
다양한 정보 소스(Information Source)를 추가하여 에이전트의 정보 수집 능력을 향상시킬 수 있다.
모델 변경(Model Switching) 기능을 활용하여, 작업에 따라 적합한 모델을 선택할 수 있다.
S3에 HTML 페이지를 생성하여, 에이전트가 수집한 데이터를 시각적으로 확인할 수 있는 대시보드를 구축할 수 있다.
이러한 확장성을 통해, AI 에이전트(AI Agent)를 더욱 강력하고 유용한 도구로 만들 수 있다.