AI 에이전트 설계를 위한 5가지 디자인 패턴
AI 기술이 빠르게 진화하면서, 단순한 응답 생성에 그치지 않고 스스로 사고하고 작업을 수행하는 지능형 시스템에 대한 요구가 높아지고 있습니다. 특히 여러 단계의 과정을 조율하고 책임지는 실무자에게는 단순한 챗봇을 넘어선 에이전트 기반 AI 시스템이 점점 더 현실적인 대안으로 자리 잡고 있죠. 이때 AI가 실제 업무에 기여하려면 무엇을 언제, 어떻게 수행할 것인가에 대한 명확한 설계 원칙, 즉 ‘디자인 패턴’이 필요합니다.
AI 에이전트 디자인 패턴이란, 컴퓨터가 LLM을 이용하여 자율적으로 사고하고, 계획하고, 작업을 실행할 수 있는 지능형 시스템을 구축하기 위해 구조화된 접근 방식을 의미합니다. 이 글에서는 AI 에이전트에서 사용하는 다섯 가지 유형의 패턴을 하나씩 짚어보며, 각각 어떤 방식으로 실무에 적용할 수 있는지 살펴보도록 하겠습니다.
1. 반응 패턴
반응 패턴(Reflection Pattern)은 AI 모델이 초기 응답을 생성한 후 해당 출력의 품질과 정확성을 스스로 평가하고, 이를 기반으로 내용을 수정하는 디자인 패턴입니다.
이 과정에서 AI 모델은 생성(Generation)과 자기 평가(Self-assessment) 과정을 반복합니다. AI는 생성된 출력을 평가하며 오류, 개선이 필요한 부분을 점검하고, 이후 이를 바탕으로 출력을 수정하고 개선합니다. 이 작업은 특정한 품질 수준에 도달하거나 사전에 정의된 종료 조건에 도달할 때까지 반복됩니다.
이 과정을 좀 더 자세히 정리해보겠습니다.
1️⃣ 초기 응답 생성(Generation)
AI 모델이 사용자의 프롬프트(질문, 요청)에 대한 초기 응답을 생성합니다.
2️⃣ 자기 평가(Self-assessment)
AI 모델이 자신의 출력(응답)을 스스로 검토합니다. 이때 오류, 모호한 표현, 개선 가능한 부분을 찾거나 사용자의 의도에 맞지 않는 부분을 파악합니다.
3️⃣ 수정 및 개선
AI 모델은 2️⃣번 과정의 피드백을 바탕으로 답변을 수정합니다. 이 과정은 최종 답변이 생성될 때까지 반복합니다.
4️⃣ 종료
특정 조건(ex. 품질 기준 충족, 최대 반복 횟수 초과 등)에 도달하면 작업을 종료합니다.
이 과정을 그림으로 표현하면 어떨까요?

이 방법을 사용할 경우, 단순히 1회성 응답을 생성하는 것보다, 반복적인 피드백을 반영하여 정확성, 일관성, 명확성이 크게 향상됩니다. 또 다른 장점은 다음과 같습니다.

장점만 봤을 때는 사용하지 않을 이유가 없어 보이지만, 다음과 같은 단점도 있으니 이 부분도 고려해야 합니다.

LLM은 매우 방대한 양의 데이터로 훈련되기 때문에 출력 품질이 불안정할 수 있는데, 이 패턴을 이용하면 LLM이 더 신뢰할 수 있는 응답을 생성할 수 있습니다.
마지막으로 이 패턴을 사용하면 좋은 상황은 아래와 같습니다.
문서 생성 AI
문서 생성 AI가 초기 초안을 생성하고, 이후 AI는 문장을 검토하여 오류와 모호한 표현을 인식하고 이를 수정할 수 있습니다. 이를테면 ‘보고서 자동 생성 AI’가 처음에는 단순한 템플릿을 생성하지만, 스스로 부족한 부분을 보완하여 더 나은 보고서를 생성합니다.
교육 플랫폼 AI
온라인 교육 플랫폼에서 강의 자료를 개선하는 데 사용할 수 있습니다. 예를 들어 ‘교육 플랫폼 AI’가 강의 자료를 작성한 후 직접 검토하여 모호한 설명, 불필요한 예시, 오타 등을 찾고 수정합니다. 이 과정을 통해 더 나은 품질의 강의 자료를 만들 수 있습니다.
2. 계획 패턴
계획 패턴(Planning Pattern)은 수행해야 할 구체적인 계획을 수립하고, 그 계획을 여러 단계에 걸쳐 실행하는 기법입니다. 이는 반응 패턴의 확장판으로 여기에 계획(Planning)만 추가되었다고 이해하시면 됩니다. 이 패턴은 하나 이상의 작업(Task)들로 구성되며 각 작업은 독립적인 작업 단위로 간주됩니다.
다음은 일련의 작업을 정의하고 이를 하나씩 차례로 수행하는 과정입니다.
1️⃣ 계획(Planning)
AI 에이전트는 프롬프트를 해석하여 문제 해결을 위한 상위 수준의 목표와 전략을 포함한 전체적인 계획을 수립합니다.
2️⃣ 작업 생성(Generate Task)
AI 에이전트는 주어진 목표를 작은 작업 단위로 분할하여 실행 가능한 작업의 목록을 생성합니다. ‘작업을 분할한다’의 의미를 다시 한번 간단히 예를 들어 설명하겠습니다. LLM에 다음과 같은 질문을 했다고 가정해보겠습니다.
프롬프트 엔지니어링이란?
그럼 이 단계에서 AI 에이전트는 다음과 같은 작업 단위로 분할합니다.
- 1단계: 웹에서 ‘프롬프트 엔지니어링’을 검색합니다.
- 2단계: 검색된 내용을 요약합니다.
- 3단계: 사용자에게 요약된 정보를 반환합니다.
3️⃣ 단일 작업 에이전트(Single Task Agent)
생성된 각 작업(Task)을 실행하는 주체로, 작업 수행에 특화된 에이전트입니다. 단일 작업 에이전트는 하나의 특정 작업에 집중하며 이를 성공적으로 완료한 후 다음 작업 을 처리할 준비를 합니다. 앞의 예시를 다시 사용하면, AI 에이전트는 1단계 처리에 집중하고 이를 성공적으로 처리하면 2단계를 준비합니다.
4️⃣ 재계획(Replan)
이 단계에서는 작업 결과를 평가하여 조정이 필요한지를 결정하며 작업이 원하는 결과를 충족하지 못할 경우 재계획(Replan)을 수립합니다.
5️⃣ 반복(Iterate)
작업을 여러 번 실행하여 최적의 결과를 얻는 과정을 의미합니다. 즉, AI 에이전트는 작업을 반복적으로 실행하면서 작업 결과를 개선하고,반복하여 최적의 결과(답변)를 도출합니다.
이것을 그림으로 표현하면 다음과 같습니다.

3. 도구 사용 패턴
도구 사용 패턴(Tool Use Pattern)은 말 그대로 외부 도구(ex. 마이크로소프트 빙, 구글 검색 엔진)를 사용하는 방식입니다. 전통적으로 LLM은 사전에 학습된 데이터에만 의존했습니다. 이로 인해 최신 정보에 접근 할 수 없는 문제가 있었는데요. 도구 사용 패턴을 사용하면 LLM이 외부 시스템과 통합하여 실시간 정보와 최신 데이터에 접근할 수 있습니다.

이 패턴의 핵심은 작업의 모듈화, 전문 도구의 활용, 순차적 처리에 있습니다. 하나의 거대한 LLM이 모든 작업을 처리하는 대신, 전문화된 도구에 특정 작업을 분배함으로써 더 효율적이고 확장 가능한 AI 시스템 구축이 가능합니다.
4. 멀티에이전트 패턴
멀티에이전트 패턴(Multi-Agent Pattern)은 복잡한 작업을 여러 하위 작업으로 나누고, 각각의 작업을 특정 작업에 능숙한 에이전트들이 수행하게 하는 기법입니다. 예를 들어 보고서를 작성해야 한다고 가정했을 때, 다음과 같이 하위 작업에 따라 에이전트를 구분할 수 있습니다.
- 보고서에 필요한 내용은 ‘검색 에이전트’를 사용합니다.
- 보고서 작성은 ‘생성(Writer) 에이전트’를 사용합니다.
- 생성된 보고서의 맞춤법 검사는 ‘맞춤법 검사 에이전트’를 사용합니다.
- 생성된 보고서의 요약을 위해 ‘요약 에이전트’를 사용합니다.

이와 같이 멀티에이전트 패턴은 특정 역할을 가진 다양한 에이전트들이 하나의 팀처럼 협력하여 작업을 효율적으로 완료하기에 아래와 같은 장점이 존재합니다.

특히 이 패턴은 제품 연구 및 개발, 종합적인 콘텐츠 제작과 같이 다양한 전문 지식이 요구되는 작업에 효과적입니다. AI 에이전트가 각광받는 이유로는 여러 요인이 있지만, 무엇보다 멀티에이전트 패턴이 그중 중요한 역할을 하고 있습니다. 복잡한 문제를 분산적으로 해결하고, 협력적 작업을 수행하며 유연성과 확장성을 제공하기 때문입니다.
5. CoT 프롬프팅 패턴
AI 에이전트 디자인 패턴 중 CoT 프롬프팅 패턴(Chain of Thought Prompting Pattern)이란, AI가 문제를 단계별로 사고(Thinking)하고 추론하도록 유도하는 기법입니다. 일반적으로 AI는 질문을 받으면 즉각적으로 답변하려고 하지만, CoT는 AI가 답변을 내리기 전에 논리적 사고의 단계를 거치도록 유도하기 때문에 비교적 정확한 답변을 얻을 수 있습니다.
CoT 프롬프팅 패턴의 동작 과정은 다음과 같습니다.
1️⃣ 질문 이해
AI가 사용자로부터 받은 질문을 이해합니다.
2️⃣ CoT 과정(추론 과정)
단계별 사고가 이루어지는 단계입니다. 예를 들어 ‘철수가 사과 10개를 가지고 있다가 3개를 먹고, 2개를 더 받았습니다. 철수에게 남아 있는 사과는 몇 개입니까?’라는 질문을 했다고 가정해 봅시다. 그러면 AI는 다음과 같은 CoT 과정을 거칩니다.
- 철수는 원래 사과 10개를 가지고 있었습니다.
- 철수가 사과 3개를 먹었으므로, 10-3 = 7개가 남습니다.
- 철수는 다시 사과 2개를 받았으므로, 7+2=9개가 됩니다.
3️⃣ 최종 답변 생성
최종적으로 단계별 사고를 종합하여 최종 답변을 제시합니다. 예를 들어 앞의 질문에 대한 최종 답변은 ‘철수에게 남아 있는 사과는 9개 입니다.’라고 할 수 있습니다.

특히 오픈AI의 o1 모델이 답변을 생성하기 위해 이러한 추론 과정을 거치는 것으로 유명합니다. 즉, o1에서 답변을 생성하기 위한 추론 과정에 CoT 프롬프팅 패턴을 사용했다고 할 수 있습니다(물론 o1의 경우 복합적 패턴을 사용했을 테지만, 그중 하나가 CoT 프롬프팅 패턴입니다).
CoT 프롬프팅 패턴은 다음과 같은 시나리오에서 사용하면 좋습니다.
수학 문제 해결
AI 에이전트는 복잡한 수학 문제를 단계별로 분해하여 해결할 수 있습니다. 이를테면 방정식 문제를 여러 개의 간단한 단계로 나누어 각 단계별로 풀이 과정을 제시할 수 있습니다.
법률 분석
AI는 법률 사건을 논리적 단계로 나누어 분석할 수 있습니다. 예를 들어, 사건의 사실 관계, 적용 법률, 판례 등을 단계별로 검토하고 결론을 도출하는 방식으로 법률 자문에 활용될 수 있습니다.
마치며
지금까지 살펴본 다섯 가지 AI 에이전트 디자인 패턴은 단순히 LLM을 호출하는 수준을 넘어, AI가 스스로 사고하고 작업을 실행할 수 있도록 돕는 설계 방식입니다. 이 패턴들을 잘 활용하면, 단순한 자동화가 아닌 스스로 문제를 해결할 줄 아는 AI 시스템을 설계할 수 있습니다.
이제 중요한 건, 내가 구축하려는 시스템에 어떤 패턴이 적합한가를 판단하고 조합하는 일입니다. 지금 떠오르는 실무 과제나 해결하고 싶은 문제를 떠올려 보세요. 그 작업을 AI가 대신한다면, 어떤 패턴이 가장 자연스럽고 효과적일까요?

- 이 글은 길벗에서 출간된 책 <랭체인 & 랭그래프로 AI 에이전트 개발하기>에서 발췌·편집한 글입니다. 원문은 [여기]에서 볼 수 있습니다.
©️요즘IT의 모든 콘텐츠는 저작권법의 보호를 받는 바, 무단 전재와 복사, 배포 등을 금합니다.