# 채팅(Chat)은 개발 도구에 적합하지 않은 UI 패턴임

> Clean Markdown view of GeekNews topic #19060. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=19060](https://news.hada.io/topic?id=19060)
- GeekNews Markdown: [https://news.hada.io/topic/19060.md](https://news.hada.io/topic/19060.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2025-02-05T09:49:37+09:00
- Updated: 2025-02-05T09:49:37+09:00
- Original source: [danieldelaney.net](https://danieldelaney.net/chat/)
- Points: 23
- Comments: 4

## Summary

최근에 개발 도구에 많이 추가되고 있는 AI와의 채팅은 개발 용도로는 부적절한 UI 패턴으로, 소프트웨어 작성은 명확한 이해와 문서 기반의 접근이 필요합니다. AI 코딩 도구의 초기 버전은 정확도가 부족하여 실질적인 소프트웨어 개발에 활용하기 어려웠으며, 중요한 소프트웨어 구축에는 추측이 아닌 명확한 이해가 필수적입니다. 글에서는 문서 기반 프로그래밍이 중요하다고 강조하며, 의도를 명확히 하고 체계적인 변경 추적을 가능하게 하여 AI 개발 도구의 미래는 이러한 문서 기반 접근을 잘 도입하는 기업이 주도할 것이라고 주장합니다.

## Topic Body

- # Chat은 개발 도구로서의 나쁜 UI 패턴임  
  - 코드가 인간에게 정확성을 요구하는 것은 좋음. 컴퓨터는 정확성을 필요로 하기 때문임  
  - 그러나 이는 인간이 기계처럼 생각하도록 강요함  
  - 수십 년 동안 프로그래밍을 더 인간 친화적으로 만들기 위해 노력했음. 고급 언어와 시각적 인터페이스가 그 예임  
  - AI는 이러한 문제를 해결할 것으로 기대되었음. 영어로 프로그래밍이 가능해질 것이라는 기대였음  
  
- # AI 코딩 도구의 첫 번째 물결  
  - 첫 번째 AI 코딩 도구들은 기회를 낭비했음. 화려한 데모를 만들지만 쓸모없는 소프트웨어를 생산함  
  - “프로토타입 용도” 정도로만 언급되지만, 실제로 활용하기엔 정확도가 부족함  
  - 많은 사람들이 AI 모델을 비난하며 더 똑똑해져야 한다고 주장함  
  - 그러나 중요한 소프트웨어를 구축할 때는 추측이 아닌 명확한 이해가 필요함  
  
- # 소프트웨어 작성은 대화가 아님  
  - 소프트웨어 작성은 법률 작성과 같음. 영어를 사용하지만 용어를 정의하고 규칙을 설정하며 복잡한 상호작용을 관리함  
  - 채팅 메시지로 세금 코드를 작성할 수 없음. 문서가 필요함  
  - 문서는 복잡성을 조직화하고 특정 지점을 참조하며 체계적으로 변경 사항을 추적할 수 있게 함  
  
- # 문서 기반 프로그래밍의 중요성  
  - 의도가 문서에 있을 때 영어는 실제 프로그래밍 언어가 됨  
  - 전체 시스템을 한눈에 볼 수 있음  
  - 의도를 명확히 하고 개선할 수 있음  
  - 변경 사항을 적절히 추적할 수 있음  
  - 팀이 시스템을 함께 작업할 수 있음  
  - 요구 사항이 자체 품질 검사가 됨  
  - 변경 사항이 명확한 사양에서 시작됨  
  
- # 다음 단계 AI 개발 도구의 핵심  
  - 문서 기반으로 사용자 의도를 표현하고 관리하는 방식이 중요해짐  
  - 대화형 프로토타입이 아닌, 실제 소프트웨어 개발에 필요한 정밀함을 제공하는 도구가 필요함  
  - 이 관점을 제대로 도입하는 기업이 AI 개발 도구의 미래를 주도할 것임

## Comments



### Comment 34261

- Author: softer
- Created: 2025-02-06T22:14:45+09:00
- Points: 1

llm을 서포토하는 것에 지식그래프를 반영하려하고 있고 그게 유효하다고도 하더라구요

### Comment 34206

- Author: beoks
- Created: 2025-02-05T15:56:06+09:00
- Points: 4

제목으로는 채팅 UI 가 부적합하다고하지만, 내용은 모호한 요구사항이 핵심 문제라고 설명하네요.  
채팅 형식으로 AI 가 사용자 요청 중 모호함을 바로잡도록 요청하면 해결될 문제같은데,  
굳이 채팅 UI 를 비난하는 이유를 모르겠습니다.

### Comment 34186

- Author: jhj0517
- Created: 2025-02-05T12:58:50+09:00
- Points: 2

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

### Comment 34169

- Author: neo
- Created: 2025-02-05T09:49:37+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=42934190) 
- 한 사용자는 o3-mini와 o3-mini-high를 사용하여 코드 생성 프로젝트를 진행했으며, "페어 프로그래밍" 접근 방식이 중요하다고 언급함
  - 코드 리뷰와 피드백 제공의 중요성을 강조하며, 단순히 코드를 수용하는 것은 좋지 않다고 설명함
  - 유닛 테스트 생성의 중요성을 언급하며, 코드의 핵심을 파악한 후 스모크 테스트를 요청함
  - 긴 문맥에서 모델이 혼란스러워질 수 있으므로 새로운 대화를 시작하는 것이 좋다고 조언함
  - 코드 예제를 제공하고 영어로만 프롬프트하지 말라고 권장함

- 다른 사용자는 채팅이 UI 패턴으로서 부적절하다고 주장하며, 기록으로서는 좋지만 작업을 수행하기에는 좋지 않다고 설명함
  - 내러티브 방식이 물건을 만드는 데 적합하지 않다고 언급함

- 또 다른 사용자는 Cursor가 언급되지 않은 것에 놀라움을 표하며, Cursor가 코드 작성 속도를 크게 향상시켰다고 설명함
  - git-diff 스타일로 파일에 적용되는 출력물로 변경 사항을 승인하거나 거부할 수 있다고 설명함
  - 코드베이스의 문맥을 어느 정도 이해하고 있어 명시적으로 파일을 태그할 때 가장 잘 작동한다고 언급함
  - 터미널 로그나 타입 오류를 채팅 인터페이스에 직접 삽입하는 것이 매우 편리하다고 설명함

- 한 사용자는 "채팅을 UX로 사용하는 것"이 막다른 길이라고 주장하며, SQL의 사례를 들어 설명함
  - LLM 기반의 채팅 인터페이스가 사용자에게 노출되지 않을 것이라고 예측함
  - 자연어 인터페이스가 기계와의 상호작용에서 예외적인 경우에만 사용될 것이라고 언급함

- 자연어가 정확성을 위해 만들어지지 않았으며, AI와의 소통을 위해서는 프로그래밍 언어의 하위 집합이 필요하다고 설명함

- Daniel의 의견에 대해, 채팅이 일반적으로 불편한 UI라고 주장하는 것이 아니라, 컴퓨터 프로그램을 완전히 명시하기 위해서는 많은 세부사항이 필요하다고 설명함
  - LLM이 모호성을 좋은 기본값으로 채워주며, 일반적인 로그인 화면을 제공한다고 설명함

- Cursor와 같은 경험을 음성으로 구현하여 코드 변경을 논의할 수 있는 기능을 기대한다고 언급함

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

- 첫 번째 물결은 채팅이 아닌 완성이었으며, 채팅이 더 직관적이고 노력이 적게 든다고 설명함
  - 문서가 고정된 것이 아니라 AI를 통해 반복적으로 수정할 수 있다고 설명함

- 새로운 언어를 발명하여 컴퓨터 프로그램을 설명할 수 있는 구조화된 언어 모델을 기대한다고 언급함
