https://the-decoder.com/microsoft-study-reveals-pitfalls-in-developing-ai-co-pilots/
https://austinhenley.com/blog/copilotpainpoints.html
https://arxiv.org/pdf/2312.14231.pdf

Microsoft Research의 연구진은 AI 코파일럿을 구축할 때 개발자가 직면하는 문제를 파악했습니다.


Word, Excel, 프로그래밍, 이미지 및 비디오 제작과 같은 애플리케이션에서 사용자의 작업을 지원하기 위해 대규모 언어 모델(LLM)로 구동되는 AI 코파일럿을 배포하는 회사가 늘어나면서 소프트웨어 개발자는 이러한 AI 기술을 통합하는 미지의 영역에 진입하고 있습니다.


Microsoft 연구원들은 다양한 회사에서 코파일럿 개발을 담당하는 26명의 전문 소프트웨어 개발자를 인터뷰했습니다. 그 결과, 개발 프로세스와 도구가 AI 애플리케이션 개발의 과제와 범위를 따라잡지 못하고 있다는 사실을 발견했습니다.


코파일럿 개발 프로세스는 탐색, 구현, 평가, 제품화라는 대략적인 순서를 따릅니다. 하지만 예측할 수 없는 AI의 특성으로 인해 이 과정은 "지저분하고 반복적"이라고 연구진은 말합니다.



개발자는 관련 사용 사례를 파악하고, 다양한 기술로 실현 가능성을 평가하고, 궁극적으로 실제 사용자에게 제품을 제공해야 하며, 각 사례마다 고유한 과제가 있습니다. 이 연구에서는 어려움을 6가지 영역으로 분류했습니다:

1. 프롬프트 엔지니어링은 시간이 많이 걸리고 컨텍스트와 토큰 수의 균형을 맞추기 위해 많은 시행착오를 거쳐야 합니다. "과학이라기보다는 예술"에 가깝고 모델은 "영향을 미칠 수 있는 방법이 백만 가지나 되는" "매우 취약한" 분야입니다.
2. 여러 데이터 소스와 프롬프트를 오케스트레이션하여 사용자 의도를 파악하고 워크플로를 제어하는 것은 복잡하고 오류가 발생하기 쉽습니다.

3. 테스트는 매우 중요하지만 LLM의 예측 불가능성 때문에 지루합니다. 개발자는 일치하는 항목을 찾거나 값비싼 벤치마크를 만들기 위해 반복적으로 테스트를 실행합니다.
4. LLM 작업에 대한 모범 사례는 없습니다. 개발자는 끊임없이 재고해야 하는 빠르게 진화하는 분야에서 트위터와 논문에 의존합니다.
5. 보안, 개인정보 보호 및 규정 준수를 위해서는 가드레일이 필요하지만, 개인정보 보호를 위해 원격 측정 데이터 수집이 제한됩니다. 보안 검토가 힘들어집니다.
6. 개발자 환경은 부적절한 도구와 통합 문제로 인해 어려움을 겪습니다. 개발자는 고객 문제에 집중하는 대신 새로운 도구를 지속적으로 학습해야 합니다.

포커스 그룹 세션에서는 프롬프트 작성, 검증 및 디버깅에 대한 더 나은 지원, 사용자 투명성 및 제어 강화, 자동화된 측정 절차, 신속한 프로토타이핑 옵션, 기존 코드와의 간편한 통합 등 향후 도구와 프로세스의 개선 가능성이 있는 사항들을 확인했습니다.


이 연구는 소프트웨어 제품에서 제너레이티브 AI가 가져올 기회와 불확실성을 모두 가져오는 상당한 혼란을 강조합니다. 빠르게 진화하는 모델로 인해 소프트웨어 개발을 다시 생각해야 할 수도 있습니다.


연구진은 "LLM의 발전으로 인한 제품 코파일럿의 확산은 기존 소프트웨어 엔지니어링 프로세스와 도구에 부담을 주었고, 소프트웨어 엔지니어는 새로운 개발 관행을 즉흥적으로 만들어야 했습니다."라고 결론을 내립니다.