자동화

43 개의 포스트

cloudflare4분 읽기큐레이션 요약

Cloudflare OS: 에이전트, 앱 및 업무를 위한 개방형 플랫폼

Cloudflare OS는 회사의 지식·절차·용어·시스템을 에이전트가 활용하도록 만들어, 엔지니어뿐 아니라 모든 직원이 업무를 자동화하고 앱과 문서를 만들 수 있게 하는 플랫폼이다. 초기 버전의 한계였던 정적 앱, 반복적인 에이전트 실행, 데이터 권한 관리 문제를 해결하기 위해 보안과 거버넌스를 플랫폼의 핵심으로 재설계했다. 새 버전은 오픈 소스로 제공되며, 조직이 내부 시스템과 업무 방식을 연결해 직접 구축하고 확장할 수 있다. ## 조직의 맥락을 에이전트에게 전달하기 - 조직은 미션과 함께 고유한 용어, 절차, 시스템, 표준, 업무 방식을 구성원에게 전달한다. - 업무 결과는 코드뿐 아니라 문서, 발표 자료, 인간관계, 물리적 성과 등 다양한 형태로 나타난다. - 코드는 실행 여부라는 명확한 피드백이 있지만, 비정형 업무에는 조직의 맥락과 시스템 접근 권한이 필요하다. - Cloudflare OS는 회사가 축적한 지식과 반복 업무의 모범 사례를 에이전트가 따를 수 있는 컨텍스트와 스킬로 저장한다. - 한 사람이 더 나은 업무 방식을 만들면 조직 전체가 이를 재사용할 수 있다. ## 초기 버전에서 얻은 한계와 교훈 - 초기 Cloudflare OS는 개인별 비공개 워크스페이스 중심이었다. - 앱은 내부 시스템과 실시간으로 연결된 소프트웨어가 아니라 정적인 결과물에 가까웠다. - 결정적인 반복 작업도 스킬을 다시 실행해야 했고, 그만큼 추가 모델 토큰을 소비했다. - MCP 서버가 제공하는 도구 목록만으로는 에이전트가 실제로 어떤 데이터와 리소스를 관찰했는지 알 수 없었다. - 워크스페이스와 앱을 공유하면서, 사용자가 권한 없는 정보를 간접적으로 볼 가능성이 커졌다. - 이에 따라 보안을 앱 제작자나 개별 사용자에게 맡기지 않고 플랫폼 수준에서 처리하도록 새 기반을 설계했다. ## Cloudflare OS의 세 가지 구성 요소 - **조직 컨텍스트 기반 에이전트 워크스페이스** - 회사가 선별한 지식과 스킬을 바탕으로 대화하고 작업한다. - 에이전트가 코드를 작성·실행할 수 있는 격리된 런타임을 제공한다. - **보안·거버넌스 프레임워크** - 내부 데이터와 서비스에 대한 접근을 정책에 따라 통제한다. - 에이전트와 앱이 접근할 수 있는 리소스와 데이터의 이동 경로를 관리한다. - **수정 가능한 개인·협업 앱 플랫폼** - 대화에서 시작한 작업을 문서, 앱, 지속 실행 워크플로로 발전시킬 수 있다. - 사용자가 만든 앱을 공유하고 계속 수정할 수 있다. ## 브라우저 기반 에이전트 워크스페이스 - 개발자나 터미널 사용법을 몰라도 브라우저에서 사용할 수 있도록 설계됐다. - 워크스페이스는 다음 요소를 결합한다. - 에이전트 세션 - 지속 상태 - 파일과 산출물 - 외부 리소스 접근 - 코드를 작성하고 실행하는 격리 런타임 - 팀이나 회사가 수집한 컨텍스트와 스킬이 기본으로 포함되어 동일한 업무 절차를 매번 다시 설명할 필요가 없다. ### 조사와 질의 - 회사 컨텍스트와 허용된 리소스를 기반으로 주제를 조사할 수 있다. - 전체 데이터를 모델 컨텍스트에 넣는 대신, 에이전트가 코드를 작성해 검색·필터링·조인·분석을 수행한다. ### 문서·슬라이드·스프레드시트 생성 - 조사 결과를 문서, 프레젠테이션, 스프레드시트로 변환할 수 있다. - 결과물은 단순한 정적 파일이 아니라 원본 데이터와 연결된 상태로 유지될 수 있다. - 데이터가 변경되면 결과물을 갱신할 수 있으며, Google Drive 같은 기존 서비스나 익숙한 형식으로 내보낼 수도 있다. ### 협업 앱 구축 - 문서나 스프레드시트로 부족한 경우, 에이전트가 자체 인터페이스·로직·상태를 가진 앱을 만든다. - 앱은 회사 리소스와 연결될 수 있고 여러 사람이 함께 사용할 수 있다. ### 결정적 워크플로 실행 - 반복적인 업무의 예측 가능한 단계는 코드로 처리하고, 판단이 필요한 부분에만 모델을 사용한다. - 워크플로는 수동 실행, 예약 실행, 연결된 시스템의 이벤트 발생 시 실행이 가능하다. - 기존 MCP 서버는 MCP Server Portals를 통해 계속 사용할 수 있다. ## API 키 대신 세분화된 권한 모델 - 회사 시스템에 연결하기 위해 API 키를 에이전트나 사용자에게 직접 제공하는 방식은 위험하다. - API 키는 대개 권한 범위가 넓고 수명이 길며, 공유와 감사가 어렵다. - MCP 서버는 자격 증명을 내부에 보관하고 제한된 도구만 노출하므로 개선된 접근 방식이다. - 그러나 MCP만으로는 에이전트가 어떤 원본 리소스를 관찰했는지, 이후 데이터가 어디로 이동할 수 있는지까지 통제하기 어렵다. - 따라서 권한 부여는 단순히 “어떤 도구를 호출할 수 있는가”를 넘어 데이터의 후속 사용과 노출 가능성까지 고려해야 한다. ## 무권한 시작과 Gatekeeper 기반 접근 - Cloudflare Access가 Cloudflare OS에 들어올 수 있는 사용자를 통제한다. - OS 내부에서는 모든 에이전트와 앱이 처음에 아무 권한도 갖지 않는다. - 에이전트가 특정 리소스에 대한 접근을 요청하면 관리자가 승인하거나 거부한다. - 승인된 리소스는 생성 코드에 타입이 지정된 바인딩으로 전달된다. ```ts const issues = await env.PROJECT.listIssues({ teamId: "ENG", state: "open", }); ``` - `env.PROJECT`는 특정 리소스와 정책에 대한 권한을 나타내는 capability다. - 실제 인증 정보는 에이전트와 생성된 코드에서 완전히 격리된다. - 이러한 Gatekeeper를 통해 에이전트와 앱이 시스템 오브 레코드에 접근할 때 조직의 정책에 따른 통제가 가능해진다. ## 실용적인 결론 Cloudflare OS의 핵심은 단순히 AI 챗봇을 제공하는 것이 아니라, 조직의 지식과 시스템 접근 권한을 안전하게 결합해 업무 자체를 자동화하는 데 있다. 조직에 도입하려면 먼저 반복 업무를 컨텍스트·스킬·결정적 워크플로로 정리하고, API 키 직접 공유 대신 리소스별 최소 권한과 감사 가능한 접근 정책을 설계하는 것이 중요하다.

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

GitHub 법무팀이 Copilot CLI를 활용해 업무 흐름을 간소화한 방법

GitHub 법무팀은 엔지니어가 아니어도 Copilot CLI를 활용해 반복적인 법무 업무를 자동화하고, 자신의 판단 기준을 반영한 도구를 직접 만들 수 있음을 보여준다. 계약서 작성·검토와 DMCA 통지 분석 같은 업무를 평문 지침, 정책 자료, 템플릿으로 구조화해 일관성과 처리 속도를 높였다. 다만 AI는 법률적 판단을 대체하는 것이 아니라, 사람이 최종 검토하는 의사결정 지원 시스템으로 활용됐다. ## 반복 업무를 AI 도구로 전환한 배경 - 법무팀의 업무에는 유사 계약 검토, 반복적인 법률 질의 응답, 기존 가이드 재활용 등 반복 작업이 많았다. - 구성원들은 전통적인 프로그래밍 경험이 부족했지만, 자신의 업무 방식과 판단 기준은 명확히 알고 있었다. - Copilot CLI에 자연어로 원하는 기능을 설명하고 저장소와 연결하면서, 프롬프트를 일회성으로 사용하는 대신 재사용 가능한 내부 도구로 발전시켰다. - 지침과 자료를 저장소에서 관리해 버전 관리, 일관성 확보, 협업이 가능해졌다. ## `terms-ai`: 계약 작성 스타일 가이드 구축 - Ngandu Kasuku는 데이터·인프라·제품 통합 관련 파트너십 계약이 급증하자 계약 작성 도구 `terms-ai`를 만들었다. - 저장소에 다음 자료를 정리했다. - AI 작업 지침 - 계약 작성 리소스 - 업무 흐름 - 기존에 승인된 계약서 - 평문 중심의 계약 작성 원칙을 내부 스타일 가이드로 만들었다. - 불필요하게 고어체인 법률 용어를 줄임 - 더 명확하고 읽기 쉬운 문장 사용 - 계약 전반에 동일한 문체와 기준 적용 - 기존 파트너와의 과거 계약 및 승인된 문서를 참고해 새 계약서나 부속합의서 초안을 작성할 수 있게 했다. - 민감한 계약서와 내부 정보는 공개 저장소에 포함하지 않고, 접근 제어가 적용된 내부 환경에 보관했다. - 결과적으로 계약 검토와 작성 시간이 약 절반으로 줄었고, 조항의 일관성과 개인의 작성 스타일 반영 수준이 향상됐다. - 핵심은 AI가 단순히 초안을 생성한 것이 아니라, 변호사의 경험과 판단 방식을 도구에 내장했다는 점이다. ## DMCA 통지 분석을 위한 평문 기반 워크플로 - Jesse Geraci는 DMCA 통지를 처리하기 위해 소스 코드를 빠르고 정확하게 분석해야 하는 문제에서 출발했다. - 처음에는 팀원들이 각자 작성하던 일회성 프롬프트를 다음과 같은 반복 가능한 지침으로 정리했다. - DMCA 통지 분류 - 코드 비교 - 라이선스 확인 - 우회 행위 검토 - 분석 결과 보고서 작성 - 전통적인 소스 코드 대신 다음과 같은 평문 파일을 중심으로 워크플로를 구성했다. - 업무 절차 지침 - 정책 및 법률 참고 자료 - 보고서 템플릿 - 변호사가 가진 언어 구성 능력과 법률적 방법론을 구조화된 업무 로직으로 활용했다. - 고객용과 변호사용 분석 모드를 분리했다. - 고객용: 빠른 결과와 에스컬레이션 권고 제공 - 변호사용: 심층 검토와 양측 주장 분석 제공 - 외부 데이터 소스를 연동하면서 팀이 재사용할 수 있는 표준 워크플로로 확장됐다. ## 데스크톱 앱과 재사용 가능한 법무 에이전트 - 초기 평문 워크플로는 이후 사전 정의된 법무 작업을 실행하는 데스크톱 앱으로 발전했다. - 앱 자체를 구축하려면 상당한 코드가 필요했지만, 실제 업무 동작을 바꾸는 지침은 여전히 Markdown과 자연어로 편집할 수 있다. - DMCA 코드 분석을 넘어 다음 업무로 범위가 확대됐다. - 계약서 검토 - NDA 분류 - 위험 평가 - 컴플라이언스 점검 - 답변 초안 작성 - 내부적으로는 다음과 같은 재사용 가능한 스킬과 에이전트로 업무를 나눌 수 있다. - 접수 및 초기 분류 - 플레이북 기준 대조 - 위험 점수 산정 - 증거 검증 - 에스컬레이션 경로 결정 - 보고서 조립 - 기술적 구현이 복잡해져도 법무팀은 읽기 쉬운 Markdown을 통해 AI의 동작과 기준을 직접 통제할 수 있다. ## 인간의 법률 판단을 중심에 둔 AI 활용 - 법무 Copilot은 변호사를 대체하는 시스템이 아니라 구조화된 의사결정 지원 도구다. - AI 활용의 목적은 다음과 같다. - 법률 분석의 일관성 향상 - 판단 과정의 투명성 확보 - 반복 업무의 확장성 강화 - 사람이 중요한 쟁점과 최종 판단에 집중하도록 지원 - 조직은 완벽한 상용 솔루션이나 전문 개발자를 기다리지 않고, 먼저 자신의 방법론·기준·결과 형식을 명확히 정의할 수 있다. 작게는 반복되는 계약 검토나 자료 분류처럼 시간을 가장 많이 빼앗는 업무 하나를 골라, 자연어 지침과 내부 자료를 재사용 가능한 워크플로로 정리하는 것이 현실적인 시작점이다. 단, 민감한 자료에는 접근 제어를 적용하고, AI 결과는 반드시 담당자의 검토와 승인을 거치도록 설계해야 한다.

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

GitLab Duo로 작업 항목 할당 자동화

GitLab Duo Agent Platform의 새로운 **“Work item created” 트리거**는 작업 항목이 생성되는 즉시 플로우를 실행해 자동으로 분류하고 담당자를 배정한다. 이를 통해 사람이 일일이 팀원의 업무량과 가용성을 확인하던 과정을 없애고, 대규모 작업도 몇 초 안에 일관되게 라우팅할 수 있다. 예시에서는 GitLab Orbit과 두 개의 에이전트를 활용해 업무량이 가장 적은 팀원에게 새 이슈를 자동 배정했다. ## 수동 담당자 배정의 한계 - 새 이슈가 생성될 때마다 담당자가 팀원의 현재 업무량과 우선순위를 확인해야 한다. - 회의, 휴가, 휴식 시간 등으로 인해 배정이 지연될 수 있다. - 작업량이 증가하면 업무가 특정 팀원에게 몰리거나 초기 트리아지가 늦어진다. - 기존 GitLab Duo Flow는 멘션, 수동 할당, 리뷰어 지정 등 사람의 행동이 있어야 시작할 수 있었다. - 따라서 자동화된 배정 로직이 있어도 마지막 실행 단계는 수작업으로 남아 있었다. ## “Work item created” 트리거의 동작 - 프로젝트에서 새 작업 항목이 생성되는 순간 플로우를 자동 실행한다. - 별도의 멘션이나 UI 조작 없이 백그라운드에서 지속적으로 동작한다. - 조직이 정의한 조건에 따라 작업을 분류하고 적절한 담당자에게 라우팅한다. - 개발자는 반복적인 배정 업무보다 판단과 창의성이 필요한 작업에 집중할 수 있다. ## 자동화로 얻는 효과 - **즉각적인 트리아지:** 작업 생성 직후 배정이 시작된다. - **확장성:** 작업이 한 건이든 수백 건이든 담당자의 추가 개입 없이 처리한다. - **균형 잡힌 배정:** 팀원의 현재 미해결 작업 수와 가용성을 기준으로 배정할 수 있다. - **일관성:** 사람이 매번 판단하던 기준을 에이전트가 동일하게 적용한다. - **반복 업무 감소:** 팀 리드가 업무량을 확인하고 수동으로 라우팅하는 시간을 줄인다. ## 두 에이전트로 구성한 자동 배정 플로우 예시 프로젝트는 `Intra-account-transfers`이며, 플로우 이름은 `Work item assigner`다. - 프로젝트에서 “Work item created” 트리거를 활성화한다. - 첫 번째 에이전트는 GitLab Orbit을 사용해 조직 내 각 리소스의 미해결 작업 수를 조회한다. - 두 번째 에이전트는 업무량이 가장 적은 팀원을 식별하고 새 작업 항목의 담당자로 지정한다. - 배정 절차와 도구 사용 방법은 각 에이전트의 프롬프트에 정의된다. - 트리거가 플로우 전체를 실행하므로 별도의 수동 시작 작업이 필요하지 않다. ## 실행 과정과 결과 - 새 이슈를 생성하면 트리거가 즉시 `Work item assigner` 플로우를 실행한다. - 플로우 활동 로그에서 각 단계의 진행 상황을 확인할 수 있다. - 첫 번째 에이전트가 최상위 그룹 내 사용자의 미해결 작업 수를 집계한다. - 두 번째 에이전트가 가장 적은 업무량을 가진 팀원을 선택한다. - 예시에서는 William이 담당자로 선정되었고, 이슈에 자동으로 할당되었다. ## 확장 가능한 개선 방향 - **HR 또는 휴가 시스템 연동:** MCP를 통해 PTO 기간을 조회하고 휴가 중인 팀원을 배정 대상에서 제외할 수 있다. - **캘린더 연동:** 회의 일정과 실제 가용 시간을 확인해 더 정확한 담당자 배정이 가능하다. - 업무량뿐 아니라 전문 분야, 우선순위, 프로젝트 소속 등의 조건을 추가해 라우팅 기준을 고도화할 수 있다. ## 실용적인 결론 반복적인 이슈 배정이 병목이 되는 팀이라면 “Work item created” 트리거와 업무량 조회 에이전트를 결합하는 것이 효과적이다. 초기에는 미해결 작업 수처럼 단순하고 검증 가능한 기준으로 시작한 뒤, 휴가·캘린더·전문성 정보를 MCP로 추가하는 방식이 현실적이다.

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

6. 도구를 넘어, 기준과 책임으로

커머스 조직의 지식 관리는 문서를 많이 쓰거나 자동화 도구를 도입하는 것만으로 완성되지 않는다. 무엇을 지식으로 남길지, 누가 책임질지, 어떤 문서를 신뢰할지에 대한 기준과 거버넌스가 함께 있어야 한다. 궁극적으로는 개인의 기억과 흩어진 기록을 조직의 업무 흐름 속에서 생성·검증·갱신되는 시스템으로 바꿔야 한다. ## 혼자 문서를 작성하는 방식의 한계 - 커머스 위키에 용어사전, 온보딩 문서, 정책 문서를 정리하자 팀마다 다르게 쓰던 용어를 통일하고 다른 팀의 기능을 이해하는 출발점을 만들 수 있었다. - 하지만 제품과 정책의 변화 속도가 문서 작성 속도보다 빨랐다. - 담당자가 바뀐 정책, 일시적인 실험, 메신저에서 논의된 결정까지 한 사람이 모두 추적하기는 불가능했다. - 지식이 현장에서 먼저 생기고 TW가 뒤늦게 정리하는 구조로는 최신성을 유지하기 어려웠다. ## 참여를 유도하는 문화만으로 부족했던 이유 - 주간 뉴스레터, 정책 질문봇, 문서화 워크숍, 길드 등을 통해 구성원의 참여를 높였다. - 문서 요청과 위키 인용은 늘었지만, 첫 기여가 지속적인 기여로 이어지지는 않았다. - 문서 작성은 업무 우선순위에서 밀렸고, 작성된 문서도 시간이 지나며 갱신되지 않았다. - 문서의 적절한 깊이와 대상 독자가 정해져 있지 않아 작성자가 매번 혼자 판단해야 했다. - 실무자는 상세한 구현 정보가 필요하지만, 다른 팀에는 불필요한 노이즈가 될 수 있다. - 개발자에게 유용한 변수명과 기술 세부사항은 비개발자의 이해를 방해할 수 있다. - 문제는 구성원이 문서화에 무관심해서가 아니라, 무엇을 어디에 어느 수준으로 남기고 누가 검토할지 정해져 있지 않았다는 데 있었다. - 문서화가 업무 흐름에 포함되고 팀의 책임으로 인정되어야 지속될 수 있다. ## AI 자동화가 보여준 구조적 문제 - 매일 밤 AI가 두 가지 신호를 바탕으로 문서 초안을 작성한다. - 배포·정책 변경 공지에서 문서 갱신이 필요한 내용을 추출한다. - 정책 질문봇이 답하지 못한 질문을 찾아 관련 자료를 바탕으로 새 문서 초안을 만든다. - 사람은 빈 화면에서 처음부터 작성하는 대신, AI 초안의 근거를 확인하고 승인하는 역할을 맡는다. - 자동화로 작성 부담은 줄었지만 새로운 문제가 드러났다. - 비슷한 문서가 중복 생성됐다. - 최신 문서가 무엇인지 판단하기 어려웠다. - 종료된 실험이나 오래된 정책을 AI가 현행 정책처럼 답하는 경우가 생겼다. - 자동화는 지식 수집과 초안 작성은 돕지만, 문서의 신뢰성·최신성·책임자를 결정하지는 못한다. ## 지식 거버넌스와 책임의 필요성 - 질문의 초점이 “문서를 어떻게 만들까?”에서 “어떻게 믿을 수 있는 지식을 만들까?”로 바뀌었다. - 정책 담당자 변경, 오래된 결정의 폐기, 중복 문서 간 우선순위 같은 문제는 도구가 아니라 운영 기준이 해결해야 한다. - 토스는 문서와 지식을 누가, 언제, 어떤 기준으로 만들고 관리하고 폐기할지 이해관계자가 함께 정하는 ‘커머스 문서·지식 거버넌스’를 제안했다. - 거버넌스는 한 번 정하고 끝나는 규칙이 아니라, 실제 적용 결과를 확인하고 지속적으로 보완하는 체계다. ## 토스 팀의 지식 관리 기준 - **아는 것은 조직에 남긴다** - 반복해서 묻는 질문 - 중요한 의사결정 - 새로 온 구성원이 알아야 하는 내용 - **남긴 지식은 찾을 수 있게 정리한다** - 사람이 검색하거나 AI가 참조할 수 있도록 분류·구조화한다. - 조직 특성에 따라 다음 기준을 선택할 수 있다. - 기술 레이어: 데이터나 시스템의 처리 단계 - 서비스 도메인: 담당 서비스 영역 - 기능 단위: 시스템 또는 기능별 구분 - **필요한 순간에 사용할 수 있게 연결한다** - 위키에 저장하는 데 그치지 않고 질문봇, GitHub 등 실제 업무 도구와 연결한다. - **정확한 정보를 최신 상태로 유지한다** - 문서 책임자와 검토 주기를 정한다. - 실험 정책과 확정 정책을 구분하고, 종료된 정책은 폐기하거나 기록용으로 분류한다. - 조직의 지식은 단순히 글로 남은 모든 정보가 아니라, 구성원이 상황을 이해하고 더 나은 결정을 내리는 데 도움이 되며 검증된 정보다. ## Knowledge Committee의 역할 - Knowledge Committee는 전사 문서 운영 기준을 정의하고 유지하며, 조직 간 기준 충돌을 조정하는 협의체다. - 자발적 모임인 길드와 달리 공식적인 의사결정 권한과 실행력을 가진다. - 운영은 두 층으로 나뉜다. - **TW 챕터**: 문서의 정의, 상태, 출처, 책임자 등 전사 공통 기준을 관리한다. - **각 도메인·챕터**: 현장 특성에 맞춰 문서의 책임자, 갱신·폐기 시점, 운영 방식을 정한다. - 중앙에서 모든 것을 통제하면 현장 변화에 느리고, 전사 기준이 없으면 조직마다 지식 관리 방식이 달라진다. - 예를 들어 커머스 조직에서 실험 배포와 확정 배포를 구분하지 않으면 종료된 실험 정책이 현행 정책처럼 남을 수 있다. - 이런 예외와 시행착오를 커미티가 기준에 반영하고 전사에 공유하면, 개별 조직의 경험이 전체 조직의 운영 노하우가 된다. ## 개인의 기억을 조직의 자산으로 전환하기 - 목표는 지식이 특정 개인이나 메신저 기록에 머무르지 않고 조직 안에서 계속 축적되고 재사용되는 구조를 만드는 것이다. - 지식을 남기고 검증하고 다시 사용하는 과정이 업무의 기본 흐름에 포함되어야 한다. - TW의 역할도 문서 작성에 머무르지 않고 지식 시스템, 제품, 거버넌스를 설계하는 방향으로 확장된다. - 궁극적으로는 문서화가 별도의 숙제가 아니라 자연스러운 업무 방식이 되어, TW의 개입 없이도 조직 지식이 순환하는 상태를 지향한다. 실무적으로는 도구를 도입하기 전에 먼저 “무엇을 남길 것인가”, “누가 검토하고 책임질 것인가”, “언제 최신성을 확인하고 폐기할 것인가”를 정하는 것이 우선이다. 이후 자동화와 AI를 초안 작성·검색·질의응답에 연결해야 지식 관리 시스템이 지속적으로 작동할 수 있다.

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

매일 하던 업무를 디자인하기

토스뱅크의 프로덕트 디자이너 김혜미는 매일 슬랙과 노션에 할 일을 수기로 옮기던 반복 업무를 직접 자동화했다. 슬랙 메시지에 특정 이모지를 달면 AI가 맥락을 읽고, 한 줄짜리 할 일과 팀 태그, 출처 링크를 위젯에 등록하도록 만든 것이다. 그 결과 업무를 수집·정리하는 데 쓰던 에너지를 줄이고, 실제 우선순위 판단에 집중할 수 있게 됐다. ## 반복 업무를 참는 대신 디자인하기 - 업무가 늘어나 하루 할 일이 20개를 넘으면서 수기 관리 방식의 한계가 드러났다. - 더 나은 할 일 앱을 찾기보다, 자신이 매일 사용하는 프로덕트로 문제를 재정의했다. - 사용자는 자신이고, 진짜 목표는 “할 일을 정리하는 것”이 아니라 “중요한 일을 놓치지 않고 처리하는 것”이었다. - 가장 큰 마찰은 할 일을 옮겨 적고, 관련 맥락과 출처를 다시 찾는 반복 작업이었다. - 해결 방향은 다음과 같았다. - AI가 슬랙 메시지에서 할 일을 자동 등록 - 원본 스레드와 문서 링크를 함께 저장 - 우선순위를 표시하고 화면에 위젯을 항상 노출 ## 슬랙 맥락을 AI가 할 일로 바꾸기 - 특정 이모지를 단 슬랙 메시지를 한 채널에 모은 뒤, Claude Code가 내용을 읽어 할 일로 변환했다. - 핵심 과제는 긴 메시지와 대화 맥락을 실행 가능한 한 줄의 문장으로 요약하는 것이었다. - 예를 들어 “대출 연장 신청 시 에러가 발생하는데 확인해달라”는 요청을 “대출 연장 에러 케이스 확인”으로 바꾸고 관련 팀을 태그했다. - 초기에는 요약이 지나치게 길거나 핵심을 놓치고, 잘못된 팀에 배정되는 문제가 있었다. - 이를 개선하기 위해 다음 기준을 직접 정의했다. - 좋은 할 일의 문장 구조 - 팀을 구분하는 기준 - 일관된 표현 방식 - 반드시 포함하거나 제거해야 할 정보 - 결국 AI가 만든 결과가 “내가 직접 적었을 법한 문장”이 되도록 예시와 규칙을 반복해서 다듬었다. ## AI에게 요구사항을 명확히 설명하기 - 위젯의 접기·펼치기, 드래그 같은 인터랙션을 구현하는 과정에서도 세부 동작을 구체적으로 설명해야 했다. - 머릿속에서는 당연한 동작도 AI에게는 단계별 조건과 예외를 언어로 전달해야 했다. - 구현 과정은 단순히 코드를 작성하는 일이 아니라, 자신의 업무 방식과 판단 기준을 명확히 정의하는 과정이었다. - 특히 AI가 업무를 이해하도록 만드는 일은 사용자의 요구를 더 정확한 언어로 구조화하는 작업과 같았다. ## 수집과 정리에서 우선순위 판단으로 - 위젯이 항상 화면에 표시되기 때문에 슬랙이나 노션을 반복해서 열어 할 일을 확인할 필요가 없어졌다. - 이전에는 하루에도 수십 번 “할 일이 뭐였지?” 하며 정보를 찾는 데 시간을 썼다. - AI가 업무를 모으고 정리하면서, 사용자는 무엇부터 처리할지 판단하는 데 집중할 수 있게 됐다. - 해야 할 일을 놓칠 것이라는 불안이 줄고, 우선순위 설정에 더 많은 에너지를 쓸 수 있었다. ## 개인적인 불편에서 팀의 문제로 - 개인용으로 만든 도구였지만 팀원들도 사용하기 시작했고, 유료 서비스로 제공해도 좋겠다는 반응까지 나왔다. - 개발자들이 직접 버그를 제보하고 기능을 제안하면서 사용자와 제작자의 역할이 뒤바뀌기도 했다. - 이를 통해 할 일 관리, 맥락 수집, 우선순위 설정은 직무와 관계없이 많은 사람이 겪는 공통 문제임을 확인했다. - 도구가 확산된 이유는 새로운 아이디어라서가 아니라, 사람들이 이미 반복적으로 겪던 불편을 해결했기 때문이다. ## 직접 적용하는 방법 - 이번 주에 가장 자주 반복한 ‘진짜 일이 아닌 일’을 찾는다. - 옮겨 적기 - 자료 찾기 - 정보 정리하기 - 다음 질문으로 문제를 정의한다. - 사용자는 누구인가? - 실제로 이루려는 결과는 무엇인가? - 가장 큰 마찰은 어디에서 발생하는가? - 무엇이 자동화되면 성공인가? - 기존 도구가 해결하지 못하는 이유를 살핀다. - 처음부터 큰 시스템을 만들기보다, 다음 날 바로 써볼 수 있는 가장 작은 기능부터 구현한다. 반복적으로 정보를 옮기고 정리하는 업무가 있다면, 이를 개인의 습관이나 인내심 문제가 아니라 자동화할 수 있는 프로덕트 문제로 바라보는 것이 출발점이다.

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

토스팀이 AI 파도를 마주하는 방법: AI Surf Day

토스는 빠르게 변하는 AI를 따라잡기 위해 개인의 학습에만 의존하지 않고, 업무 시간과 조직 문화를 재설계하는 ‘AI Surf Day’를 운영했다. 매주 금요일을 AI 실험과 공유의 시간으로 정해 직군과 숙련도에 관계없이 누구나 AI를 업무에 적용하도록 지원했다. 이 경험은 특정 프로그램보다 자유롭게 시도하고 실패와 성과를 공유하는 문화, 그리고 이를 이끄는 사람들이 AI 전환의 핵심임을 보여준다. ## AI Surf Day의 배경과 목적 - AI 기술이 빠르게 발전하면서 개발자뿐 아니라 PO, 디자이너, 스태프 등 모든 직군에서 AI 활용에 대한 관심이 커졌다. - 반면 비개발 직군을 중심으로 다음과 같은 어려움도 나타났다. - 수많은 AI 정보 중 실제 업무에 유용한 것을 선별하기 어려움 - 새로운 기술을 학습할 별도 시간을 내기 어려움 - AI를 잘 활용하는 사람과 그렇지 못한 사람 사이의 격차와 불안 - 토스는 월요일부터 목요일까지 본업에 집중하고, 매주 금요일은 AI를 실험하고 업무에 적용하는 ‘AI Surf Day’로 운영했다. - 목표는 단순히 AI 도구 사용법을 익히는 것이 아니라, 토스 전체가 AI 기반으로 일하는 문화를 만드는 것이었다. - “파도를 멈출 수는 없지만 서핑하는 방법은 배울 수 있다”는 비유처럼, 예측하기 어려운 AI 변화에 조직적으로 대응하려는 취지를 담았다. ## AI Surf Club: 자율적인 실험과 학습 - 팀원 누구나 AI 관련 주제로 모임을 만들고 참여할 수 있는 핵심 프로그램이다. - 시작과 함께 약 200개의 클럽이 만들어질 만큼 높은 참여가 나타났다. - 대표적인 사례는 다음과 같다. - **AI 안티패턴 스터디** - AI 활용이 잘되지 않았던 시행착오와 실패 사례를 공유했다. - 프로젝트 방향을 잡고 실수를 줄이는 데 도움이 되는 ‘시행착오 방지 가이드’로 내용을 정리했다. - **LLM Wiki 활용법** - 업무 지식이 여러 곳에 흩어진 문제를 해결하기 위해 조직 공동의 지식 자산 구축을 논의했다. - 데이터 엔지니어, 머신러닝 엔지니어, 비즈니스 담당자 등 다양한 직군이 참여해 관점을 넓혔다. - **터미널 초보자를 위한 0단계 모임** - 에이전트 도구 설치나 터미널 사용처럼 기본적인 기술 장벽을 해결했다. - 초보적인 질문도 부담 없이 할 수 있는 안전한 학습 공간을 제공했다. - **금융소비자보호 업무의 AI 전환** - “상담 과정에서 미리 민원을 발견하고 싶다”는 요구에서 출발해 한 달 만에 대외민원 모니터링 포털을 개발했다. - 민원 회신문 초안 작성과 민원 분류 자동화 등 추가 결과물도 만들어냈다. - 가장 큰 성과는 구성원들이 “우리도 AI로 해볼 수 있다”는 자신감을 얻은 점이었다. - **비즈니스 마케팅 팀의 AI 워크숍** - Builder, Curator, Operator, Scouter로 역할을 나누어 AI 도구, 사례, 자동화 결과물을 만들고 공유했다. - 개인의 실험을 다른 팀원이 복제하거나 업무에 적용할 수 있는 자산으로 남기는 데 초점을 맞췄다. ## AI Surf Weekly: 사례와 아이디어의 확산 - 사내 AI 활용 우수 사례, 레슨런, 최신 AI 인사이트를 공유하는 시간이다. - 구체적인 도구 사용법을 일방적으로 교육하기보다, 실제 사례를 보여주고 새로운 아이디어를 떠올리게 하는 방식을 택했다. - 서로 다른 조직의 유사한 문제를 가진 구성원을 연결해 단시간에 결과물을 만들도록 돕기도 했다. - 영업팀의 요구와 유사한 도구를 만든 인사팀 구성원을 연결해 빠르게 업무 도구를 개발했다. - 디자인 자동화에 어려움을 겪던 마케팅 담당자를 디자인 조직의 경험자와 연결해 하루 만에 문제를 해결했다. - 잘 쓰는 사람과 실제 결과물을 공유하면, 구성원들이 자신의 업무에 맞게 응용하면서 새로운 활용 사례가 파생된다는 점을 확인했다. ## AI Surf Evangelist: 현업 중심의 전파 체계 - 조직에서 AI를 잘 활용한다는 것은 개인이 도구를 능숙하게 쓰는 것이 아니라, 기존 업무 흐름을 AI 기반으로 재설계하는 것이다. - 이를 가장 잘 이끌 사람은 실제 업무와 팀의 문제를 잘 아는 현업 구성원이라고 판단했다. - 토스는 AI 기술 전문가보다 다음과 같은 구성원을 에반젤리스트로 선발했다. - 유용한 정보를 발견하면 팀에 공유하는 사람 - 동료가 AI 활용 중 막혔을 때 함께 해결하는 사람 - AI 도입과 전파에 적극적인 사람 - 공개 추천을 통해 이미 비공식적으로 이런 역할을 수행하던 사람을 발굴했고, 총 142명이 선정됐다. - 주요 미션은 다음과 같다. - 3개월 동안 조직 내 AI 활용 사례를 공유 채널에 제보 - 팀 대상 밋업이나 워크숍을 최소 1회 개최 - 유용한 사례와 인사이트를 조직에 전파 - 문화팀은 워크숍 템플릿과 퍼실리테이션을 지원해 각 팀이 ‘업무를 AI 기반으로 재설계한다면?’을 주제로 실험하도록 도왔다. ## OpenAI 협업과 에이전틱 워크플로우 - 5월에는 OpenAI와 협업해 개발자용 Codex 세션, 비개발자용 ChatGPT Agent 자동화 세션, 미니 해커톤을 진행했다. - **iOS Simulator 자동 검증 에이전트** - Codex가 기능 구현, 빌드, 로그인, 입력, 테스트, 수정 과정을 직접 수행했다. - 계획부터 검증 영상 생성까지의 전체 루프를 자동화했다. - **토스플레이스 메뉴 분류 어드민** - AI 에이전트가 매일 상품 데이터를 조회하고 사전 정의된 기준에 따라 1차 분류한다. - 담당자는 알림 링크를 통해 결과를 확인하고 확정 또는 반려한다. - 단순 반복 업무를 재사용 가능한 Agentic Workflow로 전환한 사례다. ## 프로그램보다 중요한 문화와 사람 - AI Surf Day는 6월까지 운영될 예정이지만, 이후 동일한 형식으로 지속될지는 정해지지 않았다. - 글에서 중요하게 본 성과는 특정 프로그램 자체가 아니라 다음과 같은 변화다. - AI를 실험할 수 있도록 공식적인 시간대를 마련함 - 성공뿐 아니라 실패와 시행착오도 공유함 - 서로 다른 팀의 사례와 사람을 연결함 - 워크숍과 결과물이 실제 업무 방식의 변화로 이어짐 - AI 전환을 추진하는 조직이라면 별도 학습 시간을 보장하고, 현업의 자발적 실험을 지원하며, 결과물을 조직 자산으로 공유하는 구조부터 만드는 것이 효과적이다.

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

코드 생성을 넘어: AI 에이전트 시대의 엔지니어링 생산성을 다시 생각하다

Dropbox는 AI 코딩 도구가 코드 작성 속도는 높였지만, 리뷰·CI·테스트·배포·운영을 새로운 병목으로 만들었다고 설명합니다. 따라서 생산성의 핵심은 코드 생성량이 아니라 전체 개발 생명주기가 더 많은 변경을 안정적으로 흡수하고 고객 가치로 전환하는 능력입니다. Dropbox는 코딩 에이전트 플랫폼, 새로운 생산성 지표, 교육과 가드레일을 통해 AI 중심의 개발 운영 모델을 구축하고 있습니다. ## 코파일럿에서 자율형 에이전트로 - 초기 AI 코딩 도구는 코드 설명, 스니펫 생성, 질의응답 등으로 엔지니어 옆에서 작업을 보조하는 코파일럿 역할을 했습니다. - 에이전트는 범위가 정해진 작업을 받아 다음 과정을 수행할 수 있습니다. - 코드베이스 조사 - 파일 수정 - 테스트 실행 - 실패 원인 분석과 재시도 - 사람이 검토할 수 있는 결과물 생성 - 엔지니어는 여전히 요구사항, 아키텍처, 품질, 배포에 대한 최종 책임을 집니다. - 에이전트 도입으로 여러 작업을 병렬로 진행하고, 반복적인 구현 업무를 위임할 수 있게 됐습니다. - 반면 코드와 풀 리퀘스트가 빠르게 증가하면서 코드 리뷰, 테스트 인프라, 검증, 릴리스 조정, 운영 시스템에 부담이 커졌습니다. ## Nova: Dropbox의 에이전트 플랫폼 - Nova는 자연어로 작업을 설명하면 통제된 환경에서 AI 코딩 에이전트를 실행할 수 있는 Dropbox의 내부 플랫폼입니다. - Nova의 핵심 가치는 모델 자체보다 다음과 같은 주변 시스템에 있습니다. - 코드베이스와 내부 개발 관행에 대한 컨텍스트 - 안전한 실행 환경 - 기존 개발 워크플로와의 통합 - 검증 절차와 사람의 최종 리뷰 - Nova가 생성한 변경은 작업 정의, 에이전트 실행, 결과 검증, 사람의 승인이라는 구조화된 흐름을 거칩니다. - 현재 Dropbox 풀 리퀘스트의 약 12분의 1이 Nova를 통해 생성되고 있습니다. - 기능 개발뿐 아니라 다음과 같은 고수고 작업에도 활용됩니다. - 마이그레이션 - 불안정한 테스트 수정 - 버그 조사 - 의존성 업데이트 - 시스템 유지보수 작업 ## 코드량이 아닌 제품 전달 속도 측정 - AI로 PR 생성량이 늘어나면 단순한 PR 처리량은 생산성을 충분히 설명하지 못합니다. - 함께 측정해야 할 지표는 다음과 같습니다. - 코드 리뷰 대기 및 처리 시간 - CI 비용과 처리 지연 - 재작업 비율 - 결함 비율 - 테스트의 첫 실행 성공률 - 최종적으로 고객에게 전달되는 가치 - Dropbox는 생산성을 네 단계로 나눠 측정합니다. - **Fuel**: AI 도구가 실제로 사용되는 정도 - **Adoption**: 팀의 개발 워크플로가 얼마나 변화했는지 - **Output**: AI가 실제 프로덕션 작업에 기여한 정도 - **Impact**: 아이디어가 고객 가치로 전환되는 시간과 제품 전달 속도의 개선 - 생산성 향상은 속도만으로 판단할 수 없으며, 품질과 신뢰성을 유지하는지가 중요합니다. - 코드 생성이 빨라져도 결함과 재작업이 늘어난다면 실질적인 생산성 향상으로 볼 수 없습니다. ## 엔지니어링 업무 방식의 변화 - 에이전트가 구현을 더 많이 담당하면서 엔지니어의 역할은 다음 영역으로 이동합니다. - 문제와 의도 정의 - 요구사항과 코드베이스 맥락 정리 - 생성된 변경 검토 - 아키텍처 및 품질 판단 - 최종 결과에 대한 책임 - 도구만 배포한다고 에이전트 방식이 정착되지는 않습니다. - Dropbox는 실습 교육, 해커톤, 부트캠프, 워크플로 사례 공유, 동료 주도 학습 등을 활용해 팀의 적응을 지원합니다. - 팀마다 도입 속도와 필요한 안전장치가 다릅니다. - 고위험 시스템은 더 강한 검증과 명확한 가드레일이 필요합니다. - 격리되거나 위험도가 낮은 코드 영역은 더 빠르게 자동화할 수 있습니다. - 모든 작업을 에이전트로 처리하는 것이 목표가 아니라, 효과가 큰 영역에서 안전하고 반복 가능한 방식으로 사용하는 것이 목표입니다. ## AI가 옮겨 놓은 병목 - AI는 소프트웨어 개발의 병목을 제거하기보다 다른 단계로 이동시킵니다. - 코드 생성이 빨라질수록 다음 영역이 새로운 제약이 됩니다. - 리뷰 처리 용량 - 테스트와 검증 - 릴리스 조정 - 운영 및 장애 대응 - 따라서 조직은 모델이나 코드 생성 기능만 강화할 것이 아니라 다음 시스템에 투자해야 합니다. - 풍부한 코드베이스 컨텍스트 - 에이전트 오케스트레이션 - 품질 관리와 거버넌스 - 개발 워크플로 통합 - 결과와 고객 영향을 측정하는 체계 - 경쟁력은 누구나 접근할 수 있는 기반 모델보다, 그 모델을 실제 조직의 개발 과정에 연결하는 내부 시스템에서 나온다는 것이 글의 결론입니다. 실무적으로는 AI 도구 도입량보다 리뷰 지연, 테스트 성공률, 결함·재작업, 배포 리드타임, 고객 가치 전달 속도를 함께 추적하는 것이 중요합니다. 작은 범위의 반복 업무부터 에이전트를 적용하고, 사람의 승인과 명확한 안전장치를 포함한 워크플로로 확장하는 접근이 적절합니다.

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

AI는 QA를 대체하지 않았다, 대신 확장했다

생성형 AI는 QA를 대체하기보다 분산된 품질 정보를 구조화하고 QA의 사고 범위와 영향력을 확장한다. LINE Album QA는 AI를 단순한 문서 작성 도구가 아니라 Jira, Slack, 테스트 도구, 사용자 리뷰와 연결된 품질 워크플로로 재설계했다. 그 결과 AI는 반복적인 수집·분석·초안 작성을 담당하고, QA 엔지니어는 리스크 판단과 최종 의사 결정에 집중하게 됐다. ## QA의 본질은 테스트 실행이 아닌 품질 설계 - QA 엔지니어는 기획, 개발, 테스트, 릴리스 전 과정에서 품질 관점을 제공한다. - 기획 단계에서는 잠재 리스크를 식별하고, 개발 단계에서는 변경 사항의 영향 범위를 분석한다. - 릴리스 이후에는 사용자 리뷰와 운영 데이터를 제품 개선으로 연결한다. - 따라서 QA는 단순한 테스트 수행자가 아니라 제품 생명 주기를 연결하는 **품질 설계자(quality architect)**에 가깝다. - 생산성을 결정하는 핵심 요소는 테스트 속도보다 다음 정보를 얼마나 빠르게 구조화하고 맥락화하는가에 있다. - 기획·기술 문서 - Slack 논의와 의사 결정 - Jira 이슈와 작업 티켓 - 자동화 테스트 스크립트와 실행 로그 - 다국어 사용자 리뷰와 피드백 ## AI를 대화 도구에서 품질 워크플로로 전환 - 초기에는 AI를 문서 요약, 테스트 케이스 초안 작성, 버그 리포트 정리 등에 활용했다. - 그러나 사람이 정보를 수집해 AI에 입력해야 했기 때문에 개인 생산성 향상 이상의 효과에는 한계가 있었다. - LINE Album QA는 Jira 이슈 생성, PR 병합, 테스트 실행, 사용자 리뷰 수집 같은 품질 이벤트에 AI가 자동으로 반응하도록 운영 체계를 구축했다. - 현재 30개 이상의 워크플로가 운영되며, AI는 정보를 분석하고 구조화하는 품질 시스템의 일부로 작동한다. - QA 엔지니어는 정리 작업보다 결과를 기반으로 리스크를 판단하고 필요한 검증을 수행하는 데 집중한다. ## 스케줄링 기반 자동화 - 정해진 시간에 반복 실행하며 정기적인 품질 데이터를 수집·요약한다. - 주요 활용 사례: - App Store·Google Play 리뷰의 이슈 분류 및 요약 - API 자동화 테스트 결과 분석 및 Slack 공유 - UI 자동화 테스트 결과 리포트 생성 - 주간 QA 활동과 주요 이슈 보고서 작성 - QA가 여러 시스템에서 데이터를 직접 모으는 시간을 줄이고, 구조화된 결과를 바탕으로 판단할 수 있게 한다. ## 웹훅 기반 이벤트 트리거 - 품질 관련 이벤트가 발생하는 즉시 분석을 시작한다. - 주요 활용 사례: - PR 병합 후 코드 변경 내용과 잠재 영향 범위 요약 - Slack 논의 스레드 종료 후 의사 결정 회의록 생성 - 자동화 테스트 결과 업로드 후 실행 통계 분석 및 시각화 - 중요한 품질 신호를 정기 보고까지 기다리지 않고 빠르게 인지할 수 있다. ## 자동화된 QA 업무 흐름 - UI 자동화 테스트는 MagicPod으로 Android·iOS 테스트를 실행하고, 결과를 Jira와 Slack에 공유한다. - 테스트 실패 시 AI가 플레이키 테스트 여부와 실패 원인을 분석한다. - Pytest 기반 API 테스트도 동일하게 실행 결과를 Jira와 Slack에 자동 반영한다. - 데일리 스크럼 전에는 테스트 현황, 미해결 이슈, QA 확인 필요 항목, Jira 멘션을 자동으로 정리한다. - 앱 리뷰는 긍정·부정 여부를 분류하고 일본어·한국어로 번역·요약한 뒤 일별·월별로 공유한다. - QA 엔지니어는 집중 업무 시간에 자동 수집된 정보를 활용해 품질 계획과 테스트 전략을 수립한다. - AI가 데이터를 수집·분석하는 동안 QA는 최종 판단, 수동·자동 테스트, 워크플로 개선을 담당한다. ## AI와 테스트 케이스 설계 - 2026년 기준 전체 테스트 케이스의 약 90%는 AI가 초안을 생성한다. - 단순히 요구 사항만 입력하면 일반적인 정상 흐름과 예외 케이스는 만들 수 있지만, 제품의 실제 맥락과 과거 결함을 반영하기 어렵다. - 이를 보완하기 위해 다음 정보를 AI의 입력 맥락으로 연결했다. - 기능 명세와 개발 티켓 - 변경 배경 - 과거 Jira 이슈 - 테스트 이력 - 반복적으로 발생한 결함 패턴 - 오케스트레이터 에이전트와 5개 서브 에이전트가 역할을 나누어 테스트 설계를 수행한다. - **Plan-Analyzer**: 기획 문서, 기능 설명, 이미지에서 기본 흐름 분석 - **Dev-Analyzer**: 개발 티켓과 구현 정보 분석 - **TestCase-Generator**: 정상·예외·경계값·플랫폼 차이·우선순위를 반영한 테스트 생성 - **TestCase-Validator**: 요구 사항 커버리지, 추적 가능성, Given/When/Then 형식, 플랫폼 커버리지 검증 - **Quality-Inspector**: 이전 피드백과 품질 평가를 반영해 다음 실행의 개선점 축적 - 과거에 실제로 발생한 결함 패턴까지 참고해 명세에 없는 유사 결함 시나리오도 확장한다. - 검증 결과가 부족하면 생성 단계로 피드백을 보내는 반복 루프를 통해 실행 가능한 테스트 케이스로 다듬는다. ## 실용적인 결론 AI 도입의 핵심은 테스트 케이스를 많이 생성하는 데 있지 않고, 기획·개발·운영·사용자 피드백을 연결해 품질 판단에 필요한 맥락을 자동으로 제공하는 데 있다. 효과적인 QA 자동화를 위해서는 AI를 개별 도구로 사용하기보다 품질 이벤트를 감지하고 분석·공유하는 워크플로로 통합해야 하며, 최종 리스크 판단과 의사 결정은 QA가 담당하는 구조가 바람직하다.

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

AI 리더들이 디자인 플레이북을 활용하는 방법 | Figma 블로그

AI 전환을 성공시키는 리더는 단순히 새로운 도구를 도입하는 기술자가 아니라, 디자인 원칙에 따라 일하는 방식을 재설계하는 사람이다. 이들은 AI를 직접 사용해 특성을 익히고, 조직 구성원의 실제 업무 흐름을 관찰하며, 아이디어를 프로토타입으로 구체화한다. 중요한 것은 도구 도입 자체가 아니라 팀의 행동과 시스템을 실질적으로 변화시키는 것이다. ## AI 리더의 역할과 ‘보여주기식 진전’의 함정 - AI 혁신·가속화 역할은 다음과 같은 일을 담당한다. - 업무 흐름을 빠르게 개선 - AI 기반 기능 출시 촉진 - 조직 전반의 도구 도입 지원 - 제품, 고객 지원, 내부 업무에 AI를 적용하는 방향 조율 - AI 도입이 확산되면서 워크플로와 시스템뿐 아니라 이를 사용하는 팀 자체도 변화시켜야 한다. - 새로운 도구를 도입했다는 사실만으로 성과를 증명하려는 **‘보여주기식 진전(performative progress)’**에 빠질 수 있다. - 효과적인 리더는 도구를 추가하는 데 그치지 않고, AI 시대에 맞는 새로운 업무 방식을 설계한다. ## 직접 사용하며 AI라는 재료 익히기 - 디자인의 기본 원칙은 다루는 재료를 직접 사용해 깊이 이해하는 것이다. - AI 리더도 전략적 관점에만 머물지 말고 직접 프롬프트를 작성하고 에이전트를 만들어야 한다. - 여러 AI 도구를 실제로 사용하면 다음을 파악할 수 있다. - 도구의 장점과 한계 - 확률적 결과가 만들어내는 불확실성 - 실제 업무에서 발생하는 트레이드오프 - 도입 과정에서 사용자가 겪는 마찰 - 업무 외 영역에서 AI를 실험하는 것도 유용하다. - 여행 계획 - 집 꾸미기 - 생일 파티 준비 - 봉사활동 관리 - 이런 경험은 단순한 호기심 충족이 아니라, AI의 동작 방식을 체득하는 **AI 활용 역량**의 일부다. ## 관찰을 통해 실제 업무 흐름 이해하기 - 리더가 AI를 직접 사용하는 것만으로는 부족하며, 조직의 여러 팀이 AI를 어떻게 활용하는지도 관찰해야 한다. - 도구의 기능이나 최종 산출물보다 중요한 것은 업무 과정에서 다음이 어디서 발생하는지 파악하는 것이다. - 병목 - 반복 작업 - 사용자의 불편 - 문제 해결을 촉진하는 지점 - 관찰 대상이 될 수 있는 신호는 다양하다. - Slack 대화 - 설문 응답 - 도구 사용 패턴 - 구성원의 기대와 불만 - 팀이 업무를 우회하거나 자체 해결책을 만드는 방식 - 문서상으로 완벽한 AI 자동화도 복잡한 기존 업무 흐름에 마찰을 추가하면 사용률이 정체될 수 있다. - 따라서 낮은 도입률을 단순히 사용자의 저항으로 해석하지 말고, 기존 프로세스와의 연결 방식에 문제가 없는지 확인해야 한다. ## 아이디어를 프로토타입으로 구체화하기 - 디자인은 관찰과 실행을 함께 요구한다. - AI 관련 아이디어는 나빠서 실패하는 것이 아니라, 팀이 아이디어를 구체적으로 상상하거나 검토하지 못해서 실패할 수 있다. - 초기 개념을 실제로 볼 수 있는 프로토타입으로 만들면 다음이 가능해진다. - 추상적인 아이디어를 시각화 - 팀 간 이해 차이 축소 - 빠른 피드백 수집 - 실행 가능성과 문제점 조기 검증 - 글에서는 Figma Make를 활용해 AI 아이디어를 유형화하고 실제 형태로 발전시키는 방법을 소개하려 한다. 제공된 본문은 이 섹션의 도입부에서 끝나므로 구체적인 사례와 후속 원칙은 포함되어 있지 않다. AI 전환을 추진할 때는 도구 도입 건수보다 실제 사용 경험과 업무 변화에 집중하는 것이 좋다. 리더가 직접 AI를 실험하고, 구성원의 업무를 관찰하며, 작은 프로토타입으로 아이디어를 검증하는 순환을 구축해야 한다.

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

빌드하는 곳 어디서나 도메인 등록: Cloudflare Registrar API 베타 출시 (새 탭에서 열림)

Cloudflare는 도메인 검색부터 구매까지의 전 과정을 프로그래밍 방식으로 처리할 수 있는 ‘Registrar API’ 베타 버전을 출시했습니다. 이번 서비스는 개발자가 코드 에디터나 터미널을 벗어나지 않고도 도메인을 즉시 확보할 수 있도록 설계되었으며, 특히 AI 에이전트가 사용자를 대신해 도메인을 제안하고 등록하는 ‘에이전트 중심 워크플로우’를 지원하는 데 중점을 두었습니다. 이를 통해 사용자는 프로젝트 빌드 과정에서 발생하는 도메인 구매의 번거로움을 최소화하고, Cloudflare의 정책에 따라 추가 수수료 없는 원가 수준의 도메인 서비스를 이용할 수 있습니다. **에이전트 및 자동화 중심의 설계** * **워크플로우 통합:** IDE(통합 개발 환경), 배포 파이프라인, 백엔드 서비스 등 소프트웨어가 구축되는 모든 환경에서 도메인 등록 기능을 직접 호출할 수 있습니다. * **AI 에이전트 최적화:** AI 에이전트가 이름 아이디어를 생성하고, 등록 가능 여부를 확인한 뒤, 사용자 승인을 거쳐 즉시 구매까지 완료하는 일련의 과정을 지원합니다. * **MCP(Model Context Protocol) 지원:** Cloudflare MCP를 통해 Cursor, Claude Code 등 MCP 호환 환경에서 별도의 커스텀 도구 정의 없이 바로 API를 발견하고 호출할 수 있습니다. **Registrar API의 핵심 기능** * **도메인 검색(Search):** 쿼리를 통해 후보 도메인 이름 목록과 예상 가격, 등록 가능 여부 등을 빠르게 반환합니다. * **실시간 가용성 확인(Check):** 캐시 데이터가 아닌 레지스트리에 직접 쿼리하여 실시간 가용성과 최종 확정 가격을 확인하며, 이는 등록 전 마지막 단계에서 데이터의 정확성을 보장합니다. * **도메인 등록(Register):** 최소한의 요청으로 구매를 완료하며, 계정에 설정된 기본 연락처와 결제 수단을 자동으로 사용합니다. 프리미엄 도메인 등록 시에는 명시적인 수수료 확인 절차를 포함합니다. **기술적 특징 및 보안** * **기본 개인정보 보호:** 도메인 등록 시 WHOIS 개인정보 보호 기능이 추가 비용 없이 기본적으로 활성화됩니다. * **비용 투명성:** Cloudflare Registrar의 철학에 따라 별도의 마크업(이윤) 없이 등록 대행 수수료 수준의 원가로 도메인을 제공합니다. * **비동기 처리 대응:** 즉시 완료되는 요청뿐만 아니라 시간이 소요되는 경우 폴링(polling)이 가능한 워크플로우 형태의 응답을 제공하여 시스템 안정성을 높였습니다. AI 기반 코딩 도구나 자동화된 인프라 구축 파이프라인을 운영 중인 개발자라면, Cloudflare Registrar API를 통해 도메인 확보 프로세스를 자동화해 보시기 바랍니다. 특히 새로운 프로젝트를 자주 런칭하는 팀의 경우, MCP를 활용해 AI 에이전트에게 도메인 관련 권한을 부여함으로써 아이디어 구상부터 서비스 연결까지의 시간을 획기적으로 단축할 수 있습니다.

gitlab원문

SmartBear QMetry GitLab 컴포넌트로 테스트 관리 효율화하기 (새 탭에서 열림)

SmartBear QMetry GitLab 컴포넌트는 GitLab CI/CD 파이프라인에서 생성된 테스트 결과를 QMetry Test Management Enterprise로 자동 업로드하여 테스트 관리 공수를 획기적으로 줄여줍니다. 이 통합은 수동 업로드로 인한 지연과 오류를 제거하고, 요구사항부터 실행 결과까지의 엔드투엔드 추적성을 보장하여 엔터프라이즈 환경에서의 품질 관리를 강화합니다. 결과적으로 개발 팀은 실시간 데이터와 AI 기반 인사이트를 바탕으로 더욱 빠르고 신뢰할 수 있는 릴리스 의사결정을 내릴 수 있습니다. **GitLab과 QMetry 통합의 주요 가치** * **수동 프로세스 제거**: JUnit, TestNG 등 다양한 형식의 테스트 결과를 파이프라인 완료 후 자동으로 업로드하여 QA 팀의 단순 반복 작업을 최소화합니다. * **추적성 및 규정 준수**: 테스트 결과를 특정 GitLab 커밋 및 빌드와 연결함으로써 금융, 항공우주, 의료 기기 등 규제 산업에서 필수적인 감사 추적(Audit Trail)을 완벽하게 지원합니다. * **피드백 루프 가속화**: 테스트가 완료되는 즉시 스테이크홀더가 결과를 확인할 수 있어, 문제 발생 시 즉각적인 조치가 가능하고 릴리스 주기가 단축됩니다. * **AI 기반 인사이트 활용**: 파이프라인의 실시간 데이터를 QMetry의 AI 엔진에 공급함으로써 취약한 테스트(Flaky tests) 식별 및 실패 예측의 정확도를 높입니다. **자동화된 테스트 결과 관리 워크플로우** * **테스트 실행**: GitLab CI/CD 파이프라인 내에서 단위 테스트, 통합 테스트 또는 E2E 테스트가 실행됩니다. * **결과 생성**: 테스트 도구에 의해 JUnit XML 또는 TestNG XML과 같은 표준 형식의 결과 파일이 생성됩니다. * **컴포넌트 호출**: GitLab CI/CD 카탈로그에 등록된 QMetry 컴포넌트가 파이프라인의 한 단계(Job)로 실행됩니다. * **API 자동 업로드**: 컴포넌트가 결과 파일을 읽어 QMetry API를 통해 지정된 프로젝트로 데이터를 전송하며, 이 과정은 별도의 수동 개입 없이 이루어집니다. **설정 및 보안 준비 사항** * **API 자격 증명**: QMetry Enterprise 인스턴스의 설정 메뉴에서 API Key를 생성해야 하며, 해당 키는 결과 업로드를 위한 쓰기 권한을 가져야 합니다. * **보안 유지**: 생성된 API Key는 보안을 위해 `.gitlab-ci.yml` 파일에 직접 노출하지 않고, 반드시 GitLab CI/CD 변수(Variables) 기능을 사용하여 관리해야 합니다. * **환경 구성**: 업로드를 위해 QMetry 인스턴스 URL(예: `https://company.qmetry.com`)과 테스트 결과를 업로드할 대상 프로젝트 정보를 사전에 확인해야 합니다. **실용적인 권장 사항** 데브섹옵스(DevSecOps) 성숙도를 높이려는 조직은 이 컴포넌트를 도입하여 '속도 기반의 품질 관리'를 실현할 수 있습니다. 특히 복잡한 규제 준수가 필요한 항공우주나 금융 분야의 팀에게는 이 자동화 도구가 감사 준비 시간을 단축하고 데이터 일관성을 유지하는 데 강력한 도구가 될 것입니다. 초기 설정 시 모든 테스트 결과를 한곳으로 모으는 것뿐만 아니라, QMetry 내에서 테스트 스위트 구조를 먼저 최적화한 후 자동화를 적용하는 것이 보다 체계적인 리포팅을 위해 권장됩니다.

gitlab원문

GitLab Duo CLI: 에이전트형 AI가 이제 터미널에서 제공됩니다 (새 탭에서 열림)

GitLab Duo CLI는 IDE를 넘어 터미널 환경에서 전체 소프트웨어 개발 생애주기(SDLC)를 지원하는 에이전트형 AI 도구입니다. 이 도구는 단순한 코드 완성을 넘어 파이프라인 디버깅, CI/CD 자동화 등 복잡한 작업을 수행하며, 인간의 승인을 거치는 대화형 모드와 자동화된 워크플로우를 위한 헤드리스 모드를 모두 지원합니다. 보안과 제어 권한을 플랫폼 수준에서 강화하여 개발자가 터미널 내에서 안전하고 효율적으로 에이전트 기반 AI의 성능을 활용할 수 있도록 설계되었습니다. **터미널 환경으로의 확장 배경** * 기존의 AI 비서들이 IDE 내에서 코드 작성(Auto-complete)에만 집중했던 것과 달리, Duo CLI는 테스트 실행, 파이프라인 트리거, 취약점 스캔 모니터링 등 개발 전 단계의 자동화를 목표로 합니다. * CLI는 출력을 파이프라인으로 연결하거나 명령어를 체이닝하고 스크립트에 삽입할 수 있어 기계와 인간 모두에게 유연한 인터페이스를 제공합니다. * IDE가 맥락 중심의 인터랙티브한 개발에 유리하다면, 터미널은 자동화, 이식성, 투명한 디버깅 측면에서 강력한 강점을 가집니다. **운영 모드 및 주요 기능** * **대화형 모드(Interactive mode):** 에디터와 무관한 터미널 채팅 환경을 제공하며, 모든 작업 실행 전 사용자의 승인을 거치는 'Human-in-the-loop' 방식을 따릅니다. 이를 통해 코드 구조 파악, 오류 수정, 파이프라인 트러블슈팅이 가능합니다. * **헤드리스 모드(Headless mode):** CI/CD 러너나 스크립트 내에서 사람의 개입 없이 독립적으로 작동하도록 설계되었습니다. * **에이전트 활용:** GitLab Duo Agent Platform에 정의된 모든 에이전트와 워크플로우에 접근할 수 있어 코드 리팩토링부터 복잡한 다단계 개발 작업까지 자율적으로 수행합니다. **보안 모델 및 가드레일** * **플랫폼 내장 보안:** 프롬프트 주입(Prompt injection) 탐지 기능을 플랫폼 수준에서 기본적으로 지원하여 외부 위협으로부터 시스템을 보호합니다. * **복합 ID(Composite identity):** 에이전트가 접근할 수 있는 범위를 엄격히 제한하며, AI가 수행하는 모든 행동에 대해 감사(Audit)가 가능하도록 기록을 남깁니다. * **사용자 정의 지침:** `chat-rules.md`, `AGENTS.md`, `SKILL.md`와 같은 설정 파일을 통해 에이전트에게 허용된 작업, 자원, 지식 범위를 명시적으로 정의하는 '최소 권한 원칙'을 적용합니다. **실용적인 제언** GitLab Duo CLI는 현재 공개 베타 상태로 제공되고 있습니다. 기존 GitLab CLI(`glab`) 사용자는 `glab duo cli` 명령어를 통해 즉시 설치 및 구성이 가능합니다. 반복적인 파이프라인 문제 해결이나 대규모 코드 현대화 작업을 자동화하려는 팀은 대화형 모드로 충분히 검증을 거친 후, 헤드리스 모드를 CI/CD 파이프라인에 통합하여 생산성을 극대화할 것을 추천합니다.

grammarly원문

AI 챗이란 무엇인가? 정의, 작동 원리 및 주요 이점 (새 탭에서 열림)

AI 채팅은 정해진 시나리오를 따르는 기존 챗봇과 달리 거대언어모델(LLM)을 통해 실시간으로 답변을 생성하고 대화의 맥락을 이해하는 기술입니다. 사용자는 자연어 프롬프트를 통해 복잡한 요청을 수행하고 대화의 흐름에 따라 결과물을 지속적으로 개선할 수 있는 유연성을 얻게 되었습니다. 결국 AI 채팅은 단순한 질의응답 도구를 넘어 창의적 협업과 효율적인 문제 해결을 돕는 강력한 지능형 파트너로 진화하고 있습니다. ### AI 채팅의 핵심 작동 원리와 LLM * **거대언어모델(LLM) 기반 학습**: 수조 개의 텍스트 데이터를 통해 언어의 패턴을 학습하며, 단순히 정답을 암기하는 것이 아니라 단어와 개념 간의 관계를 파악해 본 적 없는 질문에도 논리적인 답변을 구성합니다. * **자연어 처리(NLP)를 통한 의도 해석**: 머신러닝 기반의 NLP를 활용해 사용자의 단순 키워드뿐만 아니라 어조, 의도, 맥락을 분석하여 비정형적인 요청도 정확하게 이해합니다. * **실시간 확률적 단어 생성**: 저장된 답변을 불러오는 방식이 아니라, 이전 단어들을 바탕으로 다음에 올 가장 확률 높은 단어를 실시간으로 예측하며 동적으로 문장을 만들어냅니다. * **대화 맥락 유지와 피드백**: 이전 대화 내용을 기억하여 "그 내용을 요약해줘"와 같은 지시어의 대상을 파악하며, 사용자의 추가 요청이나 수정 사항을 즉각적으로 반영합니다. ### 기존 챗봇과 AI 채팅의 차이점 * **규칙 기반 vs 생성 기반**: 기존 챗봇이 정해진 의사결정 트리나 스크립트에 의존해 제한된 답변만 하는 반면, AI 채팅은 학습된 모델을 통해 매번 새로운 답변을 생성합니다. * **작업의 범위**: 기존 방식은 예약이나 FAQ 응답 등 좁고 반복적인 업무에 특화되어 있지만, AI 채팅은 브레인스토밍, 코딩 보조, 복잡한 개념 설명 등 개방형 작업에 적합합니다. * **상호작용의 유연성**: 사용자가 대화 도중 주제를 바꾸거나 세부 사항을 수정해도 AI 채팅은 그 흐름을 따라가며 유연하게 대응할 수 있습니다. ### 주요 활용 사례 및 생산성 향상 * **글쓰기 및 편집**: 이메일 초안 작성부터 보고서의 톤 조절, 긴 문서 요약까지 텍스트와 관련된 다양한 작업을 수행하며 실시간 수정을 통해 완성도를 높입니다. * **아이디어 브레인스토밍**: 새로운 기획안의 개요를 잡거나 특정 주제에 대한 다양한 관점을 제시받는 등 창의적 사고를 돕는 도구로 활용됩니다. * **코드 생성 및 학습**: 프로그래밍 관련 질문에 답하거나 코드 오류를 수정하고, 복잡한 전문 지식을 사용자의 수준에 맞춰 쉽게 설명해 줍니다. ### 효과적인 활용을 위한 지침과 한계 * **명확한 프롬프트 작성**: 최선의 결과를 얻기 위해서는 구체적인 배경 정보, 목표, 선호하는 스타일을 포함하여 AI에게 명확한 맥락을 제공해야 합니다. * **지속적인 미세 조정**: 모델은 초기 학습 이후에도 인간의 피드백(RLHF)과 정교한 튜닝 과정을 거쳐 안전성과 정확성을 지속적으로 개선합니다. * **비판적 검토 필수**: AI는 사실관계 오류(환각 현상)를 일으키거나 학습 데이터의 편향을 드러낼 수 있으므로, 생성된 결과물에 대한 사용자의 최종 검증이 반드시 필요합니다. AI 채팅은 기술과 상호작용하는 방식을 근본적으로 바꾸고 있습니다. 단순한 검색을 넘어 AI와 대화하며 생각을 구체화하고 작업을 완성해 나가는 과정은 현대 업무 환경에서 필수적인 역량이 될 것입니다. 기술의 한계를 인지하되 적극적으로 맥락을 공유하며 협업할 때 AI 채팅의 가치를 극대화할 수 있습니다.

gitlab원문

GitLab 18.10: 에이전틱 AI, 이제 GitLab의 더 많은 팀이 사용 가능 (새 탭에서 열림)

GitLab 18.10 업데이트를 통해 GitLab.com의 Free 티어 팀도 구독 등급을 업그레이드할 필요 없이 'GitLab Credits'를 구매하여 에이전트 기반 AI(Agentic AI) 기능을 즉시 사용할 수 있게 되었습니다. 이제 팀 규모나 구독 요금제에 구애받지 않고 사용한 만큼만 비용을 지불하는 방식으로 고성능 AI 에이전트와 워크플로우를 도입할 수 있습니다. 이를 통해 중소규모 팀도 자동화된 코드 리뷰, 기획 지원, 파이프라인 진단 등 고급 개발 도구를 활용하여 소프트웨어 개발 속도를 획기적으로 높일 수 있는 길이 열렸습니다. ### GitLab Credits를 통한 AI 접근성 확대 * **사용량 기반 과금 모델:** 사용자당 비용을 지불하는 대신, AI가 수행한 작업량에 따라 비용을 지불하는 공유 크레딧 풀 방식을 도입했습니다. * **즉각적인 도입:** 별도의 유료 요금제 업그레이드 없이 그룹 빌링 설정에서 월 단위 크레딧을 구매하는 것만으로 GitLab Duo Agent Platform 기능을 바로 사용할 수 있습니다. * **투명한 대시보드:** 관리자는 어떤 AI 에이전트와 흐름이 크레딧을 소비하고 있는지 실시간으로 모니터링하여 AI 투입 비용 대비 생산성을 직접 확인 가능합니다. ### 효율적인 개발을 돕는 주요 AI 워크플로우 * **Planner Agent:** 자연어로 요구사항을 설명하면 이를 구조화된 이슈(Issue)로 변환하고, 레이블 지정 및 관계 설정을 자동화하여 기획 시간을 단축합니다. * **Developer Flow:** 이슈의 맥락을 읽고 코드를 생성하며, 테스트 실행 후 병합 요청(Merge Request) 생성까지의 과정을 에이전트가 주도합니다. * **Code Review Flow:** 코드 변경 사항과 리포지토리 맥락을 분석하여 구조화된 인라인 피드백을 제공함으로써 인간 리뷰어의 피로도를 낮춥니다. * **Fix CI/CD Pipeline Flow:** 파이프라인 실패 로그를 분석하여 근본 원인을 추적하고 수정 사항을 제안하여 수동 디버깅 시간을 줄여줍니다. ### 코드 리뷰 비용의 예측 가능성 확보 * **정액제 적용:** 코드 리뷰 흐름은 병합 요청의 크기나 리포지토리의 복잡도에 상관없이 리뷰당 0.25 크레딧(1크레딧당 4회 리뷰 가능)의 고정 비용이 발생합니다. * **병목 현상 해소:** 수백 개의 코드 리뷰를 동시에 처리할 수 있어 리뷰 대기 시간을 없애고 전체 개발 사이클을 가속화합니다. * **비용 효율성:** 수동 리뷰 시 발생하는 시간 소모와 컨텍스트 스위칭 비용을 고려할 때, 규모가 커질수록 자동화된 코드 리뷰의 경제적 가치가 커집니다. ### Premium 요금제로의 확장 가치 * **번들 크레딧 제공:** GitLab Premium 사용자는 사용자당 월 12크레딧을 프로모션 혜택으로 제공받아 추가 비용 없이 대량의 AI 워크플로우를 운영할 수 있습니다. * **통합 개발 환경:** AI 기능 외에도 고성능 CI/CD, 병합 승인 프로세스(Merge Approvals), 코드 오너(Code Owners) 등의 거버넌스 기능을 함께 활용할 수 있습니다. * **확장성:** Free 티어에서 크레딧을 사용하며 AI의 효용성을 확인한 팀은 번들 크레딧과 고급 기능이 포함된 Premium 요금제로 자연스럽게 전환하여 운영 효율을 극대화할 수 있습니다. 소규모 팀이라면 우선 Free 티어에서 소량의 크레딧을 구매하여 자동 코드 리뷰와 기획 에이전트의 성능을 테스트해 보길 추천합니다. AI 도구가 팀의 핵심 워크플로우로 자리 잡고 리뷰량이 월 수백 건 이상으로 늘어난다면, 기본 크레딧이 포함된 Premium 요금제로 전환하는 것이 비용과 기능 측면에서 가장 합리적인 선택이 될 것입니다.

github4분 읽기큐레이션 요약

초보자를 위한 GitHub: GitHub Actions 시작하기

GitHub Actions는 GitHub에 내장된 CI/CD 및 자동화 플랫폼으로, YAML 워크플로를 통해 반복 작업과 배포 과정을 자동화한다. 저장소 이벤트가 발생하면 가상 실행 환경에서 작업을 수행하며, 글에서는 새 이슈에 `triage` 라벨을 자동으로 붙이는 첫 워크플로를 만드는 과정을 설명한다. 핵심 구성 요소는 이벤트(`on`), 실행 환경(`runs-on`), 작업(`jobs`), 단계(`steps`), 권한(`permissions`)이다. ## GitHub Actions의 역할 - GitHub Actions는 지속적 통합·지속적 배포(CI/CD)와 자동화를 위한 플랫폼이다. - YAML 파일로 다음과 같은 작업을 자동화할 수 있다. - 취약점 검사 - 테스트 실행 - 릴리스 생성 - 팀에 업데이트 알림 - 배포 프로세스 - 워크플로는 저장소에 저장되며, 코드 푸시·풀 리퀘스트·이슈 생성·예약된 시간 등의 이벤트로 실행된다. - 이벤트가 발생하면 GitHub가 가상 환경을 준비하고 정의된 작업을 자동으로 실행한다. ## 워크플로를 구성하는 요소 - **이벤트(Event)** - 워크플로를 시작시키는 저장소 활동이다. - 예: 코드 푸시, 풀 리퀘스트 생성, 이슈 생성, 브랜치 병합 - **실행기(Hosted runner)** - 워크플로의 작업을 실행하는 가상 머신이다. - GitHub가 제공하는 Ubuntu, Windows, macOS 실행기를 사용할 수 있다. - 필요하면 자체 호스팅 실행기를 구성할 수도 있다. - **작업(Job)** - 하나의 실행기에서 수행되는 단계들의 묶음이다. - **단계(Step)** - 셸 명령을 실행하거나 미리 만들어진 재사용 가능한 액션을 호출한다. ## Actions 탭과 워크플로 템플릿 - 저장소의 **Actions** 탭에서는 현재 저장소에 등록된 워크플로를 확인할 수 있다. - **New workflow**를 선택하면 저장소에 적합한 추천 템플릿을 확인할 수 있다. - 템플릿은 YAML 편집기로 열리며, 기본적으로 다음 세 영역을 포함한다. - `name`: 워크플로의 목적을 설명하는 이름 - `on`: 워크플로를 실행할 이벤트 - `jobs`: 실제 작업 내용 ## YAML 워크플로 파일 작성 - 워크플로 파일은 저장소의 `.github/workflows` 디렉터리에 `.yml` 확장자로 저장한다. - 파일명은 `build-and-test.yml`, `security-scanner.yml`처럼 역할을 바로 알 수 있게 작성하는 것이 좋다. - 예제에서는 `label-new-issue.yml` 파일을 만들고 새 이슈에 라벨을 자동으로 추가한다. - 워크플로 이름은 다음과 같이 지정한다. ```yaml name: Label New Issues ``` ## 이슈 생성 이벤트 설정 - `on` 키워드로 워크플로의 실행 조건을 정의한다. - 다음 설정은 이슈가 새로 생성될 때만 워크플로를 실행한다. ```yaml on: issues: types: [opened] ``` - GitHub Actions는 다양한 이벤트와 세부 이벤트 유형을 지원하므로, 작업 목적에 맞는 트리거를 선택할 수 있다. ## 작업 환경과 권한 설정 - `jobs` 아래에 작업 이름을 지정한다. - `runs-on: ubuntu-latest`는 GitHub가 제공하는 최신 Ubuntu 실행기를 사용한다는 의미다. - 작업이 저장소를 읽고 이슈 라벨을 수정하려면 적절한 권한을 명시해야 한다. ```yaml jobs: label-issues: runs-on: ubuntu-latest permissions: issues: write contents: read ``` - `issues: write`는 이슈를 수정할 수 있는 권한이다. - `contents: read`는 저장소 콘텐츠를 읽을 수 있는 권한이다. - 작업 수준에서 `permissions`를 지정하면 해당 작업의 액션과 명령에 그 권한이 적용된다. ## 저장소 확인과 라벨 추가 단계 - `steps`에는 작업에서 순서대로 수행할 동작을 작성한다. - `actions/checkout@v6` 액션으로 저장소 코드를 실행 환경에 내려받는다. - 이후 GitHub CLI를 사용해 새 이슈에 `triage` 라벨을 추가한다. ```yaml steps: - name: Checkout repository uses: actions/checkout@v6 - name: Add triage label env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} ISSUE_NUMBER: ${{ github.event.issue.number }} LABEL: "triage" run: gh issue edit "$ISSUE_NUMBER" --add-label "$LABEL" ``` - `uses`는 GitHub Marketplace의 미리 만들어진 재사용 액션을 호출한다. - 저장소 체크아웃 - Node.js 설정 - 기타 반복적인 개발 작업 등에 활용할 수 있다. - `run`은 실행기에서 셸 명령을 직접 실행한다. - `GH_TOKEN`에는 GitHub가 제공하는 `GITHUB_TOKEN`을 사용한다. - `${{ github.event.issue.number }}`는 이벤트 정보에서 새로 생성된 이슈 번호를 가져온다. - `gh issue edit` 명령은 해당 이슈에 `triage` 라벨을 추가한다. 처음에는 GitHub Actions의 템플릿을 활용해 간단한 이벤트 기반 자동화를 만들어 보는 것이 좋다. 이후 이벤트 조건, 최소 권한, 재사용 액션과 직접 실행 명령을 조합하면 테스트·보안 검사·이슈 관리·배포까지 확장할 수 있다.

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