본문으로 건너뛰기

M31.05 · 장시간 작업·다중 Agent·권한·산출물 관리

단위별 목표·권장 선수와 자료 준비 상태를 확인하고, 공개된 본문과 활동을 읽고 준비 상태를 확인할 수 있습니다.

전체 커리큘럼

학습 안내

본문을 읽고 장비 없는 기본 실습·세 확인 문제와 해설로 이해를 확인하세요.

예상 학습 시간: 미정. 이 페이지 방문이나 자료 열람으로 완료·숙달을 자동 부여하지 않습니다.

현재 경로·이전·다음 단위 확인 ↓

학습 목표

  • 의존성·파일 소유·자원 예산에 맞는 다중 Agent 작업 그래프를 설계하고 병렬 시간의 가정을 계산한다.
  • 장시간 작업의 체크포인트·실행 상태·재시도/외부효과를 분리하여 중단 후 복구 절차를 작성한다.
  • 작업 권한과 현재 개정의 산출물·실제 검사 근거를 대조해 통합/완료·미확인을 판정한다.

아래 설명·실습·문제로 각 학습 목표를 확인하세요.

권장 선수

M31.04의 조건/CI·회귀/산출물이 선수다. M31.01/.02의 명세·도구 검토를 재사용한다. 벤더 독립 합성 작업표와 인수 기록을 분석하며 실제 Agent/CI/클라우드·배포/실물 실행은 요구하지 않는다. 특정 도구 설치/문법은 다루지 않는다. 이미 알고 있다면 직접 열어볼 수 있습니다.

설명 필수

세 목표에 대응하는 검수된 설명·예제를 읽습니다.

오래 실행했다는 사실은 완료 근거가 아니다

M31.04에서는 같은 조건의 반복/회귀와 결과 분모를 확인했다. 작업이 길어지고 여러 Agent가 참여해도 기준은 같다. 각 작업이 어떤 입력/소스에서 무엇을 만들었고 어떤 검사를 수행했는지 확인해야 한다. 도구가 “완료”라고 답했거나 세션이 끝났다는 상태만으로 현재 결과를 승인하지 않는다.

여기서 Agent는 정해진 도구와 작업 범위 안에서 계획·수행·보고하는 실행 주체를 뜻한다. 조정자는 작업 사이의 의존성과 인수/통합을 관리하는 역할이다. 여러 실행 주체를 만든다고 실제 시스템 권한이나 품질 검수가 자동으로 분리되지는 않는다. 이번 교재의 권한 표는 가상 작업의 명세이며 실제 도구/장비에 대한 실행 승인이 아니다.

병렬화할 수 있는 일과 순서대로 할 일을 나눈다

DAG(방향 비순환 그래프)는 작업과 선행 관계를 고리가 없게 표현한 것이다. 선수가 끝나야 후속 작업을 수행하며 서로 독립인 가지를 병행할 수 있다. 파일 소유나 공유 서비스·메모리 충돌이 있으면 그래프상 독립이어도 동시 실행이 적절하지 않을 수 있다.

독립 작업과 의존 작업: 작업 의존성 → 파일 소유 → 실행 환경/권한 → 인수 검수.그림 원본 크기로 보기

그림 M31.05-1. 각 칸은 서로 다른 역할/근거다. 아래 방향은 자료/처리의 연결이며 실제 성공을 자동으로 보장하지 않는다. 직접 제작한 개념도이며 본문의 조건과 함께 읽는다.

합성 계획은 A→(B,C)→D다. A가 공통 기록 계약을 확정한 다음 B와 C가 같은 개정을 읽고, 둘 다 끝나야 D가 인수한다. 시간은 아래 사전 가정이며 실제 측정값이 아니다.

작업역할·출력 소유가정 시간/예약 작업 메모리
A공통 schema/계약, 한 담당자가 직렬 확정3분/2GiB
BA개정의 회귀/계산, tests/와 고유 출력8분/6GiB
CA개정의 설명/양식, docs/와 고유 출력4분/2GiB
DB/C 인수와 통합 검사2분/1GiB

직렬 시간은3+8+4+2=17분이다. B/C가 독립 파일·실행 환경을 쓰고 자원이 충분하다면 이상적인 병렬 시간은3+max(8,4)+2=13분이다. 가장 오래 걸리는 선행 경로 A-B-D가 결과를 결정한다. 작업자 수로 전체 시간을 단순히 나누지 않는다. 준비/동기화·재실행·자원 경합은 이 이상값에 포함하지 않았다.

B/C의 메모리 합은6+2=8GiB로 작업 예산8GiB에 맞는다. 운영체제/공통 플랫폼의 여유는 별도다. C가3GiB 필요한 변형이면9GiB가 되어 같은 예산에서 겹칠 수 없다. 이 단순 계획에서 B/C를 직렬로 두면 다시17분이다. 숫자를 낮춰 적는 대신 실제 요구와 예산을 확인하고 계획을 바꾼다.

파일 소유와 실행 격리는 다르다

B가 tests/, C가 docs/를 맡아도 둘 다 공통 schema를 동시에 고치면 충돌할 수 있다. 공통 변경은 A 담당자에게 돌려 계약을 새 개정으로 확정하고 후속 가지를 다시 맞춘다. 다른 담당자의 파일을 이전 상태로 되돌려 자신의 결과를 맞추지 않는다.

Git worktree 문서는 같은 저장소에 여러 작업 트리를 둘 수 있음을 설명한다. 작업 디렉터리/브랜치를 분리해도 외부 DB·캐시·포트·모델 파일·자격증명/장비가 자동으로 격리되는 것은 아니다. 한 작업이 공유 캐시를 초기화하거나 같은 시뮬레이터를 리셋하면 다른 작업의 전제가 바뀔 수 있다.

따라서 base 소스 개정과 소유 경로·변경 금지 경로, 출력/임시 디렉터리·프로세스/포트·자원 한도와 인수자를 지정한다. 결과 통합은 한 주체가 검토된 개정 순서대로 수행하고 통합 후 검사를 확인한다. 병렬 작성과 최종 인수는 같은 단계가 아니다.

작업 범위와 권한을 따로 명시한다

파일을 맡겼다는 이유로 네트워크·비밀값·배포·장비 명령까지 허용한 것은 아니다. “필요한 것 모두” 대신 입력/출력과 사용할 수 있는 동작을 정한다. 새로운 권한이 필요한 경우 현재 작업 범위에 실제 포함되는지 확인하고, 없는 권한을 하위 작업으로 옮겨 얻으려 하지 않는다.

권한 범주합성 B/C의 기본 범위범위 밖의 예
읽기지정 소스/합성 입력·공개 문서무관한 개인 파일/비밀값 수집
쓰기소유 경로의 변경·고유 attempt 출력다른 담당자의 파일·원본 결과 덮어쓰기
실행지정 로컬 검사/계산·자원 예산승인되지 않은 외부 서비스·장비 명령
결과 전달변경/검사·산출물 지문과 미확인 보고비밀값을 로그/체크포인트에 포함

이 표의 구체적 범위는 교육용 가정이다. 실제 사용자/조직이 이미 허용한 범위와 환경의 규칙을 적용한다. 읽기·로컬 수정·외부 작용을 무조건 같은 승인 절차로 묶지 말고, 현재 범위와 결과에 필요한 권한을 구체적으로 대조한다.

체크포인트에는 다시 시작할 근거를 남긴다

체크포인트(checkpoint)는 중단 뒤에도 마지막 확정 단계와 다음 행동을 복구할 수 있는 기록이다. “거의 끝남” 같은 요약만 남기면 이전 결과를 현재 소스로 오인하거나 실행 중인 작업을 중복 발행할 수 있다.

최소 기록은 작업/attempt ID·명세/기준 버전·base/source/input/config/environment 지문, DAG/담당/권한 범위, 완료/실패/미확인 단계, 실제 실행 job/process와 마지막 heartbeat, 생성된 산출물/지문·실행/검사 결과, 남은 의문과 다음 행동이다. 경로/환경 식별자는 남기되 자격증명 자체를 넣지 않는다.

작업 소유권을 일정 기간만 부여하는 lease를 쓴다면 만료 시각도 체크포인트에 남긴다. P3의 통로 예약처럼, 소유권 만료가 실제 작업의 종료를 만들지는 않는다.

A완료·C완료·B실행 중에 조정자가 중단됐다면 먼저 원 B가 아직 실행 중인지와 그 출력 상태를 확인한다. heartbeat 만료는 연락이 끊겼다는 근거이지 프로세스 종료의 근거가 아니다. 취소 요청/수락도 실제 종료·출력 마감과 다르다. GitHub Actions concurrency 문서는 동시 작업 제어의 한 구현 예이며, 여기의 일반 복구 계약을 특정 서비스가 자동 보장한다고 해석하지 않는다.

재시도는 원래 실행과 외부 효과를 보존한다

멱등성(idempotency)은 같은 요청을 반복해도 추가 효과가 생기지 않도록 정한 성질이다. 재시도 가능한 읽기/독립 계산과 메시지 전송·배포·장비 명령은 같은 종류가 아니다. 응답이 없다고 실제 실행이 없었다고 가정하면 같은 외부 효과를 두 번 만들 수 있다.

B의 계산이 실패했다면 원 attempt의 입력/로그/실패를 남기고 새 attempt ID와 고유 출력으로 재실행한다. 원 B가 살아 있으면 중복 실행부터 시작하지 않는다. 외부 효과가 있는 작업은 실행 상태·요청 ID/중복 방지·관측/복구 계약을 확인하기 전 임의 재전송하지 않는다. 실물 변경과 감독 경계는 다음 M31.06에서 구체화한다.

실패 회차를 새 성공으로 덮어쓰거나 같은 파일명으로 과거 결과를 바꾸면 재현/분모가 사라진다. 중간 파일이 있다는 사실도 마감/무결성을 증명하지 않는다. 단계별 완료 표식과 크기/지문·예상 목록을 대조한다.

산출물 인수는 현재 소스의 검사까지 연결한다

GitHub artifact 안내는 실행 산출물을 보존/전달하는 경로를 설명한다. 업로드나 파일 다운로드 성공이 시나리오 통과와 같은 것은 아니다. D는 다음을 대조한다.

  1. B/C가 같은 확정 A개정에서 시작했고 최종 통합 소스에 적용 가능한가?
  2. 변경 경로와 차이가 담당/권한 범위 안에 있고 다른 결과를 되돌리지 않았는가?
  3. 검사 명령·환경·시작/종료·exit code·실제 검사 개수/결과와 산출물 지문이 있는가?
  4. 마지막 소스 변경 뒤에 필요한 회귀/통합 검사가 수행됐는가? 재사용이라면 같은 조건/지문과 범위를 설명했는가?
  5. 실패/미실행·중단·선택 심화와 실제 확인한 범위를 구분했는가?

예를 들어 B보고서가 sourceS1의 결과인데 통합 소스가S2라면 같은 이름의 파일이어도 S2검수로 자동 승인하지 않는다. exit0/검사0건도 필수 회귀 통과가 아니다. 작성자의 “done”과 검수자의 통과를 별도 상태로 두며 독립 검수자가 없다면 자기검수라고 명시한다.

이 활동은 실제 다중 Agent 성능을 측정하지 않았다. 순서·권한·체크포인트·현재 산출물 인수 계약을 제공 표로 검토한다. 다음 M31.06은 시뮬레이션/엣지 연결과 실물 변경의 정확한 대상·범위를 다룬다.

학습 범위와 한계

기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.

실습 필수

장비 없는 실습을 수행하고 관찰·계산 근거를 해설과 비교합니다.

A3분→B8분/C4분→D2분, B6GiB/C2GiB·작업 예산8GiB와 중단/인수 사례를 사용한다.

  1. 직렬/이상적 병렬 시간을 계산하고 선행/파일·자원 가정을 적는다. C가3GiB인 변형도 판정한다.
  2. A/C완료·B실행 중인 체크포인트를 작성한다. heartbeat가 오래됐을 때 먼저 확인할 것과 새 attempt를 만들 조건을 적는다.
  3. B/C가 공통 schema를 동시에 수정했거나 B출력이S1인데 최종 소스가S2인 경우 인수 절차를 제안한다.
  4. exit0/검사0건, 원실패를 덮어쓴 재시도, 응답 없는 장비 요청의 자동 재전송 중 두 사례를 골라 미확인과 보완 근거를 설명한다.

막히면 계획/실행 상태·산출물 존재·검사 통과를 다른 열로 쓴다. 병렬이라는 이유로 선행/권한을 생략하거나 미확인을 성공으로 바꾸면 미충족이다.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

학습 범위와 한계

기본 실습은 장비 없이 수행합니다. 실제 장비·GPU 실증을 완료했다는 뜻은 아닙니다.

평가·해설 필수

목표별 세 서술문항에 답하고 해설·판정 기준으로 자기검토합니다.

확인 문제 Q1

A→(B,C)→D의 직렬 시간은17분이다. 두 작업자를 만들었으니8.5분이면 끝난다는 주장을 평가하고,13분 가정과 C3GiB변형을 설명하라.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

확인 문제 Q2

B의 heartbeat가 만료되고 취소 요청이 수락됐다. 새 B를 같은 출력 경로로 즉시 실행해도 되는가? 필요한 복구 기록과 확인을 적어라.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

확인 문제 Q3

B가 “done”이라고 했고 S1결과 파일의 다운로드가 성공했다. 최종 소스는S2이며 검사 명령은exit0/0건이다. D가 완료로 인수할 수 있는가?

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

학습 범위와 한계

서술답안과 해설이 준비되었습니다. 자기검토와 학습 완료는 숙달 인증과 별개입니다.

참고 자료

학습 확인

실습과 세 문항의 답안을 해설과 비교한 뒤, 이 단위의 학습 완료를 직접 기록할 수 있습니다. 자기검토·학습 완료는 자동 채점이나 숙달 인증과 별개입니다.

실습1개·확인 문제3개의 답안을 저장하고 각각 자기검토를 기록하세요.

학습 이동

학습 단계 순서 · 공통 과정 이후 전문화 선택

전체 목차로 돌아가기 →

신규 활동의 답안은 이 브라우저의 통합 학습 기록에 저장합니다. 기존 화면의 답안·진도는 원래 키를 유지합니다. AI 강사는 현재 단위의 준비 상태·부족한 범위와 연결된 실제 자료를 참고합니다.