AI 에이전트란?

업데이트: 2026년 10월

AI 에이전트는 추론하고, 툴을 호출하고, 결과를 관찰하는 과정을 반복하며 목표를 추구하는 LLM 기반 시스템입니다. 단순한 LLM 호출은 답하고 멈춥니다. 에이전트는 그 호출을 제어 루프로 감싸고, 여기에 툴(호출할 수 있는 함수), 메모리(단계를 넘나드는 상태), 그리고 행동의 순서를 스스로 고를 수 있을 만큼의 자율성을 더합니다. 백엔드 개발자에게 가장 중요한 변화는 에이전트에 관해 가장 평범하면서도 가장 덜 언급되는 사실에 있습니다. 에이전트의 “툴”은 여러분의 백엔드 엔드포인트입니다. 에이전트가 “툴을 사용한다”는 것은 여러분이 작성한 API를 호출한다는 뜻이며, 따라서 안전이 실제로 자리하는 곳은 프롬프트가 아니라 백엔드입니다.

핵심 요약

질문답변
루프추론 → 행동(툴 호출) → 관찰 → 완료될 때까지 반복(ReAct)
네 가지 구성 요소모델(추론) · 툴(행동) · 메모리(상태) · 오케스트레이션(루프)
vs. 챗봇챗봇은 작업에 대해 이야기하고, 에이전트는 작업을 실행함
냉정한 진실신뢰성은 단계마다 곱해져 떨어짐. 단계당 95%면 10단계에서 약 60%
안전 경계툴이 할 수 있는 일은 모델의 선의가 아니라 백엔드가 강제함

AI 에이전트 추론 루프(ReAct)의 동작 방식

목표: "마지막 주문을 환불하고 확인 이메일을 보내 주십시오"

  ┌───────────────────────────────────────────────────┐
  │ 1 REASON   모델: "사용자의 마지막 주문 확인 필요" │
  │ 2 ACT      툴 호출: find_orders(user, last=1)     │
  │ 3 OBSERVE  결과: 주문 #1187, $42, 배송 완료       │
  │ 4 REASON   "환불 대상, 환불 진행"                 │
  │ 5 ACT      툴 호출: refund_order(1187)            │◄─ 모든 ACT가
  │ 6 OBSERVE  결과: 환불 완료                        │   여러분의 백엔드를 호출
  │ 7 REASON   "이제 사용자에게 이메일 발송"          │
  │ 8 ACT      툴 호출: send_email(...)               │
  │ 9 REASON   "완료" → 최종 답변                     │
  └───────────────────────────────────────────────────┘

모델은 툴을 직접 실행하지 않습니다. 툴을 요청(이름 + 인수)할 뿐이며,
코드가 이를 실행하고 그 결과를 다음 추론 단계에 다시 넘깁니다.

그 루프 속 툴을 백엔드에서 구현한 모습입니다. 범위가 제한되고, 권한이 적용되며, 사용자 권한으로 실행됩니다:

// JavaScript — Cloud Code (cloud/main.js)
// An agent's "tool" is a backend function — scoped, permissioned, auditable
Parse.Cloud.define('refundOrder', async (req) => {
  // Runs under the CALLING USER's session — ACLs gate everything.
  // A hijacked agent can't exceed what this user may already do.
  const asUser = { sessionToken: req.user.getSessionToken() };
  const order = await new Parse.Query('Order').get(req.params.orderId, asUser);
  // ACLs apply via the session token: not your order → this throws, agent or not
  if (order.get('amount') > 100) throw 'Refunds over $100 need human approval';
  order.set('status', 'refunded');
  await order.save(null, asUser);
  return { refunded: order.id }; // the tool result the model reasons over next
});
// The backend, not the prompt, is the security boundary.

AI 에이전트의 네 가지 핵심 구성 요소

AI 에이전트의 네 가지 구성 요소AI 에이전트는 추론을 위한 언어 모델, 행동을 수행하기 위해 호출하는 툴, 상태를 담는 단기 및 장기 메모리, 그리고 목표에 도달할 때까지 추론, 행동, 관찰을 순환하는 오케스트레이션 루프를 결합합니다. 툴은 백엔드 함수와 API입니다.

툴 호출

결과

모델
(추론 핵심)

오케스트레이션 루프
추론 → 행동 → 관찰

툴
(여러분의 API / 함수)

메모리
단기(윈도우)
장기(데이터베이스)

여러분의 백엔드
+ 데이터

AI 에이전트는 추론을 위한 언어 모델, 행동을 수행하기 위해 호출하는 툴, 상태를 담는 단기 및 장기 메모리, 그리고 목표에 도달할 때까지 추론, 행동, 관찰을 순환하는 오케스트레이션 루프를 결합합니다. 툴은 백엔드 함수와 API입니다.

정석적인 분해는 모델 + 계획 + 메모리 + 툴 사용이지만, 운영 관점의 버전은 더 단순합니다. 모델이 추론하고, 툴이 행동하며(툴은 백엔드 함수입니다), 메모리가 상태를 보관합니다. 단기 메모리는 컨텍스트 윈도우에, 장기 메모리는 데이터베이스나 벡터 저장소에 있습니다. 그리고 오케스트레이션 루프가 이들을 하나로 묶습니다. 이 루프는 추론과 행동을 교차시키는 ReAct 패턴에 기반합니다.

에이전트 vs. 챗봇 vs. LLM 호출 vs. 워크플로

Criterion단순 LLM 호출챗봇워크플로AI 에이전트
하는 일한 번 답함대화함고정된 단계를 실행단계를 스스로 선택
제어 흐름없음턴 주고받기사전 정의된 코드 경로모델이 지시
행동 수행아니요아니요예, 스크립트대로예, 런타임에 결정
예측 가능성호출 단위어느 정도결정적확률적
적합한 용도Q&A, 추출고객 지원 채팅정해진 프로세스열린 목표

가장 중요하지만 거의 어떤 용어집도 짚지 않는 구분이 있습니다. 워크플로는 사전 정의된 코드 경로를 통한 오케스트레이션이고, 에이전트는 모델이 스스로 경로를 정하게 합니다. Anthropic의 가이드는 그 결과에 대해 직설적입니다. 에이전트가 필요해 보이는 작업 대부분은 결정적 워크플로로 더 잘 처리되며, 자율성은 경로를 정말로 스크립트로 짤 수 없을 때에만 추가해야 합니다.

신뢰성: 단계마다 곱해지는 오류

벤더 페이지들이 피하는 솔직한 섹션입니다. 에이전트는 단계별로는 인상적이지만 체인 전체로는 취약합니다. 성공 확률은 곱해지기 때문입니다. 각 단계가 확률 p로 성공한다면, n단계 작업은 대략 pⁿ의 확률로 성공합니다.

단계별 성공률      10단계     20단계
     95%            ~60%        ~36%
     90%            ~35%        ~12%
     85%            ~20%         ~4%

인상적인 한 단계를 해내는 데모가 스무 단계를 해내는 시스템은 아닙니다.
실제 환경에서 다단계·다중 시스템 에이전트의 성공률은 흔히 20–40%입니다.

이 계산이 프로덕션의 플레이북을 결정합니다. 체인을 짧게 유지하고, 결과를 그대로 믿지 말고 단계 사이마다 결과를 검증하며, 되돌릴 수 없는 행동(발송, 삭제, 결제, 게시)은 사람의 승인을 거치게 하고, 단계 수와 비용 한도로 루프에 상한을 두어 혼란에 빠진 에이전트가 큰 비용을 치르기 전에 저렴하게 실패하도록 해야 합니다. 신뢰성은 모델이 좋아지기를 기다리는 속성이 아니라, 아키텍처로 부과하는 것입니다.

보안 표면

행동할 수 있는 에이전트는 속아서 행동할 수도 있으며, 이 때문에 에이전트는 진정으로 새로운 공격 표면이 됩니다. 프롬프트 인젝션(prompt injection)은 모델 입력에 담긴 지시를 실제 행동으로 바꿉니다. 위험한 변종은 간접 인젝션입니다. 에이전트가 읽는 오염된 웹 페이지, 이메일, 지원 티켓에 지시가 담겨 있으면, 에이전트는 그 지시를 여러분의 자격 증명으로 실행합니다. 혼동된 대리인(confused deputy)은 그 피해의 형태입니다. 넓은 권한을 가진 에이전트가 조작되어 공격자를 대신해 그 권한을 오용하는 것입니다. 완화책은 새로운 행위자를 겨냥한 오래된 보안 규율입니다. 최소 권한의 사용자 범위 자격 증명(작업을 요청한 사용자가 이미 가진 것 이상을 에이전트에 주지 않음), 기본 거부 원칙의 좁은 범위 툴, 샌드박싱, 그리고 되돌릴 수 없는 모든 작업에 대한 사람의 승인 단계입니다. 가장 중요한 관점은 이것입니다. 보안 경계는 프롬프트가 아니라 백엔드입니다. 프롬프트에는 인젝션이 가능하지만, 서버 측 권한 검사는 말로 설득해 강제를 멈추게 할 수 없습니다.

에이전트가 오용할 수 없는 툴 설계

툴이 곧 백엔드이므로, 툴 설계는 백엔드 보안을 한층 더 엄격하게 적용하는 일입니다. 각 툴은 가능하면 멱등하게 만들고(재시도된 환불이 이중 환불이 되어서는 안 됩니다), 좁은 범위로 두며(원시 데이터베이스 접근이 아니라 명확한 행동 하나), 권한을 적용하고(사용자의 신원으로 실행되며 그 사용자의 ACL이 적용됨), 스키마를 명확히 해야 합니다. 모델이 툴을 호출할지, 어떻게 호출할지를 결정하기 위해 읽는 설명은 프롬프트만큼 공들일 가치가 있습니다. 모호한 툴 설명은 모델이 언젠가 찾아낼 버그이기 때문입니다. 테이블이 아니라 행동을 노출해야 합니다. 자체 검사를 갖춘 refund_order(id)를 노출하고, run_sql(query)는 절대 노출하지 않습니다.

일반적인 사용 사례

  • 고객 운영 – 에이전트가 권한이 적용된 툴로 고객 지원 요청을 처음부터 끝까지 해결하며, 환불과 취소에는 사람의 승인을 거칩니다.
  • 코딩 어시스턴트 – 저장소를 읽고, 툴을 실행하고, 리뷰를 거칠 변경을 향해 반복합니다.
  • 조사와 종합 – 경로를 미리 알 수 없는 다단계 검색과 요약입니다.
  • 판단이 필요한 데이터 워크플로 – 단계 사이에 추론이 필요한 작업으로, 고정된 파이프라인만으로는 부족합니다.
  • 일정 관리와 조율 – 여러 시스템에 걸친 목표를, 각각 범위가 제한된 툴로 처리합니다.

에이전트를 만들어야 할까? 결정 매트릭스

상황선택
단계를 미리 알 수 있는 경우워크플로. 결정적이고 테스트 가능
단일 질문이나 추출단순한 LLM 호출
열린 목표, 런타임에 결정되는 경로에이전트. 에이전트가 가장 빛나는 영역
루프 안에 되돌릴 수 없는 행동이 있는 경우사람의 승인 게이트를 갖춘 에이전트
여러 에이전트/모델이 재사용하는 툴이 많은 경우MCP로 표준화
신뢰성이 안전에 직결되는 경우짧은 체인과 검증, 아니면 자동화하지 않음

한계와 트레이드오프

  • 자율성은 신뢰성을 내주고 능력을 얻습니다. 에이전트가 열린 목표를 다룰 수 있게 하는 자유는 오류를 누적시키는 바로 그 자유입니다. 의도적으로 범위를 제한해야 합니다.
  • 루프에는 돈과 시간이 듭니다. 반복할 때마다 모델 호출이 늘어나므로, 에이전트는 설계상 단일 호출보다 느리고 비쌉니다. 둘 다 상한을 두고 모니터링해야 합니다.
  • 비결정성은 테스트를 어렵게 합니다. 워크플로는 단위 테스트를 하지만, 에이전트는 많은 실행에 걸쳐 통계적으로 평가해야 합니다. 같은 입력도 다른 경로를 탈 수 있기 때문입니다.
  • 영향 범위는 여러분의 자격 증명입니다. 에이전트의 안전성은 툴에 부여한 권한을 얼마나 좁게 제한했는지에 달려 있습니다. 지나치게 넓은 접근 권한은 언제 터질지 모르는 장애입니다.
  • 인상적이라고 신뢰할 수 있는 것은 아닙니다. 인상적인 데모는 운 좋은 체인 하나일 뿐이고, 프로덕션은 가드레일, 승인 게이트, 짧은 경로를 갖추는 지루한 작업입니다.

Back4app에서의 AI 에이전트

Back4app은 관리형 데이터베이스, 자동 생성되는 REST 및 GraphQL API, 인증, 파일 스토리지, Cloud Code 서버리스 함수를 결합한 오픈소스 Backend as a Service(BaaS) 플랫폼입니다. “툴은 백엔드 함수”라는 명제가 곧 통합의 전부입니다. 에이전트의 툴은 Cloud Code 함수이고, 호출한 사용자의 세션으로 실행되므로 플랫폼의 ACL과 클래스 수준 권한이 에이전트가 시도하는 모든 읽기와 쓰기를 통제합니다. 코드 탭에서 보듯이, 탈취되거나 프롬프트 인젝션을 당한 에이전트도 사용자 본인의 권한을 넘어설 수 없습니다. 혼동된 대리인의 영향 범위는 모델의 올바른 행동이 아니라 접근 제어로 제한되기 때문입니다. 나머지는 자연스럽게 따라옵니다. 원시 데이터가 아니라 범위가 제한된 행동(refundOrder)을 노출하고, 모델 키는 서버 측에 보관하며, 여러 에이전트가 툴 표면을 공유한다면 MCP로 표준화하고, 백엔드가 거절할 수 있게 해야 합니다. 에이전트는 제안하고 백엔드는 결정합니다. 자율 시스템의 안전이 자리해야 할 곳이 바로 거기입니다.

자주 묻는 질문

AI 에이전트를 쉽게 설명하면 무엇입니까?

언어 모델을 사용해 여러 단계로 이루어진 목표를 스스로 파악하고 수행하는 소프트웨어 시스템입니다. 단순히 대화하는 데 그치지 않고 계획을 세우고, 툴을 사용하고, 행동합니다. 챗봇과의 차이는 자율성입니다. 에이전트는 단계의 순서를 스스로 정하고 툴을 통해 외부 세계에 작용합니다.

AI 에이전트와 챗봇의 차이는 무엇입니까?

챗봇은 응답합니다. 메시지에 답하고 멈춥니다. 에이전트는 행동합니다. 목표에 대해 추론하고, 어떤 툴을 쓸지 결정해 호출하고, 결과를 관찰하며, 작업이 끝날 때까지 계속합니다. 챗봇은 주문 환불에 대해 이야기하고, 에이전트는 실제로 환불합니다.

에이전트 루프는 어떻게 동작합니까?

목표를 받고, 다음 단계를 추론하고, 툴을 호출하고, 결과를 관찰하고, 다시 추론합니다. 이 과정을 작업이 끝나거나 단계 수 또는 비용 한도에 도달할 때까지 반복합니다. 이 추론-행동-관찰 주기가 ReAct 패턴이며, 에이전트를 대화형이 아닌 에이전트형으로 만드는 핵심입니다.

툴과 함수 호출이란 무엇입니까?

툴은 에이전트가 호출할 수 있는 외부 함수로, API 호출, 데이터베이스 쿼리, 코드 실행 등이 해당합니다. 함수 호출은 그 메커니즘입니다. 모델이 툴 이름과 인수를 담은 구조화된 JSON 호출을 출력하면, 애플리케이션 코드가 이를 실행하고 결과를 모델에 돌려줍니다. 모델은 툴을 직접 실행하지 않으며, 요청할 뿐입니다.

에이전트 메모리란 무엇입니까?

두 종류가 있습니다. 단기 메모리는 컨텍스트 윈도우에 들어가는 내용, 즉 최근 단계와 작업 상태입니다. 장기 메모리는 데이터베이스나 벡터 저장소에 영속화되어 세션을 넘어 검색되는 지식입니다. 루프에는 둘 다 필요합니다. 지금 추론하기 위한 윈도우와 나중에 기억하기 위한 저장소입니다.

AI 에이전트는 신뢰할 수 있고 프로덕션에 쓸 준비가 되어 있습니까?

개별 단계는 대체로 신뢰할 만하지만 긴 체인은 그렇지 않습니다. 각 단계의 성공률이 95%라면 10단계는 약 60%, 20단계는 약 36%만 성공합니다. 오류가 누적되기 때문입니다. 프로덕션 에이전트는 체인을 짧게 유지하고, 결과를 검증하며, 되돌릴 수 없는 행동은 사람의 승인을 거치게 하고, 툴이 할 수 있는 일을 제한합니다.

AI 에이전트를 사용하지 말아야 할 때는 언제입니까?

작업이 결정적이고 잘 정의되어 있다면 단순한 워크플로나 일반 코드가 더 저렴하고, 빠르고, 신뢰할 수 있습니다. 에이전트는 경로를 미리 스크립트로 짤 수 없을 때에만 그 복잡성만큼의 가치를 냅니다. 자율성은 기본값으로 넣지 말고, 결과를 분명히 개선한다는 것이 입증될 때 추가해야 합니다.

MCP는 AI 에이전트와 어떤 관계입니까?

Model Context Protocol은 에이전트가 툴과 데이터를 발견하고 호출하는 방식에 관한 개방형 표준으로, 일회성 연동을 공통 인터페이스로 대체합니다. MCP는 에이전트와 툴 사이의 연결 계층이며, 툴 자체는 여전히 실제 작업을 수행하는 백엔드 함수입니다.

관련 용어

비교 대상

참고 자료

백엔드를 구축할 준비가 되셨나요?

몇 분 안에 Back4app에서 프로젝트를 시작하세요. 데이터베이스, 인증, API, Cloud Code가 포함되어 있으며 신용카드는 필요 없습니다.

작성 및 검수: Back4app Engineering, Back4app Engineering · 게시일 2026-10-31