이 문서는 지능형 AI의 이해 및 배포에 대한 시리즈의 일부입니다:
- 지능형 바디 AI 시리즈 1: Devin과 에이전트 커서의 비교
- 지능형 신체 AI 시리즈 2: 생각하는 사람에서 행동하는 사람으로 - 지능형 신체 AI를 위한 패러다임 혁명과 기술 아키텍처
- 인텔리전트 바디 AI 시리즈 3: 20달러를 500달러로 - 1시간 만에! 커서 로 변경 Devin (이 문서)
- 지능형 신체 AI 시리즈 4: 커서를 AI를 위한 공통 포털로 사용하기
이전 게시물에서 완전 자동 프로그래밍이 가능한 지능형 바디 AI인 Devin에 대해 설명한 바 있습니다. 커서 및 윈드서핑 Devin과 같은 다른 지능형 신체 AI 도구에 비해 프로세스 계획, 자체 진화, 확장된 도구 사용 및 완전 자동화된 작업에서 몇 가지 핵심 강점을 가지고 있습니다. 따라서 Devin은 기존의 지능형 신체 AI 도구와 차별화되는 차세대 도구처럼 보입니다.
하지만 한동안 사용하다 보니 '빌더의 정신'이 다시 살아나서 Devin 90%의 기능을 구현하기 위해 Windsurf와 Cursor를 수정해야겠다는 생각이 들었습니다. 또한 이러한 수정 사항을 오픈소스로 공개하여 단 1분 만에 Cursor 또는 Windsurf를 Devin으로 변환할 수 있도록 했으며, 이 글에서는 이러한 수정이 어떻게 이루어졌는지 구체적으로 살펴보고 지능형 AI 시대에 얼마나 효율적으로 구축하고 확장할 수 있는지를 보여드리고자 이 예시를 중심으로 설명합니다. 논의를 간소화하기 위해 커서를 사용하여 이러한 도구를 참조하고, 마지막으로 Windsurf를 사용하려면 어떤 부분을 약간 조정해야 하는지 논의하겠습니다.
인공물 | 프로세스 계획 | 자기 진화 | 도구 확장 | 자동화된 구현 | 가격 |
---|---|---|---|---|---|
Devin | 예(자동, 완료) | 예(자율 학습) | 충분 | 지원 | $500/월 |
커서(수정 전) | 제약 조건 | 막힘 | 제한된 도구 세트 | 수동 확인 | $20/월 |
커서 (수정됨) | 데빈과 가까워집니다. | be | 데빈에 가깝고 확장 가능 | 여전히 확인 또는 해결 방법 필요 | $20/월 |
윈드서핑 (수정됨) | 데빈과 가까워집니다. | 예, 하지만 간접적으로 | 데빈에 가깝고 확장 가능 | Docker 컨테이너에서 완전한 자동화 지원 | $15/월 |
프로세스 계획 및 자체 진화
이전 게시물에서 언급했듯이 Devin의 흥미로운 측면은 마치 조직화된 인턴처럼 행동한다는 점입니다. 먼저 계획을 세우고 그 계획이 실행되는 동안 진행 상황을 계속 업데이트하는 것을 알고 있습니다. 이를 통해 AI 관리자는 AI의 현재 진행 상황을 쉽게 추적하는 동시에 원래 계획에서 벗어나는 것을 방지하여 더 깊은 사고와 작업 완료의 질을 높일 수 있습니다.
이 기능은 인상적으로 보이지만 실제로는 커서를 사용하여 매우 쉽게 구현할 수 있습니다.
커서의 경우 열린 폴더의 루트 디렉터리에 다음과 같은 파일이 있습니다. .cursorrules
즉, 이 파일의 모든 내용은 백엔드 AI(예: GPT 또는 GPT)로 전송되는 프롬프트의 일부가 됩니다. 이 파일의 특별한 점은 커서가 백엔드 빅 언어 모델로 보내는 프롬프트를 수정할 수 있다는 것입니다. 즉, 이 파일의 모든 것이 백엔드 AI로 전송되는 프롬프트가 됩니다(예: GPT 또는 Claude)는 프롬프트의 일부입니다. 이를 통해 사용자 지정에 많은 유연성을 제공합니다.
예를 들어, 이 파일에 계획의 내용을 넣어 커서와 상호작용할 때마다 최신 버전의 계획을 받도록 할 수 있습니다. 또한 이 파일에 작업을 시작할 때 생각하고 계획을 세우도록 하고 각 단계 후에 계획을 업데이트하는 등 더 자세한 지침을 제공할 수도 있습니다. Cursor는 에이전트를 사용하여 파일을 수정할 수 있고 .cursorrules
이 파일은 그 자체로 폐쇄형 루프를 생성하는 파일입니다. 매번 파일의 내용을 자동으로 읽어 최신 업데이트가 무엇인지 파악하고, 이를 반영하여 업데이트 진행 상황과 다음 단계를 이 파일에 기록하여 항상 최신 업데이트를 받을 수 있도록 합니다.
유사한 접근 방식을 사용하여 스스로 진화하는 기능을 구현할 수 있습니다. 에서 .cursorrules
파일에서 사용자가 수정할 때 커서가 자신의 실수를 반영하도록 몇 가지 프롬프트를 추가하고 재사용 가능한 레슨이 있는지 고려합니다. 재사용 가능한 강의가 있다면 .cursorrules
문서의 관련 부분으로 이동합니다. 이러한 방식으로 프로젝트별 지식을 축적합니다.
대표적인 예로, 현재 많은 대형 언어 모델 중 상당수가 비교적 이른 지식 마감 시한으로 인해 GPT-4o 모델을 인지하지 못하고 있다는 점을 들 수 있습니다. 이들에게 GPT-4o를 호출하라고 하면 오타라고 생각하여 'o'를 삭제할 것입니다. 하지만 "이 모델은 실제로 존재하며, 단지 모르는 것뿐입니다."라고 바로잡아 주면, 그들은 배운 교훈을 .cursorrules
같은 실수를 반복하지 않음으로써 학습하고 개선할 수 있습니다. 그러나 프롬프트의 효과는 여전히 프롬프트의 효과에 달려 있으며, 때로는 요점을 놓칠 수도 있고 우리가 알고 있어야 한다고 생각하는 지식을 항상 기록하지 못할 수도 있습니다. 이 경우 자연어를 사용하여 요점을 메모하라고 직접 알려주는 프롬프트를 사용할 수도 있습니다. 이러한 보다 직접적인 접근 방식을 통해 AI는 경험을 쌓고 성장할 수 있습니다.
따라서 .cursorrules
파일과 몇 가지 간단한 요령만 있으면 기존 인공지능 프로그래밍 도구에 Devin의 인상적인 프로세스 계획 및 자체 진화 기능을 추가할 수 있습니다.
윈드서핑을 사용하는 경우 한 가지 차이점이 있습니다. 아마도 보안상의 이유로 AI가 직접적으로 .windsurfrules
파일입니다. 따라서 다음과 같은 다른 파일을 사용하여 파일을 두 부분으로 분할해야 합니다. scratchpad.md
. In .windsurfrules
문서에서 각 사고 과정을 시작하기 전에 스크래치패드를 확인하고 거기서 계획을 업데이트해야 한다고 언급했습니다. 이러한 간접적인 접근 방식은 직접적으로 .cursorrules
여전히 AI가 상담원에게 전화를 걸어 피드백을 기반으로 생각해야 하지만 실제로는 작동합니다.
확장된 도구 사용
커서에 비해 Devin의 가장 큰 장점 중 하나는 더 많은 도구를 사용할 수 있다는 점입니다. 예를 들어 브라우저를 호출하여 검색하고 웹을 탐색할 수 있으며, 심지어 자체 두뇌를 사용하여 빅 언어 모델 인텔리전스를 사용하여 콘텐츠를 분석할 수도 있습니다. Cursor는 기본적으로 이 기능을 지원하지 않지만, 좋은 소식은 .cursorrules
커서의 프롬프트를 직접 제어하고 커서에 명령 실행 기능이 있다는 사실은 또 다른 폐쇄 루프를 만듭니다. Python 라이브러리나 명령줄 도구와 같이 미리 작성된 프로그램을 준비한 다음 이를 .cursorrules
이러한 도구를 사용하여 작업을 수행하는 방법을 즉각적이고 자연스럽게 이해할 수 있도록 소개합니다.
사실 도구 자체는 커서를 사용하여 1~2분 안에 작성할 수 있습니다. 예를 들어 웹 브라우징 기능의 경우 오픈 소스 프로젝트에서 참조 구현을 제공합니다. 자바스크립트가 많은 웹사이트의 경우 파이썬의 요청 라이브러리 대신 플레이와이트와 같은 브라우저 자동화 도구를 사용하는 등 몇 가지 기술적인 결정에 유의해야 할 사항이 있습니다. 또한, 큰 언어 모델과 더 잘 소통하고 후속 콘텐츠를 더 쉽게 이해하고 크롤링하기 위해 단순히 아름다운 수프를 사용하여 웹 페이지의 텍스트 콘텐츠를 추출하지 않습니다. 대신 특정 규칙에 따라 마크다운 형식으로 변환하여 클래스 이름 및 하이퍼링크와 같은 보다 상세한 기본 정보를 보존함으로써 빅 언어 모델이 보다 기본적인 수준에서 후속 크롤러를 작성할 수 있도록 지원합니다.
마찬가지로 검색 도구의 경우, 한 가지 주의할 점이 있습니다. Bing과 Google 모두 API와 웹 인터페이스를 다루는 여러 팀의 역사로 인해 클라이언트 측 검색보다 품질이 훨씬 떨어지는 API 검색을 제공합니다. 하지만 DuckDuckGo는 이러한 문제가 없으므로 참조 구현에서는 DuckDuckGo의 무료 API를 사용합니다.
Cursor의 자체 두뇌 활용에 대한 심층 분석은 상대적으로 더 복잡합니다. 한편으로, 두 도구 모두에서 웹 페이지의 콘텐츠를 stdout으로 인쇄할 때, 해당 텍스트 콘텐츠를 지능적으로 분석할 수 있도록 Cursor가 빅 언어 모델에 보내는 프롬프트의 일부가 되므로 어느 정도 이러한 기능을 갖추고 있습니다. 그러나 다른 관점에서 보면 Devin은 Cursor가 할 수 없는 방식으로 빅 언어 모델을 사용하여 비교적 많은 양의 텍스트를 일괄 처리할 수 있는 고유한 기능을 가지고 있습니다. 그래서 이 기능을 제공하기 위해 추가 도구를 구현했습니다. 매우 간단하게 시스템에 API 키를 미리 설정한 다음, 이 도구가 GPT 또는 Claude 또는 로컬 Big Language Models API를 호출하도록 하여 Cursor가 Big Language Models를 사용하여 텍스트를 일괄 처리할 수 있도록 했습니다. 제 참조 구현에서는 자체 로컬 vllm 클러스터를 사용하지만 수정은 매우 쉽습니다. base_url 줄을 제거하기만 하면 됩니다.
그러나 이러한 수정에도 불구하고 커서의 한계로 인해 여전히 두 가지 도구를 구현할 수 없습니다:
- Devin은 이미지 이해 기능이 있어 프론트엔드 상호작용과 테스트를 수행할 수 있지만 커서의 한계로 인해 이미지를 백엔드 AI에 입력으로 전달할 수 없으므로 구현을 변경해야 합니다.
- Devin은 데이터 수집 과정에서 신기하게도 크롤러 방지 알고리즘에 의해 봇으로 신고되지 않지만, 웹 검색 도구에서 캡차가 발생하거나 차단되는 경우가 종종 있습니다. 이 문제는 고칠 수 있는 문제일 수도 있고 계속 살펴보고 있지만 Devin의 고유한 강점 중 하나입니다.
완전 자동화된 실행
마지막으로 흥미로운 기능은 완전 자동화된 실행입니다. Devin은 완전히 가상화된 클라우드 환경에서 실행되므로 대규모 언어 모델 공격이나 실수로 위험한 명령을 실행할 염려 없이 모든 종류의 명령을 안전하게 실행할 수 있습니다. 전체 시스템을 삭제하더라도 새 컨테이너를 시작하기만 하면 모든 것이 정상으로 돌아옵니다. 그러나 로컬 호스트 시스템에서 실행되는 Cursor는 심각한 보안 위험이 있습니다. 그렇기 때문에 Cursor의 에이전트 모드에서는 각 명령을 실행하기 전에 수동으로 확인해야 합니다. 비교적 간단한 작업에서는 이 방식이 적합하지만, 이제 정교한 프로세스 계획과 자체 진화 기능을 갖추고 장기적으로 복잡한 작업도 처리할 수 있으므로 이러한 상호작용 방식은 Cursor의 기능에 적합하지 않은 것처럼 보입니다.
이 문제를 해결하기 위해 Cursor를 기반으로 한 솔루션을 찾지 못했지만(업데이트: 2024년 12월 17일, Cursor는 욜로 모드라는 이 기능도 추가했지만 여전히 Docker에서의 개발을 지원하지 않습니다), Windsurf는 이를 고려했고, 설계를 보면 처음부터 다음과 같이 생각했다는 것을 알 수 있습니다. Devin과 유사한 제품 형태를 만드는 것을 목표로 하고 있으며, 현재 코드 편집기는 그 중간 형태입니다. 좀 더 구체적으로 설명하자면, Windsurf는 Docker 컨테이너에 직접 연결하여 실행하거나 구성 파일이 있는 경우 새 Docker 컨테이너를 시작하고 초기화를 수행하며 로컬 폴더를 매핑하는 데 도움을 줄 수 있는 기능이 있습니다. 따라서 로컬 폴더에 대한 변경을 제외한 모든 명령은 호스트 시스템에 영향을 주지 않고 Docker 컨테이너에서 실행되므로 보안이 크게 향상됩니다.
또한 블랙리스트/화이트 리스트 메커니즘을 도입하여 블랙리스트에 있는 명령은 자동으로 거부하고 화이트리스트에 있는 명령은 허용합니다. 목록이나 블랙리스트에 없는 명령의 경우, 빅 언어 모델은 호스트 시스템에 위험이 있는지 지능적으로 판단합니다(예: 폴더의 파일을 삭제하려는 경우 사용자에게 확인을 요청하지만 다음과 같은 명령은 허용됩니다). pip install
이러한 일반 명령은 직접 허용됩니다. 이 기능은 Docker 컨테이너에서 실행할 때만 활성화되는 것으로 보입니다. 호스트 시스템에서 명령을 실행하는 경우에도 여전히 커서와 유사한 환경이 제공되며 자주 확인해야 합니다. 또한 구성에서 자동 명령 실행을 사용하도록 설정해야 합니다.
요약
따라서 Devin의 제품 폼 팩터와 디자인 컨셉은 실제로 매우 발전된 것이지만, 기술 장벽의 관점에서 볼 때 기존 인텔리전트 AI 도구와의 격차는 생각만큼 크지 않다는 것을 알 수 있습니다. 한 달에 15~20달러의 비용이 드는 커서나 윈드서프 같은 대중적인 도구를 사용하면 1시간 이내에 Devin 90%의 기능을 구현하고 이전에는 불가능했던 복잡한 작업을 수행하는 데 사용할 수 있습니다. 예를 들어, 심층적인 데이터 분석을 위해 지난 5년간 인기 있는 기술 주식의 수익률을 분석하는 작업을 Cursor에 맡겼더니 매우 상세하고 포괄적인 보고서를 제공했습니다. 또한, 제 블로그의 상위 100개 게시물의 게시 시간을 파악하여 GitHub 기여도 차트 형식으로 시각화해 달라고 요청했는데, 이 작업은 완전히 자동으로 수행되었습니다. 이러한 유형의 작업은 기존의 커서나 Windsurf로는 할 수 없는 작업으로 Devin만이 할 수 있지만, 이러한 간단한 수정을 통해 월 20달러짜리 도구로 월 500달러짜리 도구의 결과를 얻을 수 있습니다. 저는 더 심층적인 실험도 해봤는데, 프런트엔드 개발에 전혀 익숙하지 않은 개발자로서 프런트엔드와 백엔드를 모두 포함한 구인 게시판을 만드는 데 1시간 30분이 걸렸습니다. 이 정도의 효율성은 Devin보다 낫지는 않더라도 매우 비슷합니다.
마지막으로, 이 문서에 언급된 모든 파일은 다음 링크에서 다운로드할 수 있습니다. Devin 커서 규칙 다운로드 - 콘텐츠를 현재 프로젝트 폴더에 복사하여 사용하기만 하면 됩니다.
© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...