광고 자리 모집 중 · 제휴 문의

AgentGPT에서 자율형 에이전트의 작업 드리프트를 방지하는 구조화된 목표 프롬프트와 실행 제약 조건 설계 기법

365Finds Editorial
Wiki 문서 11,430편 수록

내 AI에서 365 Wiki 사용하기

아래 프롬프트를 복사해 평소 사용하는 AI에 붙여넣고 바로 질문하세요.

전체 Skill 다운로드

먼저 프롬프트로 체험해 보세요. 365 Wiki를 자주 쓴다면 전체 365Wiki Skill을 설치해 매번 붙여넣는 수고를 줄일 수 있습니다. 평소 쓰는 AI가 없다면 Gemini나 Microsoft Copilot 웹 버전도 사용할 수 있습니다.

자율형 AI 에이전트(Autonomous AI Agents)는 고차원의 목표를 자율적으로 하위 작업으로 분해하고 순환 실행하는 데 탁월한 역량을 발휘합니다. 그러나 실제 운영 환경에서 에이전트는 본래의 미션을 벗어나 엉뚱한 기술적 세부사항, 무한 루프, 불필요한 도구 호출에 빠져드는 작업 드리프트(Task Drift, 태스크 표류) 현상을 빈번하게 겪습니다. 계획, 분석, 실행, 그리고 결과에 따른 신규 작업 생성을 반복하는 AgentGPT의 재귀적 루프 구조에서는 명확한 가드레일이 없을 경우 작업 드리프트가 필연적으로 발생합니다.

이 문제를 근본적으로 해결하기 위해 개발자와 워크플로 설계자는 이중 제어 모델을 구축해야 합니다. 프롬프트 단계에서 엄격한 경계와 종료 기준을 강제하는 **구조화된 목표 프롬프트(Structured Goal Prompts)**와, 런타임 단계에서 루프 상한, 낮은 온도값, 모델 선별 및 도구 접근을 통제하는 **결정론적 실행 제약 조건(Execution Constraints)**의 결합입니다.


AgentGPT에서 작업 드리프트가 발생하는 메커니즘 분석

AgentGPT는 FastAPI 백엔드와 Next.js 프론트엔드를 기반으로 구동되며, 그 내부 실행 순환 과정을 살펴보면 드리프트가 발생하는 이유가 명확히 드러납니다.

  1. 초기 작업 분해(/start): 사용자가 Goal을 입력하면 백엔드는 Plan-and-Solve 기법 기반의 start_goal_prompt를 호출하여 1~5개의 초기 검색 쿼리 및 하위 작업을 생성합니다.
  2. 작업 분석 및 실행(/analyze 및 /execute): 시스템은 analyze_task_prompt를 통해 적절한 도구(웹 검색, 코드 실행, 내부 문서 검색 등)를 선정하고 execute_task_prompt로 작업을 수행합니다. 이때 시스템 프롬프트에는 *“When confronted with choices, make a decision yourself with reasoning”(선택에 직면했을 때 스스로 추론하여 결정하라)*라는 지침이 포함되어 있어, 명시적 제약이 없으면 모델이 추측성·발산적 결정을 내리기 쉽습니다.
  3. 재귀적 작업 생성(/create): 여기가 드리프트의 핵심 취약점입니다. 한 단계가 끝날 때마다 시스템은 전체 목표 {goal}, 남은 작업 {tasks}, 직전 작업 {lastTask}, 직전 결과 {result}를 create_tasks_prompt에 전달하며, 목표에 더 다가가기 위한 단일 신규 작업을 생성하도록 요구합니다.
  4. 마르코프식 문맥 표류(Markovian Drift): 만약 {result}에 뜻밖의 기술 용어나 에러 로그, 지엽적인 단서가 포함되어 있으면, 언어 모델은 원래의 {goal}보다 직전 결과에 더 크게 영향을 받습니다. 4~6회의 루프를 거치는 동안 각 작업은 직전 작업의 파생물로 전락하며, 에이전트는 크롤러 스크립트 작성이나 패키지 설치 에러 해결 같은 곁가지 작업에 매몰됩니다.
  5. 명확한 종료 신호의 부재: 프롬프트에는 작업이 더 이상 없으면 빈 문자열을 반환하라는 지시가 있지만, 생성 모델은 본질적으로 출력을 계속하려는 편향을 지닙니다. 목표 내에 확고한 완료 기준(Definition of Done)이 명시되지 않으면, 시스템은 최대 루프 한도에 도달할 때까지 끊임없이 작업을 양산합니다.

1. 구조화된 목표 프롬프트 설계

AgentGPT 인터페이스는 단일 Goal 입력 필드만을 제공하므로, 설계자는 모든 운영 제약과 경계를 이 목표 프롬프트 안에 집약해야 합니다. "경쟁사 가격을 조사하고 보고서를 작성하라"와 같은 모호한 프롬프트는 100% 드리프트로 이어집니다.

실무에서 검증된 드리프트 방지 프롬프트는 다음과 같은 5단계 구조화 프레임워크를 따릅니다.

[역할 및 페르소나 / ROLE]
객관적 데이터 수집과 사실 요약에 특화된 시장 분석가로 행동하십시오.

[핵심 목표 / OBJECTIVE]
Product A, Product B, Product C의 공식 공개 요금제, 최소 구매 라이선스 수, 엔터프라이즈 할인 체계를 정확히 추출하십시오.

[범위 경계 및 금지 사항 / SCOPE & ANTI-GOALS]
- 수행 범위(IN-SCOPE): 공식 홈페이지에 공개된 가격표, 플랜별 기능 비교표, 월간/연간 결제 주기.
- 절대 금지 사항(OUT-OF-SCOPE / 수행 불가):
  * 웹 스크래핑 코드, API 연동 스크립트, Python 도구를 작성하는 작업을 절대 생성하지 마십시오.
  * 창업자 이력, 투자 유치 내역, 홍보 블로그를 조사하지 마십시오.
  * Product A, B, C 외의 다른 서드파티 제품을 조사하지 마십시오.
  * 사이트 접근이 차단된 경우 "가격 확인 불가"로 표기하고 네트워크 원인을 분석하지 말고 즉시 다음 제품으로 넘어가십시오.

[단계별 선형 실행 지침 / PHASED EXECUTION]
임의의 분기 없이 다음 세 단계로만 순차 실행하십시오:
- 1단계: Product A의 표준 요금 데이터를 수집하고 기록.
- 2단계: Product B 및 C의 표준 요금 데이터를 수집하고 기록.
- 3단계: 수집된 데이터를 최종 비교표로 종합.
이 3단계를 벗어난 탐색적 하위 작업을 추가로 생성해서는 안 됩니다.

[완료 기준 및 종료 트리거 / DEFINITION OF DONE]
세 제품의 요금 비교표가 완성되는 즉시 본 목표는 완전히 달성된 것으로 간주합니다. 최종 Markdown 결과물을 생성한 후에는 절대 추가 작업을 생성하지 말고 즉시 빈 문자열을 반환하여 실행을 끝내십시오.

[결과물 형식 / DELIVERABLE FORMAT]
열 구성 [제품명 | 요금제명 | 월 비용 | 연간 환산 비용 | 주요 기능 제한]의 Markdown 표를 작성하고, 하단에 150자 이내의 요약 총평을 첨부하십시오.

프롬프트 핵심 기법


2. 결정론적 실행 제약 조건 설정

프롬프트는 본질적으로 '소프트 제약'이므로, 긴 문맥 속에서 모델이 이를 망각할 위험이 있습니다. 따라서 AgentGPT의 런타임 설정과 인프라 레벨의 '하드 제약'을 함께 병행해야 합니다.

1. 실행 루프 횟수 제한(max_loops)

AgentGPT의 오픈소스 .env.example 설정 파일에는 기본값으로 NEXT_PUBLIC_MAX_LOOPS="100"이 지정되어 있습니다. 자율 에이전트에게 100회의 루프를 허용하는 것은 엄청난 토큰 비용 낭비와 극심한 작업 드리프트를 자초하는 일입니다.

2. 온도 값(Temperature) 최소화

AgentGPT에 자체 API Key를 등록하면 고급 설정에서 Temperature를 조정할 수 있습니다.

3. 기반 모델 선별

AgentGPT에서는 백엔드 모델(GPT-3.5 계열과 GPT-4 계열)을 선택할 수 있습니다.

4. 도구 사용 권한 격리

AgentGPT의 도구는 reworkd_platform/web/api/agent/tools/tools.py에 등록되어 있습니다(Search, Code, SID 등).


3. 워크플로 아키텍처: 모놀리식 에이전트에서 마이크로 에이전트 파이프라인으로

하나의 AgentGPT 세션 안에서 조사, 분석, 코드 작성, 보고서 생성에 이르는 전체 비즈니스를 모두 해결하려는 시도가 드리프트의 가장 큰 구조적 원인입니다.

워크플로 설계자는 작업을 마이크로 에이전트 파이프라인으로 모듈화해야 합니다.

[업무 요청 입력]
     │
     ▼
┌──────────────────────────────────────────────┐
│ 에이전트 1: 원시 데이터 수집 (검색 도구만 활성화) │
│ - 제약 조건: 최대 루프 4회, Temperature = 0.1 │
│ - 목표: A, B, C 제품의 공식 가격 텍스트 수집     │
└──────────────────────────────────────────────┘
     │ 수집된 가공되지 않은 Markdown 데이터
     ▼
┌──────────────────────────────────────────────┐
│ 에이전트 2: 데이터 정제 및 검증 (외부 도구 없음) │
│ - 제약 조건: 최대 루프 2회, 텍스트 분석 전용    │
│ - 목표: 불필요한 노이즈 제거 및 표준 JSON 변환   │
└──────────────────────────────────────────────┘
     │ 표준 JSON 데이터
     ▼
┌──────────────────────────────────────────────┐
│ 에이전트 3: 최종 보고서 생성 (/summarize 호출) │
│ - 제약 조건: 단일 턴 실행, 재귀 루프 없음       │
│ - 목표: JSON 기반 비교 매트릭스 및 총평 렌더링   │
└──────────────────────────────────────────────┘

각 에이전트의 역할과 도구가 극도로 제한되어 있으므로 실행 도중 곁가지로 빠져나갈 여지가 완전히 차단됩니다.


4. 자체 호스팅 환경을 위한 소스 코드 수준의 하드 가드레일

Docker로 AgentGPT를 자체 서버에 배포한 팀은 platform/reworkd_platform/web/api/agent/ 내부 로직을 직접 수정하여 방어벽을 구축할 수 있습니다.

  1. create_tasks_prompt 강화(prompts.py): 시스템 템플릿에 명시적 중단 규칙을 삽입합니다.
    create_tasks_prompt = PromptTemplate(
        template="""You are an AI task creation agent. Objective: `{goal}`.
    Incomplete tasks: `{tasks}`. Last task: `{lastTask}`. Result: `{result}`.
    
    Strict Rules:
    1. If the deliverable described in `{goal}` is already obtained, return NOTHING.
    2. Do NOT create tasks involving new software tools, scripting, or off-topic domains.
    3. Every new task must have a direct causal link to the completion of `{goal}`.
    If satisfied, respond with an empty string.""",
        input_variables=["goal", "language", "tasks", "lastTask", "result"],
    )
    
  2. API 계층에서의 의미적 유사도 필터링(views.py): /create 엔드포인트에서 생성된 새 작업과 초기 {goal} 간의 벡터 코사인 유사도를 계산합니다. 유사도가 임계치(예: 0.65) 미만으로 떨어지면 해당 작업을 즉시 드롭하여 API 단에서 드리프트를 원천 봉쇄합니다.

제어 계층별 핵심 요약

제어 계층드리프트 발생 원인권장 엔지니어링 실무
목표 프롬프트모호한 지침 및 실행 중 부산물에 의한 탈선5대 요소(역할, 목표, 금지 사항, 선형 단계, 완료 기준) 적용.
루프 제한종료 기준 부재로 인한 무한 작업 생성max_loops를 4~8회로 제한하고 기본 100회 설정을 배제.
온도 값과도한 무작위성으로 인한 엉뚱한 작업 발의0.0~0.2로 설정하여 결정론적 작업 분해 유도.
기반 모델긴 루프 진행 시 제약 조건 망각GPT-4 등 제약 조건 유지력이 뛰어난 고성능 모델 채택.
도구 제어단순 작업에 코드 도구 부여 시 에러 루프 발생정보 검색 태스크에서는 코드 실행 도구를 철저히 차단.
아키텍처단일 세션의 문맥 팽창 및 목표 희석역할을 쪼갠 마이크로 에이전트 순차 연결 파이프라인 구성.

목표를 엄격한 계약 규격서처럼 정의하고 시스템의 실행 변수를 단단히 제한함으로써, AgentGPT를 불안정한 실험작에서 신뢰할 수 있는 엔터프라이즈 자동화 엔진으로 탈바꿈시킬 수 있습니다.


참고 자료