10P by neo 6시간전 | ★ favorite | 댓글 2개
  • Chat은 개발 도구로서의 나쁜 UI 패턴임

    • 코드가 인간에게 정확성을 요구하는 것은 좋음. 컴퓨터는 정확성을 필요로 하기 때문임
    • 그러나 이는 인간이 기계처럼 생각하도록 강요함
    • 수십 년 동안 프로그래밍을 더 인간 친화적으로 만들기 위해 노력했음. 고급 언어와 시각적 인터페이스가 그 예임
    • AI는 이러한 문제를 해결할 것으로 기대되었음. 영어로 프로그래밍이 가능해질 것이라는 기대였음
  • AI 코딩 도구의 첫 번째 물결

    • 첫 번째 AI 코딩 도구들은 기회를 낭비했음. 화려한 데모를 만들지만 쓸모없는 소프트웨어를 생산함
    • “프로토타입 용도” 정도로만 언급되지만, 실제로 활용하기엔 정확도가 부족함
    • 많은 사람들이 AI 모델을 비난하며 더 똑똑해져야 한다고 주장함
    • 그러나 중요한 소프트웨어를 구축할 때는 추측이 아닌 명확한 이해가 필요함
  • 소프트웨어 작성은 대화가 아님

    • 소프트웨어 작성은 법률 작성과 같음. 영어를 사용하지만 용어를 정의하고 규칙을 설정하며 복잡한 상호작용을 관리함
    • 채팅 메시지로 세금 코드를 작성할 수 없음. 문서가 필요함
    • 문서는 복잡성을 조직화하고 특정 지점을 참조하며 체계적으로 변경 사항을 추적할 수 있게 함
  • 문서 기반 프로그래밍의 중요성

    • 의도가 문서에 있을 때 영어는 실제 프로그래밍 언어가 됨
    • 전체 시스템을 한눈에 볼 수 있음
    • 의도를 명확히 하고 개선할 수 있음
    • 변경 사항을 적절히 추적할 수 있음
    • 팀이 시스템을 함께 작업할 수 있음
    • 요구 사항이 자체 품질 검사가 됨
    • 변경 사항이 명확한 사양에서 시작됨
  • 다음 단계 AI 개발 도구의 핵심

    • 문서 기반으로 사용자 의도를 표현하고 관리하는 방식이 중요해짐
    • 대화형 프로토타입이 아닌, 실제 소프트웨어 개발에 필요한 정밀함을 제공하는 도구가 필요함
    • 이 관점을 제대로 도입하는 기업이 AI 개발 도구의 미래를 주도할 것임

오 이거 뭔가 흥미롭고도 공감가는 의견이예요 😊

Hacker News 의견
  • 한 사용자는 o3-mini와 o3-mini-high를 사용하여 코드 생성 프로젝트를 진행했으며, "페어 프로그래밍" 접근 방식이 중요하다고 언급함

    • 코드 리뷰와 피드백 제공의 중요성을 강조하며, 단순히 코드를 수용하는 것은 좋지 않다고 설명함
    • 유닛 테스트 생성의 중요성을 언급하며, 코드의 핵심을 파악한 후 스모크 테스트를 요청함
    • 긴 문맥에서 모델이 혼란스러워질 수 있으므로 새로운 대화를 시작하는 것이 좋다고 조언함
    • 코드 예제를 제공하고 영어로만 프롬프트하지 말라고 권장함
  • 다른 사용자는 채팅이 UI 패턴으로서 부적절하다고 주장하며, 기록으로서는 좋지만 작업을 수행하기에는 좋지 않다고 설명함

    • 내러티브 방식이 물건을 만드는 데 적합하지 않다고 언급함
  • 또 다른 사용자는 Cursor가 언급되지 않은 것에 놀라움을 표하며, Cursor가 코드 작성 속도를 크게 향상시켰다고 설명함

    • git-diff 스타일로 파일에 적용되는 출력물로 변경 사항을 승인하거나 거부할 수 있다고 설명함
    • 코드베이스의 문맥을 어느 정도 이해하고 있어 명시적으로 파일을 태그할 때 가장 잘 작동한다고 언급함
    • 터미널 로그나 타입 오류를 채팅 인터페이스에 직접 삽입하는 것이 매우 편리하다고 설명함
  • 한 사용자는 "채팅을 UX로 사용하는 것"이 막다른 길이라고 주장하며, SQL의 사례를 들어 설명함

    • LLM 기반의 채팅 인터페이스가 사용자에게 노출되지 않을 것이라고 예측함
    • 자연어 인터페이스가 기계와의 상호작용에서 예외적인 경우에만 사용될 것이라고 언급함
  • 자연어가 정확성을 위해 만들어지지 않았으며, AI와의 소통을 위해서는 프로그래밍 언어의 하위 집합이 필요하다고 설명함

  • Daniel의 의견에 대해, 채팅이 일반적으로 불편한 UI라고 주장하는 것이 아니라, 컴퓨터 프로그램을 완전히 명시하기 위해서는 많은 세부사항이 필요하다고 설명함

    • LLM이 모호성을 좋은 기본값으로 채워주며, 일반적인 로그인 화면을 제공한다고 설명함
  • Cursor와 같은 경험을 음성으로 구현하여 코드 변경을 논의할 수 있는 기능을 기대한다고 언급함

  • 요구사항 문서를 기반으로 AI 기반 소프트웨어 개발을 추진하는 접근 방식을 설명하며, 요구사항을 체크리스트로 변환하여 추가 지침으로 사용하는 예시를 제공함

  • 첫 번째 물결은 채팅이 아닌 완성이었으며, 채팅이 더 직관적이고 노력이 적게 든다고 설명함

    • 문서가 고정된 것이 아니라 AI를 통해 반복적으로 수정할 수 있다고 설명함
  • 새로운 언어를 발명하여 컴퓨터 프로그램을 설명할 수 있는 구조화된 언어 모델을 기대한다고 언급함