Skip to content

Latest commit

 

History

History
145 lines (97 loc) · 3.78 KB

File metadata and controls

145 lines (97 loc) · 3.78 KB

Loop Engineering

개념

Loop Engineering은 AI agent가 목표를 달성하기 위해 반복적으로 계획, 실행, 관찰, 검증, 수정하도록 작업 루프를 설계하는 방식이다.

Prompt Engineering이 한 번의 지시를 잘 작성하는 데 초점을 둔다면, Loop Engineering은 agent가 반복적으로 일하는 과정 자체를 설계한다.

Prompt Engineering:
한 번의 질문이나 지시를 잘 작성한다.

Loop Engineering:
목표 달성을 위해 반복되는 작업 절차를 설계한다.

기본 구조

Agent loop는 보통 다음 흐름을 가진다.

Goal
-> Plan
-> Act
-> Observe
-> Evaluate
-> Adjust
-> Repeat

예를 들어 코딩 에이전트가 테스트 실패를 고친다고 하자.

목표: 테스트 실패 수정
계획: 실패 로그 확인
실행: 테스트 실행
관찰: 에러 메시지 확인
평가: 원인 추론이 맞는지 확인
수정: 코드 변경
반복: 테스트 재실행

한 번 답하고 끝나는 것이 아니라, 목표를 달성할 때까지 필요한 작업을 반복한다.

왜 필요한가?

LLM 기반 agent는 단순 응답 생성보다 더 긴 작업을 수행할 수 있다.

예를 들어 다음 작업은 한 번의 프롬프트로 끝나기 어렵다.

  • 버그 원인 분석
  • 코드 수정
  • 테스트 실행
  • 실패 원인 재분석
  • 문서 작성
  • 배포 전 검증

이런 작업은 중간 결과를 관찰하고, 그 결과에 따라 다음 행동을 바꾸는 루프가 필요하다.

좋은 Loop의 요소

명확한 목표

Agent가 무엇을 완료해야 하는지 명확해야 한다.

나쁜 목표: 코드 좀 봐줘
좋은 목표: 로그인 실패 테스트를 통과하도록 원인을 찾아 수정해줘

멈춤 조건

Loop는 반복 구조이기 때문에 멈춤 조건이 없으면 잘못된 방향으로 오래 반복할 수 있다.

예시:

  • 테스트가 통과하면 종료
  • 최대 반복 횟수에 도달하면 종료
  • 같은 실패가 반복되면 사용자에게 질문
  • 필요한 권한이 없으면 중단

검증 단계

Agent가 목표를 달성했는지 확인하는 단계가 필요하다.

예시:

  • 테스트 실행
  • lint 확인
  • 타입 체크
  • diff 검토
  • 사용자 요구사항과 비교

검증 단계가 없으면 agent가 실제로 문제를 해결했는지 확인하기 어렵다.

관찰과 피드백

도구 실행 결과, 에러 로그, 테스트 결과를 관찰하고 다음 행동에 반영해야 한다.

테스트 실패
-> 에러 로그 분석
-> 수정 방향 변경

권한 제한

Agent가 사용할 수 있는 도구와 범위를 제한해야 한다.

무제한 파일 수정, 외부 API 호출, 배포 실행 같은 권한은 위험할 수 있다.

위험 요소

Loop Engineering은 강력하지만 다음 위험이 있다.

  • 토큰과 비용 증가
  • 잘못된 방향으로 반복
  • 무한 루프
  • 과도한 tool call
  • 잘못된 수정 누적
  • 권한이 큰 도구 오남용

따라서 loop에는 멈춤 조건, 검증 단계, 로그, 권한 제한, 사용자 확인이 함께 필요하다.

Prompt Engineering과의 차이

Prompt Engineering은 모델이 한 번에 좋은 응답을 하도록 지시를 작성하는 기술이다.

Loop Engineering은 agent가 여러 단계의 작업을 반복적으로 수행하도록 과정과 제어 흐름을 설계하는 기술이다.

Prompt Engineering:
"어떻게 말할 것인가"

Loop Engineering:
"어떤 순서로 반복해서 일하게 할 것인가"

정리

Loop Engineering은 agent가 목표를 향해 반복적으로 작업하도록 루프를 설계하는 방식이다.

핵심은 계획, 실행, 관찰, 검증, 수정의 반복이다.

좋은 loop에는 명확한 목표, 멈춤 조건, 검증 단계, 도구 권한 제한이 필요하다.