AI스터디

Agent 구현 Step1_ Agent란?

부자가 될거야 2025. 5. 7. 00:27

회사에서 AI 를 구현하여 RAG 를 통해 봇을 만드는 프로젝트를 2년동안 진행하고 있다.

 

AI 툴의 성능이나, 내 코드 구현의 능력이나 모두 향상되었다고 생각은 들지만, AI 발달속도가 유난히 빨라짐을 조금 발만 들였어도 깨닫는 요즘, 조금이나마 속도를 따라가고자 공부한 기록을 여기에 남기고자 한다.

 

AWS과 협업하면서 올해 Bedrock를 통해 수준이 정말 향상되었다.

 

물론 처음엔 너무 용어도 어렵고 UI 도 조잡해서 이해하고 익숙해지는데엔 시간이 오래 걸렸지만,

 

작년에 Huggingface를 통해 모델을 llama 2 사용하다가 Claude모델을 쓰게 되었으니 체감상으론 크게 느껴지는 요즘이다.

 

Agent를 공부해보는 이유는 두가지다.


AWS에서는 다양한 컨퍼런스 및 세미나가 열리는 편이기에, 가서 항상 도움을 받는 편인데, Agent 에 대해 듣고 와, 신세계다! 구현해보고싶다! 라는 생각 1

 

Cursor AI 라는 툴을 써보고, VSCode 내장되어있는 툴이 저렇게 잘 쓰일수 있다니! Copilot 대비 월등히 좋은 성능과 편한 UI로 이것도 잘 만들어진 Agent의 힘이구나! 라는 생각2


 

내가 느끼기에는 Bedrock이 수동적이었다면 Agent에서는 매우 능동적인 느낌, 자율적이고 원하는 모델이 저랬으면 좋겠다! 라는 생각이 들었는데, 과연 이걸 주어진 시간 안에 다 할 수 있을까란 생각이 들었다. 

 

그래서 회사에선 공부할 시간이 적을 것 같아 주말에 시간날때 공부해보고자 한다.

 

(사실 얼마나 오래 할지, 잘 할지 자신은 없다. 일이 바빠지고, 현업을 하다보면 다 못할 수 있으니)

그래서 블로그 게시글이 꾸준히 올라간다는 자신은 없지만 우우선 해보기로 한다.


 

우선 내가 구현해왔던 Bedrock와 Agent의 차이에 대해 알아보자.

 

gpt에 한번 물어보자.

1. 개념적 차이

  Agent Bedrock RAG
역할 중심 LLM이 "에이전트"처럼 행동하여, 툴 호출, 판단, 순차적 작업 수행을 함 LLM이 외부 KB(예: S3, OpenSearch 등)에서 문서를 검색하여 답변 생성에 반영
흐름 목표 → 계획 수립 → 순차적 작업 실행 → 결과 반환 질문 → 검색 → 문서 요약/결합 → 답변 생성
구성 요소 에이전트 + 툴 (검색기, 계산기 등) + 메모리 Retriever + LLM + Document Store
의사결정 LLM이 어떤 툴을 언제 사용할지 스스로 결정 문서 검색은 자동, LLM은 정제된 정보 기반으로 답변

2. 구현 측면 차이 (AWS 기준)

  Agent Bedrock RAG
서비스 형태 Bedrock Agent API 사용
(Agent Blueprint, Lambda 연동 등 가능)
Knowledge Base에 KB 연결 + RAG 기능 적용
문서 연결 Lambda로 커스텀 기능 호출 가능 S3, OpenSearch 등 지정된 KB 연결만 가능
대화 흐름 사용자 의도를 기반으로 단계적 태스크 수행 (ex. "엑셀 요약하고 캘린더 등록해줘") 사용자 질문에 가장 적합한 문서를 찾아 그 기반으로 답변 생성
응용 대상 워크플로 자동화, SaaS 서비스, 챗봇 with 기능 수행 기술문서 QA, 테스트케이스 생성, 매뉴얼 기반 응답

저 부분이 RAG만 해온 나로서는 너무어렵다 

Prompt Guide로 넣는다는걸까? 내 질문에서 어떤 단계로 쪼개고, 어떤 문맥에서 이해해서 단계별로 수행한다는 걸까?

 

결론

  • Agent는 LLM이 "행위자"로서 툴과 외부 기능을 조합하여 판단하고 수행하는 자동화 시스템입니다.
  • RAG는 외부 문서를 검색하고, 이를 토대로 LLM이 더 정밀하고 신뢰도 높은 답변을 생성하도록 돕는 구조입니다.

 

이해는 했는데 자동화 시스템 : 잘 되면 좋지  , 어떻게 구현하는 걸까.

 

어떻게 Agent가 구현되는가?

Agent의 기본 구성 요소

 

LLM 자연어 이해 및 계획 수립을 담당
Planner (계획자) 전체 목표를 세분화된 작업으로 나누는 역할
Tool (도구) 외부 API, 계산기, DB, 파일 시스템 등 LLM이 호출할 수 있는 기능들
Executor (실행자) 계획에 따라 각 도구를 실행함
Memory (선택) 대화 이력 또는 작업 결과를 저장해 장기 기억 유지 가능
 

AWS Bedrock의 Agent는 이를 기반으로 구성된 Agent Blueprint를 제공합니다. 사용자는 툴(Lambda 등)을 연결하여 Agent에게 행동 능력을 부여합니다.

 

저 말이 정해진 용어는 아닌듯 하고, 흔히 쓰는 그냥 단어인듯 하다. 

 

예시로 보는 Agent 동작 

동작형태는 내 이해지식 바탕으로 작성된거니, 틀릴수도 있을듯

예시: "오늘 일정 정리해서 팀장에게 메일 보내줘"

 

이런 입력에 대해 Agent는 자기 딴에 역할을 나눈 걸 바탕으로 판단할거

 

llm은 

일정확인 -> 정리 -> 메일전송

이 sequence로 들어갈거고, 

 

Tool에서는

일정 조회 API, 요약정리 Lambda, 이메일 전송 API 가 들어가야 할 것이다.

 

Planner는 

[
  "1. 오늘 일정 조회",
  "2. 일정 요약",
  "3. 팀장 이메일 주소 확인",
  "4. 이메일 전송"
]

 

이렇게 쪼갤 것이다. 

 

Executor는 Tool 바탕으로, 

  • Tool: 일정 조회 API → 오늘 일정 리스트 받아옴
  • Tool: 요약 Lambda → 자연어 요약 수행
  • Tool: 이메일 API → 요약 내용을 이메일로 발송

이렇게 구체화를 하겠지?

LLM은 중간 결과를 보면서 필요시 다시 계획을 수정하거나 추가 도구 호출 가능 

 

(중간결과를 보는건 꽤나 좋을듯 싶다)

 

AWS Bedrock Agent 내부구조

저 용어들은 AWS에선 다른 실제 요소가 있다. 다음과 같다.

실제 요소설명

Agent LLM이 탑재된 주체, 사용자 요청을 받아 처리함
Action Group 외부 기능 호출 정의 (예: Lambda 함수 연결)
Lambda Function 실제로 Agent가 호출할 수 있는 실행 단위
Knowledge Base (옵션) RAG 구조 통합 시 문서 기반 검색을 위한 KB
Session Agent가 사용자와의 대화를 추적하는 메커니즘 (일종의 메모리 역할)

정리해드리자면:

  설명 Bedrock 내 실제 명칭
LLM 질의 응답 및 자연어 처리 Agent 자체가 내장
Planner 여러 작업을 나눠 실행 순서를 판단 (명시적으로 존재하지 않음, LLM이 암묵적으로 수행)
Tool 외부 기능 (Lambda, API 등) Action Group, Lambda
Executor 툴을 실행하는 모듈 Action Group 내부에서 자동 수행
Memory 이전 대화나 상태 저장 Agent Session (기본 유지됨)

자 여기까지, Agent에 대한 기본 설명이다. 

 

다음 챕터에는 Agent를 실제 구현하는 단계로 넘어가보자.

 

어떤 Agent로 만들지는 고민해봐야겠다.

'AI스터디' 카테고리의 다른 글

20250621  (0) 2025.06.21
Agent 구현 Step2_ Agent 사용  (4) 2025.05.10