해결책
스톡홀름의 KTH 왕립공과대학교 소속 Martin Monperrus와 동료들은 실패하는 소프트웨어 빌드에 대한 패치를 생성하는 봇 Repairnator를 만들었고, 그것이 인간과 경쟁할 수 있는지 시험하기 위해 위장시켰다. 그들은 연구소의 "소프트웨어 엔지니어"이자 "오픈소스 기여에 열의가 있는 주니어 개발자처럼 보이는" Luc Esape라는 GitHub 사용자를 만들었다. Luc가 바로 그 봇이었다. 인간 중재자들은 봇과 인간의 작업을 다르게 판단하기 때문에, 인간 경쟁력 가설을 시험하려면 이 위장이 필요했다. 관련된 인간들에게는 나중에 사실이 알려졌다.
2017년 2월부터 12월까지의 첫 실행에서 Repairnator는 14,188개의 GitHub 프로젝트로 이루어진 고정 목록에 투입되었다. 그것은 하루에 약 30회의 수리 시도를 수행했고, 실패가 있는 11,500개 이상의 빌드를 분석했으며, 그중 3,000개 이상을 재현했지만, 패치를 개발한 것은 단 15건이었다. 수락된 것은 없었다. 봇이 너무 느렸거나 패치의 품질이 너무 낮았다.
두 번째 실행에서는 Luc가 2018년 1월부터 6월까지 Travis 지속적 통합 서비스에서 작업하도록 배치되었고, 1월 12일 한 인간 중재자가 Repairnator의 패치를 빌드에 수락했다. 즉, Repairnator가 처음으로 인간 경쟁력을 갖추게 된 것이다. 6개월 동안 그것은 5개의 수락된 패치를 산출했다.
이 실험은 거버넌스상의 걸림돌을 드러냈다. 2018년 5월 eclipse/ditto 프로젝트는 Repairnator의 풀 리퀘스트를 반려했는데, 그 "작성자"가 Eclipse Foundation 기여자 라이선스 계약(CLA)에 서명하지 않았기 때문이었다. 봇은 물리적으로 서명할 수 없다. 팀은 봇 기여의 지식재산권과 책임은 누구에게 있는가, 운영자인가, 구현자인가, 아니면 알고리즘 설계자인가라고 물었다.
이룬 성과
봇이 인간과 경쟁하는지 시험하려면 어느 쪽이 봇인지 숨겨야 한다. 패치가 기계가 만든 것임을 아는 중재자는 다른 기준으로 그것을 판단한다.
통한 이유
이 속임수가 곧 실험 설계다. 자신이 봇을 검토하고 있다는 사실을 모르는 중재자에 의한 수락만이 인간 경쟁력에 대한 유일하게 정직한 척도다.
결과는 희망적 구상이 아니라 구체적이다. 14,188개 프로젝트를 관찰했고, 11,500개 빌드를 분석했으며, 3,000건의 실패를 재현했고, 5개의 패치가 실제 코드베이스에 병합되었다.
정직한 첫 실행(15건 중 0건 수락)이 있었기에 두 번째 실행의 5건 수락은 시연이 아니라 측정 가능한 개선이 된다.
Eclipse CLA 반려는 봇이 라이선스에 서명할 수 없으니 누가 그 코드를 보증하는가라는 오늘날의 AI 기여 논쟁을 몇 년이나 앞서 예견했다.
인간 경쟁력은 벤치마크 점수가 아니라 블라인드 테스트의 속성이다. 즉, 무엇이 그것을 만들었는지 모르는 검토자에 의해 작업이 실제로 판정되는 방식으로 봇을 측정해야 한다.
후속 상황
팀은 영향을 받은 인간들에게 이 속임수를 알리고 결과를 발표했으며, Repairnator를 자동 프로그램 수리에서 인간 경쟁력의 이정표이자 봇과 인간이 소프트웨어에서 협업하는 시대의 예고라고 평가했다. 출처는 추가적인 전개를 보도하지 않는다.
근거 확인하기
출처
- A bot disguised as a human software developer fixes bugs MIT Technology Review · technologyreview.com ·