개요
AI를 사용하는 곳은 정말 많다.
링크드인을 3분만 둘러보면 너도 나도 모두 AI 이야기만 한다.
그러나 이러한 글들이 많다고해서 실제로 AI를 사용하는 사람이 정말 많을까?
많은 보안 컴플라이언스 요건을 무시하고도 사용하는 곳이 정말 많을까?
아니라고 생각한다.
거부감이 있는사람부터 보안적 신뢰를 하지 못해서 사용하지 못하는 사람등 정말 다양하다고 생각한다.
정말 안전한가?
보안적으로 안전한지는 솔직하게 말해서 "모르겠다"
그러나 당신이 개발자라면 한가지 묻고 싶다. '당신이 작성한 코드가 그렇게나 유출되면 크리티컬한가?'
Github에 있는 이름모를 인도 개발자, 중국의 신원미상 개발자들이 올린 코드보다 더욱 좋은 퀄리티를 가졌는가?
물론 아이디어나 사업모델에 대한 보안유출이 걱정되는 것이면 걱정하는 방향이 올바르다고 할 수 있다.
그러한 부분은 스스로 잘 검열하여 AI를 사용하면 오히려 좋은 결과를 얻을 수 있다고 생각한다.
단순한 로직, 코드 퀄리티는 AI가 훨씬 높다는 점을 인지하고 있으면 좋겠다.
어떻게 생산성을 늘릴 수 있을까?
아래는 github에 내가 올린 가벼운 프로젝트다.
https://github.com/High-PO/gws
GitHub - High-PO/gws: How do you use AWS CLI v2 as an IAM user with MFA enabled?
How do you use AWS CLI v2 as an IAM user with MFA enabled? - High-PO/gws
github.com
이 코드는 Mac에서 여러 AWS 계정을 스위칭해가면서 MFA인증을해 세션을 여는 프로그램을 담은 프로젝트이다.
단순히 회사에서할때 너무 귀찮고 오래걸리는 작업을 집에서 AI를 통해서 자동화 및 프로그램화를 시킨 것 이다.
모든 코드는 GO언어로 작성하였고, AI를 사용해서 개발했다.
코드라인을 보면 AI 티가 많이 난다.
e.g.)
func showDetailedUsage() {
fmt.Println("GWS - Go + AWS CLI v2")
fmt.Println("=====================")
fmt.Println("A tool to easily use AWS CLI v2 as an MFA-enabled IAM user on macOS.")
fmt.Println()
fmt.Println("USAGE:")
fmt.Println(" gws <mfa-token> # Use default AWS profile with MFA token")
fmt.Println(" gws <profile> <mfa-token> # Use specific AWS profile with MFA token")
fmt.Println(" gws help # Show this help message")
fmt.Println(" gws help <command> # Show detailed help for a specific command")
fmt.Println(" gws --version # Show version information")
fmt.Println()
fmt.Println("EXAMPLES:")
fmt.Println(" 1. Using default profile:")
fmt.Println(" $ gws 123456")
fmt.Println(" This will authenticate using your default AWS profile with MFA token 123456")
fmt.Println()
fmt.Println(" 2. Using a specific profile:")
fmt.Println(" $ gws production 654321")
fmt.Println(" This will authenticate using the 'production' AWS profile with MFA token 654321")
fmt.Println()
fmt.Println("ARGUMENTS:")
fmt.Println(" <profile> AWS profile name configured in ~/.aws/config")
fmt.Println(" <mfa-token> 6-digit code from your MFA device (e.g., Google Authenticator)")
fmt.Println()
fmt.Println("NOTES:")
fmt.Println(" - MFA serial numbers are stored in ~/gws/config.json per profile")
fmt.Println(" - On first use with a profile, you'll be prompted for the MFA serial number")
fmt.Println(" - The tool creates a new shell session with temporary AWS credentials")
fmt.Println(" - Credentials are valid for 12 hours by default (AWS STS limitation)")
fmt.Println()
fmt.Println("For more information on a specific command, use: gws help <command>")
fmt.Println을 정말 많이 사용했다.
효율적으로도 코드라인을 사용하는 것이 가능하지만 리팩토링을 하지 않은 탓이라고 볼 수 있다.
결론적으로 저 프로그램의 효율성은 어떠한가?
실제로 나의 생산성을 올려주었다.
MFA인증을하며 계정을 왔다 갔다하는게 힘들었고 각 커멘드를 여러번 수정하면서 사용하는 것은 재사용성이 떨어진다고 볼 수 있다.
DevOps가 하는 업무중 하나인 "자동화"에서 비효율을 느끼고 개선하게 된 것이다.
어떻게 하였고 얼마나 걸렸는지 말해보자면
클루드코드 설치: 3분
클루드코드로 작업: 0분 = 실제로 작업하는 동안 나는 내 할일을 했다.
트러블슛팅: 0분 = 또 AI가 작업하는 동안 나는 내 할일을 했다.
총합: 3분
말도 안되지 않는가? 3분으로 내가 평소 매일 낭비했던 10분을 절약했다.
작년 7월부터 지금까지 1년이고 매주 5일간 근무했으니 단순 계산으로만 해도 2,400분이 낭비된 것이다.
고작 3분으로 2,400분인 40시간을 절약했다고 생각하면 괜찮은 생산성 향상이라고 생각한다.
현재 시장에는 다양한 AI툴이 존재한다. ChatGPT, 클루드, 클루드코드, 윈드서프, 제미나이 CLI, 커서, 코파일럿 등등
이러한 툴을 자신에게 맞게 사용한다면 최고의 성능을 낼 수 있을 것이다.
결론
자신에게 맞는 AI를 잘 활용한다면 낭비하는 시간만큼을 절약하고 이를 토대로 더 많은 생산성을 확보할 수 있다.
단순히 업무뿐만이 아니라 자신의 취미생활, 자기개발등 다양한 분야에서 이를 확보할 수 있으니 모두 한번정도는 진지하게 고민해보는 것이 좋을 것 같다.
다음글에서는 해당 글 내용을 입증하기 위한 테스트를 한가지 해볼 예정이다.
(누구나 가능한 클루드 코드를 이용한 자동화 프로그램 개발)