AI 에이전트가 먼저 계획을 세우고 한 번에 실행할 때 더 잘 작동하는 이유
요약
AI 에이전트가 도구를 사용할 때 단계별로 상호작용하는 방식과 전체 워크플로우를 한 번에 계획하여 실행하는 방식의 차이를 분석합니다. 원샷 스크립트 실행 방식이 대화형 실행보다 속도, 비용, 신뢰성 측면에서 더 효율적일 수 있음을 설명합니다.
핵심 포인트
- 대화형 실행은 유연하지만 잦은 모델 호출로 인해 비용과 지연 시간이 발생함
- 원샷 스크립트 실행은 전체 계획을 한 번에 제출하여 효율성을 극대화함
- 예측 불가능한 환경이나 디버깅이 필요한 경우 대화형 방식이 유리함
- 워크플로우가 길어질수록 계획 기반의 실행이 신뢰성 면에서 우수함
왜 AI 에이전트는 먼저 계획을 세우고 한 번에 실행할 때 더 잘 작동하는가
AI 시스템은 더 이상 질문에 답하는 것에 국한되지 않습니다. 웹사이트를 열고, 파일을 정리하며, 코드를 실행하고, 완전한 워크플로우 (workflow)를 수행할 수 있습니다. 도구를 사용하고 목표를 향해 일련의 행동을 취할 수 있는 AI 시스템을 흔히 **AI 에이전트 (AI agent)**라고 부릅니다.
하지만 AI에게 도구에 대한 접근 권한을 준다고 해서 자동으로 효율적이게 되는 것은 아닙니다.
두 에이전트가 동일한 작업을 매우 다른 방식으로 완료할 수 있습니다. 하나는 단일 행동을 수행한 뒤, 멈춰서 결과를 검토하고, 그다음에 무엇을 할지 결정할 수 있습니다. 다른 하나는 전체 워크플로우 (workflow)를 먼저 계획하고 이를 하나의 완성된 프로그램으로서 실행할 수 있습니다. 두 접근 방식 모두 작동할 수 있지만, 속도, 비용 및 신뢰성 면에서 큰 차이가 날 수 있습니다.
이 글은 왜 많은 작업에서 AI 에이전트에게 한 번에 완전한 워크플로우 (workflow)를 제출하도록 요청하는 것이 도구를 한 번에 한 단계씩 상호작용하며 사용하는 것보다 더 효율적인지 설명합니다.
1. AI 에이전트는 어떻게 도구를 사용하는가?
AI 에이전트에게 간단한 작업을 완료하도록 요청한다고 가정해 봅시다:
웹페이지를 열고, 주요 헤딩 (heading)을 찾은 다음, 그 헤딩이 무엇인지 말해줘.
한 가지 흔한 실행 패턴은 다음과 같습니다:
- AI가 웹페이지를 열라는 지침을 보냅니다.
- 브라우저 도구가 페이지를 열고 결과를 반환합니다.
- AI가 그 결과를 읽고 헤딩을 찾으라는 또 다른 지침을 보냅니다.
- 도구가 헤딩을 찾아내고 더 많은 정보를 반환합니다.
- AI가 헤딩 텍스트를 읽으라는 마지막 지침을 보냅니다.
이는 미숙한 요리사가 아주 작은 행동을 할 때마다 지침을 구하는 것과 비슷합니다:
“팬을 꺼냈어요. 다음엔 뭘 해야 하죠?”
“기름을 넣었어요. 이제 뭘 할까요?”
이 접근 방식은 유연하지만, AI는 반복적으로 최신 결과를 읽고, 작업을 재고하며, 다음 지침을 생성해야 합니다. 워크플로우 (workflow)가 길어질수록 더 많은 주고받는 통신이 필요합니다.
또 다른 옵션이 있습니다. AI가 먼저 전체 절차를 작성한 다음, 이를 단 한 번의 단계로 실행 환경에 제출하는 것입니다.
// 대상 웹페이지 열기
await openPage("https://example.com");
...
이는 요리사에게 전체 레시피를 주는 것과 더 비슷합니다. 요리사는 모든 재료를 하나씩 썰 때마다 승인을 요청하는 대신, 지침을 따르고 완성된 요리를 가져옵니다.
2. 두 접근 방식의 실질적인 차이점
기술적인 논의에서 이러한 패턴은 종종 **대화형 실행 (interactive execution)**과 **원샷 스크립트 실행 (one-shot script execution)**으로 설명됩니다.
대화형 실행 (Interactive execution)
대화형 실행에서는 AI가 작은 작업을 수행하고, 그 결과를 관찰한 다음, 다음에 무엇을 할지 결정합니다.
이 접근 방식은 다음과 같은 경우에 유용합니다:
- AI가 무엇을 마주하게 될지 예측할 수 없을 때.
- 각 결과가 작업의 방향을 바꿀 수 있을 때.
- AI가 반복적인 실험을 통해 문제를 디버깅 (debugging)할 때.
- 환경을 초기화하는 비용이 많이 들어서, 실행 중인 세션을 유지하는 것이 가치 있을 때.
주요 단점은 AI와 도구(tools) 사이에 수많은 왕복 (round trips)이 발생할 수 있다는 점입니다. 각 왕복은 대기 시간, 모델 호출 (model calls), 그리고 컨텍스트 처리 (context-processing) 비용을 추가할 수 있습니다.
원샷 스크립트 실행 (One-shot script execution)
원샷 실행에서는 AI가 루프 (loops), 필터 (filters), 결정 (decisions), 그리고 계산 (calculations)을 로컬 런타임 (local runtime)에 전달하기 전에 하나의 완전한 프로그램으로 구성합니다.
이 접근 방식은 특히 다음과 같은 경우에 잘 작동합니다:
- 필요한 단계가 상당히 명확할 때.
- 대량의 데이터를 배치 (batches)로 처리해야 할 때.
- 중간 단계에서 지속적인 AI의 개입이 필요하지 않을 때.
- 지연 시간 (latency), 도구 호출 (tool calls), 그리고 비용을 줄이는 것이 중요할 때.
원샷 실행이 AI가 단 하나의 명령만 제출할 수 있다는 것을 의미하지는 않습니다. 또한 프로그램이 예상치 못한 상황을 무시해야 한다는 뜻도 아닙니다. 완전한 스크립트에는 여전히 조건문 (conditions), 재시도 (retries), 검증 (validation), 그리고 에러 핸들링 (error handling)을 포함할 수 있습니다.
for (const url of urls) {
try {
const content = await downloadPage(url);
...
이 예시에서 로컬 프로그램은 URL을 방문하고, 키워드를 확인하며, 실패 상황을 처리합니다. AI는 매 페이지마다 전체 작업을 다시 고려할 필요가 없습니다.
3. 왜 원샷 실행 (One-Shot Execution)이 비용이 더 적게 들까요?
컴퓨터에서 일반적인 코드를 실행하는 것은 보통 비용이 거의 들지 않습니다. 대규모 AI 모델에게 결과를 반복적으로 검사하고 새로운 결정을 내리도록 요청하는 것이 종종 비용이 많이 드는 부분입니다.
100개의 웹사이트 전체에서 특정 키워드를 포함하는 모든 페이지를 찾아야 한다고 가정해 봅시다.
만약 AI가 각 페이지를 대화형 (interactively)으로 처리한다면, 워크플로 (workflow)는 다음과 같을 수 있습니다:
페이지 1 열기 → AI가 평가 → 페이지 2 열기 → AI가 평가 → 페이지 100까지 반복
이 과정은 많은 모델 상호작용 (model interactions)과 도구 호출 (tool calls)을 생성할 수 있습니다.
더 효율적인 워크플로는 다음과 같을 것입니다:
- 일반적인 코드를 사용하여 모든 페이지를 다운로드합니다.
- 로컬에서 콘텐츠를 정제하고 필터링합니다.
- 가장 관련성이 높은 결과만을 AI에게 보냅니다.
- AI가 선택된 정보를 해석, 비교 및 요약하도록 합니다.
이는 회사 내부에서 업무를 배정하는 것과 유사합니다:
- 소프트웨어는 반복적이고, 예측 가능하며, 측정 가능한 작업을 처리합니다.
- AI는 이해, 추론 또는 판단이 필요한 작업을 처리합니다.
AI를 모든 기계적인 동작에 참여시키는 것은 부서장에게 모든 문서를 직접 복사하라고 요청하는 것과 같습니다. 업무는 완료될 수 있겠지만, 이는 값비싼 자원을 합리적으로 사용하는 방법이 아닙니다.
4. "대규모 지능 (Large Intelligence)"과 "소규모 지능 (Small Intelligence)"은 어떻게 협력해야 하는가?
간단한 멘탈 모델 (mental model)을 위해, 에이전트 (agent)에게 요구되는 능력을 두 가지 범주로 나눌 수 있습니다.
대규모 지능: 이해 및 의사결정
이러한 작업들은 대개 AI 모델로부터 이점을 얻습니다:
- 사용자가 실제로 무엇을 원하는지 이해하기.
- 특정 구절이 질문에 답변하는지 결정하기.
- 서로 다른 옵션들의 장단점을 비교하기.
- 모호하거나 구조화되지 않은 자료에서 아이디어 추출하기.
- 명확하고 자연스러운 최종 설명 생성하기.
소규모 지능: 결정론적 연산 (deterministic operations)
이러한 작업들은 일반적으로 일반적인 코드(ordinary code)를 통해 효율적으로 수행될 수 있습니다:
- 웹페이지 방문 및 다운로드.
- HTML 태그 제거.
- 키워드에 따른 콘텐츠 필터링.
- 수치 데이터 정렬 및 계산.
- 파일 형식 변환.
- 정해진 규칙에 따른 필드 채우기.
잘 설계된 AI 에이전트는 모든 연산을 거대 언어 모델 (LLM)에 보내서는 안 됩니다. 그렇다고 경직된 자동화 스크립트에만 전적으로 의존해서도 안 됩니다. 더 나은 시스템은 이 두 가지 형태의 지능이 협력할 수 있도록 합니다:
사용자가 목표를 설명함
↓
AI가 요청을 이해하고 계획을 수립함
...
이것은 하이브리드 워크플로 (hybrid workflow)입니다. AI는 모든 동작을 수동으로 수행하는 작업자라기보다, 작업의 각 부분을 가장 적합한 도구에 할당하는 조정자 (coordinator)에 가깝게 행동합니다.
5. 원샷 실행 (One-Shot Execution)이 항상 최선의 선택은 아니다
완성된 스크립트가 종종 더 효율적이긴 하지만, 모든 작업에 정답이 되는 것은 아닙니다.
원샷 실행에 적합한 작업
- 배치(batch) 단위 파일 정리.
- 데이터 수집 및 정제.
- 명확한 조건에 따른 정보 필터링.
- 동일한 구조를 가진 많은 양의 양식 채우기.
- 안정적인 브라우저 동작 시퀀스 수행.
- 보고서 생성 및 통계 계산.
대화형 실행 (interactive execution)에 적합한 작업
- 원인을 알 수 없는 오류가 발생하는 프로그램의 디버깅 (debugging).
- 구조가 익숙하지 않은 웹사이트 탐색.
- 매 단계마다 새로운 분기(branch)가 생길 수 있는 워크플로 처리.
- 인간의 확인이 필요한 고위험 동작 수행.
- 상태가 오랫동안 유지되어야 하는 복잡한 환경 내에서의 작업.
예를 들어, AI가 익숙하지 않은 관리자 대시보드에 처음 접속할 때, 무엇을 클릭할지 결정하기 전에 인터페이스를 조사해야 할 수도 있습니다. 그러한 상황에서는 단계별 탐색 (step-by-step exploration)이 더 안전합니다.
AI가 페이지 구조를 이해하고 나면, 작업의 반복되는 부분을 완전한 스크립트 (script)로 변환하여 남은 작업을 일괄 처리 (batch)할 수 있습니다.
실제로 가장 효과적인 패턴 중 하나는 다음과 같습니다:
먼저 대화형으로 탐색 (Explore interactively)한 다음, 반복 가능한 작업은 하나의 완성된 프로그램으로서 실행하십시오.
6. 이것이 일반 사용자에게 어떤 의미를 갖나요?
이 아이디어의 혜택을 누리기 위해 코드를 작성할 필요는 없습니다. 동일한 원리를 AI 어시스턴트에게 지시를 내리는 방식에 적용하여 개선할 수 있습니다.
파편화된 요청을 연속해서 보내는 대신:
이 파일을 열어줘.
안에 무엇이 있는지 알려줘.
숫자들을 찾아줘.
이제 그것들을 정렬해줘.
처음부터 전체 목표와 기대되는 출력값을 설명할 수 있습니다:
이 파일을 읽고 모든 제품명과 가격을 추출해줘. 가격이 없는 기록은 제거하고, 남은 제품들을 낮은 가격부터 높은 가격 순으로 정렬한 뒤, 결과를 마크다운 (Markdown) 표로 제시해줘. 각 중간 단계마다 멈춰서 물어보지 마. 데이터가 정말로 모호할 때만 나에게 질문해줘.
이러한 방식의 지시는 AI가 다음과 같은 작업을 수행하도록 돕습니다:
- 전체 목표를 더 일찍 이해합니다.
- 불필요한 확인 루프 (confirmation loops)를 피합니다.
- 행동하기 전에 워크플로 (workflow)를 계획합니다.
- 반복적인 처리를 위해 코드 (code)를 사용합니다.
- 더 일관된 최종 결과를 생성합니다.
결제, 데이터 삭제, 게시 또는 메시지 전송과 관련된 작업은 여전히 특별한 주의가 필요합니다. 외부 시스템이나 타인에게 영향을 미칠 수 있는 작업의 경우, AI는 결과가 발생하는 단계 직전에 즉시 확인을 위해 멈춰야 합니다.
7. 결론
AI 에이전트의 효율성은 모델의 성능뿐만 아니라, 에이전트가 도구 (tools)와 어떻게 통신하느냐에 따라 달라집니다.
작업에 명확한 단계가 있고 대량의 반복적인 작업이 포함되어 있다면, AI에게 전체 워크플로를 구성하게 하여 로컬 런타임 (local runtime)에 제출하도록 요청함으로써 대기 시간, 도구 호출 (tool calls), 그리고 모델 비용을 줄일 수 있습니다.
작업에 미지의 요소가 많고 다음 행동이 최신 결과에 크게 의존하는 경우, 대화형 실행 (interactive execution)은 여전히 매우 가치 있습니다.
가장 효과적인 시스템은 두 가지 접근 방식 중 어느 하나에 영구적으로 전념하지 않습니다. 대신 작업의 성격에 따라 방식을 전환합니다:
AI가 불확실성을 처리하게 하고, 코드가 확실성을 처리하게 하세요. 먼저 탐색하고, 반복 가능한 작업은 그다음에 자동화하세요. 모델은 생각하게 하고, 프로그램은 실행하게 하세요.
이는 일반 사용자들과 현대적인 AI 에이전트 (AI agents)를 다루는 개발자 모두에게 가장 유용한 원칙 중 하나가 될 수 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기