AI Agent는 단순히 답변하는 모델이 아니라, 목표를 위해 계획하고 도구를 호출하며 상태를 이어가는 구조입니다.
Agent는 LLM에 도구, 상태, 실행 루프를 붙인 애플리케이션 구조로 볼 수 있습니다. 콘텐츠 서비스에서는 개인화 추천, 자동 요약, 운영 보조 기능으로 확장할 수 있습니다.
- AI Agent
- Agent Loop
- Function Calling
- Memory/State
- Tool Selection
- 무한 루프 방지
1. 한 줄로 정의하면
AI Agent는 사용자의 목표를 처리하기 위해 LLM이 계획을 세우고, 필요한 도구를 선택해 실행하며, 중간 상태를 바탕으로 다음 행동을 이어가는 구조입니다.
2. 왜 이 개념이 필요했나
일반 Chat API 호출은 한 번의 입력에 한 번의 답변을 만드는 데 가깝습니다. 하지만 실제 서비스 기능은 여러 단계를 거칠 때가 많습니다.
예를 들어 '사용자가 놓친 문서 중 관심 있을 만한 콘텐츠 5개 추천해줘'라는 요청은 사용자 관심사 조회, 읽은 글 제외, 후보 검색, 요약 생성, 최종 정렬이 필요합니다.
OpenAI Agents 문서에서는 agent를 계획하고 도구를 호출하며 상태를 유지해 multi-step work를 수행하는 애플리케이션으로 설명합니다. Bedrock Agents 문서도 foundation model, data source, software application, user conversation 사이의 상호작용을 orchestration한다고 설명합니다.
3. 동작 흐름
4. 구조를 그림처럼 보면
5. 서비스 예시로 이해하면
지식베이스형 서비스에서 Agent는 개인화 큐레이터 기능으로 확장할 수 있습니다. 사용자의 선호 태그, 읽지 않은 콘텐츠, 최근 반응을 보고 매일 추천 콘텐츠 5개를 구성하는 방식입니다.
또 다른 예시는 콘텐츠 확장 에이전트입니다. 사용자가 짧은 아이디어를 쓰면 관련 콘텐츠를 RAG로 찾고, 필요한 경우 MCP 도구로 외부 정보를 가져와 작성안 구조를 제안할 수 있습니다.
goal: 사용자에게 읽지 않은 추천 콘텐츠 5개 제공
loop:
1. user interests 조회
2. unread posts 검색
3. RAG로 관련도 높은 글 선별
4. 각 글 요약
5. 추천 이유와 함께 반환
stop: max_steps=5 또는 추천 5개 확보
6. 헷갈리기 쉬운 비교
| LLM 호출 | 입력 하나에 답변 생성 | 글 요약해줘 |
| RAG | 검색 결과를 넣어 답변 생성 | 관련 콘텐츠 근거로 답변 |
| Agent | 여러 단계와 도구 호출을 관리 | 읽지 않은 콘텐츠 추천 큐레이션 |
7. 실무에서 조심할 점
- Agent는 자율성이 높아질수록 실패 경로도 많아집니다. max_steps와 timeout이 필요합니다.
- 도구 실행 권한을 넓게 주면 위험합니다. 읽기/쓰기 권한을 분리해야 합니다.
- Memory를 무작정 저장하면 개인정보와 비용 문제가 생길 수 있습니다.
8. 구현할 때 먼저 볼 코드 책임
Agent를 구현할 때 가장 먼저 정해야 할 것은 어떤 도구를 붙일지가 아니라 언제 멈출지입니다.
무한 루프를 막으려면 max_steps, timeout, 같은 tool 반복 호출 제한, 실패 횟수 제한을 코드 레벨에서 관리해야 합니다.
AgentState
- goal
- selectedTools
- observations
- stepCount
- errors
AgentLoop
while stepCount < maxSteps:
action = model.decide(state)
if action.type == FINAL: break
observation = toolExecutor.run(action)
state.add(observation)
stop 조건
- max_steps 도달
- timeout 초과
- 같은 tool 반복 호출
- 목표 달성
이번 글에서 기억할 것
- Agent는 LLM + 도구 + 상태 + 실행 루프의 조합입니다.
- RAG는 정보를 찾는 구조이고, Agent는 목표를 위해 행동을 조직하는 구조입니다.
- 무한 루프 방지와 권한 제어가 Agent 설계의 핵심입니다.
스스로 점검
- RAG와 Agent의 차이를 설명할 수 있는가?
- Agent Loop에서 반드시 종료 조건이 필요한 이유는 무엇인가?
- 지식베이스형 서비스에서 Agent로 만들 수 있는 기능을 하나 설계해볼 수 있는가?
참고한 공식 문서
'개발 > 용어 사전' 카테고리의 다른 글
| Guardrail이란? AI 답변을 제한하고 보호하는 장치 (0) | 2026.06.12 |
|---|---|
| MCP란? AI가 외부 도구를 호출하게 하는 프로토콜 (0) | 2026.06.12 |
| Job Queue란? 오래 걸리는 작업을 뒤로 미루는 구조 (0) | 2026.06.12 |
| Reranker란? 검색 결과를 다시 정렬하는 모델 (0) | 2026.06.11 |
| Vector DB란? 벡터 검색을 위한 데이터베이스 (0) | 2026.06.11 |