5W1H는 AI에게 명확한 컨텍스트와 목표를 제공하여 원하는 결과를 정확하게 얻기 위한 훌륭한 프레임워크입니다.
5W1H는 누가(Who), 무엇을(What), 언제(When), 어디서(Where), 왜(Why), 어떻게(How) 요소를 채워 프롬프트를 구체적으로 작성하는 방법입니다. 이는 모델에게 제공하는 정보와 맥락을 명확히 하여, AI가 보다 정확한 답변을 제공할 수 있도록 합니다.
5W1H를 활용한 프롬프트 설계 방법 📝
5W1H(누가, 무엇을, 언제, 어디서, 왜, 어떻게) 각 요소에 맞춰 AI에게 정보를 제공하면, AI는 사용자의 의도를 훨씬 더 잘 파악하고 정확한 결과물을 생성합니다.
1. Who (누가) - 역할 지정
AI에게 특정 전문가의 **역할(Persona)**을 부여하여 답변의 관점과 깊이를 정합니다.
Before: 쿼리 만들어줘
After: 너는 20년차 MSSQL 데이터베이스 관리자(DBA)야.
2. What (무엇을) - 작업 정의
수행해야 할 **핵심 작업(Task)**을 명확하고 구체적으로 지시합니다.
Before: 직원 데이터 좀 줘
After:2024년도에 입사한 서울 지역 근무자들의 이름, 부서, 입사일을 조회하는 쿼리를 만들어줘.
3. When (언제) - 시점 명시
데이터의 시간적 범위를 지정하여 원하는 기간의 정보만 필터링하도록 합니다.
Before: 판매 실적 알려줘
After:2025년 3분기(7월 1일부터 9월 30일까지)의 일일 판매 총액을 알려줘.
4. Where (어디서) - 환경/출처 지정
작업이 이루어져야 할 **환경이나 데이터의 출처(Source)**를 알려줍니다. 테이블이나 데이터베이스 이름을 명시하는 것이 대표적입니다.
Before: 직원 테이블에서 찾아봐
After:SalesDB 데이터베이스의 Employees 테이블과 Departments 테이블을 사용해서 찾아봐.
5. Why (왜) - 목적 설명
이 작업을 수행하는 **궁극적인 목적(Purpose)**을 설명하여 AI가 더 나은 해결책을 제안하도록 유도합니다.
Before: 오래된 주문 찾아줘
After:장기 미사용 고객에게 마케팅 이메일을 보내기 위해, 최근 1년 동안 구매 기록이 없는 고객 목록을 추출하고 싶어.
6. How (어떻게) - 형식/조건 지정
결과물의 형식(Format)이나 스타일, 따라야 할 특정 조건을 구체적으로 요구합니다.
Before: 쿼리 짜줘
After:CTE(Common Table Expression)를 사용해서 쿼리를 작성해 주고, 각 코드 줄마다 한국어로 주석을 상세하게 달아줘. 결과는 Markdown 테이블 형식으로 보여줘.
생성형 AI의 등장 이후 가장 뜨거운 화두는 단연 오픈AI입니다. 하지만 그들은 단순히 강력한 모델을 만드는 데 그치지 않습니다. 오픈AI의 전략은 마치 체스 게임처럼 장기적인 안목으로 설계된 '10년 판짜기'에 가깝죠. 표면적으로는 놀라운 기술적 진보가 전부인 것처럼 보이지만, 그 이면에는 AI 시대의 모든 기술과 시장을 직접 설계하려는 거대한 야망이 숨겨져 있습니다.
오픈AI는 크게 두 가지 핵심 축을 중심으로 기업 개발 전략을 전개하고 있습니다. 첫째는 수직적으로 통합된 기술 스택을 구축하기 위한 전략적 인수이며, 둘째는 지배적인 플랫폼 생태계를 조성하기 위한오픈AI 스타트업 펀드를 통한 벤처 투자입니다. 이러한 이중적 접근 방식은 오픈AI가 연구 중심의 조직에서 성숙한 제품 주도형 기술 대기업으로 빠르게 전환하고 있음을 보여주죠.
오픈AI가 투자했던 스타트업 일부를 보여주는 그래픽입니다. 저는 개발자 도구 '커서'와 에듀테크 '스픽'이 눈에 띄네요. <출처=CB인사이츠>
여기서 잠깐! 오픈AI가 어떤 회사인지를 알고 넘어가는 것도 중요합니다. 오픈AI는 기본적으로 '인공 일반 지능(AGI)이 모든 인류에게 이익을 주도록 보장한다'는사명을 추구하기 위해 비영리 이사회가 통제하는 이른바 '수익 상한'(capped-profit) 기업이라는 독특한 구조를 채택했습니다. 이 구조는 현재 오픈AI의 기업 전략 전반에 깊은 영향을 미치고 있죠.
한편으로는 장기적이고 자본 집약적인 연구를 추구할 수 있는 자유를 부여하지만, 다른 한편으로는 막대한 컴퓨팅 비용을 충당하기 위해 상당한 수익을 창출해야 하는 필요성을 야기합니다.
서두에서 잠깐 언급한 대로 오픈AI가 성장을 위해 전략적 인수와 벤처 투자에 집중하는 것도 이 때문입니다. 핵심 기술과 관련 인재를 확보하기 위해 아예 해당 회사를 사들이거나 오픈AI 스타트업 펀드를 통해 생태계를 키우는 것! 이는 AI라는 거대한 '엔진'의 성능을 끌어올리는 동시에 그 엔진을 활용한 다양한 '차량'(외부 애플리케이션)이 번성할 수 있는 환경을 조성하는 이중 전략인 셈입니다.
이러한 접근 방식은 단순한 기업 성장을 넘어섭니다. AI 기술 스택의 핵심과 떠오르는 애플리케이션 생태계에 대한 통제권을 확보하려는 정교한 계산이죠. 예를 들어'록셋'(데이터 인프라)이나'스탯시그'(제품 테스트)같은 기업 인수는 핵심 성능 지표에 대한 직접적인 통제권을 부여하고 외부 의존도를 낮춥니다. 동시에 스타트업 펀드는 오픈AI API에 깊숙이 의존하는 기업들에 투자함으로써 높은 전환 비용을 만들고 플랫폼의'고착 효과'를 강화합니다.
이는 과거 마이크로소프트가 운영체제(OS)를 통해 개발자 생태계를 장악하고, 애플이 하드웨어부터 소프트웨어, 앱스토어까지 모두 통제했던 전략과 매우 유사합니다. 결국 오픈AI는 AGI를 구축하는 것을 넘어 스스로가 필수불가결한 중심이 되는 시장을 설계하고 있는 것입니다. (여러분의 생각은 어떠신가요?)
[AI] 구글, '제미나이 코드 어시스트' 대규모 업데이트… 'AI 에이전트 모드' 무료 공개
"AI가 코드를 짜는 것"에서 나아가, "AI와 함께 코드를 설계하고 협업하는 방식"으로... 대화형 피드백 루프를 통해 보다 지능적인 개발 파트너로 진화
로고 이미지
구글이 인공지능(AI) 코딩 도우미인 '제미나이 코드 어시스트(Gemini Code Assist)'에 새로운 '에이전트 모드(Agent Mode)'를 포함한 대규모 업데이트를 17일(현지시간) 공개했다.
제미나이 CLI(Command Line Interface) 및 에이전트 모델은 물론, 일상적인 워크플로를 더욱 원활하고 직관적으로 만들어 주는 IDE(Integrated Development Environment-통합개발환경) 기능 개선도 포함되었다. 개인 사용자는 버추얼 스튜디오 코드(Visual Studio Code-보기) 플러그인이나 젯브레인스 IDE(JetBrains IDE-보기) 확장 프로그램을 설치하여 무료로 시작할 수 있다
향후 기능 업데이트는 공식 릴리스 노트(보기)를 통해 확인할 수 있다. 이번 제미나이 코드 어시스트 업데이트를 통해 일상적인 개발 워크플로우를 더욱 원활하고 직관적으로 만들어 개발 생산성을 크게 향상시킬 것으로 기대된다.
에이전트 모드... ‘도우미’ 넘어 ‘공동 개발자’로
신규 기능인 에이전트 모드는 기존의 단일 파일 기반 코드 생성 기능을 넘어, 프로젝트 전체 구조와 코드베이스를 분석해 복잡한 멀티파일 작업까지 수행할 수 있는 AI 기능이다.
구글은 최근 개발자를 위한 두 가지 주요 AI 업데이트를 발표했다. 제미나이 CLI(보기)는 AI를 명령줄에 직접 통합하여, 개발자가 터미널에서 바로 질문하고 코드를 생성하며 디버깅할 수 있게 함으로써 컨텍스트 전환을 없앤다.
이를 더욱 발전시킨 제미나이 코드 어시스트의 새로운 에이전트 모드는 AI 페어 프로그래머 역할을 한다. 이는 전체 코드베이스를 분석하여 복잡한 다중 파일 작업을 계획하고 실행한다. 예를 들어, 새로운 기능을 구현하거나 대규모 리팩토링을 단일 프롬프트에서 수행함으로써 개발 프로세스를 크게 가속화한다. 이를 도구라기보다는 작업을 위임하는 방식으로 생각할 수 있다. 에이전트 모드는 지난달 'Insiders' 채널 개발자들에게 먼저 공개되었다.
에이전트 모드의 강점은 포괄적인 프로젝트 이해력에 있다. 에이전트는 열려 있는 파일뿐만 아니라 전체 코드베이스를 분석하여 애플리케이션의 아키텍처, 종속성, 코딩 패턴 및 다양한 구성 요소 간의 관계를 모델링한다.
이를 통해 제안 사항이 컨텍스트를 인식하게 되므로, 에이전트는 필요한 모든 구성 요소에 걸쳐 기능을 구현하는 방법을 알게 된다. 또한 기존 코딩 스타일을 존중하여 더 높은 품질의 일관된 코드를 생성한다. 이러한 프로젝트 전반에 대한 인식은 오류를 줄이고, 일치하지 않는 제안을 수정하거나 컨텍스트를 설명하는 데 드는 시간을 줄여준다.
프로젝트에 대한 완벽한 이해를 바탕으로, 코드 어시스트의 에이전트는 다중 파일 편집을 가능하게 한다. 이전에는 중요한 기능을 구현하는 것이 조각조각 진행되는 과정이었을 수 있다. 한 파일에 대한 코드를 생성하고 다른 파일에 대한 코드를 생성한 후, 모든 것을 수동으로 연결해야 했다. 에이전트 모드를 사용하면 이제 단일 요청을 통해 코드 어시스트가 코드베이스 전체의 모든 변경 사항을 조율한다.
이를 통해 개발자는 하나의 프롬프트만으로 <대규모 리팩토링> "모든 API 엔드포인트가 새 인증을 사용하도록 업데이트해줘." <기능 구현> "새로운 풀스택 사용자 설정 페이지를 추가해줘." <종속성 업그레이드> "코어 라이브러리를 업데이트하고 모든 호환성 문제를 수정해줘." 등으로 단일 프롬프트로 대규모 작업을 지시할 수 있다.
에이전트 모드는 코드 구조, 의존성, 아키텍처 패턴까지 분석해 기존 개발 스타일을 유지하면서 기능을 구현하며, 모든 변경 사항은 사전에 상세한 계획 형태로 사용자에게 제시된다. 사용자는 이를 검토, 수정 또는 거절할 수 있어 개발 주도권은 여전히 사람에게 있다.
이러한 협력적 루프는 AI의 속도와 규모를 사용자의 도메인 전문 지식 및 아키텍처 비전과 결합한다. 이는 최종 결과가 기능적일 뿐만 아니라 사용자가 정확히 의도한 대로임을 보장한다.
또한 안심할 수 있도록 지난 6월 업데이트에서는 체크포인트로 되돌리는 기능이 도입되었다. 일련의 제안을 수락했지만 올바르지 않다고 판단될 경우, 영향을 받는 모든 파일을 변경 사항이 적용되기 전 상태로 쉽게 되돌릴 수 있어 과감한 실험을 장려한다.
IDE 개선 기능으로 더 정밀한 제어와 원활한 경험
구글은 지난달 컨텍스트에 대한 더 세밀한 제어를 제공하는 업데이트를 출시했다. 코드 어시스트는 이제 .gitignore 파일을 자동으로 적용하고, 민감하거나 레거시 코드를 무시하기 위해 .aiexlude 파일을 생성할 수 있도록 한다. 반대로, 특정 코드 스니펫에 채팅 초점을 맞춰 더 정확한 질문을 할 수 있다. 또한 터미널 출력을 채팅에 직접 첨부하여 명령에 대해 묻거나 오류를 디버깅할 수 있어 로그를 복사-붙여넣기할 필요가 없다.
이러한 기능들은 신호 대 잡음비(signal-to-noise ratio)에 대한 정밀한 제어를 제공한다. 관련 없는 파일을 제외하고 특정 스니펫 또는 터미널 로그에 집중함으로써 더 빠르고 정확하며 관련성 높은 답변을 얻을 수 있어 디버깅 및 분석 속도를 크게 향상시킨다.
또한 채팅 경험이 더 반응적이고 직관적으로 개선되었다. 가독성을 높이기 위해 코드 제안이 깔끔한 미리 보기 블록으로 나타나며, 이를 접거나 확장하도록 구성할 수 있다. 프로젝트 탐색도 더 쉬워졌는데, 채팅에서 코드 어시스트가 언급하는 파일 이름은 이제 편집기에서 즉시 열리는 클릭 가능한 링크가 되었다.
긴 응답의 경우, 제미나이 코드 어시스트가 입력하는 동안 채팅이 자동으로 스크롤되지만, 원하면 이 기능을 비활성화할 수 있다. 또한 질문을 했는데 잘못된 질문이었거나 응답이 너무 오래 걸린다고 판단되면, 진행 중인 채팅 응답을 즉시 중지할 수 있어 시간과 좌절감을 줄여준다.
이러한 개선 사항들은 제미나이 코드 어시스트를 더 원활하고 효율적으로 사용할 수 있게 한다. 스크롤하거나, 텍스트를 파싱하거나, 파일을 수동으로 탐색하는 데 시간을 덜 소비하게 하여 개발자가 '몰입 상태(state of flow)'를 유지하고 가장 중요한 문제 해결에 집중할 수 있도록 한다.
한편, 제미나이 코드 어시스트는 단순한 코드 생성기를 넘어, 코드 품질 유지, 개발자 스타일 학습, 대화형 피드백 루프를 통해 보다 지능적인 개발 파트너로 진화하고 있다. 특히 이번 업데이트는 "AI가 코드를 짜는 것"에서 나아가, "AI와 함께 코드를 설계하고 협업하는 방식"으로 전환되고 있음을 시사한다.
**커서(Cursor)**는 AI 기반의 코드 에디터입니다. 챗GPT(ChatGPT) 개발사인 OpenAI의 모델을 기반으로 만들어졌으며, 개발자가 코드를 더 빠르고 효율적으로 작성, 수정, 디버깅할 수 있도록 돕습니다.
주요 기능:
AI 채팅: 에디터 내에서 AI와 대화하며 코드 생성, 수정, 질문에 대한 답변을 얻을 수 있습니다.
코드 자동 생성 및 수정: 간단한 명령(프롬프트)으로 원하는 기능의 코드를 만들거나 기존 코드를 개선할 수 있습니다.
AI 기반 디버깅: 코드의 버그나 오류를 AI가 분석하고 해결책을 제시합니다.
문서 참조: 외부 라이브러리나 프레임워크의 문서를 AI가 참조하여 정확한 코드를 작성해 줍니다.
**바이브코딩(Vibe Coding)**은 정해진 문법이나 규칙에 얽매이기보다, 개발자의 '느낌'이나 '감'에 의존하여 직관적으로 코드를 작성하는 스타일을 의미하는 신조어입니다.
이는 종종 다음과 같은 상황에서 사용됩니다.
빠른 프로토타이핑: 완벽한 코드보다는 빠른 결과물 확인이 중요할 때, 세부적인 사항을 생략하고 핵심 로직만 빠르게 구현하는 방식입니다.
경험 기반 코딩: 숙련된 개발자가 자신의 풍부한 경험을 바탕으로 "이렇게 하면 될 것 같다"는 직관을 따라 코드를 작성하는 경우입니다.
커서(Cursor)와 같은 AI 코드 에디터의 등장은 이러한 '바이브코딩'을 더욱 현실적이고 효율적으로 만들어줍니다. 개발자가 가진 추상적인 아이디어나 '감'을 AI에게 설명하면, AI가 그것을 실제 작동하는 코드로 구체화해 주기 때문입니다. 즉, 개발자의 직관과 AI의 기술력이 결합하여 생산성을 극대화하는 시너지를 낼 수 있습니다.