본문 바로가기
👩🏻‍💻 후츠릿 인사이트

에이전트 자동화는 이제 Markdown 운영 계약으로 관리된다

by chutzrit 2026. 6. 15.

AI 에이전트 자동화의 핵심은 더 긴 프롬프트가 아니다. 이제 문제는 “무엇을 시킬 것인가”가 아니라 “어떤 권한과 출력 조건 안에서 시킬 것인가”다.

이미지 출처: GitHub, 「GitHub Agentic Workflows」 발표 자료

 

GitHub Agentic Workflows는 GitHub가 public preview로 공개한 에이전트 기반 자동화 방식이다. 자연어 Markdown으로 에이전트의 업무를 정의하고, 그 내용을 표준 GitHub Actions 워크플로우로 컴파일해 실행하는 접근이다. 여기서 GitHub Actions는 GitHub 저장소 이벤트에 맞춰 빌드, 테스트, 배포, 자동화 작업을 실행하는 기존 CI/CD 플랫폼을 뜻한다.

 

중요한 지점은 런타임이 아니다. GitHub Agentic Workflows는 기존 GitHub Actions의 실행 환경, 권한 모델, 정책 통제, 과금 구조를 재사용한다. 에이전트 자동화가 별도 봇 서버나 임시 스크립트가 아니라, 조직이 이미 관리하던 Actions 거버넌스 안으로 들어간다는 뜻이다.

자동화의 단위가 스크립트에서 운영 계약으로 올라간다

기존 방식은 대체로 스크립트 중심이었다. 이슈가 열리면 Actions가 실행되고, 워크플로우 안에서 AI CLI나 API를 호출한다. 에이전트는 로그를 읽고, 실패 원인을 요약하고, PR에 댓글을 남기고, 이슈 라벨을 붙인다. 겉으로 보면 충분히 자동화처럼 보인다.

 

하지만 운영 관점에서는 곧바로 질문이 생긴다. 이 에이전트의 역할은 누가 정의했는가. 어떤 파일을 읽어도 되는가. 어떤 출력을 남겨도 되는가. 실패했을 때 재시도 기준은 무엇인가. 비용이 과하게 발생하면 어디서 멈추는가. 조직 정책상 어느 runner group에서만 실행되어야 하는가.

 

이 질문에 답하지 못하면 자동화가 아니라 권한 있는 봇이 된다. 내가 GitHub Agentic Workflows에서 보는 변화는 바로 이 지점이다. 에이전트에게 일을 맡기는 단위가 “명령어 몇 줄”에서 “업무 범위, 입력, 출력, 권한, 실행 조건을 묶은 계약”으로 올라간다.

Markdown은 편의가 아니라 계약서 형식이다

Markdown으로 작성한다는 말만 들으면 작성 UX 개선처럼 보인다. 그러나 핵심은 문법이 쉽다는 데 있지 않다. Markdown 문서가 에이전트에게 맡길 업무의 의도, 제한, 산출물 조건을 담고, 그 결과가 GitHub Actions YAML로 변환된다는 데 있다.

 

이 구조에서는 에이전트 지시문이 개인 노트나 숨은 프롬프트로 남지 않는다. 저장소 안에 문서로 남고, 리뷰되고, 버전 관리되고, 변경 이력이 추적된다. 자동화의 근거가 코드 옆에 남는다는 점에서 운영 품질이 달라진다.

새 런타임보다 기존 거버넌스를 재사용하는 방향이다

AI 에이전트 도구가 늘어날수록 팀이 가장 먼저 망가지는 지점은 실행 속도가 아니다. 권한 경계다. 어느 에이전트가 어떤 저장소에 접근했고, 어떤 토큰으로 실행됐고, 어떤 runner에서 돌았고, 어떤 비용을 만들었는지 모르면 운영자는 결국 자동화를 꺼버린다.

 

GitHub Agentic Workflows가 흥미로운 이유는 에이전트 실행을 GitHub Actions 밖으로 빼지 않는다는 데 있다. GitHub Actions의 승인 흐름, 환경 제한, runner group, 조직 정책, 로그, 과금 모델을 활용하는 방향이다. 새로운 마법 상자를 하나 더 붙이는 방식이 아니라, 이미 조직이 받아들인 자동화 관리면 위에 에이전트 레이어를 얹는 방식이다.

GITHUB_TOKEN 변화는 작은 편의가 아니라 운영 신호다

GITHUB_TOKEN은 GitHub Actions가 워크플로우 실행 중 저장소 작업을 수행하도록 자동으로 제공하는 토큰이다. 예전에는 에이전트 워크플로우를 구성할 때 Personal Access Token을 별도로 다뤄야 하는 부담이 있었다. GitHub는 Agentic Workflows에서 Personal Access Token 없이 GITHUB_TOKEN 기반으로 Copilot 요청 권한을 다룰 수 있는 방향을 공개했다.

 

내가 이 변화를 단순한 설정 축소로 보지 않는다. 개인 토큰에 의존하는 자동화는 퇴사, 권한 변경, 토큰 만료, 과도한 권한 부여 문제를 낳는다. 반면 GITHUB_TOKEN 중심 구조는 저장소와 워크플로우 권한 안에서 에이전트 실행을 다루게 만든다. 에이전트 자동화가 개인의 실험에서 조직의 운영 자산으로 넘어가려면 이 차이가 중요하다.

도입 포인트는 자율 개발이 아니라 반복 판단 업무의 초안화다

GitHub Agentic Workflows를 “에이전트가 알아서 제품을 개발한다”는 식으로 읽으면 판단을 그르친다. 지금 현실적인 도입 지점은 자율 개발이 아니라 반복 판단 업무의 초안화다.

 

예를 들어 CI 실패 분석은 사람이 매번 로그를 읽고 원인을 좁히는 일이다. 이슈 분류는 제목, 본문, 재현 조건을 보고 라벨과 담당 영역을 판단하는 일이다. 문서 갱신은 변경된 코드와 오래된 설명 사이의 차이를 찾아 초안을 만드는 일이다. 의존성이나 취약점 유지보수도 비슷하다. 완전한 결정을 에이전트에게 넘기기보다, 사람이 검토할 수 있는 초안을 안정적으로 만드는 영역이다.

에이전트에게 맡길 일과 맡기면 안 되는 일이 갈린다

나는 Agentic Workflows를 도입할 때 첫 기준을 이렇게 잡아야 한다고 본다. 반복되지만 매번 약간의 판단이 필요한 일인가. 입력 자료가 저장소 안에 충분히 남아 있는가. 출력 형식을 제한할 수 있는가. 실패해도 되돌릴 경로가 있는가.

 

이 네 가지에 답이 있으면 에이전트 자동화 후보가 된다. 반대로 제품 방향 결정, 보안 정책 예외 승인, 고객 영향이 큰 배포 판단처럼 책임 소재가 무거운 일은 초안 단계에 머물러야 한다. 에이전트가 빠르게 답을 낸다는 사실이 곧 위임해도 된다는 뜻은 아니다.

SafeOutputs는 출력의 자유가 아니라 실패 범위를 줄이는 장치다

SafeOutputs는 에이전트 출력이 정해진 형식과 안전 경계에서 벗어나지 않도록 제한하고 검증하는 출력 안전 장치로 이해하면 된다. 에이전트 자동화에서 입력 권한만큼 위험한 것이 출력 권한이다. 잘못된 댓글 하나, 엉뚱한 파일 수정 하나, 과한 권한 요청 하나가 운영 사고로 이어진다.

 

에이전트가 “무엇을 읽는가”만 통제해서는 부족하다. “무엇을 남기는가”도 통제해야 한다. PR 댓글만 허용할지, 이슈 라벨 변경까지 허용할지, 파일 수정 제안만 만들지, 실제 커밋까지 만들지에 따라 위험도는 완전히 달라진다.

출력 형식이 정해져야 검수가 가능하다

사람이 검토할 수 있는 자동화는 산출물이 예측 가능하다. CI 실패 분석이라면 실패 원인, 근거 로그, 재현 명령, 추천 조치가 일정한 구조로 나와야 한다. 이슈 분류라면 추천 라벨, 판단 근거, 확신도, 사람이 확인할 항목이 분리되어야 한다.

 

출력 형식이 매번 달라지면 자동화는 검수 비용을 줄이지 못한다. 오히려 사람이 에이전트의 말을 해석하는 데 시간을 쓴다. 나는 SafeOutputs 같은 출력 제한이 에이전트 자동화의 부가 기능이 아니라 필수 운영 조건이라고 판단한다.

public preview라는 말은 곧 리스크가 남아 있다는 뜻이다

GitHub Agentic Workflows는 public preview 단계다. public preview는 누구나 기능을 시험해볼 수 있는 공개 미리보기 단계라는 뜻이지만, 정식 출시와 같은 안정성을 보장한다는 뜻은 아니다. API, 문서, 권한 요구사항, 과금 방식, 지원 범위가 바뀔 수 있다.

 

권한 리스크도 남아 있다. GITHUB_TOKEN을 사용한다고 해서 자동으로 안전해지는 것은 아니다. 워크플로우 권한이 과하게 열려 있거나, 조직 정책이 느슨하거나, 외부 기여자의 PR에서 민감한 작업이 실행되면 문제가 생긴다. 에이전트는 일반 스크립트보다 더 넓은 문맥을 읽고 더 그럴듯한 출력을 만들기 때문에, 잘못된 권한 부여가 더 늦게 발견될 수 있다.

비용과 조직 정책은 실험 전에 먼저 잠가야 한다

비용 리스크도 분명하다. 에이전트 워크플로우는 모델 호출, Actions 실행 시간, runner 사용량을 함께 만든다. 실패한 워크플로우가 반복 실행되거나, 큰 로그를 계속 읽거나, 불필요하게 긴 분석을 반복하면 비용은 조용히 쌓인다.

 

조직 정책 리스크는 더 현실적이다. 어떤 저장소에서 에이전트를 허용할지, 어떤 runner group에서만 실행할지, 외부 PR에는 어떤 제한을 둘지, 생성된 출력은 누가 승인할지 정해야 한다. 이 기준 없이 “한번 써보자”로 시작하면 실험은 빠르지만 회수는 어렵다.

도입 순서는 작은 판단 업무부터 시작해야 한다

나라면 첫 적용 대상으로 배포 자동화나 코드 자동 수정부터 잡지 않는다. 먼저 이슈 triage, CI 실패 요약, 문서 변경 초안, 테스트 보강 제안처럼 사람이 쉽게 검수할 수 있는 업무를 고른다. 에이전트가 틀려도 손실이 작고, 맞으면 반복 시간을 줄이는 영역이다.

 

그다음 출력 형식을 고정한다. 예를 들어 CI 실패 분석이라면 “요약, 근거 로그, 의심 원인, 다음 조치, 사람 확인 항목”처럼 항목을 제한한다. 이슈 분류라면 “추천 라벨, 근거 문장, 빠진 정보, 담당 후보” 정도로 묶는다. 자동화의 가치는 에이전트가 길게 말하는 데서 나오지 않는다. 사람이 다음 결정을 빠르게 내리도록 정리하는 데서 나온다.

성공 기준은 자동 실행이 아니라 운영자가 신뢰하는 반복성이다

처음부터 완전 자동화를 목표로 잡으면 실패한다. 에이전트가 한 번 멋진 답을 내는 것은 어렵지 않다. 어려운 것은 비슷한 입력에서 비슷한 품질의 산출물을 반복해서 내는 일이다.

 

그래서 성공 기준은 “AI가 처리했다”가 아니다. 같은 유형의 업무에서 검토 시간이 줄었는가. 출력이 정해진 구조를 지켰는가. 권한과 비용이 예상 범위 안에 있었는가. 실패했을 때 사람이 원인을 추적할 로그가 남았는가. 이 질문에 답해야 도입했다고 말할 수 있다.

결론: 에이전트 자동화의 경쟁력은 프롬프트가 아니라 운영 경계다

GitHub Agentic Workflows의 의미는 AI가 GitHub Actions를 대신 실행한다는 데 있지 않다. 그 정도 자동화는 이미 가능했다. 진짜 변화는 에이전트 업무를 Markdown 계약으로 정의하고, 기존 GitHub Actions 거버넌스 안에서 실행하게 만드는 방향이다.

 

나는 이 흐름이 에이전트 자동화의 기준을 바꾼다고 본다. 앞으로 팀의 차이는 어떤 모델을 붙였는지가 아니라, 어떤 판단 업무를 어떤 권한과 출력 조건 안에 넣었는지에서 갈린다.

에이전트에게 일을 맡기는 시대가 온다는 말은 절반만 맞다. 더 정확한 말은 이것이다.

에이전트에게 일을 맡기려면, 먼저 일이 실패해도 되는 울타리를 설계해야 한다.

참고 자료