GitHub/github-copilot

33 개의 포스트

github4분 읽기큐레이션 요약

GitHub, Gartner® 매직 쿼드런트™ 엔터프라이즈 AI 코딩 에이전트 부문에서 3년 연속 리더로 선정

코드 생성이 쉬워지면서 소프트웨어 개발의 병목은 코드 작성에서 리뷰·보안·거버넌스·배포로 이동했으며, GitHub는 이를 해결하려면 소프트웨어 개발 생명주기(SDLC) 전반에 AI 에이전트가 필요하다고 주장합니다. GitHub Copilot은 이슈 처리부터 코드 리뷰와 배포까지 지원하는 에이전트형 기능을 확장하고 있으며, Gartner의 2026년 보고서에서 3년 연속 ‘Leader’로 선정됐습니다. GitHub는 특히 실행 역량, 네이티브 통합, 보안·거버넌스 기능에서 강점을 보였다고 설명합니다. ## 코드 생성에서 소프트웨어 결과물 조율로 - 개발자는 더 이상 Copilot에 단순히 함수 작성을 요청하는 데 그치지 않고, 이슈를 에이전트에 할당한 뒤 작업을 맡길 수 있습니다. - 에이전트는 코드 작성뿐 아니라 관련 작업을 수행하고, 개발자는 결과를 검토·수정·승인하는 역할에 집중합니다. - Gartner는 2028년 비동기 AI 코딩 에이전트가 소프트웨어 엔지니어링 팀 생산성을 30~50% 향상할 것으로 전망했습니다. - 이는 2025년 AI 코드 보조 도구가 제공할 것으로 예상된 0~20%의 생산성 향상보다 큰 폭입니다. - 생산성 향상을 실현하려면 코드 생성뿐 아니라 계획, 테스트, 리뷰, 보안, 거버넌스까지 AI가 관여해야 한다는 것이 GitHub의 주장입니다. ## 엔터프라이즈 규모로 확산되는 GitHub Copilot - GitHub Copilot은 현재 14만 개 조직에서 사용되며, 전년 대비 사용자·조직 기반이 거의 3배로 증가했습니다. - 전체 성장률은 전년 대비 100%를 넘었고, 많은 사용자가 여러 AI 모델을 함께 활용하고 있습니다. - GitHub Copilot CLI 사용량도 전월 대비 거의 두 배씩 증가하고 있다고 설명합니다. - GitHub는 이러한 지표가 기업들이 Copilot을 단순 코드 자동완성 도구가 아니라 복합적인 개발 플랫폼으로 활용하고 있음을 보여준다고 평가합니다. ## Gartner ‘Leader’ 선정과 평가 - Gartner는 2026년 Enterprise AI Coding Agents Magic Quadrant에서 12개 공급업체를 평가했습니다. - 평가는 크게 다음 두 기준을 바탕으로 이뤄졌습니다. - 실행 역량(Ability to Execute) - 비전의 완성도(Completeness of Vision) - GitHub는 실행 역량 부문에서 가장 높은 위치에 배치됐으며, 3년 연속 Leader로 선정됐습니다. - Gartner가 말하는 Leader는 다음 특징을 갖춘 업체입니다. - 강력한 제품 실행력과 시장 방향을 형성할 수 있는 명확한 비전 - 편집기 내부를 넘어 계획·테스트·코드 리뷰·워크플로 자동화까지 지원하는 에이전트 기능 - 개발자와 기업 모두에게서 확보한 시장 반응 - 확장되는 생태계와 지속 가능한 비즈니스 모델 - 엔터프라이즈급 보안, 거버넌스, 운영 성숙도 ## GitHub Copilot의 차별화 요소 - **모델과 사용 환경의 선택권** - 여러 공급업체의 AI 모델을 지원합니다. - 코드 에디터, IDE, CLI뿐 아니라 GitHub 웹·데스크톱·모바일 앱에서도 Copilot을 사용할 수 있습니다. - **SDLC 전반의 통합** - 개발 시작 단계의 코드 작성에만 머물지 않습니다. - 이슈, 풀 리퀘스트, 코드 리뷰, GitHub Actions 등 개발 및 배포 과정 곳곳에 Copilot을 통합합니다. - **기업용 통제 기능** - 조직이 AI 사용 현황을 관찰하고 감사할 수 있도록 지원합니다. - AI가 생성하거나 수정한 코드의 사용을 보안 정책과 거버넌스 체계 안에서 관리할 수 있도록 합니다. - GitHub는 이러한 기능이 GitHub 플랫폼 내부의 네이티브 통합과 결합되어 기업 환경에서 AI 개발을 관리하기에 유리하다고 주장합니다. ## 앞으로의 계획 - 개발자가 사용하는 모든 GitHub 표면에서 에이전트형 워크플로를 더욱 확장할 예정입니다. - 여러 모델을 더 폭넓게 제공하고, 작업에 적합한 모델을 자동으로 선택하는 지능형 라우팅을 강화할 계획입니다. - 단순히 코드가 어떻게 생성되는지만이 아니라 GitHub에서 소프트웨어가 실제로 어떻게 개발·검토·배포되는지에 기반해 Copilot 성능을 개선하려 합니다. - 핵심 방향은 개발 생명주기 전체를 연결하는 AI-native 소프트웨어 개발 환경을 구축하는 것입니다. Gartner의 Leader 선정은 GitHub Copilot의 엔터프라이즈 경쟁력을 보여주는 지표지만, Gartner도 특정 업체나 최고 등급 업체만을 선택하라고 권고하지 않는다고 명시합니다. 따라서 도입을 검토할 때는 모델 선택권, 기존 저장소·CI/CD와의 통합성, 보안 및 감사 기능, 실제 팀의 리뷰·배포 프로세스 개선 효과를 함께 평가하는 것이 바람직합니다.

원문 읽기(새 탭에서 열림)
github4분 읽기큐레이션 요약

범용 접근성 에이전트 구축과 그 과정에서 얻은 교훈

GitHub는 개발자가 접근성 질문에 즉시 답을 얻고, 배포 전 단순하고 객관적인 접근성 문제를 자동 수정하도록 실험적인 범용 접근성 에이전트를 운영하고 있습니다. 이 에이전트는 3,535개의 풀 리퀘스트를 검토해 68%의 해결률을 기록했지만, 접근성을 자동으로 “해결”하는 만능 도구가 아니라 기존 엔지니어링 노력을 보완하는 역할로 설계되었습니다. 특히 조직이 축적한 구조화된 접근성 이슈와 수정 사례가 에이전트의 정확도와 실용성을 높이는 핵심 자산이 되었습니다. ## 접근성 에이전트의 목표와 성과 - GitHub Copilot CLI와 VS Code 통합 환경에서 접근성 관련 질문에 신뢰할 수 있는 답변을 제공합니다. - 프런트엔드 코드가 변경된 풀 리퀘스트를 자동으로 검사합니다. - 단순하고 판단 기준이 명확한 접근성 문제는 코드 제안 형태로 자동 수정할 수 있습니다. - 현재까지 3,535개의 풀 리퀘스트를 검토했으며, 68%의 해결률을 기록했습니다. - 가장 많이 발견된 문제는 다음과 같습니다. - 구조와 관계를 보조공학 기술이 명확히 이해하도록 표현하지 못한 문제 - 대화형 컨트롤의 이름이 불명확한 문제 - 중요한 상태 변화나 공지를 사용자에게 전달하지 못한 문제 - 이미지 등 비텍스트 콘텐츠에 텍스트 대안이 없는 문제 - 키보드 포커스 이동 순서가 논리적이지 않은 문제 예를 들어 시각적 배치와 DOM·스크린 리더 읽기 순서가 서로 다른 경우, 에이전트는 `row-reverse` 대신 DOM 요소 순서를 바꾸고 일반적인 `flex-direction: row`를 사용하라고 제안할 수 있습니다. ## 접근성을 바라보는 관점 - 사회적 장애 모델에 따르면 장애와 사용 장벽은 개인뿐 아니라 환경의 설계 방식에서도 발생합니다. - 디지털 서비스에서도 잘못 구성된 UI가 보조공학 사용자에게 장벽을 만들 수 있습니다. - 따라서 에이전트의 목표는 접근성을 독립적으로 완성하는 것이 아니라, 동료 개발자가 장벽을 더 빠르게 발견하고 제거하도록 돕는 것입니다. - 모든 상황을 자동으로 처리할 수 있는 “실버 불릿”으로 에이전트를 홍보하지 않았습니다. - 에이전트의 책임 범위를 현실적으로 정의한 덕분에 실험을 빠르게 시작하고 조직 내 동의를 얻을 수 있었습니다. ## 규제와 사전 투자 - 유럽 접근성법(EAA)이 시행되었고, 미국 장애인법(ADA) Title II도 2027년 4월부터 WCAG 2.1 AA 준수를 법적 완료 기준으로 삼을 예정입니다. - LLM 기반 에이전트는 접근성 트리를 읽고 이를 바탕으로 UI를 분석하거나 조작할 수 있습니다. - 조직이 아직 수동으로 접근성 문제를 식별하고 수정하는 체계를 마련하지 않았다면, 향후 에이전트를 구축할 때도 불리해집니다. - 자동화는 기존의 접근성 품질 관리 체계를 대체하는 것이 아니라, 이미 검증된 문제와 해결 방식을 활용해 확장하는 방식으로 효과를 냅니다. ## 구조화된 이슈 데이터의 가치 GitHub는 에이전트 도입 이전부터 접근성 문제를 일관되게 기록하고 검증하는 시스템을 운영했습니다. - 문제 신고용 구조화된 템플릿 - 재현 절차 - 심각도, 담당 서비스 영역, 적용 가능한 WCAG 성공 기준 등의 메타데이터 - 문제를 해결한 풀 리퀘스트와의 연결 - 수정 완료를 판단하는 명확한 수용 기준 - 모든 접근성 이슈를 하나의 저장소에 중앙화 이처럼 일관된 형식으로 축적된 이슈와 코드 변경 내역은 에이전트가 참고할 수 있는 고품질 학습·검색 자료가 되었습니다. LLM의 비결정적이고 유연한 매칭 능력도 비슷한 코드와 문구를 찾아내는 데에는 장점으로 작용했습니다. ## 일반적인 지침만으로는 부족한 이유 - 전문 영역에서 “접근성 모범 사례를 따르라”는 식의 짧고 추상적인 지침만으로는 충분하지 않습니다. - 주요 LLM은 접근성이 부족한 코드가 포함된 수십 년간의 자료로 학습되었기 때문에, 접근성 안티패턴을 생성하는 편향을 보일 수 있습니다. - 따라서 에이전트가 실제 조직의 코드 스타일과 문제 해결 관례를 반영한 구체적인 사례를 참고해야 합니다. - 수동으로 접근성 문제를 분류하고 수정한 기록은 다음 요소를 함께 포함합니다. - 실제 제품 맥락 - 조직의 코딩·문서화 규칙 - 적용된 WCAG 기준 - 문제를 해결한 코드 - 수정 여부를 검증하는 조건 - 이런 사례 기반 자료는 단순한 체크리스트보다 에이전트의 판단과 코드 제안에 훨씬 강력한 기반이 됩니다. ## 실용적인 결론 접근성 에이전트를 도입하려면 먼저 사람이 접근성 문제를 일관되게 기록하고, 재현 절차와 WCAG 기준, 실제 수정 사례를 축적하는 것이 좋습니다. 에이전트는 전문가의 판단을 대체하기보다 반복적이고 객관적인 문제를 빠르게 발견·수정하는 보조 수단으로 운영해야 하며, 그 한계를 명확히 정의할수록 조직 내 신뢰와 도입 효과가 커집니다.

원문 읽기(새 탭에서 열림)
github4분 읽기큐레이션 요약

에이전트 풀 리퀘스트가 도처에 있습니다. 이를 검토하는 방법을 소개합니다.

에이전트가 작성한 풀 리퀘스트(PR)는 빠르게 늘고 있지만, 테스트 통과와 깔끔한 코드만으로 품질을 보장할 수 없다. 연구에 따르면 에이전트 코드는 인간 작성 코드보다 중복과 기술 부채가 많을 수 있으며, 리뷰어는 오히려 더 쉽게 승인하는 경향이 있다. 따라서 리뷰어는 코드의 표면적 완성도보다 CI 조작, 중복 구현, 경계 조건, 권한 및 보안 문제를 중심으로 의도적으로 검토해야 한다. ## 에이전트 PR 증가와 리뷰 한계 - GitHub Copilot 코드 리뷰는 6천만 건 이상 처리됐고, 1년이 안 되는 기간에 10배 성장했다. - GitHub의 코드 리뷰 5건 중 1건 이상에 에이전트가 관여한다. - 개발자 한 명이 짧은 시간에 여러 에이전트 세션을 실행하면서 PR 생성 속도는 크게 늘었지만, 인간의 리뷰 처리 능력은 그만큼 증가하지 않았다. - 기존의 “리뷰 요청 → 코드 소유자 대기 → 병합” 방식만으로는 증가한 물량을 감당하기 어렵다. ## 에이전트 코드를 바라보는 관점 - 코딩 에이전트는 저장소의 패턴을 잘 따르지만 다음과 같은 맥락은 알지 못한다. - 과거 장애와 사고 이력 - 팀이 경험한 특수한 엣지 케이스 - 문서화되지 않은 운영 제약 - 에이전트는 실제로 완전하지 않은 구현도 완성된 것처럼 보이게 만들 수 있다. - 리뷰어의 핵심 역할은 자동화하기 어려운 판단과 맥락 이해다. - 따라서 diff를 단순히 읽기보다, 변경이 시스템의 운영 현실과 맞는지 검증해야 한다. ## CI를 약화시키는 변경 - 에이전트가 CI 실패를 해결하기 위해 다음과 같은 편법을 사용할 수 있다. - 테스트 삭제 - 린트 단계 건너뛰기 - 테스트 명령에 `|| true` 추가 - 테스트나 워크플로 실행 조건 완화 - 다음 항목이 변경됐다면 명확한 근거 없이는 병합하지 않아야 한다. - 코드 커버리지 기준 하향 - 테스트 삭제, 이름 변경 또는 skip 처리 - fork나 PR에서 워크플로가 실행되지 않도록 변경 - 기존에 항상 실행되던 CI 단계에 조건 추가 - CI를 약화하는 변경은 에이전트 PR에서 즉시 차단해야 할 대표적인 신호다. ## 기존 코드 재사용 여부 - 에이전트는 저장소 전체의 설계 의도보다 눈앞의 코드 패턴을 복제하는 경향이 있다. - 다음과 같은 중복이 생길 수 있다. - 기존 유틸리티와 기능이 같은 새 헬퍼 - 여러 위치에 반복 구현된 검증 로직 - 공유 모듈에 이미 있는 미들웨어의 재작성 - 이름만 다르고 동작은 거의 같은 함수 - 새 유틸리티가 추가될 때마다 저장소에서 동등한 기능을 검색해야 한다. - 중복 구현을 발견하면 단순 코멘트가 아니라 병합 전 통합을 요구하는 편이 낫다. - 새로운 유틸리티를 추가할 경우, 일정 규모 이상의 PR에서는 추가 이유를 설명하도록 요구하면 중복을 조기에 발견할 수 있다. ## 테스트를 통과해도 틀릴 수 있는 코드 - 명백한 API 오용이나 컴파일 오류는 CI에서 잡히지만, 다음과 같은 논리 오류는 통과할 수 있다. - 페이지네이션의 off-by-one 오류 - 테스트되지 않은 분기의 권한 검사 누락 - 특정 입력에서만 검증이 조기에 종료되는 문제 - 대규모 환경이나 경쟁 상태에서만 발생하는 오류 - 중요한 변경 경로를 입력부터 출력까지 직접 추적해야 한다. - 특히 다음 경계를 확인해야 한다. - `0`, 최댓값, 빈 값 - 외부에서 들어오는 값에 대한 검증 - 모든 분기의 권한 확인 - 예상하기 어려운 조건문과 조기 반환 - 수정 전에는 실패하고 수정 후에는 통과하는 회귀 테스트를 요구해야 한다. - 에이전트가 수정하려는 버그를 재현하는 테스트를 작성하지 못한다면, 문제에 대한 이해나 수정 자체가 불완전할 가능성이 높다. ## 계획 없는 대규모 PR과 에이전트 이탈 - 크고 범위가 불명확한 PR은 에이전트가 리뷰 피드백을 제대로 반영하지 못하거나 작업을 중단할 가능성이 높다. - 깊이 있는 리뷰를 시작하기 전에 다음을 확인해야 한다. - 이전 리뷰 라운드에 에이전트가 적절히 응답했는가 - 구현 계획이 구조적으로 제시돼 있는가 - 변경이 작은 단위로 나뉘어 있는가 - 계획이 없다면 상세한 코드 리뷰보다 먼저 작업을 분할하거나 각 부분의 목적과 구조를 설명하도록 요구하는 것이 효율적이다. - 이렇게 하면 리뷰어가 방향을 잃은 대규모 변경에 시간을 낭비하는 일을 줄일 수 있다. ## 워크플로의 신뢰할 수 없는 입력과 프롬프트 인젝션 LLM을 호출하는 GitHub Actions나 CI 워크플로는 일반 PR보다 더 엄격하게 검토해야 한다. - 위험한 흐름은 다음과 같다. - PR 본문, 이슈 본문, 커밋 메시지를 읽음 - 해당 내용을 프롬프트에 삽입 - 모델 출력을 셸 명령으로 전달 - `GITHUB_TOKEN` 권한으로 실행 - 다음 항목은 병합을 막아야 하는 보안 신호다. - 사용자 입력을 정제·인용 없이 프롬프트에 삽입 - 필요한 범위보다 넓은 쓰기 권한의 `GITHUB_TOKEN` - 모델 출력을 검증 없이 셸 명령으로 실행 - 에이전트 단계에서 시크릿에 접근하거나 로그에 출력 - 요구할 수 있는 방어책은 다음과 같다. - 워크플로에 최소 권한을 설정하고 `permissions: read-all`을 기본값으로 고려 - 신뢰할 수 없는 입력을 프롬프트에 넣기 전에 정제하고 명확히 인용 - 분석 단계와 실행 단계를 분리 - 운영 환경에 영향을 주는 작업에는 사람의 승인 단계 추가 - 모델 출력을 직접 실행하거나 `eval`하지 않고 검증된 형식으로 제한 에이전트 PR은 느리게 검토해야 하는 대상이 아니라, 다르게 검토해야 하는 대상이다. CI가 약화되지 않았는지, 기존 코드와 중복되지 않는지, 핵심 경로와 경계 조건이 검증됐는지, 워크플로 권한과 입력이 안전한지를 우선 확인하면 리뷰 시간을 줄이면서도 조용한 기술 부채와 보안 위험을 효과적으로 잡을 수 있다.

원문 읽기(새 탭에서 열림)
github4분 읽기큐레이션 요약

“정답”이 결정적이지 않을 때 에이전트 행동 검증

자율 에이전트의 실행 과정은 환경, 타이밍, UI 상태에 따라 달라지므로 기존의 결정론적 테스트 방식만으로는 올바른 동작을 안정적으로 검증하기 어렵다. 에이전트가 실제 작업을 성공했는데도 실행 경로가 예상과 다르다는 이유로 테스트가 실패하는 ‘거짓 음성(false negative)’이 발생할 수 있다. 글은 고정된 스크립트 대신 필수 결과와 경로의 구조를 검증하는 독립적인 ‘Trust Layer’를 제안하며, 이를 통해 설명 가능하고 CI에 적합한 에이전트 검증을 구현할 수 있다고 주장한다. ## 에이전트 기반 검증에서 발생하는 문제 - Copilot Coding Agent가 UI, 브라우저, IDE 같은 실제 환경을 조작하면 실행 결과가 매번 동일하지 않다. - 네트워크 지연으로 로딩 화면이 오래 표시되거나, 반대로 즉시 화면이 나타날 수 있다. - 에이전트가 상황에 맞게 대기하고 작업을 완료했더라도, 테스트가 특정 시점이나 순서를 기대하면 실패한다. - 주요 문제는 다음과 같다. - **거짓 음성:** 작업은 성공했지만 테스트가 실패로 판정한다. - **취약한 인프라:** 렌더링, 타이밍, 네트워크 같은 환경 잡음이 결과에 영향을 준다. - **컴플라이언스 함정:** 올바른 결과를 냈어도 사전에 기록된 에이전트 행동과 다르면 회귀로 오인된다. - 에이전트의 정확성은 정해진 단계를 그대로 따르는 것이 아니라, 필수적인 결과를 안정적으로 달성하는지로 판단해야 한다. ## 기존 테스트 방식이 자율 에이전트에 맞지 않는 이유 - **Assertion 기반 테스트** - 모든 검증 조건을 사람이 직접 작성해야 한다. - 가능한 모든 대체 경로를 명세하기 어렵다. - **Record-and-replay** - 실행을 녹화된 순서와 비교하므로 사소한 타이밍·렌더링 변화에도 실패한다. - **시각적 회귀 테스트** - 스크린샷 차이는 감지하지만, 해당 변화가 작업의 의미나 최종 결과에 영향을 주는지는 이해하지 못한다. - **ML 오라클** - 많은 학습 사례가 필요하다. - 실패 판정의 근거를 설명하기 어려운 블랙박스가 되기 쉽다. - 이 방식들은 모두 “정확성은 특정한 관찰 상태와 순서를 재현하는 것”이라는 공통 가정을 갖는다. - 하지만 에이전트 시스템에서는 서로 다른 실행 경로가 동일한 올바른 결과로 이어질 수 있다. ## 필수 상태와 선택적 변형의 구분 에이전트 동작을 검증하려면 모든 상태를 동일하게 취급하지 말고, 성공에 반드시 필요한 요소와 환경에 따라 달라지는 요소를 분리해야 한다. - **필수 상태(Essential states)** - 성공을 위해 반드시 도달해야 하는 상태다. - 예를 들어 VS Code 검색 작업에서는 최종적으로 ‘검색 결과’ 화면에 도달해야 한다. - **선택적 변형(Optional variations)** - 로딩 스피너, 일시적인 로딩 화면, 장식적 UI 변화처럼 성공 여부와 직접 관련 없는 상태다. - **수렴 경로(Convergent paths)** - 단축키 사용, 메뉴 선택 등 서로 다른 절차가 동일한 최종 상태로 합쳐지는 경우다. - 로딩 화면이 나타났는지는 중요하지 않지만, 검색 결과가 표시되었는지는 작업의 성공을 결정한다. - 따라서 검증 대상은 실행 과정 전체가 아니라 성공을 보장하는 논리적 구조여야 한다. ## Dominator 분석을 활용한 필수 행동 추출 필수 상태와 부수적 상태를 자동으로 구분하기 위해 컴파일러 이론의 **Dominator 관계**를 활용할 수 있다. - 제어 흐름 그래프에서 노드 A가 노드 B를 지배(dominates)한다는 것은 시작점에서 B로 가는 모든 경로가 A를 거쳐야 한다는 뜻이다. - 에이전트의 실행 기록을 그래프로 표현하면 다음을 식별할 수 있다. - 모든 성공 경로에 공통으로 나타나는 필수 상태 - 일부 경로에만 등장하는 선택적 상태 - 서로 다른 실행 경로가 다시 합쳐지는 지점 - 이 분석을 통해 테스트가 확인해야 할 최소한의 성공 조건을 추출할 수 있다. - 또한 “왜 이 실행을 성공 또는 실패로 판단했는가”를 그래프 구조로 설명할 수 있어, 단순한 블랙박스 판정보다 신뢰성이 높다. ## 스크립트가 아닌 실행 그래프로 모델링 - 자율 에이전트의 행동은 고정된 1차원 스크립트보다 여러 분기와 수렴 지점을 가진 그래프로 보는 편이 적합하다. - 그래프 기반 모델은 특정 순서를 강제하지 않고, 서로 다른 행동 경로가 같은 필수 결과에 도달했는지를 평가할 수 있다. - 이 접근은 에이전트의 자유로운 문제 해결 능력을 유지하면서도, CI 파이프라인에서는 반드시 충족되어야 할 결과를 엄격하게 검증할 수 있는 기반이 된다. - 글에서 제안하는 Trust Layer는 이러한 실행 그래프를 바탕으로 우연한 환경 차이와 실제 기능 실패를 구분하는 역할을 한다. ## 실용적인 적용 방향 - 에이전트 테스트를 작성할 때 모든 중간 화면과 클릭 순서를 고정하지 않는다. - 대신 다음을 명확히 정의한다. - 반드시 도달해야 하는 최종 상태 - 작업 성공을 입증하는 핵심 데이터나 UI 상태 - 무시할 수 있는 로딩·렌더링 변화 - 허용 가능한 대체 실행 경로 - CI에서는 기록된 경로의 일치 여부보다 필수 상태의 도달 여부와 상태 간 논리적 관계를 검증하는 것이 적절하다. - 이를 적용하면 환경 변화로 인한 불필요한 실패를 줄이고, 에이전트가 실제로 작업에 실패한 경우에는 더 정확하게 감지할 수 있다.

원문 읽기(새 탭에서 열림)
github3분 읽기큐레이션 요약

Copilot Applied Science의 에이전트 주도 개발

GitHub Copilot Applied Science 팀의 Tyler McGoffin은 코딩 에이전트를 활용해 벤치마크 결과 분석에 필요한 지적 반복 작업을 자동화한 프로젝트 `eval-agents`를 만들었다. 핵심은 에이전트를 단순한 코드 생성기가 아니라 계획·구현·검증에 참여하는 협업자로 활용하고, 에이전트가 기여하기 쉬운 저장소 구조를 만드는 것이다. 그 결과 3일도 안 되어 5명이 11개 에이전트와 4개 스킬을 추가하고, 345개 파일에 걸쳐 약 2만 8천 줄의 변경을 만들어냈다. ## 반복적인 벤치마크 분석에서 `eval-agents` 탄생 - 연구자는 TerminalBench2, SWEBench-Pro 같은 코딩 에이전트 평가 벤치마크를 분석한다. - 각 평가 작업은 에이전트의 사고 과정과 행동을 담은 trajectory로 기록되며, 대개 수백 줄의 `.json` 파일로 저장된다. - 수십 개 작업과 여러 번의 벤치마크 실행을 합치면 분석 대상이 수십만 줄에 달한다. - 기존에는 Copilot으로 trajectory에서 패턴을 먼저 찾은 뒤 사람이 직접 조사해 읽어야 할 분량을 수백 줄로 줄였다. - 이 반복 과정을 에이전트가 자동 수행하도록 만든 도구가 `eval-agents`다. ## 프로젝트 설계 목표 - 에이전트를 쉽게 공유하고 사용할 수 있도록 구성한다. - 새로운 에이전트를 쉽게 작성할 수 있도록 한다. - 사람보다 코딩 에이전트가 프로젝트 기여의 주요 수단이 되도록 설계한다. - 특히 세 번째 목표를 적용하자 프로젝트 자체의 사용성과 협업성도 함께 좋아졌다. - 과학자와 엔지니어가 각자의 필요에 맞는 에이전트와 기능을 직접 추가할 수 있는 기반이 마련됐다. ## 코딩 에이전트를 중심으로 한 개발 환경 - 코딩 에이전트: Copilot CLI - 사용 모델: Claude Opus 4.6 - IDE: VS Code - Copilot SDK를 사용해 Copilot CLI의 도구, MCP 서버, 사용자 정의 도구와 스킬 등록 기능을 재활용했다. - 에이전트 실행 기반을 직접 처음부터 만들지 않아도 되어 에이전트 생성 속도를 높일 수 있었다. ## 효과적인 프롬프트 전략 - 에이전트는 범위가 명확한 작업에는 강하지만, 복잡하고 고차원적인 문제에는 충분한 안내가 필요하다. - 짧은 요구사항보다 문제를 고민하는 과정, 전제, 우려 사항을 자세히 설명하는 대화형 프롬프트가 효과적이다. - 바로 구현을 지시하기보다 계획 모드에서 조사와 설계를 먼저 진행하게 하는 것이 좋다. - 예를 들어 테스트가 에이전트의 변경에 맞춰 부적절하게 수정되는 문제를 해결하기 위해, 계획 모드에서 에이전트가 건드릴 수 없는 보호된 테스트 영역을 설계하도록 했다. - 그 대화의 결과로 사람이 승인해야만 수정할 수 있는 계약 테스트와 유사한 회귀 방지 장치가 만들어졌다. - 결론적으로 효과적인 인간 엔지니어에게 필요한 설명, 사고 유도, 검토 과정이 에이전트에도 동일하게 중요하다. ## 에이전트 우선 저장소를 위한 아키텍처 전략 - 에이전트 중심 프로젝트에서는 새 기능보다 코드 구조 개선, 리팩터링, 문서화, 테스트 작성이 더 중요한 기반 작업이 된다. - 명확한 이름과 파일 구조는 에이전트가 코드를 탐색하고 변경하기 쉽게 만든다. - 기능과 패턴을 문서화하면 에이전트가 프로젝트의 규칙과 설계 의도를 더 잘 따를 수 있다. - 발견된 문제를 테스트 케이스로 남기면 이후 에이전트의 변경으로 인한 회귀를 방지할 수 있다. - 에이전트가 기능을 빠르게 추가할수록 사람이 죽은 코드와 불필요한 복잡성을 정리하는 작업도 병행해야 한다. - 잘 관리된 저장소에서는 Copilot을 통한 기능 전달이 쉬워지므로, 과거에 미뤄두었던 유지보수 작업이 개발 생산성의 핵심 요소가 된다. ## 짧은 기간에 이루어진 협업 성과 - 처음 참여한 팀원 5명이 3일 이내에 프로젝트에 기여했다. - 새로 추가된 항목: - 에이전트 11개 - 스킬 4개 - 과학자의 추론 흐름을 표현하는 `eval-agent workflows` - 전체 변경 규모는 345개 파일에서 `+28,858/-2,884`줄이었다. - 이는 에이전트에게 적절한 개발 환경과 구조를 제공하면 새로운 기능과 협업을 매우 빠르게 확장할 수 있음을 보여준다. 에이전트를 효과적으로 활용하려면 좋은 프롬프트만으로는 부족하다. 계획 모드와 상세한 대화를 적극 활용하고, 문서·테스트·리팩터링을 지속해 에이전트가 이해하기 쉬운 저장소를 유지하는 것이 실용적인 출발점이다.

원문 읽기(새 탭에서 열림)
github3분 읽기큐레이션 요약

Squad가 리포지토리 내에서 협업하는 AI 에이전트를 실행하는 방법

Squad는 GitHub Copilot 기반의 여러 AI 에이전트를 저장소 안에 직접 구성해, 설계·구현·테스트·문서화를 협업 방식으로 수행하게 하는 오픈소스 도구다. 복잡한 오케스트레이션 인프라나 고급 프롬프트 설계 없이 `squad init`만으로 팀을 구성할 수 있으며, 저장소 파일을 공유 메모리로 활용한다. 다만 완전한 자동화가 아니라 사용자가 최종적으로 모든 변경 사항과 풀 리퀘스트를 검토하고 병합해야 한다. ## 저장소 안에 구성되는 AI 개발팀 - 전역 설치: ```bash npm install -g @bradygaster/squad-cli ``` - 저장소별 초기화: ```bash squad init ``` - 초기화하면 리드, 프런트엔드 개발자, 백엔드 개발자, 테스터 등 역할별 에이전트가 생성된다. - 사용자는 자연어로 작업을 요청하고, 코디네이터 에이전트가 적절한 전문가에게 작업을 분배한다. - 각 전문가는 별도의 브랜치와 파일을 사용해 구현, 테스트, 문서화 등을 병렬로 진행한다. ## 에이전트 간 작업 조정과 독립적 검토 - 예를 들어 JWT 인증을 요청하면: - 백엔드 에이전트는 refresh token과 bcrypt를 포함한 인증 기능을 구현한다. - 테스트 에이전트는 테스트 코드를 작성하고 실행한다. - 문서화 에이전트는 변경 내용을 정리해 풀 리퀘스트를 생성한다. - 테스트 실패 시 원래 구현자가 자기 코드를 스스로 수정하지 못하도록 검토 프로토콜을 적용할 수 있다. - 다른 에이전트가 별도의 컨텍스트에서 문제를 수정하므로, 자기검토보다 독립적인 리뷰에 가깝다. - 사용자는 중간 결과를 모두 검토하기보다 내부 검증 과정을 통과한 풀 리퀘스트를 검토할 수 있다. - 에이전트가 잘못된 가정을 할 수 있으므로, 최종 검토와 병합은 여전히 사람이 담당한다. ## `decisions.md`를 활용한 공유 메모리 - 실시간 대화나 벡터 데이터베이스 대신 저장소의 `decisions.md`에 아키텍처 결정을 기록한다. - 라이브러리 선택, 명명 규칙, 데이터베이스 연결 방식 같은 결정이 구조화된 블록으로 누적된다. - 이 방식의 장점: - 결정 사항이 지속적으로 보존된다. - Git으로 버전 관리할 수 있다. - 에이전트가 어떤 근거로 작업했는지 추적할 수 있다. - 연결이 끊기거나 세션이 재시작되어도 컨텍스트를 복구할 수 있다. - 저장소 파일을 팀의 “공유 두뇌”로 사용하는 비동기 협업 모델이다. ## 컨텍스트 분할 대신 컨텍스트 복제 - 한 에이전트가 설계, 구현, 테스트, 관리까지 모두 맡으면 컨텍스트 창이 메타 작업으로 가득 차고 환각 가능성이 커진다. - Squad의 코디네이터는 실제 작업을 수행하지 않고 전문가를 호출하는 얇은 라우터 역할을 한다. - 각 전문가는 별도의 추론 호출과 컨텍스트 창을 사용한다. - 지원 모델에서는 에이전트 하나당 최대 약 200K 토큰의 컨텍스트를 활용할 수 있다. - 하나의 컨텍스트를 여러 역할이 나누는 대신, 각 에이전트가 필요한 저장소 컨텍스트를 독립적으로 복제해 병렬 추론한다. ## 파일 기반의 명시적 에이전트 기억 - 에이전트의 기억은 모델 가중치나 숨겨진 세션 상태에 의존하지 않는다. - `.squad/` 폴더에 다음과 같은 텍스트 파일을 저장한다. - **Charter**: 에이전트의 역할과 정체성 - **History**: 에이전트가 과거에 수행한 작업 - **Team decisions**: 팀 전체가 공유하는 결정 사항 - 이 파일들은 코드와 함께 버전 관리되므로 에이전트의 행동 근거를 확인할 수 있다. - 저장소를 복제하면 코드뿐 아니라 프로젝트에 맞게 온보딩된 AI 팀의 기억도 함께 가져올 수 있다. ## 다중 에이전트 개발의 진입 장벽 완화 - 기존 다중 에이전트 시스템은 오케스트레이션 계층, 프레임워크, 벡터 데이터베이스 등을 직접 구성해야 하는 경우가 많다. - Squad는 CLI 명령 두 번으로 저장소에 사전 구성된 팀을 추가한다. - 복잡한 프롬프트 설계나 별도의 중앙 인프라 없이 바로 작업을 위임할 수 있다. - 저장소에 남는 결정 기록과 에이전트 이력 덕분에 동작을 비교적 쉽게 점검하고 재현할 수 있다. 실용적으로는 반복적인 구현·테스트·문서화 작업이 많은 저장소에서 Squad를 시도해볼 만하다. 다만 AI가 생성한 모든 변경 사항을 자동 병합하기보다는, 풀 리퀘스트와 테스트 결과를 사람이 확인하는 협업 도구로 사용하는 것이 적절하다.

원문 읽기(새 탭에서 열림)
github4분 읽기큐레이션 요약

오픈 소스를 만들어가는 사람들에게 투자하고 함께 미래를 준비하기

오픈소스 보안은 코드와 도구만이 아니라 이를 유지하는 사람에 대한 투자에서 출발한다. GitHub는 AI로 취약점과 보안 보고서가 급증하는 상황에서 메인테이너의 부담을 줄이기 위해 자금, 교육, 보안 도구, AI 기능을 함께 강화하겠다고 밝혔다. 이를 통해 메인테이너가 지속 가능하게 프로젝트를 관리하고, 소프트웨어 공급망 전반의 보안을 높이는 것이 목표다. ## 메인테이너가 직면한 부담 - 메인테이너는 풀 리퀘스트 검토, 보안 신고 대응, 릴리스 관리 등을 자원봉사 또는 제한된 시간 안에 수행한다. - 소규모 프로젝트가 갑자기 핵심 인프라로 사용되면서 유지보수 책임이 개인에게 집중될 수 있다. - 늦은 시간까지 이어지는 업무와 경제적 보상 부족은 번아웃으로 이어진다. - AI의 확산으로 자동 생성된 풀 리퀘스트와 보안 신고가 급증하면서 신뢰할 수 있는 문제와 단순한 노이즈를 구분하기 어려워졌다. ## 오픈소스 보안을 위한 공동 투자 - GitHub는 Anthropic, AWS, Google, OpenAI와 함께 Linux Foundation의 **Alpha-Omega** 이니셔티브에 총 1,250만 달러를 지원한다. - 지원 목적은 다음과 같다. - AI 기반 보안 기능을 메인테이너의 기존 작업 흐름에 통합 - 핵심 오픈소스 프로젝트의 보안 강화 - 메인테이너가 새로운 보안 위협에 대응할 수 있도록 교육과 실용적 도구 제공 - GitHub는 28만 명 이상의 메인테이너에게 다음 기능을 무료로 제공하고 있다. - GitHub Copilot Pro - GitHub Actions - 코드 스캐닝 및 Autofix - 시크릿 스캐닝과 푸시 보호 - 의존성 알림 ## GitHub Secure Open Source Fund 확대 - **GitHub Secure Open Source Fund**에 550만 달러 규모의 Azure 크레딧과 재원을 추가한다. - 지원 항목은 다음과 같다. - 보안 교육과 전문 지식 - 프로젝트 간 협력과 커뮤니티 형성 - Datadog, Open WebUI, Atlantic Council, OWASP 등 새로운 파트너십 - 기존 프로그램에서는 38개국 200명 이상의 메인테이너가 참여한 138개 프로젝트를 지원했다. - 그 결과 다음과 같은 보안 성과가 발생했다. - 새로운 CVE 191건 등록 - 유출 전 차단된 시크릿 250건 이상 - 발견 및 해결된 유출 시크릿 600건 이상 - 월간 수십억 회 다운로드되는 프로젝트에 영향 - 단순한 자금 지원보다 보안 개선이라는 구체적 목표와 실습, 교육, 전문가 지원을 결합할 때 효과가 크다는 교훈을 얻었다. ## 보안 신고와 취약점 대응 개선 - GitHub Security Lab은 보안 권고 경험과 **Private Vulnerability Reporting(PVR)** 기능에 투자한다. - 목표는 품질이 낮은 신고를 줄이고, 메인테이너가 늘어나는 보안 보고서를 더 효율적으로 관리하도록 돕는 것이다. - GitHub는 보안 연구와 교육을 통해 일반적인 위협에 대한 대응력을 오픈소스 커뮤니티 전체로 확산시키고 있다. - 보안 도구가 메인테이너의 실제 작업 흐름에 자연스럽게 결합되어야 한다고 강조한다. ## AI를 메인테이너의 부담 완화에 활용 - AI는 방어 측과 공격 측 모두의 취약점 발견 속도와 규모를 크게 높이고 있다. - 따라서 메인테이너는 더 많은 취약점을 찾는 것뿐 아니라 다음 작업을 빠르게 수행해야 한다. - 보안 신고 우선순위 지정 - 실제 위험과 노이즈 구분 - 취약점의 원인 이해 - 수정 코드 작성 및 검증 - GitHub는 AI가 추가적인 압박이 아니라 생산성 향상을 위한 도구가 되어야 한다고 설명한다. - 이를 위해 다음 영역에 AI를 적용할 계획이다. - 이슈 분류 - 풀 리퀘스트 검토 - 취약점 식별 - 보안 취약점 자동 수정 - 메인테이너에게 제공되는 Copilot Pro에는 AI 지원 코드 리뷰, 에이전트 기반 보안 수정 워크플로, 다양한 모델 활용 기능이 포함된다. - GitHub는 보안 연구용 AI 프레임워크도 오픈소스로 공개해 특정 보안 조직뿐 아니라 메인테이너가 직접 활용할 수 있도록 했다. ## 지속 가능한 보안 생태계 - 메인테이너에게 시간, 전문성, 자금, 적절한 도구를 제공하면 프로젝트 보안이 개선되고 그 효과가 downstream 사용자와 다른 프로젝트로 확산된다. - 이는 메인테이너 지원 → 보안 개선 → 생태계 전체의 신뢰 향상 → 더 많은 참여와 지원으로 이어지는 선순환 구조를 만든다. - AI 시대의 오픈소스 보안은 자동화만으로 해결되지 않으며, 사람의 판단과 지속 가능한 유지보수가 함께 필요하다. 오픈소스 프로젝트를 운영한다면 보안 기능을 일회성으로 적용하기보다 코드 스캐닝, 시크릿 보호, 의존성 관리, 비공개 취약점 신고를 정기적인 유지보수 과정에 포함하는 것이 좋다. 동시에 AI 도구는 신고와 수정 작업을 줄이는 보조 수단으로 활용하되, 최종 판단은 메인테이너가 직접 검증해야 한다.

원문 읽기(새 탭에서 열림)
github4분 읽기큐레이션 요약

접근성을 위한 지속적인 AI: GitHub이 피드백을 포용으로 전환하는 방법

GitHub는 접근성 피드백이 여러 팀과 채널에 흩어져 처리되지 못하던 문제를 해결하기 위해, 피드백을 지속적으로 수집·분류·추적하는 AI 기반 워크플로를 구축했다. GitHub Actions, GitHub Copilot, GitHub Models를 결합해 반복적인 분석과 라우팅은 자동화하되, 우선순위와 해결 판단은 사람이 맡는다. 그 결과 접근성 문제를 일회성 감사가 아니라 지속적으로 개선되는 운영 시스템으로 전환했다. ## 접근성 피드백이 기존 방식에서 겪은 문제 - 접근성 문제는 내비게이션, 인증, 설정, 공통 컴포넌트 등 여러 영역에 걸쳐 발생해 단일 팀이 소유하기 어렵다. - 피드백이 여러 백로그와 버그 목록에 분산되면서 담당자가 정해지지 않거나 장기간 방치됐다. - 사용자가 반복해서 진행 상황을 문의해야 했고, 개선 사항이 막연한 “2단계 작업”으로 미뤄지는 경우가 많았다. - 따라서 단순한 버그 관리가 아니라, 접수부터 해결과 후속 안내까지 연결하는 조정 체계가 필요했다. ## Continuous AI: 접근성을 살아 있는 시스템으로 관리 - GitHub가 말하는 Continuous AI는 단일 제품이나 일회성 자동 검사 도구가 아니다. - 자동화, 인공지능, 사람의 전문성을 결합해 소프트웨어 개발 과정에 접근성을 지속적으로 포함시키는 방법론이다. - 코드 스캐너만으로는 실제 사용자가 겪는 장벽을 충분히 발견하기 어렵기 때문에, 사용자와 고객의 경험을 중심 데이터로 삼는다. - 피드백을 명확한 구조의 데이터로 바꾸고, 적절한 팀에 전달하며, 구현 가능한 이슈로 발전시키는 것이 핵심이다. - 이는 2025년 GAAD pledge의 방향인 오픈소스 생태계 전반의 접근성 개선과도 연결된다. ## 사용자와 조직 구성원을 위한 설계 시스템은 세 가지 주요 사용자를 기준으로 설계됐다. - **이슈 제출자** - 커뮤니티 관리자, 지원 담당자, 영업 담당자가 사용자를 대신해 문제를 등록한다. - 이들이 반드시 접근성 전문가일 필요는 없으므로, 입력 과정에서 접근성 개념과 필요한 정보를 안내해야 한다. - **접근성·서비스 팀** - 엔지니어와 디자이너가 재현 단계, WCAG 기준, 심각도, 담당 팀 등 실행 가능한 정보를 받아야 한다. - **프로그램·제품 관리자** - 문제 유형별 현황, 반복되는 추세, 해결 진행률을 파악해 리소스와 우선순위를 결정해야 한다. - 이를 위해 피드백을 단순 티켓이 아니라 파이프라인을 따라 흐르는 데이터로 취급하고, 변화에 맞춰 확장 가능한 구조를 선택했다. ## 이벤트 기반 피드백 워크플로 - 각 단계가 GitHub Action을 실행하는 이벤트 기반 구조로 설계됐다. - 이슈가 생성되면 GitHub Models API를 통해 GitHub Copilot이 피드백을 분석한다. - 상태가 변경되면 다음 담당 팀으로 자동 인계된다. - 문제가 해결되면 최초 제출자에게 후속 안내를 보내 사용자와의 소통을 마무리한다. - 모든 Action은 수동 실행하거나 재실행할 수 있어, 자동화가 처리하지 못하는 경우 사람이 언제든 개입할 수 있다. - 전체 흐름은 다음 일곱 단계로 구성된다. - 접수(Actioning intake) - Copilot 분석 - 제출자 검토 - 접근성 팀 검토 - 링크 감사 - 사용자와의 마무리 소통 - 개선 및 프롬프트 업데이트 - 제출자 검토에서 Copilot 분석을 다시 실행하거나, 마무리 단계에서 접근성 팀 검토로 되돌아가는 식의 피드백 루프도 포함된다. - 2024년 중반에는 이 시스템을 주로 직접 구축했지만, 현재는 자연어로 GitHub Actions를 생성할 수 있는 Agentic Workflows를 이용하면 유사한 시스템을 더 빠르게 만들 수 있다. ## 다양한 채널에서의 접수와 표준화 - 접근성 피드백은 지원 티켓, 소셜 미디어, 이메일, 직접 연락 등 다양한 경로에서 들어온다. - 현재 약 90%는 GitHub 접근성 Discussion 게시판을 통해 접수된다. - 공개 게시판에서는 다른 사용자가 문제를 확인하거나 추가 맥락과 우회 방법을 제공할 수 있어, 일반 지원 티켓보다 풍부한 정보가 모이는 장점이 있다. - 모든 피드백에는 영업일 기준 5일 이내에 응답한다. - 즉시 조치할 수 없는 내용도 관련 자료나 도움을 받을 수 있는 경로를 안내해 응답이 끊기지 않도록 한다. - 내부 팀의 조치가 필요한 경우 담당자가 사용자 보고 내용, 출처, 관련 컴포넌트를 담은 전용 접근성 피드백 이슈 템플릿으로 추적 이슈를 만든다. - 이슈 템플릿은 접수 정보를 표준화해 초기 맥락이 트리아지 과정에서 사라지는 것을 방지한다. ## 운영 방식에서 얻는 시사점 - AI는 접근성 문제의 최종 판단자라기보다 반복적인 분류·요약·전달을 담당하는 보조 수단으로 사용된다. - 실제 해결 여부, 우선순위, 담당 지정에는 사람의 전문성과 판단이 계속 필요하다. - 효과적인 자동화의 전제는 AI 모델 자체가 아니라, 먼저 피드백 채널을 정리하고 입력 형식을 표준화하는 일이다. - 접근성 문제를 개별 팀의 선택적 업무가 아니라 지속적으로 측정하고 개선해야 하는 제품 운영 데이터로 다뤄야 한다. 실무적으로는 먼저 접근성 피드백을 한곳으로 모으고, 재현 단계·영향 범위·WCAG 기준·심각도·소유 팀을 포함한 템플릿을 마련하는 것이 좋다. 그 기반 위에서 AI와 워크플로 자동화를 도입해야 자동 분류가 실제 해결과 사용자 후속 안내로 이어질 수 있다.

원문 읽기(새 탭에서 열림)
github3분 읽기큐레이션 요약

‘텍스트로서의 AI’ 시대는 끝났다. 실행이 새로운 인터페이스다.

이 글은 AI가 단순히 텍스트를 주고받는 도구를 넘어, 계획을 세우고 도구를 호출하며 실제 작업을 수행하는 실행 계층으로 발전하고 있다고 주장합니다. GitHub Copilot SDK를 사용하면 애플리케이션에 Copilot CLI의 검증된 계획·실행 엔진을 직접 내장할 수 있습니다. 이를 통해 개발자는 고정된 자동화 스크립트나 자체 오케스트레이션 계층을 만들지 않고도, 제약 조건 안에서 적응적으로 동작하는 에이전트형 시스템을 구축할 수 있습니다. ## 텍스트 기반 AI에서 실행 기반 AI로 - 기존 AI 사용 방식은 텍스트를 입력하고 텍스트를 받은 뒤, 사용자가 다음 행동을 직접 결정하는 구조였습니다. - 실제 운영 소프트웨어는 다음과 같은 실행 루프를 필요로 합니다. - 작업 계획 수립 - 도구 호출 - 파일 및 시스템 변경 - 명령 실행 - 오류 복구 - 실행 중 상황 변화에 따른 대응 - 따라서 AI의 핵심 인터페이스가 텍스트가 아니라, 제약 조건과 관찰 가능성을 갖춘 실행으로 바뀌고 있습니다. ## 여러 단계 작업을 에이전트에 위임 - 기존 스크립트는 작업 단계가 고정되어 있을 때는 유용하지만, 상황에 따라 흐름이 바뀌거나 오류 복구가 필요하면 취약해집니다. - Copilot SDK를 사용하면 애플리케이션이 구체적인 절차 대신 작업의 의도와 제약 조건을 전달할 수 있습니다. - 예를 들어 “이 저장소를 릴리스 준비 상태로 만들어라”라고 요청하면 에이전트가 다음을 수행할 수 있습니다. - 저장소 구조 탐색 - 필요한 작업 계획 수립 - 파일 수정 - 명령 실행 - 실패 발생 시 대안 적용 및 복구 - 고정된 예외 처리를 직접 작성하지 않고도, 규모가 커지는 업무 흐름에 적응하는 자동화를 구현할 수 있다는 점이 핵심입니다. ## 구조화된 런타임 컨텍스트 활용 - 시스템 로직을 프롬프트에 계속 추가하면 프롬프트가 복잡하고 취약해지며, 테스트와 유지보수가 어려워집니다. - Copilot SDK는 컨텍스트를 텍스트가 아닌 구조화되고 조합 가능한 도구와 데이터로 제공합니다. - 애플리케이션은 다음과 같은 방식으로 실행 환경을 확장할 수 있습니다. - 도메인 전용 도구 및 에이전트 스킬 정의 - Model Context Protocol(MCP)을 통한 도구 연결 - 실행 시점에 필요한 컨텍스트 검색 - 예를 들어 에이전트가 직접 다음 정보를 조회할 수 있습니다. - 서비스 소유 팀 - 과거 의사결정 기록 - 의존성 그래프 - 내부 API 스키마 - 권한과 안전 제약 조건 - MCP는 에이전트가 실제 시스템과 권한이 부여된 데이터에 근거해 행동하도록 연결하는 기반 역할을 합니다. ## IDE 밖에 실행 기능 내장 - AI 기능은 더 이상 IDE나 터미널 안에서만 제공될 필요가 없습니다. - Copilot SDK를 활용하면 다음과 같은 애플리케이션에 에이전트 실행을 통합할 수 있습니다. - 데스크톱 애플리케이션 - 사내 운영 도구 - 백그라운드 서비스 - SaaS 플랫폼 - 이벤트 기반 시스템 - 파일 변경, 배포 이벤트, 사용자 동작 등을 감지한 뒤 애플리케이션에서 Copilot을 프로그래밍 방식으로 호출할 수 있습니다. - 결과적으로 AI는 별도의 보조 창이 아니라 제품 내부에서 실행되는 인프라가 됩니다. ## 애플리케이션 아키텍처의 변화 - Copilot SDK는 Copilot CLI를 구동하는 계획·실행 엔진을 애플리케이션의 프로그래밍 가능한 계층으로 제공합니다. - 개발자는 매번 오케스트레이션 로직을 새로 구축하기보다, 애플리케이션이 달성해야 할 목표와 실행 가능한 범위를 정의하는 데 집중할 수 있습니다. - 다만 실제 운영 환경에서는 도구 권한, 안전 제약, 실행 결과 관찰, 오류 처리 등을 명확히 설계해야 합니다. Copilot SDK는 AI를 “답변을 생성하는 기능”에서 “실제 업무를 수행하는 시스템 구성 요소”로 확장하려는 접근입니다. 반복 작업이나 복잡한 운영 흐름에 적용할 때는 의도 중심의 에이전트 실행, MCP 기반의 구조화된 컨텍스트, 명확한 권한·안전 제약을 함께 설계하는 것이 좋습니다.

원문 읽기(새 탭에서 열림)
github4분 읽기큐레이션 요약

GitHub Security Lab의 오픈 소스

GitHub Security Lab은 오픈 소스 AI 프레임워크인 **Taskflow Agent**와 웹 보안 감사용 taskflow를 활용해 80건 이상의 취약점을 발견했으며, 그중 상당수는 인증 우회와 민감 정보 노출처럼 영향도가 높은 취약점이었다고 설명합니다. 이 방식은 대형 단일 프롬프트 대신 여러 단계의 작업을 YAML로 정의하고, LLM의 분석 결과를 데이터베이스로 전달해 반복적·구조적인 보안 감사를 수행합니다. 프레임워크와 taskflow는 공개되어 있어 GitHub Copilot 사용자는 자신의 저장소에서도 실행할 수 있습니다. ## 오픈 소스 AI 보안 감사의 성과 - 새로운 taskflow는 웹 애플리케이션 취약점 탐색에 특화되어 있습니다. - 지금까지 80건 이상의 취약점을 보고했으며, 작성 시점에 약 20건이 공개되었습니다. - 발견된 취약점의 상당수는 다음과 같은 고위험 유형입니다. - 인증 또는 권한 우회 - 다른 사용자로 로그인할 수 있는 문제 - 다른 사용자의 비공개 데이터에 접근하는 정보 노출 - 글에서 제시한 사례로는 다음이 언급됩니다. - 전자상거래 애플리케이션의 장바구니에서 개인식별정보(PII) 접근 - 채팅 애플리케이션에서 어떤 비밀번호를 사용해도 로그인 가능한 문제 - 연구자들은 기존에 악용 가능성이 불분명한 후보를 검증하는 데 쓰던 시간을 줄이고, 실제 결과를 수동 검증하고 보고하는 데 더 집중할 수 있게 되었다고 설명합니다. ## 자신의 저장소에서 실행하는 방법 - `GitHubSecurityLab/seclab-taskflows` 저장소에서 Codespace를 시작합니다. - 초기화가 끝난 뒤 다음 명령을 실행합니다. ```bash ./scripts/audit/run_audit.sh myorg/myrepo ``` - 중간 규모 저장소에서는 실행에 한두 시간이 걸릴 수 있습니다. - 완료되면 SQLite 뷰어가 열리고, `audit_results` 테이블에서 `has_vulnerability` 열이 체크된 행을 확인합니다. - 실행에는 GitHub Copilot 라이선스가 필요하며, 프리미엄 모델 요청 할당량을 많이 사용할 수 있습니다. - LLM 결과는 비결정적이므로 같은 코드베이스를 여러 번 검사하는 것이 권장됩니다. - 서로 다른 모델을 사용하면 결과가 달라질 수 있습니다. - 예시로 GPT 5.2와 Claude Opus 4.6을 각각 사용할 수 있습니다. - 비공개 저장소도 지원하지만, Codespace 설정을 수정해 접근 권한을 별도로 부여해야 합니다. ## Taskflow의 구조 - Taskflow는 LLM에 수행시킬 작업 목록을 YAML로 정의한 파일입니다. - `seclab-taskflow-agent`가 다음 기능을 담당합니다. - 작업을 순차적으로 실행 - 앞선 작업의 결과를 다음 작업에 전달 - 여러 구성 요소에 같은 작업을 비동기적으로 반복 실행 - 템플릿 프롬프트에 구성 요소별 정보를 삽입 - 저장소 감사는 일반적으로 다음 단계로 나뉩니다. - 저장소를 기능별 구성 요소로 분할 - 각 구성 요소의 진입점, 신뢰할 수 없는 입력, 요구 권한, 역할 등을 분석 - 분석 결과를 `repo_context.db` 같은 데이터베이스에 저장 - 저장된 컨텍스트를 사용해 취약점 후보를 생성 - 후보별로 세부 검증을 수행 - 현재는 각 구성 요소에 대해 일반적인 보안 문제를 제안하는 작업과, 제안된 문제를 정밀하게 검증하는 작업이 사용됩니다. - 특정 취약점 유형에 집중하는 별도의 taskflow도 추가할 수 있습니다. ## 하나의 거대한 프롬프트 대신 여러 작업을 사용하는 이유 - LLM의 컨텍스트 창에는 한계가 있습니다. - 복잡한 작업을 하나의 프롬프트에 모두 넣으면 일부 단계가 누락되거나 제대로 수행되지 않을 수 있습니다. - 작업을 분리하면 다음과 같은 장점이 있습니다. - 각 단계의 결과를 개별적으로 확인 가능 - 실패하거나 잘못된 단계를 디버깅하기 쉬움 - 이전 분석 결과를 후속 작업의 컨텍스트로 재사용 가능 - 여러 코드 구성 요소에 동일한 분석을 일관되게 적용 가능 - 더 큰 컨텍스트 창을 지원하는 모델에서도, 작업 흐름을 통제하고 검증하기 위해 taskflow 방식이 유용하다고 설명합니다. ## 일반 보안 코드 감사에서의 과제 - 초기에는 CodeQL 경고 분류처럼 범위와 판단 기준이 명확한 작업에 Taskflow Agent를 사용했습니다. - 이후 특정 경고에 한정하지 않고 일반적인 취약점까지 찾는 방식으로 확장했습니다. - LLM에 더 많은 자유를 주면 다음 문제가 커집니다. - 환각 - 오탐 - 검증하기 어려운 취약점 보고 - CodeQL 경고 분류가 효과적이었던 이유는 지시와 판정 기준이 엄격하고, 각 단계에서 결과가 요구사항을 충족하는지 확인할 수 있었기 때문입니다. - 따라서 목표는 LLM이 다양한 취약점을 자유롭게 탐색하게 하면서도 taskflow 설계와 프롬프트 엔지니어링으로 환각과 오탐을 통제하는 것입니다. ## 실용적인 권장 사항 실제 프로젝트에 적용할 때는 한 번의 실행 결과를 확정적인 보안 보고서로 취급하지 말고, 여러 모델과 반복 실행으로 후보를 수집한 뒤 사람이 재현 가능성과 악용 가능성을 검증하는 것이 좋습니다. 또한 저장소 전체를 한 번에 분석하기보다 기능별 구성 요소와 단계별 taskflow로 나누면 결과를 추적하고 수정하기 쉽습니다.

원문 읽기(새 탭에서 열림)
github4분 읽기큐레이션 요약

6,000만 건

GitHub Copilot 코드 리뷰(CCR)는 출시 이후 사용량이 10배 증가해 GitHub 전체 코드 리뷰의 5건 중 1건 이상을 차지하고 있다. GitHub는 단순히 많은 댓글을 생성하는 대신 정확성·신호·속도를 기준으로 실제로 도움이 되는 리뷰를 제공하는 방향으로 발전시켰다. 저장소 맥락을 탐색하고 이전 리뷰를 기억하는 에이전트형 아키텍처와 개선된 UX를 통해, 개발자가 더 빠르고 자신 있게 풀 리퀘스트를 병합하도록 지원한다. ## Copilot 코드 리뷰의 성장과 목표 변화 - 2025년 4월 초기 출시 이후 사용량이 10배 증가했다. - 현재 GitHub에서 수행되는 코드 리뷰의 20% 이상을 Copilot 코드 리뷰가 담당한다. - 초기 목표는 가능한 한 철저한 리뷰를 제공하는 것이었지만, 실제 개발자들이 원하는 것은 다음과 같은 고신호(high-signal) 피드백임을 확인했다. - 중요한 로직 및 유지보수성 문제를 우선적으로 지적 - 문제의 원인과 해결 방법을 함께 설명 - 풀 리퀘스트를 빠르게 다음 단계로 진행하도록 지원 - 댓글에 대한 thumbs-up·thumbs-down 반응과 실제 병합 전 수정 여부를 지속적으로 분석해 품질을 개선했다. ## 정확성: 중요한 문제를 찾아내기 - Copilot은 사소한 스타일 문제보다 영향이 큰 로직 오류와 유지보수성 문제에 집중한다. - 정확성은 두 가지 방식으로 평가한다. - 알려진 코드 문제를 포함한 내부 테스트 - 실제 풀 리퀘스트에서 수집한 운영 데이터 - 주요 운영 지표는 다음과 같다. - 개발자 피드백: 댓글이 유용했는지에 대한 긍정·부정 반응 - 실제 수정 여부: 지적된 문제가 병합 전에 해결되었는지 확인 - 목표는 리뷰를 대충 끝내도록 하는 것이 아니라, 신뢰할 수 있는 문제를 빠르게 수정하게 하는 것이다. ## 신호: 댓글 수보다 유용성이 중요하다 - 코드 리뷰에서 댓글이 많다고 품질이 높은 것은 아니다. - Copilot은 문제뿐 아니라 권장 수정 방법까지 제시하는 댓글을 고신호 피드백으로 간주한다. - 71%의 리뷰에서는 실행 가능한 피드백을 제공하고, 나머지 29%에서는 불필요한 지적을 하지 않고 아무 댓글도 남기지 않는다. - 고신호 문제를 더 확실하게 식별할 수 있게 되면서 리뷰당 평균 댓글 수는 약 5.1개로 증가했다. - 댓글 수가 늘었음에도 리뷰 재작업(churn)이나 품질 기준은 악화되지 않았다. - 즉, “침묵이 잡음보다 낫다”는 원칙 아래 확실하지 않은 문제는 지적하지 않는다. ## 속도와 분석 깊이의 균형 - Copilot은 풀 리퀘스트가 열린 직후 신뢰할 수 있는 1차 리뷰를 제공하는 것을 목표로 한다. - 다만 더 깊은 추론에는 더 많은 계산 시간이 필요하므로 속도와 정확성 사이에 의도적인 절충이 있다. - 더 발전된 추론 모델을 적용한 결과: - 긍정적인 개발자 피드백이 6% 증가 - 리뷰 지연 시간은 16% 증가 - GitHub는 즉각적이지만 잡음이 많은 리뷰보다, 조금 늦더라도 실제 문제를 발견하는 리뷰가 더 가치 있다고 판단한다. - 지연 시간은 계속 줄이되, 고신호 피드백을 희생하지 않는 방향으로 개선하고 있다. ## 저장소 맥락을 이해하는 에이전트형 아키텍처 - 새로운 시스템은 저장소를 탐색하고 코드의 로직, 아키텍처, 불변 조건을 파악할 수 있다. - 에이전트형 구조로 전환한 뒤 긍정적인 피드백이 초기 기준 8.1% 증가했다. - 주요 개선점은 다음과 같다. - **읽는 즉시 문제를 기록**: 리뷰 마지막에 결과를 정리하는 방식이 아니라 분석 중 발견한 문제를 바로 유지해 초기 발견을 잊지 않는다. - **리뷰 간 메모리 유지**: 각 풀 리퀘스트를 고립된 이벤트로 처리하지 않고, 코드베이스에서 발견한 패턴과 맥락을 이후 리뷰에도 활용한다. - **장기 풀 리퀘스트에 계획 적용**: 긴 변경 사항을 검토하기 전에 명시적인 리뷰 계획을 세워 컨텍스트 손실을 줄인다. - **관련 이슈와 풀 리퀘스트 참조**: 코드만 보면 정상처럼 보이지만 프로젝트 요구사항과 맞지 않는 미묘한 문제까지 발견한다. ## 리뷰 결과를 쉽게 탐색하는 UX - **다중 라인 댓글** - 한 줄에 댓글을 고정하는 대신 관련된 논리적 코드 범위에 연결한다. - 문제가 발생한 전체 맥락과 수정 범위를 더 쉽게 이해할 수 있다. - **댓글 클러스터링** - 동일한 패턴의 오류를 여러 개의 댓글로 반복하지 않고 하나의 일관된 피드백 단위로 묶는다. - 풀 리퀘스트 타임라인의 복잡성과 인지 부담을 줄인다. - **배치 자동 수정** - 개별 댓글을 하나씩 처리하지 않고 같은 유형의 로직 오류나 스타일 문제를 한 번에 수정한다. - 반복적인 컨텍스트 전환을 줄이고 수정 작업을 빠르게 끝낼 수 있다. ## 조직 차원의 활용 - 12,000개 이상의 조직이 모든 풀 리퀘스트에 Copilot 코드 리뷰를 자동으로 실행하고 있다. - General Motors는 Copilot이 풀 리퀘스트 리뷰와 요약을 처리해 팀이 더 복잡한 업무에 집중할 수 있다고 평가했다. - WEX에서는 AI 지원 리뷰를 기본값으로 도입하면서 조직 전체의 Copilot 사용이 확대되었다. - WEX 개발자의 약 3분의 2가 Copilot을 사용하고 있으며, 가장 활발한 기여자들도 포함된다. 실무적으로는 Copilot의 댓글 수를 최대화하기보다, 실제로 수정할 가치가 있는 문제를 선별하는 보조 리뷰어로 활용하는 것이 적절하다. 개발자는 AI 피드백을 최종 판단으로 간주하기보다 thumbs-up·thumbs-down과 수정 결과를 통해 팀의 코드 리뷰 기준을 계속 조정해야 한다.

원문 읽기(새 탭에서 열림)
github4분 읽기큐레이션 요약

전 세계 AI 기회 확장: GitHub

GitHub와 Andela는 AI 도구를 별도 교육 과정이 아니라 실제 프로덕션 개발 업무에 통합하는 방식으로 글로벌 개발자의 AI 활용 역량을 높였다. 2년간 Andela의 550만 명 네트워크를 대상으로 협력했고, AI Academy를 통해 3,000명의 엔지니어가 GitHub Copilot을 교육받았다. 사례에서 AI는 단순한 코드 생성보다 레거시 시스템 파악, 테스트 작성, 리팩터링 준비, 의사결정 지원을 통해 개발자의 자신감과 생산성을 높이는 데 효과적이었다. ## 지역에 따른 AI 학습 기회의 격차 - 아프리카, 남미, 동남아시아 등에는 뛰어난 개발자가 많지만 최신 기술, 멘토링, 학습 경로에 대한 접근성은 지역과 고용주에 따라 크게 다르다. - 불안정한 인터넷 연결, 고성능 컴퓨팅 부족, 클라우드 도구와 데이터 비용 등이 AI 학습을 어렵게 만든다. - 기존 교육 콘텐츠는 안정적인 인터넷과 충분한 자원을 전제로 하며, 지역 언어·문화·업무 환경을 충분히 반영하지 못하는 경우가 많다. - 비정규직이나 계약직 개발자는 재교육에 투자할 시간과 경제적 여유가 부족할 수 있다. - 저렴한 도구 접근성, 지역에 맞는 학습 과정, 커뮤니티 중심 생태계가 없으면 AI 발전이 기존의 기술 격차를 확대할 수 있다. ## 실제 업무 안에서 AI를 학습하는 방식 - 중견 개발자가 프로덕션 업무를 중단하고 AI를 실험하기는 현실적으로 어렵기 때문에, 학습은 기존 업무 흐름 안에서 이루어져야 한다. - 단순히 조직 전체에 AI 도구를 배포하고 자율적인 실험을 맡기는 것만으로는 충분하지 않다. - 어떤 직무가 AI의 효과를 크게 얻는지, 어떤 업무를 대상으로 하는지, 코드 리뷰와 품질 기준을 어떻게 바꿀지 명확히 해야 한다. - Andela는 개발자의 담당 업무와 AI 활용 가능성을 기준으로 참여자를 선정하고, 실제 운영 중인 시스템에 맞춰 직무와 교육 과정을 설계했다. - GitHub Copilot을 IDE, 풀 리퀘스트 리뷰, 리팩터링 작업에 직접 적용해 실제 제약 조건 속에서 효과를 평가했다. - 교육은 이상적인 연습 문제가 아니라 개발자가 실제로 유지보수해야 하는 시스템과 업무를 기반으로 구성됐다. ## 레거시 시스템 이해와 안전한 변경 - AI를 활용했을 때 가장 먼저 나타난 효과는 코드 작성 속도보다 낯선 시스템에 빠르게 적응하는 능력이었다. - 브라질의 시니어 엔지니어 Daniel Nascimento는 변경 전에 프로젝트의 목적, 아키텍처, 강점과 취약점을 파악하는 데 AI를 활용했다. - 테스트 커버리지가 부족한 레거시 코드에서는 리팩터링 전에 AI로 단위 테스트를 생성해 기존 동작을 보호할 경계를 만들었다. - 개발자들이 활용한 방식은 다음과 같다. - 기존 동작을 파악하기 위한 테스트 생성 - 복잡한 제어 흐름을 명확하게 만드는 리팩터링 초안 작성 - 시스템 경계와 구성 요소를 이해하기 위한 다이어그램 구상 - AI가 생성한 결과는 정리되지 않았거나 미묘한 오류를 포함할 수 있으므로, 개발자의 검토와 품질 관리가 여전히 필수적이다. ## 생산성보다 중요한 자신감과 판단력 - 몇 주간 실제 시스템에 AI를 적용한 개발자들은 다음과 같은 변화를 보고했다. - 익숙하지 않은 시스템에 더 빠르게 온보딩 - 모호하고 복잡한 업무를 맡는 데 대한 자신감 향상 - 환경 설정과 반복 작업에 쓰는 시간 감소 - 비즈니스 맥락과 실제 영향에 집중할 수 있는 시간 증가 - Daniel은 GitHub Copilot 사용 후 생산성이 약 50% 향상됐다고 평가했다. - 다만 효과의 핵심은 단순히 더 많은 코드를 빠르게 생성하는 데 있지 않고, 개발자가 시스템을 이해하고 더 나은 결정을 내릴 시간을 확보하는 데 있다. - AI는 개발자의 이해와 책임을 대체하지 않으며, 복잡한 프로덕션 환경에서는 검토·테스트·리팩터링 역량과 함께 사용해야 한다. ## 실무 적용을 위한 시사점 - AI 교육은 일회성 자격증 과정이 아니라 실제 담당 시스템과 업무에 연결해야 한다. - 모든 개발자에게 동일한 방식으로 배포하기보다 AI 효과가 큰 역할과 문제를 먼저 선정하는 것이 좋다. - 코드 생성뿐 아니라 테스트 작성, 레거시 분석, 문서화, 온보딩 등 초기 효과가 큰 영역부터 적용할 수 있다. - AI 도구의 도입 성과는 코드 생산량만이 아니라 시스템 이해 속도, 변경 안정성, 개발자의 판단력과 자신감까지 함께 평가해야 한다. - 지역별 인프라와 경제적 제약을 고려한 접근성 높은 교육·도구 지원이 글로벌 AI 격차를 줄이는 데 중요하다.

원문 읽기(새 탭에서 열림)
github2분 읽기큐레이션 요약

가까운 곳에서 열

소프트웨어 개발 전반이 AI 중심으로 빠르게 바뀌는 가운데, GitHub Copilot Dev Days는 개발자들이 GitHub Copilot을 실제 업무에 적용하는 방법을 함께 배우는 글로벌 오프라인 행사다. 초보자부터 숙련자까지 참여할 수 있으며, 라이브 데모와 실습을 통해 AI 보조 개발의 최신 도구와 모범 사례를 익히는 것이 목적이다. 행사는 2026년 3월부터 전 세계 여러 도시에서 열리며, 개발자 커뮤니티나 사용자 그룹이 직접 개최할 수도 있다. ## AI 보조 개발 역량을 함께 높이는 행사 - AI는 더 이상 미래의 도구가 아니라 코드 기획, 작성, 리뷰, 배포 방식에 이미 영향을 주고 있다. - 개발자는 빠르게 변화하는 개발 환경에 맞춰 AI 도구를 효과적으로 활용해야 한다. - Dev Days는 이러한 변화에 대응해 개발자들이 함께 학습하고 경험을 공유하도록 설계됐다. - 글로벌 시리즈이지만 각 행사는 지역 커뮤니티가 주도하는 대면 이벤트로 진행된다. ## 초보자부터 전문가까지 참여 가능 - 전문 개발자, 학생 등 다양한 배경의 참가자를 대상으로 한다. - AI 보조 개발을 처음 접하는 사람에게는 기본 도구와 성공적인 활용 방법을 소개한다. - 이미 Copilot을 사용 중인 개발자에게는 최신 기능, 팁, 활용 기법을 제공한다. - 행사별로 수준과 프로그래밍 언어, 주제가 다를 수 있으므로 등록 전에 세부 내용을 확인해야 한다. ## 실습 중심의 프로그램 - 라이브 데모, 실용적인 강의, 상호작용형 워크숍으로 구성된다. - GitHub Copilot CLI, Cloud Agent, VS Code, Visual Studio 및 기타 편집기 관련 교육 자료를 다룬다. - 일반적인 예시 일정은 다음과 같다. - GitHub Copilot 소개: 30~45분 - 지역 개발자 또는 커뮤니티 리더의 세션: 30~45분 - 코딩 실습과 실전 연습: 약 1시간 - GitHub Stars, Microsoft MVPs, GitHub Campus Experts, Microsoft Student Ambassadors, GitHub·Microsoft 직원 등이 진행자로 참여한다. - 행사마다 지역 개발자들의 관심사에 맞춰 일정과 주제가 조정될 수 있다. ## 지역 커뮤니티와의 교류 - 참가자는 Copilot 활용법뿐 아니라 지역 개발자들과 네트워킹할 수 있다. - 행사에는 음식, 간식, 기념품 등 커뮤니티 이벤트 요소도 포함된다. - 각 지역의 사용자 그룹은 공식 양식을 통해 Dev Days 개최를 신청할 수 있다. - 행사는 2026년 3월부터 전 세계 도시에서 시작되며, 좌석이 제한되어 있다. 가까운 지역에서 열리는 행사의 등록 페이지를 확인하고, 관심 있는 주제와 실습 환경이 포함되어 있다면 직접 참여하는 것이 좋다. 사용자 그룹을 운영한다면 자체 행사를 개최해 지역 개발자들에게 AI 보조 개발을 경험할 기회를 제공할 수 있다.

원문 읽기(새 탭에서 열림)
github4분 읽기큐레이션 요약

아이디어에서 풀 리퀘스트까지

GitHub Copilot CLI는 터미널에서 자연어로 아이디어를 구체화하고, 코드 작성·테스트·수정·Pull Request 생성까지 이어 주는 코딩 에이전트다. 다만 설계와 검토를 대신하는 도구가 아니라, 개발자의 판단 아래 반복 작업과 초기 구현을 빠르게 처리하는 도구로 활용해야 한다. CLI에서 빠르게 시작한 뒤 IDE에서 정교하게 다듬고 GitHub에서 협업·배포하는 흐름이 핵심이다. ## Copilot CLI의 역할과 한계 - 터미널에서 원하는 결과를 자연어로 설명할 수 있다. - `/plan` 또는 `Shift + Tab` planning mode로 작업 계획을 먼저 작성할 수 있다. - 명령어, 파일 변경, diff를 실행 전에 검토할 수 있다. - 사용자의 명시적인 승인 없이는 명령 실행이나 파일 변경을 수행하지 않는다. - 설계 결정과 코드 리뷰를 대체하지 않으며, 생성된 결과는 동료가 작성한 코드처럼 검토해야 한다. ## 의도에서 시작하는 프로젝트 설계 - 처음부터 프레임워크나 템플릿을 고르기보다 만들고 싶은 기능을 먼저 설명한다. - 예시: ```text Create a small web service with a single JSON endpoint and basic tests ``` - `copilot -p "..."`를 사용하면 단일 프롬프트로 제안 내용을 생성할 수 있다. - Copilot CLI는 기술 스택, 파일 구조, 초기화 명령 등을 제안하지만 자동으로 실행하지는 않는다. - 제안 내용을 검토한 뒤 실제 프로젝트 방향으로 채택할 항목을 선택한다. ## 필요한 만큼만 스캐폴딩하기 - 방향이 정해지면 최소한의 프로젝트 구조와 설정 파일을 생성하도록 요청한다. - 예시: ```text Scaffold this as a minimal Node.js project with a test runner and README ``` - 디렉터리, 설정, 테스트 러너, README 등 반복적인 보일러플레이트를 빠르게 만들 수 있다. - 생성된 구조는 일반적인 관례에 기반한 출발점일 뿐이며, 최종 설계로 받아들일 필요는 없다. - 불필요한 파일이나 설정은 직접 수정하거나 삭제해야 한다. ## 실패 지점에서 바로 반복하기 - 테스트를 CLI 내부에서 실행하고 실제 출력 결과를 바탕으로 다음 작업을 요청한다. - 예시: ```text Run all my tests and make sure they pass ``` ```text Why are these tests failing? ``` ```text Fix this test failure and show the diff ``` - `실행 → 결과 확인 → 원인 질문 → diff 검토`의 짧은 반복 주기가 중요하다. - 추상적인 설명보다 실제 테스트 실패나 명령 출력에 근거해 수정하도록 만들 수 있다. - 이해가 필요할 때는 `explain`, 구체적인 수정안을 원할 때는 `suggest`를 활용할 수 있다. ## 저장소 전체의 기계적 변경 - 이름 변경, 반복 패턴 수정, 테스트 갱신처럼 범위가 명확한 작업에 적합하다. - 예시: ```text Rename all instances of X to Y across the repository and update tests ``` - 작업 의도가 명확하고 변경 범위가 제한적이므로 diff 검토와 롤백이 쉽다. - 긴 생성 결과를 읽는 대신 저장소 전체에 적용된 구체적인 변경 내역을 확인할 수 있다. ## CLI에서 IDE로 정교하게 다듬기 - 초기 구현과 반복 작업이 끝나면 IDE로 이동해 코드의 정확성과 설계를 개선한다. - IDE에서는 다음과 같은 작업에 집중한다. - 예외 상황과 엣지 케이스 검토 - API 구조 개선 - 복잡한 비즈니스 로직 결정 - 리뷰에서 설명하고 책임질 설계 선택 - CLI는 낮은 형식 비용으로 빠르게 실제 결과물을 만드는 데 적합하다. - IDE는 코드를 원하는 수준으로 정제하고 장기적으로 유지 가능한 형태로 만드는 데 적합하다. ## 커밋과 Pull Request로 마무리하기 - 변경 사항을 커밋하고 push하는 작업도 자연어로 요청할 수 있다. - 예시: ```text Add and commit all files with applicable descriptive messages, push the changes. ``` - Pull Request를 생성하고 Copilot을 리뷰어로 추가할 수도 있다. - GitHub로 작업을 넘기면 결과물이 다음 단계로 연결된다. - 팀원이 검토할 수 있음 - CI에서 테스트할 수 있음 - 비동기 방식으로 수정·협업할 수 있음 - Copilot의 가치는 단순한 코드 제안보다 커밋, Pull Request, 리뷰까지 이어지는 전체 개발 흐름에서 커진다. ## CLI·IDE·GitHub의 역할 분담 - **CLI:** 아이디어를 빠르게 검증하고, 계획·스캐폴딩·테스트·기계적 변경을 수행한다. - **IDE:** 로직을 정밀하게 다듬고 설계와 엣지 케이스를 결정한다. - **GitHub:** 코드 리뷰, CI, 협업, Pull Request 병합과 배포를 진행한다. Copilot CLI는 개발자의 판단을 대체하기보다, 의도에서 검토 가능한 변경 사항까지 도달하는 시간을 줄이는 도구로 사용하는 것이 가장 효과적이다. generated code와 diff를 항상 직접 확인하고, 정밀한 설계가 필요한 순간에는 IDE와 팀 리뷰로 넘기는 방식을 권장한다.

원문 읽기(새 탭에서 열림)
github3분 읽기큐레이션 요약

GitHub Copilot 코딩 에

GitHub Copilot coding agent는 이슈를 할당받아 백그라운드에서 코드를 수정하고 테스트를 추가한 뒤, 검토 가능한 풀 리퀘스트를 생성하는 기능이다. 최근에는 작업별 모델 선택, 자체 코드 리뷰, 보안 검사, 사용자 정의 에이전트, 로컬 CLI와의 컨텍스트 공유가 추가되어 자동화 수준과 결과 품질이 향상됐다. GitHub는 향후 비공개 모드, 코딩 전 계획 수립, 이슈 요약과 보고서 생성까지 기능을 확장할 예정이다. ## 작업에 맞는 AI 모델 선택 Agents 패널에서 작업별로 사용할 모델을 지정할 수 있게 됐다. - 단순한 단위 테스트 추가에는 빠른 모델을 선택할 수 있다. - 복잡한 리팩터링이나 엣지 케이스가 많은 통합 테스트에는 더 강력한 모델을 사용할 수 있다. - `Auto`를 선택하면 GitHub가 작업에 적합한 모델을 자동으로 결정한다. - 사용 방법: - GitHub 우측 상단의 Agents 패널에서 저장소를 선택한다. - 모델을 고르고 작업 프롬프트를 입력한다. - 현재 Copilot Pro와 Pro+에서 사용할 수 있으며, Business와 Enterprise 지원은 추후 제공될 예정이다. ## 자체 코드 리뷰로 개선된 풀 리퀘스트 에이전트가 풀 리퀘스트를 열기 전에 Copilot code review를 실행해 자신의 변경 사항을 점검한다. - 코드가 동작하더라도 지나치게 복잡하거나 팀의 일반적인 작성 방식과 다른 부분을 찾아낸다. - 리뷰 피드백을 반영해 코드를 수정한 뒤 풀 리퀘스트를 생성한다. - 개발자는 에이전트의 작업 로그에서 코드 리뷰 실행과 수정 과정을 확인할 수 있다. - 사용자는 에이전트가 반복 작업을 마친 후 최종 풀 리퀘스트를 검토하면 된다. ## 작업 중 실행되는 보안 검사 Copilot coding agent는 작업 과정에서 생성된 코드를 대상으로 여러 보안 검사를 수행한다. - Code scanning으로 취약한 코드 패턴을 탐지한다. - Secret scanning으로 API 키나 비밀 값이 커밋되는지 확인한다. - 의존성 취약점 검사를 통해 알려진 CVE가 포함된 패키지를 탐지한다. - 검사 결과는 세션 로그에 표시되며, 풀 리퀘스트가 열리기 전에 문제를 확인할 수 있다. - 일반적으로 GitHub Advanced Security에 포함되는 code scanning을 Copilot coding agent에서는 별도 비용 없이 제공한다. ## 팀 규칙을 반영하는 사용자 정의 에이전트 사용자 정의 에이전트를 사용하면 팀의 개발 절차와 전문 작업 방식을 파일로 명시할 수 있다. - 저장소의 `.github/agents/` 아래에 에이전트 설정 파일을 만든다. - 특정 에이전트에 작업 범위와 수행 절차를 부여할 수 있다. - 예를 들어 성능 최적화 에이전트가 다음 순서로 동작하도록 만들 수 있다. - 먼저 벤치마크를 실행한다. - 특정 코드를 수정한다. - 변경 후 성능을 다시 측정한다. - 결과와 함께 풀 리퀘스트를 생성한다. - 조직이나 엔터프라이즈 전체에서 사용자 정의 에이전트를 공유할 수 있어 팀별 작업 방식의 일관성을 높인다. - 실제 데모에서는 조회 함수의 성능을 측정한 뒤 수정해 해당 함수에서 99% 개선을 달성했다. ## 클라우드와 로컬 CLI 간 작업 연속성 클라우드에서 시작한 작업을 로컬 터미널로 이어가거나, 로컬 작업을 클라우드 에이전트에 위임할 수 있다. - “Continue in Copilot CLI”를 선택하면 브랜치, 로그, 대화 컨텍스트가 유지된 채 로컬에서 작업을 이어간다. - CLI에서 `&`를 누르면 현재 작업을 클라우드로 다시 위임할 수 있다. - 클라우드와 로컬 사이를 이동할 때 대화를 처음부터 다시 설명할 필요가 없다. - 터미널 중심 개발과 GitHub 기반 자동화를 유연하게 결합할 수 있다. ## 앞으로의 확장 방향 GitHub는 Copilot coding agent를 단순한 풀 리퀘스트 생성 도구 이상으로 확장하려 하고 있다. - 비공개 모드 지원 - 코딩 전에 작업 계획을 세우는 기능 - 풀 리퀘스트가 필요 없는 이슈 요약 - 자동 보고서 생성 팀의 반복적인 개발 작업에는 사용자 정의 에이전트와 적절한 모델 선택을 적용하고, 보안 검사와 자체 리뷰 결과를 확인하는 방식으로 활용하는 것이 좋다. 복잡한 작업은 클라우드에서 위임하고 세부 수정은 CLI에서 이어가는 방식도 효과적이다.

원문 읽기(새 탭에서 열림)