ai-code-assistants

1 개의 포스트

gitlab

에이전트형 AI, MCP 및 AI 코딩 어시스턴스를 어떻게 거버넌스할 것인가 (새 탭에서 열림)

에이전틱 AI는 코드 제안만 하는 보조 도구와 달리, 도구 호출·설정 변경·머지 리퀘스트 생성·배포까지 수행할 수 있어 기존의 인간 중심 검토 방식만으로는 충분히 통제하기 어렵다. 따라서 조직은 모델 성능보다 에이전트의 신원, 권한 범위, 데이터 접근, 실행 기록을 관리하는 거버넌스 체계를 먼저 마련해야 한다. 핵심은 모든 작업을 막는 것이 아니라, 자율 실행과 인간 승인이 필요한 경계를 명확히 정하고 사후 감사가 가능하도록 만드는 것이다. ## 에이전틱 AI에 별도 거버넌스가 필요한 이유 - 기존 AI 코드 자동완성은 개발자가 제안을 보고 승인하거나 거부하므로, 모든 코드에 인간 검토가 개입한다. - 에이전틱 AI는 테스트 실행, CI/CD 설정 변경, 파일 작성·삭제, 코드 푸시 등 여러 단계를 연속적으로 수행할 수 있다. - MCP(Model Context Protocol)를 사용하면 에이전트가 외부 도구와 데이터에 연결되므로 접근 권한과 실행 범위가 더욱 중요해진다. - 거버넌스의 핵심 질문은 다음과 같다. - 에이전트가 무엇에 접근할 수 있는가? - 어떤 작업을 수행하도록 승인되었는가? - 실제로 어떤 작업을 했으며, 이를 사후에 증명할 수 있는가? - 조사 결과에서도 AI 코드의 장기 유지보수와 기술 부채 증가가 주요 우려로 나타났다. - 개발자·기술 리더의 73%가 AI 생성 코드의 장기 유지보수를 우려했다. - 86%는 명확한 거버넌스가 없으면 기술 부채가 기존 개발 방식보다 빠르게 누적될 수 있다고 답했다. - DevSecOps 전문가의 92%는 AI 생성 코드와 관련된 거버넌스 문제를 경험했다. ## MCP와 에이전트 권한 통제 에이전트가 외부 도구를 호출할 수 있게 되면 권한 관리가 가장 중요한 통제 지점이 된다. - 에이전트와 작업 흐름의 중앙 카탈로그를 운영한다. - 팀마다 임의로 통합 기능을 만들게 하지 않고, 관리자가 승인된 에이전트와 플로우만 조직에 배포한다. - 기존 역할·그룹 구조와 연계해 프로젝트별 사용 범위를 관리한다. - 복합 신원(composite identity)을 사용한다. - 에이전트의 활동을 에이전트 자체의 작업으로만 기록하지 않고, 작업을 요청한 인간 사용자와 연결한다. - 리소스 접근 시 에이전트와 요청 사용자 모두 인증·인가되어야 한다. - 도구별 승인 정책을 설정한다. - 안전한 도구는 자율 실행을 허용한다. - 파일 작성, 리소스 삭제처럼 민감한 작업은 인간 승인 후 실행되도록 한다. - 위험한 도구는 아예 차단할 수 있어야 한다. - 프롬프트 가드레일을 마련한다. - 웹페이지, 이슈 댓글, 외부 파일 등 신뢰할 수 없는 입력이 에이전트의 행동을 조작하는 프롬프트 인젝션을 탐지한다. - 단순히 실행 결과를 기록하는 것을 넘어, 공격 시도를 실행 전에 차단해야 한다. 이러한 통제는 인간 사용자에게 적용하는 역할 기반·감사 가능·일관된 권한 모델과 동일한 수준으로 에이전트에도 적용되어야 한다. ## 데이터 privacy와 자체 호스팅 소스 코드를 외부 AI 서비스에 제공할 때는 데이터 처리와 소유권을 명확히 확인해야 한다. - 공급자가 고객 코드를 모델 학습에 사용하는지 확인한다. - 입력 데이터와 AI가 생성한 출력의 소유권을 확인한다. - 하위 처리자(subprocessor)의 위치와 목록 변경 통지 정책을 검토한다. - 규제 산업에서는 데이터가 조직 외부 인프라로 나가지 않아야 할 수 있으므로 자체 호스팅이 중요한 통제 수단이 된다. - 자체 호스팅을 사용하면 다음을 함께 달성할 수 있다. - 조직이 통제하는 인프라에서 에이전트 실행 - 팀별 사용량과 활동 추적 - 규제기관의 데이터 보관·처리 요구 충족 - BYOM(Bring Your Own Model)을 활용하면 내부 검증을 마친 모델을 연결하고, 특정 에이전트 플로우에만 지정할 수 있다. - 민감한 작업은 신뢰할 수 있는 자체 모델에 고정한다. - 상대적으로 덜 민감한 작업은 관리형 모델을 사용할 수 있다. ## 인간 검토가 필요한 지점 정의 거버넌스는 에이전트의 자율 실행을 전면 금지하는 것이 아니라, 자율성이 끝나고 인간 검토가 시작되는 지점을 결정하는 것이다. - 대화형 작업 - 개발자가 실시간으로 제안을 확인하고 승인·거부한다. - 일반적인 AI 코드 자동완성에 가까운 방식이다. - 자동화·헤드리스 작업 - CI/CD 파이프라인에서 개발자의 실시간 관찰 없이 에이전트가 실행된다. - 실행 전에 도구 승인 절차를 거치거나, 실행 직후 감사 로그를 통해 사람이 검토해야 한다. ### 검토 지점별 통제 방식 - 코드 리뷰 - 에이전트가 생성한 머지 리퀘스트라도 일반 코드와 동일하게 승인 정책을 적용한다. - 지정된 담당자의 승인이 없으면 병합되지 않도록 한다. - 테스트와 검증 - 필수 테스트, 보안 스캔, 품질 검사를 통과해야 다음 단계로 진행하도록 파이프라인에서 강제한다. - 배포 - 운영 배포처럼 영향이 큰 작업은 명시적인 인간 승인을 요구한다. - 도구 실행 - 도구별로 자율 실행, 승인 대기, 실행 차단 중 하나를 지정한다. - 조직 정책 - 팀별 관행에 맡기지 말고 조직 전체의 AI 사용·승인·감사 정책으로 표준화해야 한다. - 이렇게 해야 사용 방식이 일관되고, 감사 담당자가 AI 활용 과정을 검증할 수 있다. ## 실용적인 적용 방향 조직은 에이전트 도입 전에 승인된 에이전트 목록과 모델 목록을 만들고, 사용자·에이전트의 복합 신원, 프로젝트별 권한, 도구별 승인 정책, 데이터 처리 위치를 정의해야 한다. 이후 머지 승인, 보안 스캔, 배포 승인 같은 기존 개발 통제 지점을 에이전트 작업에도 동일하게 적용하고, 모든 실행을 추적 가능한 감사 로그로 남기는 것이 바람직하다.