UStackUStack
Mercury Edit 2 icon

Mercury Edit 2

Mercury Edit 2는 코딩 작업에서 최근 편집과 코드 맥락을 바탕으로 다음에 바꿀 내용을 예측해 지연을 낮추는 diffusion 기반 LLM입니다.

Mercury Edit 2

Mercury Edit 2란 무엇인가?

Mercury Edit 2는 소프트웨어 개발 워크플로에서 다음 편집 예측을 위한 특화된 diffusion LLM(dLLM)입니다. 코딩 지원에서 가장 지연에 민감한 단계인 최근 편집과 주변 코드베이스 맥락을 바탕으로 다음에 변경할 가능성이 높은 내용을 제안하도록 설계되었습니다.

이 모델은 Inception의 기존 자동 완성 엔드포인트를 보완하며, 편집 제안에 특화되어 있습니다. 실제로 작업 중 제안이 적합할 때 예측된 편집을 수락할 수 있습니다(예: Tab 키 사용).

주요 기능

  • 편집 기록과 코드 맥락 기반 다음 편집 예측: "최근 편집"과 코드베이스 맥락을 활용해 다음 변경 사항에 대한 타겟팅된 제안을 생성합니다.
  • 병렬 diffusion 기반 토큰 생성: diffusion을 사용해 토큰을 생성하고 병렬로 실행하여 첫 제안 시간을 줄여 저지연 UX를 제공합니다.
  • 인간 피드백을 통한 선호도 정렬 훈련: 명시적 수락/거부 피드백으로 인간 선호도 데이터셋을 구축한 후, unpaired 강화 학습 방법(KTO)을 적용해 제안을 인간 선호도에 맞춥니다.
  • 더 선택적이고 덜 산만한 편집(게시물 측정 기준): 보고된 개선 사항으로는 수락된 편집 48% 증가와 표시 내용의 27% 더 높은 선택성입니다.
  • 편집 정확도와 속도 벤치마크 커버리지: 품질은 벤치마크 세트(오픈소스 Instinct, Fill-in-the-middle(FIM), Next-edit Prediction(NEP) 포함)와 내부 다음 편집 벤치마크로 평가; 속도는 대표 요청의 엔드투엔드 지연으로 측정.
  • Inception Platform API를 통해 사용 가능: Inception API를 통해 Mercury Edit 2에 액세스(APIZedProxy를 Zed 사용자 언급).

Mercury Edit 2 사용 방법

  • Inception Platform에서 액세스: Inception API Platform에서 계정을 생성해 Mercury Edit 2를 사용 시작.
  • API를 통해 모델 호출: Inception API를 사용해 다음 편집 예측 요청(게시물이 언급한 API 워크플로 포함, Zed 통합을 위한 APIZedProxy).
  • 에디터 워크플로에 통합: 개발 환경에 임베드할 때, 에디터의 수락 액션(예: 게시물에 설명된 "Tab으로 수락")과 함께 모델의 다음 편집 예측 사용.

사용 사례

  • 활성 코딩 중 IDE/에디터 다음 변경 제안: 일련의 편집 시 Mercury Edit 2를 사용해 다음 변경 사항을 저지연으로 제안.
  • 편집 타겟팅 제안으로 리팩토링 지원: 이름 변경, 리팩토링 단계 등 "다음 편집" 프레임이 워크플로에 맞는 구조화된 편집 제안 생성.
  • 편집에 맞춘 FIM/라인 완성 스타일 워크플로: 완성만으로는 부족할 때, 현재 편집 시퀀스와 주변 코드에서 이어지는 편집을 다음 편집 예측으로 제안.
  • 기능 구현 반복: 기능 추가 시 최근 편집 기반 후속 변경(예: 후속 수정)을 다음 편집 예측으로 제안.
  • 선호도 정렬로 원치 않는 제안 감소: 선호도 훈련된 동작으로 산만한 편집의 빈도와 길이를 낮춤(게시물이 명시한 훈련 동기).

자주 묻는 질문

  • Mercury Edit 2가 타겟하는 문제는 무엇인가? 코딩 워크플로에서 저지연으로 다음 변경 내용을 제안하는 다음 편집 예측입니다.

  • 자동 완성과 어떻게 다른가? 게시물에 따르면 Mercury Edit 2는 일반 완성이 아닌 편집 제안에 특화해 기존 자동 완성 엔드포인트를 보완합니다.

  • 모델이 더 유용하게 훈련되는 방식은? 게시물에 수락 vs. 거부 피드백으로 구축된 인간 선호도 데이터셋을 사용한 후, KTO라는 unpaired 강화 학습 방법으로 정렬합니다.

  • 게시물이 모델 품질과 속도를 어떻게 평가하나? 품질은 오픈소스 편집 관련 벤치마크(Instinct, FIM, NEP)와 내부 다음 편집 벤치마크로 평가(정확도는 LLM-as-a-judge와 FIM 테스트 케이스 실행 사용). 속도는 대표 요청의 엔드투엔드 지연으로 측정.

  • 모델을 어디서 사용할 수 있나? Inception Platform API를 통해 사용 가능합니다.

대안

  • 자동 완성 중심 코딩 어시스턴트: 다음 토큰이나 텍스트를 예측하는 데 초점을 맞추며, 타겟팅된 다음 편집이 아닌 경우가 많습니다; 접두사 완성에는 더 간단할 수 있지만 “다음에 바꿀 내용”에 특화되지 않습니다.
  • 코드용 범용 완성 모델: 일반 코드 LLM에 diff나 편집 제안을 프롬프트할 수 있지만, 다음 편집 예측 지연과 편집 수락/거부 정렬에 특화 최적화되지 않을 수 있습니다.
  • 기타 다음 편집 / 중간 채우기 스타일 편집 예측기: 동일 카테고리의 대안은 유사한 편집 시나리오(라인 완성, 변수 이름 변경, 리팩토링, 기능 구현)에서 평가된 모델로, 편집 생성 방식과 품질 대 속도 균형에서 차이가 납니다.
  • 테스트 주도 편집 생성 시스템: 일부 접근법은 테스트 케이스 실행으로 편집을 검증합니다(게시물에서 FIM이 테스트 케이스 실행을 사용한다고 언급). 이러한 시스템은 실행을 통해 정확성을 강조할 수 있지만, 워크플로 속도와 지연 트레이드오프에서 차이가 날 수 있습니다.
Mercury Edit 2 | UStack