대부분의 AI 엔지니어는 에이전트를 구축하는 방법을 알고 있습니다.
하지만 첫 시도 이후에 계속 발전하는 시스템을 구축하는 방법을 아는 사람은 거의 없습니다.
그 차이는 6자리 연봉 차이를 만듭니다.
차이점은 이것입니다:
에이전트는 일꾼입니다.
루프는 일꾼이 발전하게 만드는 것입니다.
오늘날 프로덕션에서 운영되는 가장 뛰어난 AI 시스템은 단일 모델 호출이 아닙니다.
그것들은 루프입니다.
생성 → 평가 → 학습 → 개선.
계속 반복합니다.
결과물이 실제로 좋아질 때까지.
다음은 프로덕션 AI 시스템에서 반복적으로 등장하는 20가지 루프 디자인 패턴입니다.
저장해두세요. 여러분은 이 패턴들을 사용하여 구축하게 될 것입니다.
에이전트 vs 루프
기존 방식: 프롬프트 → 응답 → 완료.
새로운 방식: 생성 → 비평 → 재작성 → 점수 → 재시도 → 기억 → 개선.
하나는 작업을 한 번 수행하는 공장 노동자입니다.
다른 하나는 모든 실수를 연구하고, 매뉴얼을 다시 쓰며, 매 교대 근무마다 3%씩 더 나아지는 공장 노동자입니다.
지금 프로덕션 AI를 출시하는 팀들은 더 나은 프롬프트를 작성하는 것이 아닙니다.
그들은 더 나은 루프를 구축하고 있습니다.

카테고리 1 — 품질 개선 루프 (결과물이 시스템을 떠나기 전에 더 좋게 만듭니다)
1. 생성 → 비평 → 재작성
AI 엔지니어링에서 가장 중요한 루프입니다.
결과물을 생성합니다. 비평가가 검토합니다. 생성자가 피드백을 바탕으로 재작성합니다. 품질 임계값에 도달할 때까지 반복합니다.
하나의 모델이 아닙니다. 두 가지 역할입니다. 하나의 파이프라인입니다.
1[생성자] → 초안2[비평가] → "3번 문단이 모호합니다. 증거가 누락되었습니다. 어조가 맞지 않습니다."3[생성자] → 비평 기반 재작성4[비평가] → "나아졌습니다. 하지만 결론이 여전히 약합니다."5[생성자] → 최종 재작성
사용처: 글쓰기, 코드 리뷰, 보고서, 전략 문서, 영업 이메일.
통찰: 결과물을 생성하는 모델이 자신의 결과물을 가장 잘 판단하는 것은 아닙니다.
별도의 비평가가 생성자가 매번 놓치는 것을 찾아냅니다.

2. 점수 및 재시도 루프
생성합니다. 점수를 매깁니다. 임계값 미만이면 재시도합니다.
간단합니다. 강력합니다. 과소평가되었습니다.
score = evaluate(output)
1score = evaluate(output)23while score < threshold:4 output = generate(prompt)5 score = evaluate(output)6 attempts += 17 if attempts > max_retries:8 return best_so_far
품질을 측정할 수 있을 때 가장 좋습니다 — 추출 정확도, 형식 준수, 사실 정확성, 리드 스코어링.
생성자는 자신이 평가받고 있다는 것을 모릅니다.
평가자는 알고 있습니다.
그 분리가 바로 패턴입니다.
3. 다중 비평가 루프
한 명의 비평가에게는 사각지대가 있습니다.
네 명을 사용하세요.
→ 정확성 비평가: 사실적으로 정확한가요?
→ 스타일 비평가: 명확하고 잘 쓰였나요?
→ 안전 비평가: 적절하고 안전한가요?
→ 도메인 비평가: 전문가 기준을 충족하나요?
각각 독립적으로 평가합니다.
최종 결과물은 네 가지 모두를 만족한 후에야 나갑니다.
사용처: 의료 AI, 법률 문서 검토, 금융 분석, 규제 콘텐츠.

4. 적대적 비평 루프
비평가의 유일한 임무는 답변을 깨는 것입니다.
개선하는 것이 아닙니다. 깨는 것입니다.
적대적 비평가가 묻는 질문:
→ 여기서 어떤 가정이 실패합니까? → 어떤 증거가 누락되었습니까? → 회의론자는 뭐라고 말할까요? → 자신 있게 틀린 부분은 어디입니까?
그러면 생성자가 방어하거나 재작성합니다.
가장 좋은 답변이 공격에서 살아남습니다.
사용처: 연구 종합, 투자 논평 검토, 전략 기획, 위험 분석.
5. 평가자 앙상블 루프
한 명의 평가자는 잡음이 섞인 점수를 줍니다.
다섯 명의 평가자가 잡음을 평균화합니다.
동일한 결과물을 여러 평가자를 통해 실행합니다.
점수를 집계합니다.
높은 합의를 이룬 결과물만 진행됩니다.
사용처: 단일 모델 평가가 신뢰할 수 없을 때, 위험이 높을 때, 엣지 케이스가 중요할 때.

카테고리 2 — 메모리 루프 (발생한 일로부터 학습하여 다음 번에는 더 똑똑해집니다)
6. 반성(Reflexion) 루프
존재하는 가장 중요한 자기 개선 패턴입니다.
에이전트가 실패합니다. 에이전트가 왜 실패했는지 분석합니다. 에이전트가 교훈을 저장합니다. 에이전트가 그 교훈을 컨텍스트에 포함하여 재시도합니다.
각 반복: 이전보다 더 똑똑해집니다.
1시도 1: 실패2반성: "X라고 가정했지만 X가 틀렸습니다. 다음 번에는 먼저 X를 확인하세요."3시도 2: 교훈 통합 → 부분적 성공4반성: "나아졌습니다. 하지만 Y를 건너뛰었습니다. Y 확인을 추가하세요."5시도 3: 성공
한 번 실패하는 시스템과 단 한 번만 실패하는 시스템의 차이입니다.

7. 메모리 업데이트 루프
모든 작업 후 세 가지를 저장합니다:
→ 어떤 결정이 내려졌는지 → 결과는 무엇이었는지 → 무엇을 다르게 했을지
향후 실행은 이 지식을 상속받습니다.
6개월 차의 시스템은 1개월 차의 시스템과 같지 않습니다.
6개월 간의 자신의 이력을 읽었기 때문입니다.
8. 오류 라이브러리 루프
모든 실패를 저장합니다.
잘못된 답변. 나쁜 결과물. 실행 실패. 엣지 케이스.
새로운 작업을 수행하기 전에:
먼저 오류 라이브러리를 검색합니다.
유사한 실패가 존재하는 경우 → 시작하기 전에 알려진 수정 사항을 적용합니다.
시스템이 같은 실수를 두 번 반복하지 않습니다.
프로덕션 AI에서 가장 과소 활용되는 패턴입니다.
9. 성공 패턴 루프
대부분의 엔지니어는 실패만 저장합니다.
성공도 저장하세요.
작업이 잘 진행되었을 때:
→ 접근 방식을 저장합니다 → 컨텍스트를 저장합니다 → 무엇이 효과를 냈는지 저장합니다
유사한 작업에 직면했을 때 성공 패턴을 검색합니다.
실수뿐만 아니라 성공으로부터도 배웁니다.
10. 메모리 압축 루프
메모리는 영원히 커집니다.
무제한 메모리는 사용할 수 없는 메모리입니다.
N개의 항목이 축적된 후:
압축합니다.
많은 구체적인 기억 → 더 적은 수의 고수준 추상화.
1압축 전:2"작업 A 실패: X 때문"3"작업 B 실패: X 때문"4"작업 C 실패: X 때문"56압축 후:7"패턴: X가 실패를 유발함. 항상 X를 먼저 확인할 것."
컨텍스트는 관리 가능하게 유지됩니다. 패턴은 접근 가능하게 유지됩니다. 시스템은 빠르게 유지됩니다.

카테고리 3 — 계획 루프 (현실이 변할 때 계획을 조정합니다)
11. 계획 → 실행 → 재계획
AI 에이전트 디자인에서 가장 흔한 실수:
계획을 고정된 것으로 취급하는 것입니다.
계획은 현실과 부딪히면 깨집니다.
패턴:
계획 수립 → 단계 실행 → 결과 관찰 → 계획 업데이트 → 계속
폭포수 방식이 아닙니다.
나선형입니다.
매 바퀴마다 접근 방식이 정교해집니다.
사용처: 환경이 변할 때, 작업에 의존성이 있을 때, 장기 목표가 있을 때.

12. 동적 워크플로우 루프
대부분의 파이프라인은 고정되어 있습니다.
1단계 → 2단계 → 3단계. 항상.
동적 워크플로우는 결과에 따라 변경됩니다.
결과물 A → 분기 X 실행 결과물 B → 분기 Y 실행 결과물 C → 5단계로 건너뜀
파이프라인이 런타임에 자체 형태를 결정합니다.
사용처: 다중 문서 연구, 고객 지원 라우팅, 적응형 콘텐츠 파이프라인.
13. 목표 분해 루프
큰 목표가 들어옵니다.
시스템이 하위 목표로 분해합니다.
각 하위 목표는 작업으로 분해됩니다.
각 작업은 단계로 분해됩니다.
각 단위가 한 번의 호출로 실행할 수 있을 만큼 작아질 때까지 분해합니다.
1목표: "포괄적인 경쟁사 분석 보고서 작성"2↓3하위 목표 1: "상위 5개 경쟁사 식별"4하위 목표 2: "각 경쟁사 제품 분석"5하위 목표 3: "가격 모델 비교"6하위 목표 4: "차이점 식별"7↓8각 하위 목표 → 작업 → 개별 모델 호출
루프는 시스템이 행동할 수 있을 때까지 계속 분해합니다.
14. 진행 상황 평가 루프
N단계마다: 멈추고 묻습니다.
"우리가 실제로 목표에 가까워지고 있나요?"
그렇다면: 현재 전략을 계속합니다. 아니라면: 전략, 도구 또는 계획을 변경합니다.
시스템이 자체 진행 상황을 모니터링합니다.
맹목적으로 실행만 하지 않습니다.
사용처: 장기 실행 연구 에이전트, 다일 자율 작업, 디버깅 에이전트.
15. 제약 조건 충족 루프
모든 제약 조건이 충족될 때까지 계속 실행합니다.
1while not all_constraints_satisfied(output):2 output = improve(output, unsatisfied_constraints)34constraints = [5 budget_under_limit,6 quality_above_threshold,7 latency_under_200ms,8 tone_matches_brand,9 no_hallucinations10]
프로덕션 시스템에서 매우 일반적입니다.
모든 비즈니스 규칙이 통과될 때까지 결과물은 완료되지 않습니다.

카테고리 4 — 탐색 루프 (여러 경로를 시도하여 최상의 답을 찾습니다)
16. 분기 및 탐색 루프
하나의 경로에 확정하지 마세요.
여러 경로를 동시에 탐색하세요.
1paths = [2 generate(approach="보수적"),3 generate(approach="공격적"),4 generate(approach="창의적")5]67scores = [evaluate(p) for p in paths]8best = paths[scores.index(max(scores))]
결과를 비교합니다. 최상의 분기를 선택합니다. 나머지는 버립니다.
사용처: 콘텐츠 변형, 아키텍처 결정, 여러 가설 디버깅, A/B 생성.

17. 트리 검색 루프
분기 및 탐색은 한 단계 깊이로 갑니다.
트리 검색은 필요한 만큼 깊이 들어갑니다.
가장 유망한 노드를 확장합니다. 가장 약한 노드를 가지치기합니다. 솔루션을 찾을 때까지 계속 탐색합니다.
1루트 → [A, B, C]2A → [A1, A2] # A가 유망해 보임, 확장3B → 가지치기 # B가 약함, 여기서 중단4A1 → [A1a, A1b]5A1a → 해결책 ✓
사용처: 복잡한 추론 체인, 다단계 계획, 코드 디버깅, 연구 종합.
계산 비용이 많이 들지만 단일 패스 호출로는 찾을 수 없는 솔루션을 찾습니다.
18. 토론 루프
두 에이전트. 하나의 주제. 반대 입장.
에이전트 A는 답변을 지지합니다. 에이전트 B는 답변에 반대합니다.
각 라운드는 가정에 도전하고, 증거를 요구하며, 약한 논리를 드러냅니다.
최종 답변은 동의를 통해 나오는 것이 아닙니다.
불일치를 통해 나옵니다.
적대적 압력은 자신감 있는 단일 에이전트 답변이 놓치는 것을 찾아냅니다.
사용처: 투자 결정, 전략 기획, 위험 평가, 연구 비평.

카테고리 5 — 시스템 최적화 루프 (루프가 루프를 개선합니다)
19. 프롬프트 최적화 루프
대부분의 엔지니어는 프롬프트를 한 번 작성하고 다시는 건드리지 않습니다.
프롬프트 최적화 루프가 그것을 바꿉니다.
시스템:
→ 테스트 세트에서 프롬프트를 실행합니다
→ 모든 결과물에 점수를 매깁니다
→ 프롬프트가 실패하는 위치를 식별합니다
→ 해당 실패를 수정하기 위해 프롬프트를 다시 작성합니다 → 재실행하고 재채점합니다
프롬프트가 자동으로 더 좋아집니다.
사람이 건드리지 않고도 말입니다.
1current_prompt = "이 문서를 요약하세요."23for iteration in range(max_iterations):4 outputs = [run(current_prompt, doc) for doc in test_set]5 scores = [evaluate(o) for o in outputs]6 avg_score = mean(scores)78 if avg_score >= target:9 break1011 failures = [o for o, s in zip(outputs, scores) if s < threshold]12 current_prompt = improve_prompt(current_prompt, failures)13 # 프롬프트가 실패하는 위치에 따라 스스로를 다시 작성합니다
사용처: 프로덕션 파이프라인, 자동화된 콘텐츠 시스템, 분류 작업.
프로덕션 AI에서 최고의 프롬프트는 사람이 작성한 것이 아닙니다.
그것들은 진화했습니다.

20. 워크플로우 최적화 루프
여기서부터 흥미로워집니다.
루프가 루프를 개선합니다.
시스템이 자체 성능을 측정합니다:
→ 지연 시간: 각 단계는 얼마나 오래 걸리나요?
→ 비용: 각 호출은 얼마나 많은 토큰을 사용하나요?
→ 품질: 각 단계에서 출력 점수는 얼마인가요?
그런 다음 자체 워크플로우를 수정합니다.
너무 느린가요? 두 단계를 병렬화하세요. 너무 비싼가요? 품질이 유지되는 곳에서 GPT-4 호출을 더 작은 모델로 교체하세요. 품질이 떨어지나요? 최종 출력 전에 비평가를 추가하세요.
1metrics = measure_workflow(outputs, latency, cost)23if metrics.latency > target_latency:4 workflow = parallelize(slow_steps)56if metrics.cost > budget:7 workflow = replace_with_cheaper_model(high_cost_steps)89if metrics.quality < threshold:10 workflow = add_critic_before(final_output_step)
여기가 진정한 자기 개선 시스템이 시작되는 곳입니다.
단지 개선되는 결과물만이 아닙니다.
스스로를 재설계하는 시스템입니다.

20가지 패턴 이면의 패턴
위의 모든 루프는 하나의 구조를 공유합니다:
행동 → 관찰 → 평가 → 조정
이것이 전체 레시피입니다.
결과물은 첫 번째 시도에서 절대 최종적이지 않습니다.
결과물은 시작점일 뿐입니다.
루프는 시작점을 프로덕션에 적합한 무언가로 바꾸는 것입니다.

전체 지도
카테고리 1 — 품질 루프 (결과물이 나가기 전에 더 좋게 만듭니다)
→ 1. 생성 → 비평 → 재작성
→ 2. 점수 및 재시도
→ 3. 다중 비평가
→ 4. 적대적 비평
→ 5. 평가자 앙상블
카테고리 2 — 메모리 루프 (발생한 일로부터 학습합니다)
→ 6. 반성(Reflexion)
→ 7. 메모리 업데이트
→ 8. 오류 라이브러리
→ 9. 성공 패턴
→ 10. 메모리 압축
카테고리 3 — 계획 루프 (현실이 변할 때 적응합니다)
→ 11. 계획 → 실행 → 재계획
→ 12. 동적 워크플로우
→ 13. 목표 분해
→ 14. 진행 상황 평가
→ 15. 제약 조건 충족
카테고리 4 — 탐색 루프 (여러 경로를 시도하여 최상의 답을 찾습니다)
→ 16. 분기 및 탐색
→ 17. 트리 검색
→ 18. 토론
카테고리 5 — 시스템 최적화 루프 (루프가 루프를 개선합니다)
→ 19. 프롬프트 최적화
→ 20. 워크플로우 최적화
대부분의 엔지니어는 에이전트가 미래라고 생각합니다.
에이전트는 단지 일꾼일 뿐입니다.
루프가 일꾼을 발전시키는 것입니다.
지금 AI에서 일어나고 있는 가장 큰 변화는 더 나은 모델이 아닙니다.
다음으로의 전환입니다:
프롬프트 → 응답
에서
생성 → 평가 → 학습 → 개선
으로의 전환입니다.
루프 디자인을 마스터하는 팀들은 더 나은 프롬프트를 구축하지 않을 것입니다.
그들은 배포 후 매일 더 나아지는 시스템을 구축할 것입니다.
누군가 건드리지 않아도 말입니다.
이 글이 유용했다면:
→ 리포스트하여 주변의 모든 AI 엔지니어와 공유하세요
→ 더 많은 패턴을 보려면 @sairahul1을 팔로우하세요
→ 북마크에 저장하고 — 루프 하나를 골라 이번 주에 구현해보세요
저는 AI, 제품 구축, 그리고 여러분 없이도 작동하는 시스템에 대해 글을 씁니다.





