인터뷰
타브나인(Tabnine)의 공동 창립자이자 공동 CEO인 에란 야하브(Eran Yahav) 교수 – 인터뷰 시리즈

에란 야하브(Eran Yahav) 교수는 이스라엘 기술원(Technion – Israel Institute of Technology)에서 프로그래밍 언어, 기계 학습, 소프트웨어 공학을 연구하는 컴퓨터 과학 교수입니다. 그는 특히 프로그램 합성과 대규모 코드 분석에 중점을 두고 연구를 진행하고 있습니다. 학술 연구와 함께 그는 개발자에게 실제 개발 도구를 제공하기 위해 타브나인(Tabnine, 원래 이름은 코다타(Codota))을 공동 창립했습니다. 그는 학계와 산업계를 연결시키는 연구를 진행하고 있으며, 실제 기업 환경에서 더 신뢰할 수 있고 안전하며 상황에 맞는 AI 생성 코드를 만들기 위해 노력하고 있습니다.
타브나인(Tabnine)은 개발자에게 전체 소프트웨어 개발 수명 주기 동안 도움을 주는 AI 기반 코딩 플랫폼입니다. 코드 작성 및 디버깅, 테스트 및 문서 생성 등에 도움을 주는 플랫폼으로, 원래 코드 완성 도구로 시작하여 더 많은 기능을 추가하여 기업용 플랫폼으로 발전했습니다. 이 플랫폼은 수십 개의 프로그래밍 언어와 주요 IDE를 지원하며, 개발자 생산성을 향상시키는 동시에 AI 생성 코드가 조직 표준과 일치하는지 확인합니다.
프로그래밍 분석과 합성을 연구하는 데 수년을 보낸 후, 타브나인을 공동 창립하기로 결정한 소프트웨어 개발의 문제는 무엇인가? 그리고 학술 연구는 회사 초기 비전을 어떻게 형성했는가?
제 학술 연구는 프로그래밍 분석과 합성에 중점을 두었습니다. 이는 기본적으로 기계가 코드를 이해하고 생성하는 방법을 가르치는 것입니다. 저는 프로그램 분석에 대한 박사 학위를 취득했으며, 이는 제 초기 연구의 대부분을 차지했습니다. 소프트웨어 품질 문제를 프로그램 분석으로 해결하는 것은 일부 문제가 이미 잘못된 프로그램으로 인해 매우 어려울 수 있음을 명확히 보여주었습니다. 예방이 치료보다 낫습니다. 이것은 소프트웨어 품질 문제를 프로그램 합성을 통해 해결하는 것이 올바른 방법임을 확신시켰습니다.
처음에는 병렬 프로그램을 위한 프로그램 합성을 연구했습니다. 즉, 순차적 프로그램에서 병렬 프로그램을 자동으로 생성하는 방법을 연구했습니다. 그런 다음 기계 학습을 사용한 더 일반적인 프로그램 합성을 연구했습니다.
기계 학습을 사용한 프로그램 합성은 타브나인의 기본 아이디어이기도 합니다. 모델이 코드 패턴을 큰 코드.corpus에서 직접 학습하여 개발자에게 실시간으로 도움을 줄 수 있다는 아이디어는 이제는 당연한 것으로 보입니다. 이 일반적인 아이디어는 소프트웨어 개발 수명 주기의 모든 단계에 적용할 수 있습니다. 코드 생성에서 코드 검토, 배포, 그 이상까지 모두 적용할 수 있습니다.
비전은 개발자에게 개발 프로세스를 가속화하고 마찰을 제거하는 도구를 제공하는 것이었습니다. 소프트웨어 개발은 창의적이고 문제 해결적인 분야이므로, 목표는 AI가 루틴 작업을 처리하고 개발자가 흐름을 유지하도록 도와주는 것이었습니다. 그 비전은 오늘날에도 여전히 우리를指导합니다. 기술은 초기 날보다 많이 발전했지만, 기본적인 목표는 같습니다.
타브나인은 오픈AI의 모델과 같은 생성적 AI가 주류가 되기 전에 수년 전 AI 코딩 어시스턴트를 개척했습니다. 초기 날로부터 소프트웨어 개발에서 AI의 역할이 어떻게 진화했는지 되돌아보면, 첫 번째 코딩 공유기에서 산업이 어떤 교훈을 얻었는지 설명해 주시겠습니까?
초기 AI 코딩 어시스턴트는 주로 예측에 중점을 두었습니다. 개발자가 코드를 더 빠르게 작성하도록 도와주는 고급 자동 완성 시스템이었습니다.
에이전트 루프가 변경한 것은 AI가 더自治적으로 작업을 처리할 수 있다는 것입니다. 우리는 이제 에이전트를 제대로 된 자문 개발자로 간주할 수 있습니다.
그러나 이것은 산업계에 중요한 교훈을 주었습니다. 모델의 원시 능력만으로는 기업 소프트웨어 개발에 충분하지 않습니다. 공개 데이터에 훈련된 모델은 인상적인 출력을 생성할 수 있지만, 종종 조직의 아키텍처, 의존성 및 규칙에 대한 인식이 부족합니다.
그것이 다음 단계의 진화가 단순히 더 큰 모델이나 더 큰 컨텍스트 창이 아니라, 모델을 실제로 구축되는 컨텍스트에 연결하는 것임을 의미합니다.
많은 기업이 AI 에이전트를 확장하는 데 더 많은 모델이 필요하다는 것을 발견하고 있습니다. 왜 컨텍스트가 신뢰할 수 있는 AI 주도 개발의真正 전선이 되는지 설명해 주시겠습니까?
소프트웨어 시스템은 관계의 복잡한 네트워크입니다. 단일 변경이 여러 서비스, API 또는 다운스트림 구성 요소에 영향을 줄 수 있습니다.
오늘날의 AI 모델은 코드를 생성하는 데 매우 좋지만, 종종 구조화된 관계 이해 없이 작동합니다.那种 이해 없이는, AI는 변경의 결과에 대해 신뢰할 수 있게 추론할 수 없습니다.
기업이 발견하는 것은 AI 시스템의 신뢰성이 작동하는 컨텍스트의 품질에 달려 있습니다. AI 시스템이 시스템 아키텍처, 서비스 간의 의존성 및 조직의 코딩 표준을 이해한다면, 실제로 작동하는 시스템과 더 잘 일치하는 코드를 생성할 수 있습니다.
그런 의미에서 컨텍스트는 기업 AI 개발의 다음 전선이 되고 있습니다.
엔터프라이즈 컨텍스트 엔진은 조직의 아키텍처, 의존성 및 엔지니어링 관행에 대한 구조화된 이해를 AI 에이전트에게 제공합니다. 이 접근법은 많은 회사에서 현재 사용하는 리트리벌-증강 생성과 어떻게 다른가요?
리트리벌-증강 생성은 유용한 기술입니다. 모델이 답변을 생성할 때 관련 문서나 코드 조각을 가져올 수 있습니다.
그러나 리트리벌만으로는 이해를 생성하지 않습니다. 정보에 대한 액세스를 제공하지만, 구조는 제공하지 않습니다.
엔터프라이즈 컨텍스트 엔진은 더 나아가 소프트웨어 환경에 대한 구조화된 표현을 구축하도록 설계되었습니다. 저장소, 서비스, 의존성, API 및 아키텍처 관계를 분석하고 시스템이 실제로 작동하는 방식에 대한 모델로 구성합니다.
이것은 AI 시스템이 텍스트 조각을 검색하는 것보다 구성 요소 간의 관계에 대해 추론할 수 있도록 합니다. 복잡한 기업 환경에서는 이러한 차이가 매우 중요합니다.
AI 코딩 도구는 자동 완성 제안에서 다단계 워크플로우를 실행할 수 있는 자율 에이전트로 발전하고 있습니다. 향후 5년 동안 인간 개발자와 에이전트 시스템 간의 균형이 어떻게 변할 것으로 보십니까?
AI 에이전트는 루틴 개발 작업을 점점 더 많이 수행할 것입니다. 이미 기능을 종단간으로 구현할 수 있으며, 테스트 및 문서화도 포함합니다. 모든 개발자는 AI 개발자 팀의 리더가 될 것입니다. 주요 도전은 요구 사항을 이 팀에게 전달하고 생성된 아티팩트가 정의된 요구 사항과 일치하는지 확인하는 것입니다.
그러나 소프트웨어 개발은 근본적으로 문제 해결 및 설계입니다. 인간 개발자는 아키텍처를 정의하고, 트레이드오프를 만들고, 시스템의 전반적인 방향을 안내하는 역할을 계속할 것입니다.
변화하는 것은 개발자가 작업하는 추상화 수준입니다. 개발자는 더 이상 코드에 초점을 맞추지 않고, AI 시스템이 일부 워크플로우를 실행하는 더 높은 수준의 워크플로우를 조율하고 협력할 것입니다.
다시 말해, 개발자의 역할은 더 전략적이 됩니다. AI가 더 많은 기계적인 작업을 처리합니다.
타브나인은 기업 사용자가 AI 생성 코드 수락률이 일부 환경에서 80%에 달할 수 있다고 나타났습니다. 조직은 AI 코딩 도구가 실제로 개발자 생산성을 향상시키는지 확인하기 위해 어떤 지표를 사용해야 합니까?
주된 질문은 AI가 얼마나 많은 코드를 생성하는지가 아니라, 실제로 얼마나 유용한 작업을 생성하는지입니다.
조직이 추적해야 할 몇 가지 지표가 있습니다. 하나는 첫 번째 패스 수락률입니다. 즉, AI 생성 코드를 수정 없이 사용할 수 있는 빈도입니다. 또 다른 하나는 검토 사이클 시간입니다. 즉, 풀 요청을 병합하기 전에 필요한 반복 횟수입니다.
조직은 또한 개발자가 다시 작업에 소요하는 시간과 개발에서 생산까지의 리드 시간을 확인해야 합니다.
AI 도구가 실제로 생산성을 향상시키면, 이러한 지표에 걸쳐서 개선된 것을 볼 수 있습니다. 개발자는 생성된 코드를 수정하는 데 덜 시간을 보냅니다. 더 높은 가치의 작업에 더 많은 시간을 보냅니다.
기업은 외부 모델에 대한 독점 코드 노출에 대해 여전히 주의합니다. 신뢰할 수 있는 AI 코딩의 개념은 기업이 AI 개발 도구를 채택할 때 겪는 거버넌스, 개인 정보, 준수 문제를 어떻게 해결합니까?
신뢰는 기업이 AI를 채택할 때 가장 중요한 요소 중 하나입니다.
신뢰는 AI 엔지니어가 실제로 중요한 소프트웨어 엔지니어링 작업을 자율적으로 수행할 수 있도록 하는 것입니다. 우리는 AI 엔지니어가 품질, 보안, 정책 준수와 같은 우리의 기대에 따라 행동하도록 어떻게 확신할 수 있을까요? AI 엔지니어가 우리의 엔지니어링 팀의 受け入れ된 구성원으로 간주되려면, 우리의 잘 검증된 팀원과 마찬가지로 신뢰할 수 있어야 합니다.
이 문제를 해결하는 데에는 두 가지 중요한 기둥이 있습니다.
- 개인화: 조직, 코드베이스, 최고의 관행에 대한 친밀한 이해를 AI 엔지니어에게 제공합니다.
- 제어: 모든 코드(AI 생성 및 인간 작성 코드 포함)가 조직의 품질, 보안, 성능, 신뢰성 표준을 충족하는지 확인하기 위한 강력한 시스템을 구현합니다.
또한, 신뢰할 수 있는 AI 코딩은 조직이 AI를 배포하는 방법에 대한 제어를 제공하고, 중앙 집중식 거버넌스 및 제어를 보장합니다.
조직 컨텍스트가 기업 AI 스택의 기초 레이어가 될 것이라고 제안했습니다. 데이터베이스나 클라우드 인프라와 같은 이전 컴퓨팅 시대와 비교하여, 미래의 아키텍처는 어떤 모습일까요?
기업 기술이 어떻게 진화하는지 보면, 새로운 인프라 레이어가 나타나는 것을 종종 볼 수 있습니다.
데이터베이스는 데이터 관리를 위한 기초가 되었습니다. 클라우드 플랫폼은 대규모 애플리케이션 실행을 위한 기초가 되었습니다.
AI 시대에는 조직이 AI 시스템이 내부 구조(시스템, 관계, 운영 제약)를 이해할 수 있는 인프라를 필요로 할 것입니다.
그런 인프라 레이어는 여러 AI 시스템이 사용할 수 있는 구조화된 컨텍스트를 제공할 것입니다. 코드 어시스턴트, 지원 에이전트, 운영 자동화 도구 등입니다.
그런 의미에서 컨텍스트는 기업 AI의 공유 기초가 됩니다.
많은 회사가 단일 기초 모델에紧密하게 결합된 코딩 어시스턴트를 구축하고 있습니다. 타브나인은 기업이 필요에 따라 다른 모델을 연결할 수 있도록 허용합니다. 모델 유연성이 기업 AI 개발 도구의 장기적인 진화에 중요한 이유는 무엇입니까?
AI 생태계는 매우 빠르게 발전하고 있습니다. 새로운 모델이 자주 출시되고, 각 모델에는 서로 다른 분야에서 강점이 있습니다.
기업은 모델 랜드스케이프가 변경될 때마다 개발 워크플로우를 다시 설계할 필요가 없습니다. 모델을 선택하고 전환할 수 있는 기능을 제공함으로써, 우리는 기업의 AI 전략을 미래에 대비할 수 있는 유연성을 제공합니다.
모델 유연성은 또한 기업이 성능, 비용, 개인 정보 보호 요구 사항 및 배포 제약을 균형있게 조절할 수 있도록 합니다.
장기적으로, 기업은 다중 모델 환경에서 운영할 가능성이 높습니다. 개발 플랫폼은 이러한 현실을 고려하여 설계되어야 합니다.
현재 AI 개발 플랫폼을 평가하는 CTO 및 엔지니어링 리더에게, AI 코딩 도구를 배포할 때 조직이 가장 큰 실수를 무엇이라고 생각합니까? 어떻게 그들을 피할 수 있습니까?
한 가지 일반적인 실수는 모델 능력에만 집중하는 것입니다. 더 큰 모델은 분명히 중요한 구성 요소이지만, 실제 환경에서 신뢰성은 모델이 작동하는 시스템을 얼마나 잘 이해하는지에 달려 있습니다.
또 다른 실수는 거버넌스 및 보안 요구 사항을 고려하지 않고 AI 도구를 배포하는 것입니다. 기업은 코드 액세스, 모델 배포 및 출력 검증을围绕하는 명확한 정책이 필요합니다.
마지막으로, 기업은 때때로 AI가 워크플로우를 적응시키거나 컨텍스트를 제공하지 않고 즉각적인 생산성 향상을 기대합니다. 성공적인 배포는 일반적으로 AI를 기존 개발 프로세스에 통합하고 조직의 코드 및 아키텍처에 연결하는 것을 포함합니다.
그 요소들이 함께 모여서, AI는 단순한 도구가 아니라 소프트웨어 개발을 위한 강력한 가속기가 될 수 있습니다.
잘된 인터뷰 감사합니다. 더 많은 정보를 원하는 독자는 타브나인을 방문하십시오.












