14. 학습의 단계_AWS Bedrock_ 두번째 강의 -10일차 -
2025년 4월 29일
- Bedrock 두번째 강의 수강 시작.
-------
1단계. 학습의 단계
1. AWS Bedrock
첫번째 강의) Building Multi-Agentic AI Workflows on AWS Bedrock: 수강완료 (2025/4/13~04/16)
두번째 강의) Learn Agentic AI Basics, Amazon Bedrock Multi-Agent Framework, Build 2 Use Cases- Hotel Booking & Multi-Agent Travel App: 수강시작 (2025/4/29~)
I. 수강 전 기대
첫번째 강의에서 아쉬웠던 Hands-on을 조금 더 해볼 수 있을 것으로 기대함. 커리큘럼을 보니 간단하지만 Bedrock에서 만든 multi agent를 프론트로 배포하는 것도 배울 수 있는 것으로 보임.
II. 수업내용
1일차(4/29): 앞으로 배울 내용 개괄 + AI Agent 5가지 요소 (Planning, Tools & Actions, Memory, Guardrails, Agent Communication)
2일차(4/30): 어제 배운 AI Agent의 기능 중 첫번째 Planning에 관한 Demo ~ Agent Communication
3일차(5/1): Deep dive - Amazon Bedrock Agents (Agent creation 및 setting)
4일차(5/6): How do Agents work? ~ Use Case 1 - Hotel Booking Agent
[Use Case 1 - Single Agent]
5일차(5/7): Use Case 1 - Hotel Booking Agent ~ Agent Creation
6일차(5/14): Agent Integration with Knowledge Bases for Room Information ~ Hotel Room Availability
7일차(5/19): Hotel Room Booking - DynamoDB ~ Hotel Room Booking - Agent & Lambda & Action Group Integration
8일차(5/20): Hotel Room Booking - Agent & Lambda & Action Group Integration ~ Final Demo
8일차(5/20): Hotel Room Booking - Agent & Lambda & Action Group Integration ~ Final Demo
9일차(5/22): Frontend Deployment to EC2 Server ~ Adding application load balancer to EC2
[Use Case 2 - Multi-Agent]
10일차(6/2): Business Use Case 2 (Multi Agent Orchestration)
Multi agent 구조를 만드는데 중요한 개념은 'Collaborator'이다.
이번 수업에서 만드려는 Collaborator 두 가지는 (1) HR Agent와 (2) Hotel Booking Agent 이다.
HR Agent의 역할은 사용자가 Enterprise Travel Agent(=Supervisor Agent)에게 호텔 예약을 요청할 때, 해당 사용자의 잔여 휴가일수를 확인하고 휴가 승인이 가능한지 확인하는 부분이다.
HR Agent가 참조할 수 있는 DB 구성을 위해 AWS DynamoDB에 신규 Table을 생성하고 더미 값을 추가한다.
*현재는 연습용이다보니 DynamoDB에 더미 값을 일일이 추가하고 있지만, 실제 Agent를 기업에 구현한다면 해당 DB는 (개발팀이 존재하는 경우) API형태로 접근 가능하거나 아니면 (개발팀이 없다면) 일일이 csv 파일을 다운로드 받아서 업데이트하는 방식을 사용해야할 것이다.
그 다음 Lambda Function을 생성한 후, HR Agent의 Action Group에 해당 Lambda function을 연결해주어야 한다. Lambda 생성과 Action Group 생성 시에는, HR Agent가 해당 Lambda를 불러올 수 있도록 권한 을 부여해야하는데, 이 부분은 Resource-based Policy Statement에서 Agent의 Source ARN 정보 등을 추가함으로써 Agent가 Lambda를 Invoke하도록 설정할 수 있다.
두 번의 강의를 통해 이해하게 된 Bedrock Agent의 구조를 보면 Agent가 사용자의 인풋에 따라 Tool을 사용하도록 하기 위해서는, Lambda Function과 같은 Tool과 Agent를 연결하는 과정이 필요하다는 것이다. ㅇ이를 위해 AWS에서는 Lambda를 생성하고 Agent의 Action Group으로 연결하며, Agent가 Lambda를 동작시킬 수 있도록 하는 권한 설정 등의 절차가 필요하다. 그리고 Lamba 에서는 코드 작성을 통해서 S3 또는 DynamoDB와 같은 Backend 정보에 접근하여 작성을 수행하도록 하는 절차가 필요하다.
이러한 한계는 방향 N8N, 클로드 MCP 등을 통해 해결할 수 있을 것으로 기대된다. 왜냐하면 N8N 등의 서비스를 활용하면 코딩을 거의 하지 않고도 multi agent의 오케스트레이션을 할 수 있고 MCP를 통해 3rd Party가 제공하는 server 등록 및 user credential만 제공하게 되면 Lambda처럼 별도의 코딩을 하지 않도록 Agent가 필요로 하는 Tool을 가질 수 있기 때문이다.
이러한 부분 때문에 중도에 Bedrock 강의를 포기하고 곧바로 N8N 학습으로 넘어가야하는지에 관해 고민도 하였으나, 그럼에도 어느 시점에 Bedrock의 fine-tuning 작업이 필요할 수 있겠다는 생각에, 두번째 Bedrock 강의를 끝까지 마무리하기로 하였다.
댓글
댓글 쓰기