이번달부터 회사 개발자 직군에게 코파일럿에 이어 커서도 지원하기로 결정했다. 이로써 우리 회사 개발자들은 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에게 맡기더라도 개발자들은 설계와 구조에 좀 더 집중해야 한다."

반응형

아웃사이더님, 박재호님 등 국내에서도 IT 관련 뉴스를 정리하여 메일로 보내주시거나 웹사이트에 올려주시는 분들이 많다. 해커 뉴스 및 기타 새로운 소식을 모아서 올려주는 긱뉴스, 국내 개발자 블로그의 새글을 모아서 매일 보내주는 어썸데브블로그 서비스, SaaS 관련 소식을 전해주는 주간 SaaS도 있다. 이런 뉴스레터를 구독하는 것만으로도 트렌드를 파악하는데 충분한 정보를 얻을 수 있다.

 

외국에도 비슷한 서비스들이 많은데, 그중 유명한 것이 오라일리의 레이더다. 하지만 영어이니, 읽기를 부담스러워하는 분들이 있다. 이번 글에서는 사내에 영문 뉴스레터를 AI도구를 이용하여 한글 번역본으로 만들어 본 썰을 풀어보고자 한다.

 

제일 먼저 시도한 것이 브라우저에서 웹 페이지 자체를 구글 번역기로 번역해 보았다. 브라우저에서 메뉴만 선택하면 되므로, 정말 편하다.


원문 브라우저에서 구글 번역. AI가 왜 일체 포함?

 

하지만 보다시피 구글 번역 사이트에 복붙하면 정상으로 나오는 번역 결과도  브라우저에서 구글 번역을 이용하면  이상한 결과물이 얻어진다. 못읽을 정도는 아니지만 마음에 들지 않는 부분이 많다. 우선 섹션명에서 망했다. 아무리 생각해 봐도 왜 AI가 일체 포함으로 번역되는지 모르겠다. (예전 구글 번역 처음 나왔을 때 아파치 웹서버 페이지를 인디언 부족으로 번역하던 게 생각나버렸다.)

 

그래서 떠올린 것이  DeepL이었다. 번역 전문 AI서비스이니 품질은 좀 낫겠지 하는 마음에 사용해 보았다.

품질은 조금 좋아지는 수준으로 느껴지지만, DeepL 웹사이트에 뉴스레터를 복붙하니 링크가 다 사라져 버린다. 그러면 뉴스레터의 가치가 떨어진다.

하지만 여기에서 멈출 수는 없지.  이번엔 웹페이지를 PDF 파일로 출력하여, 이를 DeepL에 번역을 요청하였다.

 

 

링크는 살아있지만, 문장이 외려 이상해 졌다. 링크를 처리하는 과정에서 문장을 온전히 번역하지 못하는 것 같다.

 

어쩌지 하던 바로 이 순간 문장을 잘 다루는  GPT가 생각났다.(전설의 요정이 나타나 아이디어를 주었다.)  GPT로  PDF 파일을 올리고 번역을 요청했다. 이때  최종 결과물에서도 링크를 유지하기 위해  프롬프트에  마크다운 페이지를 만들도록 요구사항을 추가했다.

너는 IT분야 전문가야. 한달동안 IT 관련 소식을 모아둔 뉴스레터 PDF문서를 한글로 번역하고 싶어. 
전문 용어를 사용하되, 한글 문장이 매끄러웠으면 좋겠어.
한문장도 빠짐없이 번역해야 해. 링크는 유지하자.
최종 결과물은 마크다운으로 만들어 줘

꽤 쓸만한 결과물이 나왔다. 하지만 여러 섹션이 있는데, 하나만 번역을 완료하고 계속할지를 물어본다. 그래서 차례대로 진행하라고 시켰더니 단일 지시는 잘 수행했는데, 최종 결과물에는 각각 진행한 결과가 취합되어 있지 않았다. 각각 번역해서 최종 결과를 만들도록 프롬프트를 수정했다. 그리고 번역결과를 보니 영어단어를 쓰는 것이 좋은 단어들도 있어서 마지막에 영어 단어를 병기하도록 지시했다. 하나씩은 잘하는데, 전체적으로 못하는 것을 Lost in The Middle 라고 한다. (중간에 샛길로 빠지기)

서문, AI 등 앞에서 번역했던 분야들이 빠져 있어. 이것을 하나의 문서로 모두 만들자. 그런 다음 옆에 캔버스를 업데이트 해줘.
프로그래밍 분야에도 캔버스의 프로그래밍 섹션에 추가해 줘.
조금 낯선 용어, 아직 일반화되지 않은 언어는 괄호로 원 단어를 추가해 주면 좋겠어. 예를 들어 사용자 맞춤 발화 스타일 지시는 생소한 단어야

 

드디어 다 완성된 결과물을 확인했다.

이제 워드 파일로 만들어서 다운로드 했다.

캔버스 내용을 워드로 만들어서 다운로드 받고 싶어

 

왜 PDF로 바로 만들지 않고 워드 파일로 만들었냐고? GPT는 한글 PDF를 만들때 한글 글꼴 처리가 서툴다. 물론 글꼴 파일을 올리고 그 글꼴을 이용해서 작업하라고 지시할 수도 있지만, 번거로우니 워드 파일로 만들어서 PDF로 출력하는 것이 수월하다고 한다.(자세한 내용은 한빛미디어에서 나온 <챗GPT 일타강사의 직장인 업무 만렙 공략집>의 5장과 6장을 참고하시라.p.145) 며칠전에도 맑은고딕 글꼴을 따로 업로드하면서 PDF를 만들었다. 그럴바에는 차라리 워드로 내려받는게 속편하다. 워드로 내려받고 PDF내보내기를 수행한다.

최종 결과물이다. 훨씬 깔끔하게 뉴스레터가 정리되었다. 링크도 살아있다. 이제 사내에 공유했다!

몇번의 삽질로 최적의 방법을 찾았다. GPTs로 만들고 다음달부터는 그냥 PDF만 올리면 위 작업을 반복 수행하도록 해둔다.

레이더_4월.pdf
0.30MB

오늘의 삽질 끝!

 

참고서적:

 

챗GPT 일타강사의 직장인 업무 만렙 공략집

“챗GPT, 일 잘하는 직장인은 이렇게 쓴다” 대기업 출강 압도적 1위! 일타강사가 알려주는 챗GPT 완벽 활용법

www.hanbit.co.kr

 

반응형

+ Recent posts