30초 답변
업무 절차와 예외 처리 경로를 미리 정할 수 있다면 워크플로 자동화를, 사용자가 정보나 초안을 대화로 얻는 것이 목적이라면 챗봇을, 실행 중 발견한 상황에 따라 다음 행동과 도구를 스스로 골라야 한다면 AI 에이전트를 선택해야 한다. 실제 기업 업무에서는 하나만 고르기보다 고정된 절차는 코드와 규칙으로 통제하고, 문서 해석이나 예외 판단처럼 모호한 구간에만 에이전트를 넣는 하이브리드 구조가 가장 설명하고 운영하기 쉽다.
이 글의 핵심
- AI를 쓴다는 이유만으로 에이전트가 필요한 것은 아니다. 예측 가능한 문제에는 예측 가능한 소프트웨어가 더 적합하다.
- 선택 기준은 대화 화면의 유무가 아니라 누가 실행 경로를 결정하는가다. 개발자가 경로를 정하면 워크플로, 모델이 매 단계 경로를 고르면 에이전트에 가깝다.
- 자율성이 커질수록 복구 경로, 권한 통제, 평가 범위와 운영 비용도 함께 커진다.
- 처음에는 최소 자율성으로 시작하고, 실제 실패 데이터가 쌓일 때만 판단 범위를 넓혀야 한다.
기존 글인 AI Agent는 어떻게 생각하고 행동하는가가 에이전트의 기본 루프를 설명한다면, 이 글은 프로젝트 시작 전에 그 루프가 정말 필요한지를 판별하는 데 초점을 둔다.
세 방식의 차이는 누가 다음 단계를 고르느냐에 있다
챗봇: 대화가 제품의 중심인 경우
챗봇은 사용자의 질문을 이해하고 답변, 요약, 초안 또는 안내를 돌려주는 인터페이스다. 사내 규정 Q&A, 문서 요약, 제품 사용 안내처럼 결과가 주로 텍스트이고 외부 시스템을 변경하지 않는 업무에 잘 맞는다. 검색이나 RAG를 사용하더라도 정해진 검색-생성 경로만 탄다면 그것만으로 에이전트라고 볼 필요는 없다.
좋은 챗봇의 핵심 지표는 답변 정확성, 근거 표시, 재질문 성공률, 응답 시간이다. 사용자는 “무엇을 실행했는가”보다 “답을 믿고 다음 일을 할 수 있는가”를 판단한다.
워크플로 자동화: 순서와 분기를 미리 정할 수 있는 경우
워크플로는 개발자가 정의한 순서, 조건, 재시도와 예외 경로를 실행한다. 예를 들어 신청서 필드 검증, 승인자 조회, 결재 요청 생성, 결과 알림의 순서가 정책으로 고정되어 있다면 일반 코드나 워크플로 엔진이 기준점이 되어야 한다. 중간에 LLM이 문서를 분류하거나 필드를 추출해도 전체 제어 흐름이 코드에 있으면 “LLM을 포함한 워크플로”다.
워크플로의 장점은 재현성과 감사 가능성이다. 같은 입력과 상태에서 어떤 분기가 실행됐는지 추적하기 쉽고, 실패 지점을 단계 단위로 재처리할 수 있다.
AI 에이전트: 실행 중 다음 행동을 결정해야 하는 경우
에이전트는 목표를 받고, 현재 상태를 관찰한 뒤, 다음 도구나 행동을 선택하고, 결과를 다시 관찰하는 루프를 수행한다. 공급업체 보안 검토처럼 입력 문서의 형식이 제각각이고, 누락된 근거에 따라 추가 검색이나 질문이 달라지는 업무가 후보가 된다.
OpenAI의 에이전트 구축 가이드도 복잡한 판단, 유지하기 어려운 규칙, 비정형 데이터 의존도가 높은 업무를 에이전트 후보로 제시하고, 그렇지 않으면 결정론적 해법으로 충분할 수 있다고 설명한다. Anthropic의 설계 가이드는 미리 정의한 코드 경로를 따르는 워크플로와 모델이 과정과 도구 사용을 동적으로 지시하는 에이전트를 구분한다.
6가지 질문으로 선택하기
아래 질문에 “예”가 많다고 곧바로 에이전트를 도입하는 것은 아니다. 어떤 구간에 모델의 판단이 필요한지를 좁히기 위한 진단표로 사용한다.
| 판단 질문 | 챗봇 쪽 신호 | 워크플로 쪽 신호 | 에이전트 쪽 신호 |
|---|---|---|---|
| 최종 산출물은 무엇인가? | 답변·요약·초안 | 정해진 업무 처리 결과 | 여러 시스템을 거친 목표 달성 |
| 실행 순서를 사전에 쓸 수 있는가? | 대체로 한 번의 응답 | 예, 조건표로 표현 가능 | 아니요, 관찰 결과에 따라 달라짐 |
| 예외 종류가 얼마나 안정적인가? | 답변 실패로 종료 가능 | 알려진 예외가 대부분 | 새 예외를 해석하고 우회해야 함 |
| 외부 시스템을 변경하는가? | 보통 읽기 전용 | 제한된 API를 정해진 순서로 호출 | 상황별로 여러 도구 중 선택 |
| 정답을 어떻게 평가하는가? | 답변별 평가 가능 | 단계별 성공 여부가 명확 | 전체 경로와 중간 판단까지 평가 필요 |
| 잘못됐을 때 영향은 무엇인가? | 잘못된 안내 | 특정 단계 실패 | 연쇄 행동·비용·권한 오용 가능 |
실무에서는 다음 순서로 결정하면 과잉 설계를 줄일 수 있다.
- AI 없이 해결 가능한가? 필드 매핑과 명확한 규칙만 필요하면 일반 자동화로 시작한다.
- LLM 한 번으로 해결 가능한가? 분류, 추출, 요약 하나면 충분하다면 단일 호출을 워크플로 단계로 넣는다.
- 대화가 필요한가? 사용자가 정보를 보완하고 결과를 다듬어야 한다면 챗봇 인터페이스를 붙인다.
- 모델이 다음 행동을 골라야 하는가? 관찰-판단-도구 실행을 반복해야 할 때만 에이전트 루프를 추가한다.
- 자율 행동의 가치가 위험보다 큰가? 되돌릴 수 없는 작업에는 사람 승인 설계가 먼저다.
가장 실용적인 구조는 ‘결정론적 외곽 + 제한된 에이전트’다
기업 시스템에서 모델이 모든 흐름을 통제하도록 만들 필요는 없다. 다음과 같이 책임을 나누면 에이전트의 유연성과 워크플로의 통제 가능성을 함께 얻을 수 있다.
- 입력·권한 검증은 코드가 담당한다. 로그인 사용자, 테넌트, 필수 필드, 허용된 데이터 범위를 모델에 맡기지 않는다.
- 모호한 해석은 모델이 담당한다. 의도 분류, 문서 의미 추출, 누락 정보 판단처럼 규칙이 쉽게 비대해지는 구간만 맡긴다.
- 허용된 도구 집합 안에서 행동한다. 도구는 읽기, 초안 생성, 외부 전송처럼 위험 수준별로 분리한다. 자세한 계약 설계는 Tool Calling 기반 AI Agent 설계 전략과 연결된다.
- 고위험 경계는 정책 엔진과 사람이 통제한다. 결제, 삭제, 대외 발송, 권한 변경은 모델의 확신도와 무관하게 별도 승인을 둔다.
- 종료 조건은 코드로 강제한다. 최대 단계 수, 최대 비용, 시간 제한, 동일 도구 반복 제한과 실패 시 인계 경로를 둔다.
예를 들어 고객 환불 업무에서 상담 내용을 요약하고 정책 문서를 찾는 일은 모델이 맡을 수 있다. 환불 가능 여부가 규칙으로 명확하다면 정책 엔진이 판정하고, 예외 사유 정리만 모델이 돕는다. 실제 환불 API 실행은 금액과 계정 정보를 사용자에게 보여준 뒤 승인받는다. 이 구조는 “모든 것을 판단하는 환불 에이전트”보다 각 책임을 설명하기 쉽다.
단계별 도입 방법
1단계: 현재 업무를 관찰 가능한 단위로 쪼갠다
입력, 판단, 조회, 변경, 승인, 알림, 종료를 분리한다. 담당자가 머릿속으로 처리하는 예외도 실제 사례와 함께 적는다. 이때 “AI가 알아서”라는 단계가 남아 있으면 아직 요구사항이 아니다.
2단계: 결정론적으로 고정할 구간을 먼저 표시한다
법적·보안 정책, 권한 확인, 금액 계산, 필수 검증, 시스템 기록은 코드나 정책 엔진의 후보다. 자연어로 표현된 정책을 모델이 직접 집행하게 만들기보다 실행 가능한 규칙과 최신 원문을 연결한다.
3단계: 최소 AI 기준선을 만든다
단일 LLM 호출 또는 RAG 챗봇으로 실제 테스트셋을 통과할 수 있는지 확인한다. 이 기준선이 있어야 에이전트 루프를 추가했을 때 정확도, 완료율, 지연과 비용이 실제로 좋아졌는지 비교할 수 있다.
4단계: 실패가 반복되는 판단만 자율화한다
고정 워크플로가 “누락된 문서 종류에 따라 추가 질문이 매번 달라진다”는 이유로 자주 중단된다면 해당 구간에 계획-행동 루프를 넣는다. 전체 프로세스를 한 번에 에이전트화하지 않는다.
5단계: 운영 지표로 확장 여부를 결정한다
최종 성공만 보지 말고 경로별 완료율, 사람 인계율, 잘못된 도구 선택률, 반복 호출률, 승인 거절률, p95 지연, 작업당 비용을 함께 본다. 모델 또는 프롬프트 변경 전후에 동일한 평가셋을 실행한다.
사용자 경험과 실패 시나리오
실패 1: 챗봇처럼 보이지만 뒤에서 행동한다
사용자는 질문을 했을 뿐인데 시스템이 티켓을 생성하거나 이메일을 보내면 통제감을 잃는다. 실행형 기능은 답변형 기능과 시각적으로 구분하고, 실행 대상·변경 내용·되돌리기 가능 여부를 미리 보여줘야 한다.
실패 2: 에이전트라고 했지만 정해진 명령만 이해한다
자연어의 유연성을 약속해 놓고 사용자가 정확한 명령 형식을 맞춰야 한다면 기대가 무너진다. 지원 범위와 제한을 첫 사용 시 알리고, 처리할 수 없는 요청에는 가능한 다음 행동을 제안한다. Microsoft HAX 가이드도 초기 상호작용에서 시스템이 할 수 있는 일과 성능 수준을 명확히 하도록 권한다.
실패 3: 진행 상태 없이 오래 기다리게 한다
여러 도구를 호출하는 작업에서 단일 로딩 표시만 보여주면 사용자는 멈춤과 실행 중을 구분할 수 없다. “자료 확인 → 초안 작성 → 승인 대기”처럼 의미 있는 단계와 취소 기능을 제공한다. 내부 추론을 그대로 노출할 필요는 없지만, 수행한 행동과 근거는 남겨야 한다.
실패 4: 동일 행동을 반복하거나 끝나지 않는다
도구 오류를 모델이 다른 표현으로 계속 재시도하면 비용과 부작용이 커진다. 재시도 가능 오류와 즉시 중단할 오류를 코드로 구분하고, 동일 인자 호출 횟수와 전체 단계 수를 제한한다.
실패 5: 실패 후 사용자가 처음부터 다시 시작한다
에이전트가 어느 단계까지 성공했는지 저장하지 않으면 복구 비용이 커진다. 완료된 단계, 보류 중인 승인, 생성된 초안과 오류를 작업 상태로 저장하고 해당 지점에서 재개한다. 장기 작업의 상태와 대화 기억은 AI 에이전트 메모리 설계에서 별도로 다룬다.
실무 체크리스트
- 업무 목표와 완료 조건을 한 문장으로 정의했다.
- 결과가 답변인지 실제 시스템 변경인지 구분했다.
- 현재 업무의 정상 경로와 상위 예외 사례를 수집했다.
- 코드로 고정할 규칙과 모델에 맡길 판단을 분리했다.
- 단일 호출 또는 고정 워크플로 기준선을 먼저 평가했다.
- 에이전트가 사용할 도구를 최소 집합으로 제한했다.
- 읽기, 쓰기, 외부 전송, 금전·권한 작업을 위험 등급으로 나눴다.
- 최대 단계, 시간, 비용, 재시도와 중단 조건을 코드로 강제했다.
- 실패 시 사람 인계와 중간 상태 재개 경로가 있다.
- 사용자에게 지원 범위, 실행 전 영향, 진행 상태를 보여준다.
- 경로별 완료율, 잘못된 도구 선택, 승인 거절과 작업당 비용을 추적한다.
- 에이전트 추가 전후를 같은 테스트셋으로 비교한다.
자주 묻는 질문
Q1. RAG를 사용하면 AI 에이전트인가?
아니다. RAG는 관련 정보를 검색해 모델의 답변 근거로 제공하는 구조다. 모든 요청이 정해진 검색-생성 경로를 따른다면 RAG 챗봇 또는 LLM 워크플로에 가깝다. 모델이 검색 필요성을 판단하고, 결과에 따라 추가 검색·도구 호출·질문을 선택할 때 에이전트적 성격이 생긴다.
Q2. 기존 RPA를 AI 에이전트로 교체해야 하나?
일괄 교체할 이유는 없다. 화면과 필드가 안정적이고 절차가 고정된 업무는 RPA나 API 자동화가 예측 가능하다. 비정형 문서 해석, 자연어 요청 분류, 예외 설명처럼 기존 자동화가 막히는 앞뒤 구간에 LLM을 결합하고, 그 효과를 측정한 뒤 범위를 넓히는 편이 안전하다.
Q3. 에이전트 도입 여부를 판단할 가장 중요한 지표는 무엇인가?
단일 정확도보다 업무 완료율과 사람의 총 개입 비용을 함께 봐야 한다. 에이전트가 더 많은 사례를 처리해도 잘못된 행동 검토와 복구 시간이 늘면 이득이 아닐 수 있다. 완료율, 인계율, 복구 시간, 실행 오류, 지연, 작업당 비용을 기존 방식과 비교해야 한다.
근거 자료
- OpenAI, A practical guide to building agents — 에이전트가 적합한 업무 조건, 단일·멀티에이전트 오케스트레이션, 도구 위험 등급과 사람 개입 원칙.
- Anthropic, Building effective agents — 코드로 정한 워크플로와 모델이 동적으로 지시하는 에이전트의 구분, 단순하고 조합 가능한 패턴 우선 원칙.
- Microsoft HAX Toolkit, Guidelines for Human-AI Interaction — AI 기능·한계 고지, 사용자 통제와 실패 복구를 포함한 인간-AI 상호작용 설계 지침.