소트웍스의 Birgitta Böckele님 의견(동영상)

  • 현황
    • 코드 생성의 자율성이 높아지고 있다.: 코드 자동완성-> AI채팅 -> 실제 코드 생성
    • IDE 진영은 생성형 AI에 대한 대응이 늦다. -> 개발 효율이 좋아서 IDE를 유료결제했는데 요즘은?
    • VS Code 및 아류(Cursor, Windsurf): 더 나은 사용경험 제공
    • 마이크로소프트의 강점: 깃헙과 깃헙코파일럿, 비주얼스튜디오 코드를 가지고 있다.
    • 아직 라이브에 쓸만한 코드를 만들지는 않지만 부트스트래핑에는 충분. 최종 결과물의 운영 안정성 및 확장성을 무시해서는 안된다. -> 사람의 감독 및 개발자의 개입이 필수적이다.
  • 노코드: 비-엔지니어출신의 프로토타이핑
    • Replit: 서버리스 환경에서의 프로토타이핑 편리
    • 엔지니어가 아닌 사람들이 단순 도구로 사용시 인프라 지식 부족으로 인한 어려움을 겪는다.
  • 소프트웨어 개발 주기
    • 새로운 도구가 등작했으니 현재의 SDLC 프로세스에 변화가 필요할 수도 있다.
    • AI가 어떤 역할을 할 것인가? 테스트 생성과 코드 생성을 동시에 진행해서는 안된다.
    • 근본 문제 해결 없이 임시 방편으로 사용되면 오히려 문제를 심화시킬 수 있다.
    • AI로 생성된 코드의 품질향상은 통계적 원리에 의한 것. 사용자의 피드백을 학습하는 방식이 아니다.
    • AI사용시 실제로 속도를 증가시키고 있는지 평가해야 하며, 필요시 중단도 고려해야 함
  • 주니어
    • 학습도구로 활용. 다만 보안 취약점과 책임있는 사용법 개발 필요
  • 팀 협업
    • AI도구로 페어프로그래밍 하는 것은 아직은 회의적.
    • 주니어와 시니어가 함께 학습할 기회를 제공해 준다는 점은 긍정적
  • 총론
    • 생성형 AI는 증폭기. 실수도 증폭하고 효과도 증폭한다. AI는비 결정적, 그래서 위험도도 훨씬 높다.
    • 사양 및 검증 과정에서 사람의 감독 및 보증이 필수적.

김대권님, AI코딩 에이전트 더 똑똑하게 쓰기(발표자료)

: 발표자료만 보고 정리한 것이라 발표자의 견해가 아닐 수 있다.

  • 모델
    • 컨텍스트 윈도우 = 작업메모리: 모델 성능 최대한 활용하려면 비싸다
    • 커서 제대로 사용하려면 max 모드
    • 커서, Roo Code, Claude Code 추천
    • 모델은 최소 Sonnet 3.5보다 좋아야. Sonnet 3.7, GPT-4O, Gemini 2.5 Pro
    • Aider Leaderboard
  • 프롬프트
    • 설정 보다는 관례(Convention) 중심 기술
    • Goal과 NonGoal 정의
    • 강조사항, 사전 작업
    • 기본에 충실하게 작업내용을 최대한 자세하게 작성
    • Snipetty 앱 사용 

익명의 모 사용자가 매월 2만달러(3천만원)정도의 매출을 일으키는 사업장을 운영하면서 사용한 AI 도구

실제로 영문은 좋은데, 아직 한글은...

  • Lovable: 웹앱을 채팅으로 만드는 노코드 도구. 매달 25달러
  • Icon: AI 광고 제작기. 매달 39달러
  • Tavus: 사용자 정의 동영상 제작기
  • AI Library: ?
  • Elsa:AI 마케팅 도우미. CMO 및 창업자 대상
  • Decktopus: 프리젠테이션 생성기. 젠스파크와 비슷?
  • PDF Guru: PDF 편집기/변환기
반응형

 

이번달부터 회사 개발자 직군에게 코파일럿에 이어 커서도 지원하기로 결정했다. 이로써 우리 회사 개발자들은 Copilot, Cursor, Q Developer를 사용할 수 있다. 물론 나처럼 Cline + Gemini Pro 2.5/MS Azure OpenAI를 사용하는 경우도 있다.

 

이왕 지원하기로 했으니, 그동안의 경험을 바탕으로 나름 체득한 더 잘 사용할 방법을 정리해 보자.

 

다른 AI도구를 사용하여 명확하고 상세한 계획을 작성한다.

ChatGPT나 Claude를 사용하여 무엇을 만들고 싶은지에 대한 질의응답과정을 주고 받는다. 이 과정에서 명확한 지시문을 만드는 것이 좋다. 완성된 버전을 얻게 되면 이 내용을 마크다운 파일로 내려 받아서 코딩 지원 AI에게 전달한다. 한 번에 모든 문제를 해결하기 보다는 단계별 분업을 지시하는 것이 코딩 AI의 오류를 줄일 수 있다.

 

AI가 전체적으로 지켜야할 규칙을 설정한다.

예를 들어 “테스트 코드를 작성한 후 기능을 구현하고, 테스트가 통과할 때까지 반복한다. 나는 깔끔한 코드를 좋아한다” 등이 될 수 있다. 커서의 경우.cursorfules 파일에 명시한다. 다른 도구들을 사용할 경우 사용자 정의 프롬프트에 넣는다. 자신이 좋아하는 아키텍트나 기준이 있으면 명시적으로 지시한다. 다른 사람들이 만들어둔 규칙 파일도 잘 활용하자. https://github.com/PatrickJS/awesome-cursorrules 에 가면 많이 볼 수 있다.

 

명령이 아니라 생각의 흐름을 프롬프트에 담아 선언적으로 기술한다.

프롬프트도 일종의 코드이다. 다만 AI 코딩 보조 도구를 사용할 때 명령형이 아닌 선언형으로 인식하고 프롬프트를 작성해야 한다.

개발자로서 나의 의도와 생각의 흐름을 AI에게 설명해 줘야 한다. 

AI가 코드를 잘 작성하든 그렇지 않든, 그냥 똘똘한 주니어 사회 초년생에게 지시한다고 생각하고 작성하자.

자주 사용하는 프롬프트는 계속 저장/유지보수해 나가자.

시스템 프롬프트로  공통 요구사항(명확하고 간결한 답변 제시, 대안을 항상 제시, 불필요한 설명 방지(요금 줄이기), 기술적 디테일 우선시) 등을 적용한다.

다른 사람이 작성한 코드도 잘 읽어보자. 이를 정리한 사이트인 https://context7.com/ https://cursor.directory/ 도 참고하자.

 

 

깃으로 코드를 관리하면서 조금씩 점진적으로 코드를 작성한다.

AI가 어디로 튈지 모른다. 튀는 걸 막는 것이 문제라기 보다는 튀기 전의 상태로 복귀시키기가 어려운 것이 문제다.

깃으로 조금씩 변경하고, 항상 테스트 코드를 작성한다. 에이전트일 경우 무조건 이 테스트를 통과하도록 작성하라고 지시한다. 그러면 실패했을 경우 AI가 원인을 분석한 다음 수정한다. 

일단 동작하는 코드를 얻었다면 항상 AI가 작성한 코드를 검토한 다음 커밋한다.

AI가 튀었다면 이전 대화기록을 요약해서 다시 대화를 시작하는게 낫다.

 

이가 없으면 잇몸으로라도....수동 A2A를 이용하자.

A2A가 있지만 아직은 우리가 사용하는 에이전트들끼리 상호 작용을 하지 못한다. 그럼 어떡할 것인가. 수동으로라도 해줘야지.

문제가 발생하면 여러 도구를 사용하자. 문제 원인과 코드를 ChatGPT나 Claude에게 물어보자. 어떻게 고쳐야 하니 물어보면 답해주는 경우가 많다. 물어보는 것도 귀찮으니 커서에게 문제와 관련된 파일 목록, 기능, 문제점을 하나의 보고서로 요약하게 만들자. 이 파일을 다른 AI에게 던져주고 답을 얻는다.

 

알짜정보만 AI에게 제공하자.

맥락 정보가 길면 길수록 AI가 작업을 잘 이해한다. 파일을 참조할 때에는 @를 사용하고, 쓸데없는 중간 파일은 .cursorignore 파일에 정의하여 제외시킨다. 맥락을 유지하면서 계속 일을 잘 할 수 있는게 중요하다. 이 부분에서는 AI로 만화를 그리는 분들은 어떻게 활용하는지 잘 살펴볼 필요가 있다. 일관되게 해당 작업을 개선하는 것은 AI가 의외로 잘하지 못한다.

 

 

결국 적고보니 한마디로 정리된다.

"개발 프로세스에서 코드 작성이라는 영역은 AI에게 맡기더라도 개발자들은 설계와 구조에 좀 더 집중해야 한다."

반응형

+ Recent posts