루프 엔지니어링: 단순히 프롬프트를 입력하지 말고, 루프를 설계하라

코딩 에이전트에게 수동으로 프롬프트를 입력하는 일을 멈추십시오. 대신 에이전트를 대신해 프롬프트를 입력해 줄 루프를 설계하기 시작하십시오.

Peter Steinberger의 이 아이디어는 AI 개발자들의 담론을 바꾸어 놓았습니다. 그는 프로그래머가 단순한 운전자(driver)에서 시스템 설계자(system designer)로 거듭나야 한다고 주장합니다.

루프 엔지니어링이란 무엇인가?

프롬프트를 하나씩 입력하는 방식에서 에이전트를 관리하는 프로그램을 작성하는 방식으로 전환하는 것을 의미합니다. 사용자가 직접 작업하는 대신, 루프가 로직을 처리합니다.

루프는 다음과 같은 단계를 수행합니다:

  • 작업을 선택합니다.
  • 작업을 에이전트에게 전달합니다.
  • 결과를 확인합니다.
  • 계속할지 중단할지 결정합니다.

루프는 당신이 잠든 사이에도 작동합니다.

모든 루프의 4단계 사이클:

  1. 실행(Act): 에이전트가 코드를 작성하거나 명령어를 실행합니다.
  2. 관찰(Observe): 시스템이 출력값, 에러 로그 또는 테스트 결과를 읽습니다.
  3. 추론(Reason): 시스템이 목표가 달성되었는지 평가합니다.
  4. 반복(Repeat): 실패할 경우, 에이전트에게 다시 시도하도록 명령합니다.

수동 프롬프팅 vs. 루프 엔지니어링:

  • 수동 방식: 당신이 엔진입니다. 화면 앞에 앉아 있어야 하며, 모든 diff를 직접 읽어야 합니다.
  • 루프 방식: 루프가 엔진입니다. 자동으로 실행되며 24시간 내내 작동합니다.

성공을 위한 핵심 기둥:

좋은 루프를 위해서는 세 가지가 필요합니다:

  • 검증기(Verifier): 작업이 실제로 정확한지 확인하는 도구입니다. 에이전트가 자신의 작업을 스스로 검증하게 두지 마십시오. 실제 테스트와 린터(linter)를 사용하십시오.
  • 상태 관리(State Management): 완료된 작업과 대기 중인 작업을 추적합니다.
  • 비용 제어(Cost Control): 토큰 사용량과 재시도 횟수에 제한을 설정합니다.

주의해야 할 리스크:

  • 허위 완료(False Completion): 에이전트는 완료되었다고 말하지만 버그는 여전히 남아 있는 경우입니다. 강력한 검증기를 통해 이를 해결하십시오.
  • 속도 과부하(Speed Overload): 당신이 잠든 사이 루프가 1,000줄의 코드를 작성할 수 있습니다. 그 코드를 이해하는 데만 하루 종일 시간을 보낼 수도 있습니다.
  • 과도한 의존(Over-reliance): 열 번 연속으로 결과가 좋아 보이면 작업을 확인하지 않게 됩니다. 중요한 작업에는 항상 '휴먼 인 더 루프(human in the loop)'를 유지하십시오.

시작하는 방법:

  • 작게 시작하십시오. 테스트를 통과할 때까지 프롬프트를 재시도하는 간단한 루프부터 만들어 보십시오.
  • 검증기에 투자하십시오. 기존의 테스트 스위트를 루프의 '눈'으로 활용하십시오.
  • 피해를 최소화하십시오. git 브랜치를 사용하고 최대 재시도 횟수를 설정하십시오.
  • 리스크가 낮은 작업부터 연습하십시오. 프로덕션 코드에 적용하기 전에 문서화나 리팩토링 작업에 루프를 사용해 보십시오.

수동 프롬프팅의 시대는 끝나가고 있습니다. 루프 엔지니어링의 시대가 도래했습니다.

Source: https://dev.to/sarantoon/loop-engineering-emuuekaar-prompt-agent-dwymuueaimphiiktaip-aelw-programmer-tngkaebb-loop-aethn-1ikh

Optional learning community: https://t.me/GyaanSetuAi