12P by xguru 2달전 | favorite | 댓글 1개
  • 자연어를 사용하여 코드를 브레인스토밍, 계획, 빌드, 테스트 및 실행할 수 있는 Copilot 기반의 개발 환경
  • 개발 프로세스의 모든 단계에서 다양한 Copilot 기반 에이전트를 활용하면서도 개발자에게 완전한 제어권을 부여함
  • 자연어를 사용하여 소프트웨어를 구축하는 혁신적인 방식을 제시
  • 개발자의 창의성을 대체하는 것이 아니라, 더 빠르고 쉽게 발휘할 수 있도록 설계됨
  • 경험 있는 개발자가 시스템 씽커로 활동할 수 있도록 지원하며, 소프트웨어를 구축할 수 있는 사람의 진입 장벽을 크게 낮출 것임

GitHub Copilot Workspace의 동작 방식

  • 개발자에게 가장 큰 진입 장벽은 대부분 시작 단계에 있음
  • 큰 프로젝트, 기능 요청 또는 버그 보고서의 첫 단계에서 벽에 부딪히는 경우가 많음
  • GitHub Copilot Workspace는 그 원점인 "GitHub Repo 또는 GitHub Issue"에서 개발자와 만나게 됨
  • Copilot 에이전트를 제2의 두뇌로 활용하여 아이디어 시작 단계부터 AI 지원을 받을 수 있음
  • Copilot Workspace가 단계별 계획 수립하여 제시
    • 코드베이스, 이슈 답변 등에 대한 깊은 이해를 바탕으로 이슈 해결을 위한 단계별 계획을 제시함
    • 계획을 검증하고 코드를 테스트하는 데 필요한 모든 것을 자연어로 간소화된 목록으로 제공함
  • 제안 내용은 전체 편집 가능함
    • Copilot Workspace가 제안하는 계획부터 코드까지 모든 것을 완전히 편집할 수 있음
    • 개발자는 모든 자율성을 유지하면서 Copilot Workspace가 인지적 부담을 덜어줌
    • 계획에 만족하면 Copilot Workspace에서 직접 코드를 실행할 수 있음
    • 기본 GitHub Codespace로 이동하여 최종 결과에 만족할 때까지 모든 코드 변경 사항을 조정할 수 있음
    • 링크를 통해 워크스페이스를 팀과 즉시 공유하여 작업 내용을 보고 반복을 시도해볼 수 있음
    • Pull Request를 제출하고 GitHub Actions, 보안 코드 스캐닝을 실행한 후 팀 구성원에게 사람이 하는 코드 검토를 요청하면 됨
    • 팀원들은 Copilot Workspace를 활용하여 아이디어에서 코드로 어떻게 전개되었는지 확인할 수 있음
  • 모바일 호환성도 제공
    • 아이디어는 어디서나 발생할 수 있으므로 GitHub Copilot Workspace는 모든 장치에서 사용할 수 있도록 설계됨
    • 데스크톱, 노트북 또는 이동 중에도 실제 개발 환경에서 작업할 수 있음
  • 개발 환경의 미래에 대한 GitHub의 비전은
    • 직관적이고 Copilot 기반의 인프라를 통해 시작, 학습 및 궁극적으로 실행이 더 쉬워지도록 하는 것

Hacker News 의견

  • 개발자들이 LLM 기반 코드 생성 도구에 대해 다양한 의견을 제시함
    • 프롬프트 디버깅이 코드 디버깅보다 더 번거로워 결국 전통적인 방식으로 코딩하는 것이 나음
    • Copilot은 작은 규모에서는 유용하지만 대규모 복잡한 코드베이스에는 적합하지 않음
    • 도메인 전문성, 사용자 경험, 기술 부채 등 큰 그림을 보는 맥락 인식 능력이 부족함
    • 경험 부족한 개발자들이 이런 도구에 의존하면 일관성 없는 코드를 양산할 우려가 있음
  • 반면, 학생 입장에서는 최근 3년간 LLM 도구의 급격한 발전 속도를 보면서 이를 무시하기 어려움
    • 생산성 향상으로 인한 일자리 감소 우려도 제기됨
  • 코드 생성보다는 개발자의 생각을 정리하는 '개발자를 위한 프로젝트 관리' 도구로서의 가치를 봄
  • 브라우저 기반 Codespaces보다는 익숙한 로컬 개발 환경인 VS Code에서 사용하길 원함
  • Copilot Workspace와 유사한 오픈소스 도구인 aider를 소개함
  • Plandex라는 터미널 기반의 오픈소스 AI 프로젝트 관리 도구도 소개됨
    • 개발자와 LLM 간의 빠른 피드백 루프를 제공하고, 모델과의 상호작용을 버전 관리함