2026년 7월 초 GitHub Changelog의 흐름을 보면 코딩 에이전트가 IDE 채팅 기능을 넘어 CI 안에서 실행되는 자동화 주체로 빠르게 들어오고 있습니다. 7월 2일 GitHub는 Copilot CLI를 GitHub Actions에서 실행할 때 더 이상 별도의 personal access token(PAT)을 만들지 않아도 되고, 내장 GITHUB_TOKEN으로 인증할 수 있다고 공지했습니다. 6월 11일에는 GitHub Agentic Workflows도 Actions의 내장 토큰을 사용할 수 있게 됐다는 흐름이 먼저 나왔습니다.

이 변화는 작은 인증 개선처럼 보이지만, 실제 의미는 더 큽니다. 코딩 에이전트가 로컬 IDE에서 “도와주는 기능"일 때는 개인 계정, 개인 설정, 개인 비용의 문제로 보이기 쉽습니다. 그런데 GitHub Actions 안에서 GITHUB_TOKEN으로 실행되면 에이전트는 CI/CD 파이프라인의 일부가 됩니다. 권한은 workflow permission으로 표현되고, 비용은 조직 또는 cost center로 흘러가며, 실행 결과는 PR·artifact·usage metrics·session stream으로 검증되어야 합니다.

저는 이 흐름을 CI-native Agent Runner라고 부르는 편이 좋다고 봅니다. 에이전트가 브라우저나 IDE 안에서만 일하는 것이 아니라, 실패한 workflow를 고치고, migration check를 돌리고, 보안 리뷰를 보조하고, 릴리스 노트를 만들며, 조직 과금과 runner 예산 안에서 멈추는 구조입니다. 이 글은 Agent Session Ledger, AI Coding Spend Preflight, Agentic Capacity SLO, IDE-native Agent Picker와 이어집니다.

이 글에서 얻는 것

  • Copilot CLI의 GITHUB_TOKEN 지원이 왜 단순 인증 편의가 아니라 agent runtime 변화인지 이해할 수 있습니다.
  • CI 안에서 코딩 에이전트를 실행할 때 필요한 workflow permission, credit cap, evidence 기준을 잡을 수 있습니다.
  • auto model selection, open-weight model, 모델 deprecation이 CI 자동화 운영에 어떤 영향을 주는지 정리할 수 있습니다.
  • 팀에서 바로 적용할 수 있는 agent workflow guardrail과 체크리스트를 가져갈 수 있습니다.

핵심 개념/이슈

1) PAT 제거는 보안 개선이지만, 권한 설계가 사라지는 것은 아니다

장기 PAT는 자동화에서 늘 부담입니다. 만료, 회전, 소유자 퇴사, scope 과다 부여, secret 유출 리스크가 따라옵니다. GitHub가 Copilot CLI를 Actions의 내장 GITHUB_TOKEN으로 실행할 수 있게 한 것은 이 부담을 줄이는 방향입니다. 공지에 따르면 organization-owned repository에서 Actions token으로 Copilot CLI를 실행하면 AI credits는 조직에 직접 청구됩니다. workflow는 copilot-requests: write permission을 요구합니다.

중요한 점은 “secret이 하나 줄었다"에서 멈추면 안 된다는 것입니다. PAT가 없어져도 에이전트가 CI 안에서 요청을 만들고, 파일을 고치고, 테스트를 돌리고, 외부 모델을 호출한다는 사실은 그대로입니다. 권한은 이제 secret scope가 아니라 workflow permission, branch protection, environment protection, runner isolation, repository policy로 표현됩니다.

기본 정책은 아래처럼 잡을 수 있습니다.

작업 유형실행 위치권한승인
문서/릴리스 노트 초안pull_request workflowread + artifact writePR 리뷰
실패 테스트 원인 분석workflow_runread + logs자동 허용
작은 fix PR 생성workflow_dispatchcontents write 제한owner 승인
보안/권한/결제 경로 수정별도 protected workflowplan-only 기본사람 승인 2단계
배포/infra 변경production environmentagent 자동 실행 금지수동 승인

이 기준은 CI/CD 보안과 공급망의 연장입니다. CI 권한이 넓으면 에이전트도 넓어집니다.

2) 조직 과금은 agent workflow를 “공유 자원"으로 만든다

GitHub의 PAT-less Actions 공지는 조직 repo에서 Copilot CLI가 소비한 AI credits가 조직에 직접 청구된다고 설명합니다. 또 이 경로에서는 비용이 특정 사용자에게 귀속되지 않기 때문에 user-level budgets가 고려되지 않는다고 안내합니다. 대신 cost centers, billing/usage dashboards, session limit 같은 관리 방법을 제시합니다.

이 지점이 운영적으로 중요합니다. 개인 IDE에서 agent를 많이 쓰면 개인 사용량 문제로 보입니다. 하지만 CI 안의 agent는 팀 전체가 공유하는 예산을 씁니다. 실패한 workflow가 여러 번 재실행되고, agent가 매번 큰 모델을 고르고, 같은 PR에서 세션이 반복되면 비용은 조용히 누적됩니다. 게다가 사용자 예산이 적용되지 않는 경로라면 “개인 한도 걸어뒀으니 괜찮다"가 통하지 않습니다.

권장 기준:

  • workflow별 max_ai_credits 또는 session limit을 둔다.
  • PR당 agent run 최대 횟수를 정한다. 예: 자동 1회, 재시도는 사람 승인.
  • cost center는 조직 단위가 아니라 product/team 단위로 본다.
  • completed PR당 credit, 실패 run당 credit, no-diff run 비율을 주간으로 본다.
  • 한 workflow가 팀 주간 credit의 5%를 넘으면 사전 승인 대상으로 둔다.

비용 통제는 개발자 억제가 아니라 runaway automation을 막는 stop condition입니다.

3) CI 안의 에이전트는 evidence artifact를 남겨야 한다

사람이 로컬에서 명령을 돌리면 PR 본문에 “테스트 돌림” 정도를 적고 넘어가는 경우가 많습니다. 하지만 CI-native agent는 그렇게 운영하면 곤란합니다. 자동화가 실행된 위치, 사용한 모델, tool call, 변경 파일, 테스트 결과, 중단 사유가 남아야 합니다.

최소 evidence artifact:

agent_run:
  workflow: "agent-fix-failing-test.yml"
  trigger: "workflow_dispatch"
  actor: "github-actions[bot]"
  task_id: "ci-failure-18291"
  permissions:
    contents: "write"
    copilot-requests: "write"
  credit_limit: 200
  credit_used: 143
  model_policy: "auto"
  files_changed: 3
  test_evidence:
    - "gradle test"
    - "integration smoke"
  stop_reason: "completed_with_pr"

이 정보는 Agent Session Ledger의 CI 버전입니다. 원문 prompt와 전체 응답을 영구 보관할 필요는 없지만, 운영 판단에 필요한 요약 증거는 남겨야 합니다.

4) auto model selection은 편하지만, CI에서는 정책이어야 한다

7월 1일 GitHub는 Copilot CLI의 auto model selection이 task에 따라 모델을 라우팅하고, model health와 utilization 신호를 고려한다고 설명했습니다. 같은 날 enterprise managed settings에서 modelauto로 기본 설정할 수 있다는 공지도 나왔습니다. 이는 CLI 자동화에서 모델 선택이 점점 런타임 라우팅 문제로 이동한다는 뜻입니다.

좋은 점은 분명합니다. 모든 작업에 큰 모델을 고를 필요가 없고, 모델 상태와 작업 난이도에 따라 더 효율적인 선택을 할 수 있습니다. 하지만 CI에서는 재현성과 비용 예측도 중요합니다. 같은 workflow가 오늘은 작은 모델로 통과하고 내일은 다른 모델로 다르게 행동하면, 원인 분석이 어려워질 수 있습니다.

그래서 CI 정책은 아래처럼 나누는 편이 안전합니다.

  • low-risk docs/checklist: model: auto, 낮은 credit cap
  • test failure triage: model: auto, read-only 기본
  • code modification: model: auto 허용, diff/evidence 필수
  • security/payment/infra: model auto만으로 자동 수정 금지, plan-first
  • reproducibility required job: 모델과 버전 고정 또는 결과 검증 강화

모델 자동 선택은 좋은 기본값이 될 수 있지만, 고위험 작업의 승인과 검증을 대신하지 않습니다.

5) open-weight 모델과 모델 deprecation은 policy matrix를 요구한다

7월 1일 GitHub는 Kimi K2.7 Code를 Copilot model picker의 첫 open-weight selectable option으로 제공한다고 공지했습니다. Copilot Business/Enterprise에서는 기본 off이고, 관리자가 보안·컴플라이언스·데이터 거버넌스 요구사항을 검토한 뒤 정책으로 켜야 한다고 설명합니다. 7월 2일에는 Gemini 2.5 Pro와 Gemini 3 Flash가 2026년 7월 31일 Copilot 전반에서 deprecate될 예정이라는 공지도 나왔습니다.

이 두 흐름은 같이 봐야 합니다. 모델 선택지는 늘고, 일부 모델은 빠르게 빠집니다. 그러면 workflow에 특정 모델 이름을 박아두는 방식은 운영 부채가 됩니다. 반대로 아무 모델이나 auto로 두면 품질과 비용 기준이 흐려질 수 있습니다.

필요한 것은 모델 취향표가 아니라 policy matrix입니다.

agent_model_policy:
  docs:
    default: auto
    allow_open_weight: true
    max_credit: 80
  bugfix:
    default: auto
    allow_open_weight: pilot_only
    max_credit: 250
  security:
    default: approved_high_reasoning
    allow_open_weight: false_until_reviewed
    requires_owner_approval: true
  deprecated_model_handling:
    check_interval: weekly
    fallback_required: true
    workflow_fail_before_deprecation: 14d

이렇게 해두면 모델 출시와 종료가 나와도 workflow가 조용히 깨지지 않습니다.

실무 적용

1) agent workflow 기본 골격

CI 안에서 에이전트를 돌릴 때는 권한을 작게 시작합니다.

name: agent-triage-failing-test

on:
  workflow_dispatch:

permissions:
  contents: read
  actions: read
  checks: read
  pull-requests: write
  copilot-requests: write

jobs:
  triage:
    runs-on: ubuntu-latest
    timeout-minutes: 15
    steps:
      - uses: actions/checkout@v4
      - name: Run Copilot CLI triage
        run: |
          copilot --max-ai-credits 150 \
            "Summarize the failing tests, propose a minimal fix plan, and write an evidence report. Do not modify files."
      - name: Upload evidence
        uses: actions/upload-artifact@v4
        with:
          name: agent-evidence
          path: agent-report.md

처음부터 contents: write를 주지 않습니다. 먼저 read-only triage와 evidence 생성부터 시작하고, 성공률과 false positive를 본 뒤 제한된 수정 workflow를 따로 만듭니다.

2) 수정 workflow는 별도로 둔다

파일을 고치는 agent workflow는 더 강한 기준이 필요합니다.

  • pull_request에서 자동 write 금지, workflow_dispatch 또는 label 승인 후 실행
  • 변경 파일 수 상한: 예를 들어 5개 이하
  • 테스트 명령 상한: 예를 들어 3회 이하
  • session credit cap: 작은 bugfix 150~300
  • PR 본문에 agent run id, credit used, test evidence 자동 첨부
  • high-risk path는 denylist 또는 owner approval 필요

high-risk path 예시:

high_risk_paths:
  - "infra/prod/**"
  - "migrations/**"
  - "src/main/**/security/**"
  - "src/main/**/payment/**"
  - ".github/workflows/deploy*.yml"

이 기준은 Tool Permission Manifest의 CI 버전입니다. 에이전트에게 어떤 도구와 파일을 허용했는지 실행 전부터 명시해야 합니다.

3) 운영 대시보드는 사용량보다 실패 비용을 먼저 본다

GitHub는 7월 2일 Copilot usage metrics API의 보고 정확도와 커버리지를 개선했다고 공지했습니다. Copilot CLI의 suggested lines, server-side telemetry 사용자 식별, AI credit attribution 개선이 핵심입니다. 이런 지표는 adoption 홍보용으로만 쓰면 아깝습니다. CI-native agent에서는 실패 비용을 봐야 합니다.

초기 대시보드 질문:

  • agent run 수가 PR 수 대비 얼마나 늘고 있는가
  • no-diff completed run 비율은 얼마인가
  • 실패 workflow당 평균 credit은 얼마인가
  • 한 PR에서 같은 agent workflow가 3회 이상 반복되는가
  • agent가 만든 PR의 72시간 내 rollback/hotfix 비율은 얼마인가
  • high-risk path를 만진 run 중 evidence 없는 건이 있는가

도입 성공 기준은 “에이전트가 많이 돌았다"가 아니라 “실패한 CI를 더 빨리, 더 적은 재작업으로 해결했다"입니다.

4) 2주 파일럿 기준

2주 파일럿은 작게 잡습니다.

단계범위성공 기준
1주차read-only CI failure triageevidence 생성률 90% 이상, hallucinated command 0건
2주차low-risk test/doc fix PRPR당 변경 파일 5개 이하, 테스트 증거 100%
보류security/payment/infraplan-only로만 운영

중단 기준도 필요합니다.

  • credit cap 초과 종료가 하루 5건 이상
  • 같은 PR에서 agent run 3회 이상 반복
  • high-risk path touch + approval 없음
  • evidence artifact 누락
  • 사람이 읽기 어려운 대량 diff 생성

이 중 하나라도 반복되면 자동 수정을 멈추고 triage 전용으로 낮춥니다.

트레이드오프/주의점

첫째, GITHUB_TOKEN은 PAT보다 운영하기 쉽지만 만능 안전장치는 아닙니다. workflow permission이 넓으면 에이전트도 넓은 권한을 갖습니다. 특히 contents: write, pull-requests: write, actions: write 조합은 신중해야 합니다.

둘째, 조직 과금은 책임 소재를 흐릴 수 있습니다. 사용자별 budget이 적용되지 않는 경로에서는 workflow owner와 cost center를 반드시 붙여야 합니다.

셋째, auto model selection은 비용과 품질을 동시에 개선할 수 있지만, 재현성을 낮출 수 있습니다. 특히 규제·보안·배포 경로에서는 model policy와 evidence가 함께 있어야 합니다.

넷째, open-weight 모델은 낮은 비용과 선택권을 줄 수 있지만, 조직의 데이터·컴플라이언스 요구사항을 자동으로 만족하지 않습니다. Business/Enterprise에서 기본 off인 이유를 운영 정책으로 받아들여야 합니다.

다섯째, agent workflow가 성공해도 리뷰 책임이 사라지지 않습니다. 에이전트는 실행자일 수 있지만 release risk owner는 여전히 사람입니다.

의사결정 우선순위는 권한 최소화 > 실행 증거 > 비용 한도 > 모델 효율 > 자동 수정 범위 확대입니다. CI 안의 에이전트는 빠른 조수가 아니라 제한된 권한을 가진 자동화 주체로 다뤄야 합니다.

체크리스트 또는 연습

체크리스트

  • Copilot CLI 또는 agentic workflow 실행에 copilot-requests: write가 명시되어 있다.
  • workflow별 session credit cap과 timeout이 있다.
  • 조직 과금 경로에서 user-level budget이 적용되는지 확인했다.
  • agent run마다 workflow id, task id, model policy, credit used, stop reason을 남긴다.
  • high-risk path는 agent 자동 수정에서 제외하거나 owner approval을 요구한다.
  • auto model selection과 open-weight model 허용 기준이 task class별로 나뉘어 있다.
  • deprecate 예정 모델을 workflow에서 쓰는지 주간 점검한다.
  • evidence artifact 없이 완료된 agent run은 실패로 본다.

연습

  1. 현재 GitHub Actions workflow 중 에이전트 triage를 붙일 수 있는 low-risk job 1개를 고르고, read-only 권한표를 작성해보세요.
  2. PR 30건을 샘플링해 “agent가 고쳐도 되는 실패"와 “사람이 봐야 하는 실패"를 라벨링해보세요.
  3. 팀 주간 AI credit 예산을 기준으로 workflow별 cap을 정하고, cap 초과 시 멈출 조건을 문서화해보세요.

참고한 흐름