10. 학습의 단계_AWS Bedrock_ 두번째 강의 -6일차 -

 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
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

이번 수업은 Knowledge Base에 대한 내용이다.
KB는 Agent가 참조할 수 있는 지식기반을 PDF 등의 파일로 제공하는 것이라고만 이해하고 있었는데, 이번 수업을 통해 실제 Knowledge Base를 생성해보니 이보다는 복잡한 과정이었다.

우선 KB는 PDF를 참조하도록 하는 방법 이외에도 Crawling을 하도록 하거나, 다른 외부 툴들을 참조하도록 하는 선택지도 존재했다. (그러나 PDF외 다른 방법들의 경우에는 아직 Preview 형태로만 제공되고 있음.)


그리고 Embedding이라는 개념이 새로웠다. PDF에 있는 정보들을 Agent가 참조할 수 있도록 저장하기 위한 절차이고, 이 Embedding 작업을 위해서 또 다시 AI model이 사용된다. 강의에서는 AWS가 제공하는 Titan Text Embedding model을 사용하였다.


이렇게 생성된 KB를 현재 사용 중인 LLM(나의 경우 클로드)과 Sync해야한다.
(그러나 Embedding model의 Access 허


가를 아직 받지 않은 관계로 처음에는 에러 메시지가 발생했다. Access request 절차를 완료한 이후에야 Sync할 수 있었다.)



이렇게 생성된 KB를 이제 Bedrock Agent와 통합하도록 한다. Agent가 신규 생성된 KB를 tool로서 참조하도록 하기 위해서는 KB ID를 복사해서 Agent에 추가해야한다.



위와 같이 Agent에 새로운 KB를 추가할 수 있다. KB의 장점은, Agent가 해당 PDF를 어떠한 질문들에서만 참조하도록 권유할 수 있다는 부분에 있다. 위와 같이 Knowledge Base Instructions for Agent를 기입하면 Agent는 Room type 등 Room 정보에 대한 사용자 질문에 대해서만 해당 KB를 참조하게 된다.

아래 화면은 실제로 Agent에게 Room과 관련된 문의를 하자, Knowledge Base를 참조하여 답변하는 예시이다.


다음 강의로는 'Arch and D
ynamoDB creation'이다. 백앤드 DB를 참조하여 사용자의 인풋에 대한 최적의 답을 도출할 수 있도록 하는 것이다. 이 부분에는 Lambda 및 Open API Schema를 Tool로서 사용한다.



먼저 AWS DynamoDB에서 새로운 table을 생성하고 다음과 같이 날짜별 room type에 따른 Inventory 값을 dummy로 추가한다.


첫번째 강의에서와 같이 Lambda function을 새롭게 생성하게 되면 configuration 탭에서 timeout 시간을 기본 3초에서 1분 이상으로 늘려주고, permission 메뉴에 들어가서 Lambda가 수행할 수 있는 role 권한을 충분히 열어줘야 한다. (이번 강의에서는 Bedrock이고 Table이고 할거 없이 그냥 Admin Access를 부여했다.)

그 다음으로 Lambda 코드를 작성한다. Lambda가 DynamoDB에 접근하도록 하기 위한 코드를 작성한다. 
아래와 같이 Lambda Function 생성완료. (다만 deploy 후 test 해보니 오류 메시지가 발생. 이 부분은 후속 강의를 통해 해결될 것으로 생각하기에 우선 무시하고 넘어감.)

Bedrock Agent가 Action Group을 통해서 Lambda를 Access할 수 있도록 아래와 같이 Lambda에서 Permission 설정을 해줘야함. (Q. Agent에서 permission 설정을 하지 않고, Lambda-configuration 탭에서 permission 설정을 하는 이유는 무엇이지?)


위 오류가 있었던 부분에 대해서는 이후 수정을 통해 해결되었고, 결과적으로 Agent가 Lambda를 통해 DynamoDB에 저장되어 있는 날짜별 룸타입에 따른 재고 수량을 확인함으로써 Room Availability를 확인하는 기능을 구현하였다.




2. N8N
3. Claude MCP
(4. LangChain?)


댓글

이 블로그의 인기 게시물

20. 학습의 단계_n8n -1일차 (시작) -

01. 1억~10억 비즈니스 매매의 시대: 실력이 승부를 가른다

03. 어떻게 시작할 것인가? (ft. 멀티 에이전트 서비스)