2026년 7월 23일 GitHub는 GitHub Issues에서 agent automation controls를 public preview로 공개했습니다. 핵심은 단순합니다. Agent가 issue에 label을 붙이고, type을 바꾸고, assignee를 지정하고, issue를 닫는 흐름이 늘어나자 GitHub Issues가 각 변경의 이유와 확신도를 보여주고, 필요하면 적용 전 검토 단계에 묶어 두기 시작한 것입니다. 같은 날 Copilot cloud agent for Linear는 일반 공개가 되었고, 전날에는 Copilot 사용량을 adoption phase로 보는 impact dashboard가 나왔습니다. 7월 20일에는 cost center별 AI credit pool도 billing UI에 들어왔습니다.

이 흐름을 따로 보면 작은 기능 출시처럼 보입니다. 하지만 같이 놓고 보면 방향이 꽤 선명합니다. 개발 조직의 이슈 트래커는 더 이상 사람이 ticket을 쓰고 bot이 label을 붙이는 보조 화면에 머물지 않습니다. 이제 이슈는 agent가 작업을 시작하고, 분류하고, 비용을 쓰고, PR을 만들고, 사람이 검토하는 운영 control plane이 되고 있습니다.

이 글은 Agentic PR Governance, Workflow State Contract, Execution Receipt, Agentic Capacity SLO와 이어집니다. 핵심 질문은 “agent가 이슈를 자동으로 정리할 수 있나"가 아니라, agent가 바꾸려는 이슈 상태를 어떤 근거와 확신으로 적용하고, 어디서 사람이 멈출 수 있나입니다.

참고 신호:

이 글에서 얻는 것

  • 이슈 자동화가 label bot에서 rationale, confidence, approval을 가진 운영 변경으로 이동하는 이유를 이해합니다.
  • 자동 적용, suggestion queue, human review를 어떤 action과 confidence 기준으로 나눌지 판단할 수 있습니다.
  • Copilot cloud agent와 Linear 연동이 이슈 트래커, agent runtime, PR workflow를 어떻게 연결하는지 볼 수 있습니다.
  • 사용량 지표와 AI credit pool을 agent workflow 운영 기준에 어떻게 붙일지 체크리스트를 가져갑니다.

핵심 개념/이슈

1) 이슈 자동화의 위험은 코드 변경 전에 이미 시작된다

AI agent 위험을 PR diff에서만 보면 늦습니다. 많은 작업은 PR이 열리기 전에 issue에서 시작됩니다. issue가 bug인지 feature인지 분류되고, priority가 붙고, 담당자가 지정되고, sprint나 project field에 들어가고, 때로는 “이건 닫아도 된다"는 판단까지 내려집니다. 이 단계가 틀리면 코드가 틀리기 전부터 운영 흐름이 틀어집니다.

예를 들어 보안 취약점 제보가 낮은 priority로 분류되면 대응이 늦어집니다. 장애성 bug가 enhancement로 들어가면 release gate에서 빠질 수 있습니다. 잘못된 assignee 지정은 대기시간을 늘립니다. 중복 issue를 잘못 닫으면 고객 신호가 사라집니다. 그래서 issue automation은 단순 생산성 기능이 아니라 작업 우선순위와 책임 경계를 바꾸는 시스템입니다.

GitHub가 공개한 agent automation controls의 핵심도 여기에 있습니다. 지원 action은 label, field, type, close, assignee 같은 메타데이터 변경입니다. 겉보기에는 작지만, 이 값들은 triage queue, SLA, on-call escalation, release planning, agent assignment에 직접 영향을 줍니다.

2) Rationale은 댓글이 아니라 변경 근거다

자동화가 issue에 장문의 댓글을 남기는 방식은 금방 소음이 됩니다. 좋은 흐름은 변경 action 자체에 rationale을 붙이는 것입니다. “왜 security label을 붙였는가”, “왜 medium priority로 판단했는가”, “왜 agent에게 assign하려는가"가 변경과 함께 남아야 합니다.

실무에서 rationale은 아래 조건을 만족해야 쓸모가 있습니다.

  • issue 본문 또는 댓글의 어떤 신호를 근거로 삼았는지 짧게 설명한다.
  • action과 분리되지 않고 metadata change record에 붙는다.
  • 나중에 검색과 감사가 가능하다.
  • 사람이 수락/거절할 때 같은 화면에서 볼 수 있다.
  • 모델 추론 전문이 아니라 reviewer가 판단할 수 있는 요약이어야 한다.

이 구조는 Execution Receipt와 닮았습니다. receipt가 실행 의도와 효과를 묶는다면, issue intent는 issue 상태 변경의 이유와 확신을 묶습니다. 둘 다 “로그가 어딘가에 있다"보다 “이 변경을 왜 했는지 한 단위로 설명할 수 있다"를 목표로 합니다.

3) Confidence는 자동화의 속도를 조절하는 제어 신호다

agent가 모든 action을 같은 확신으로 처리하면 운영자가 믿기 어렵습니다. GitHub의 public preview는 supported action에 high, medium, low confidence를 붙이고, repository admin이 automation level과 threshold를 조정할 수 있게 합니다. 이 방향은 중요합니다. confidence는 모델의 자기평가라서 완벽한 진실은 아니지만, 자동 적용과 사람 검토를 나누는 초기 제어 신호로는 쓸 수 있습니다.

기본 정책은 아래처럼 시작할 수 있습니다.

ActionHigh confidenceMedium confidenceLow confidence
label 추가자동 적용 가능suggestion queuesuggestion queue
type 변경제한적 자동 적용review 필요review 필요
assignee 지정팀 내부 rule 일치 시 자동review 필요review 필요
close issue자동 적용 금지 또는 allowlistreview 필요review 필요
assign to agentlow-risk label만 자동owner review금지 또는 review

특히 close와 agent assignment는 보수적으로 보는 편이 안전합니다. label 하나가 틀리면 되돌리기 쉽지만, issue를 닫거나 agent에게 작업을 맡기면 놓친 신호와 실행 비용이 생깁니다. 판단 우선순위는 보안/장애 신호 보존 > 책임자 정확도 > 자동 처리 속도 > backlog 정리량 순서가 좋습니다.

4) Approval은 보안 경계가 아니라 workflow 경계다

GitHub 공지에서 눈에 띄는 점은 approval을 workflow convenience로 설명한다는 점입니다. 즉 suggestion review는 사람이 보기 좋은 운영 단계지만, agent에게 이미 issue 변경 권한이 있다면 그것 자체가 강한 서버 측 보안 경계는 아닙니다. 이 구분은 실무에서 매우 중요합니다.

팀은 approval UI를 security control처럼 과신하면 안 됩니다. 실제 보안 경계는 권한 모델, token scope, repository ruleset, branch protection, audit log, allowed action policy에서 나와야 합니다. approval은 그 위에서 medium/low confidence action을 사람이 검토하기 쉽게 만드는 workflow 장치입니다.

따라서 운영 설계는 두 층으로 나눕니다.

  • Permission layer: agent가 어떤 issue field와 repository action을 실제로 바꿀 수 있는가
  • Review layer: 바꿀 수 있는 action 중 어떤 것을 suggestion으로 보류할 것인가

이 구분이 없으면 “승인 패널이 있으니 안전하다"는 착각이 생깁니다. Tool Permission Manifest에서 다룬 것처럼 권한은 UI 흐름이 아니라 실제 호출 가능 범위에서 결정됩니다.

5) 이슈 트래커는 agent 작업 큐가 된다

Copilot cloud agent for Linear GA는 이 흐름을 더 밀어붙입니다. Linear issue를 Copilot cloud agent에 assign하면 agent가 issue 내용을 분석하고, 자체 ephemeral development environment에서 작업하고, draft pull request를 열고, 진행 상황을 Linear timeline에 남기는 구조입니다. 이제 issue tracker는 “작업 설명서"와 “agent dispatch queue” 사이에 있습니다.

좋은 점은 명확합니다. PM이나 engineer가 이미 쓰는 issue 흐름에서 agent를 부를 수 있고, 진행 상황도 같은 timeline에 남습니다. 하지만 운영 기준도 같이 필요합니다.

  • 어떤 label이 있어야 agent assignment가 가능한가
  • 어떤 repo/branch에서만 agent가 작업할 수 있는가
  • custom agent와 model 선택은 누가 바꿀 수 있는가
  • agent가 만든 draft PR은 어떤 evidence가 있어야 review 요청으로 넘어가는가
  • 실패한 agent session은 issue state를 어떻게 되돌리는가

이 기준은 Agentic PR Governance와 직접 연결됩니다. agent가 issue에서 시작해 PR로 이어질수록, issue state와 PR state 사이의 계약이 필요합니다.

6) 사용량 지표와 credit pool은 자동화의 현실감을 만든다

AI 자동화는 무료 bot이 아닙니다. GitHub의 Copilot usage metrics impact dashboard는 active user 수만 보는 대신 Code-first, Agent-first, Multi-agent or Copilot app 같은 adoption phase cohort와 PR merge 속도, PR 처리량, 평균 코드량 등을 보여줍니다. AI credit pool은 cost center별 포함 credit 사용을 관리하고, 초과 시 차단할지 overage를 허용할지 선택하게 합니다.

이 말은 issue automation에도 중요합니다. 자동 labeler 하나는 비용이 작아 보여도, issue triage, agent assignment, draft PR 생성, test rerun, review 요청이 이어지면 작업당 비용과 runner minutes가 쌓입니다. 그래서 agentic issue control plane에는 비용 지표가 같이 들어가야 합니다.

최소 지표는 아래입니다.

  • issue_auto_apply_rate
  • suggestion_accept_rate
  • wrong_label_revert_rate
  • issue_close_reopen_rate
  • agent_assignment_success_rate
  • agent_task_credit_burn
  • human_review_wait_p95
  • stale_suggestion_age_p95

속도만 보면 auto-apply rate가 높을수록 좋아 보입니다. 하지만 wrong-label revert나 close-reopen이 같이 오르면 자동화가 일을 줄이는 게 아니라 숨은 재작업을 만들고 있는 것입니다.

실무 적용

1) Action별 automation matrix를 만든다

처음부터 모든 issue action을 agent에게 맡기지 말고 matrix로 시작합니다.

issue_automation_policy:
  add_label:
    auto_apply_if: ["confidence=high", "label in safe_labels"]
    suggest_if: ["confidence in [medium, low]"]
  set_priority:
    auto_apply_if: ["confidence=high", "priority in [P2, P3]"]
    suggest_if: ["priority in [P0, P1]", "confidence!=high"]
  close_issue:
    auto_apply_if: []
    suggest_if: ["duplicate_candidate", "stale_support_question"]
  assign_to_agent:
    auto_apply_if: ["label=low-risk", "owner_team opt-in", "credit_budget_ok"]
    suggest_if: ["confidence=medium"]

핵심은 action별 위험을 다르게 보는 것입니다. label 추가는 되돌리기 쉽지만, close와 assign-to-agent는 사용자 신호와 비용에 영향을 줍니다. 같은 confidence라도 action별 threshold가 달라야 합니다.

2) Suggestion queue에도 SLA를 둔다

medium/low confidence action을 review로 돌리는 것만으로는 부족합니다. suggestion이 쌓이면 결국 사람이 안 보고, 자동화는 또 다른 backlog가 됩니다.

초기 기준은 아래처럼 잡을 수 있습니다.

  • security/incident label suggestion: 30분 이내 review
  • P1/P2 priority suggestion: 업무시간 기준 4시간 이내 review
  • 일반 label/type suggestion: 1영업일 이내 review
  • stale suggestion age p95가 3영업일 초과: automation rule 축소 또는 owner 재배정
  • suggestion accept rate가 50% 미만인 rule: prompt/rule 재검토

자동화 품질은 “얼마나 많이 제안했나"가 아니라 “사람이 봤을 때 얼마나 자주 맞았고, 틀렸을 때 얼마나 빨리 회수됐나"로 봐야 합니다.

3) Issue state와 PR state를 연결한다

agent가 issue에서 PR로 넘어가면 상태 전이가 필요합니다.

TRIAGED
  -> AGENT_SUGGESTED
  -> AGENT_ASSIGNED
  -> DRAFT_PR_OPENED
  -> EVIDENCE_ATTACHED
  -> HUMAN_REVIEW_REQUESTED
  -> MERGED or RETURNED_TO_HUMAN

각 전이에 gate를 둡니다. 예를 들어 AGENT_ASSIGNED에는 owner team opt-in과 credit budget이 필요하고, EVIDENCE_ATTACHED에는 test result, changed files summary, known limitation이 필요합니다. 이 구조가 없으면 issue timeline은 길어지지만 운영자는 실제로 어디서 막혔는지 알기 어렵습니다.

4) 비용과 품질을 같은 주간 리포트에서 본다

agent automation은 DevEx 리포트와 FinOps 리포트가 따로 놀면 실패합니다. 주간 리뷰에는 아래 표가 같이 있어야 합니다.

지표좋은 신호나쁜 신호
suggestion accept raterule이 실제 triage에 도움제안만 많고 수락이 낮음
wrong-label revert rate낮을수록 좋음자동 분류 신뢰 하락
agent assignment successissue에서 PR까지 자연스럽게 연결draft PR만 쌓임
review wait p95사람 병목 감소suggestion queue가 새 병목
credit burn per accepted action비용 대비 효율 확인작은 이슈에 과도한 agent 사용

AI credit pool이 cost center 단위로 관리되는 흐름은 이런 리포트와 잘 맞습니다. 팀별로 “우리는 agent를 많이 쓴다"가 아니라 “어떤 작업군에서 어떤 비용으로 얼마나 재작업을 줄였는가"를 설명해야 합니다.

트레이드오프/주의점

첫째, confidence는 참고 신호이지 진실이 아닙니다. 모델이 high confidence로 틀릴 수 있고, low confidence 제안이 실제로 맞을 수 있습니다. 그래서 high confidence 자동 적용도 샘플링 리뷰와 revert 지표를 봐야 합니다.

둘째, approval UI를 보안 통제로 착각하면 위험합니다. agent token이 issue 변경 권한을 갖고 있다면 suggestion 단계를 우회하는 호출도 정책적으로 막아야 합니다. UI review와 permission boundary는 분리해서 설계해야 합니다.

셋째, 자동 close는 가장 조심해야 합니다. 잘못 닫힌 issue는 사용자 신호를 지우고, public repository에서는 maintainer 신뢰를 해칠 수 있습니다. 처음에는 duplicate candidate 제안까지만 열고 자동 close는 매우 좁게 제한하는 편이 낫습니다.

넷째, 이슈 자동화가 좋아질수록 agent dispatch가 쉬워집니다. 쉬운 dispatch는 비용과 reviewer backlog를 늘릴 수 있습니다. low-risk 작업부터 열되, credit budget과 review capacity를 같이 봐야 합니다.

체크리스트 또는 연습

운영 체크리스트

  • issue action별 자동 적용, suggestion, 금지 기준이 문서화되어 있다.
  • rationale과 confidence가 issue change record에 남는다.
  • close, priority P0/P1, assign-to-agent는 별도 threshold를 가진다.
  • suggestion queue에 reviewer owner와 SLA가 있다.
  • auto-apply rate와 wrong-label revert rate를 같이 본다.
  • agent assignment에는 credit budget과 repository opt-in 기준이 있다.

연습

최근 2주간 들어온 issue 30개를 골라 agent가 자동으로 할 수 있는 action을 label, type, priority, assignee, close, assign_to_agent로 나눠 보세요. 각 action에 대해 high/medium/low confidence일 때 자동 적용할지 suggestion으로 둘지 표로 정합니다. 마지막으로 실제 사람이 되돌렸을 때 어떤 지표를 올릴지 적어 보세요. 이 표가 있어야 이슈 자동화가 “편한 봇"이 아니라 운영 가능한 control plane이 됩니다.