스스로 코딩하고 버그까지 고치는 AI, 오픈소스 OpenHands는 어떻게 동작하나?

목차

OpenHands가 정확히 뭘 하는 도구인가?

왜 2026년에 이 도구가 중요한가?

OpenHands가 잘하는 일과 아직 약한 일은?

OpenHands(오픈핸즈)는 사람이 준 작업을 받아 스스로 계획을 세우고 코드를 짠 뒤 실행해보고, 에러가 나면 정해둔 테스트가 통과할 때까지 반복해서 고치는 오픈소스 AI 코딩 에이전트다. 소프트웨어 자체는 MIT 라이선스로 무료이고 깃허브 별이 7만 개를 넘겼으며, 표준 벤치마크 SWE-bench에서 실제 깃허브 이슈의 절반 이상을 풀어내 상위권 상용 도구와 비교되는 성과를 낸다.

한 줄 요약: 코드를 짜고 실행하고 버그까지 스스로 고치는 무료 오픈소스(MIT) 코딩 에이전트. 내 컴퓨터에서 돌리고 원하는 LLM을 골라 연결한다.

OpenHands가 정확히 뭘 하는 도구인가?#

OpenHands는 'AI 에이전트' 중에서도 소프트웨어를 만드는 데 특화된 것이다. 에이전트란 질문에 답만 하는 챗봇을 넘어, 목표를 주면 스스로 단계를 나눠 실제로 일을 처리하는 AI를 말한다 — 지치지 않는 주니어 개발자에 비유하면 감이 온다. 작업을 주면 (1) 계획을 세우고, (2) 코드를 쓰고, (3) 터미널에서 실행해보고, (4) 에러가 나면 로그를 읽어 스스로 고친 뒤 다시 실행한다. 이 (2)~(4)를 테스트가 통과할 때까지 루프로 반복하는 게 핵심이다.

이 모든 일은 샌드박스(sandbox) — 바깥 시스템과 차단된 임시 실행 상자 — 안에서 이뤄진다. 에이전트가 코드를 진짜로 실행하기 때문에, 실수로 내 시스템을 건드리지 않도록 격리된 방 안에 가둬 두는 것이다. 대개 도커 컨테이너가 그 방 역할을 한다.

여기서 초보자가 오해하기 쉬운 지점. OpenHands 자체는 '두뇌'가 아니다. 실제 사고는 우리가 붙이는 LLM(대형 언어 모델 — 챗봇의 두뇌, 예: 클로드·GPT 또는 내 컴퓨터에서 도는 로컬 모델)이 담당하고, OpenHands는 그 두뇌에게 터미널·파일·브라우저라는 '손과 발'을 달아주는 껍데기(하네스)다. 그래서 성능은 연결한 모델 수준에 크게 좌우된다 — 약한 모델을 붙이면 결과도 약해진다. 참고로 예전 이름은 OpenDevin이었다.

왜 2026년에 이 도구가 중요한가?#

2026년 AI의 핵심 변화가 OpenHands 하나에 압축돼 있다. '답하는 AI'에서 '직접 해내는 AI(에이전트)' 로 넘어가는 흐름이다. 챗봇은 "이렇게 고치세요"라고 말해줄 뿐이지만, 에이전트는 그 수정을 직접 적용하고 테스트까지 돌려 결과를 확인한다.

게다가 오픈소스라 두 가지 실질적 이점이 있다. 첫째, 특정 회사에 묶이지 않고 원하는 LLM을 골라 연결한다 — 예산이 넉넉하면 클로드·GPT 같은 강한 클라우드 모델을, 프라이버시가 중요하면 로컬 모델을 붙이면 된다. 둘째, 성능이 공개 검증된다. 표준 벤치마크 SWE-bench(실제 깃허브 저장소의 버그 이슈를 AI가 코드로 고치게 하고 원본 테스트로 채점하는 시험)에서 실제 이슈의 절반 이상(약 53%) 을 풀어낸다. 다만 이 수치는 어떤 LLM을 붙였는지에 따라 크게 달라지므로, "OpenHands = 53%"가 아니라 "좋은 모델을 붙인 OpenHands = 53%"로 읽어야 한다.

OpenHands가 잘하는 일과 아직 약한 일은?#

에이전트에게 무엇을 맡길지 고르는 게 실력의 절반이다. 잘 맞는 일과 아직 서툰 일을 구분해 두자.

OpenHands — 잘하는 일 vs 아직 약한 일 · columns: 구분, 잘함, 약함 · 출처 Hax hax.moche.ai/p/1007?ref=ai_answer

구분 | 잘함 | 약함
작업 | 명확한 반복작업(필드 추가·테스트 작성·스크립트 이식·버그 추적) | 모호한 요구·구조를 바꾸는 큰 리팩터
완료 판단 | 통과할 '테스트'가 정해져 있을 때 | 기준 없이 '알아서 잘'일 때
검증 비용 | 테스트가 자동으로 정답 여부를 알려줌 | 사람이 일일이 결과를 확인해야 함

패턴이 보인다. OpenHands는 끝을 판정할 기준(테스트)이 명확할수록 강하다. "이 테스트가 초록불이 되면 완료"라는 목표가 있으면 지치지 않고 루프를 돌려 도달한다. 반대로 "코드를 예쁘게 리팩터해줘"처럼 완료 기준이 모호하면, 에이전트는 어디서 멈춰야 할지 몰라 헤매거나 엉뚱한 방향으로 간다. 그래서 진짜 실력은 코딩 자체보다 '이 테스트가 통과하면 끝'이라는 기준을 써주는 데 있다.

직접 해보려면 무엇을 준비해야 하나?#

준비물은 단순하다. 도커(여러 프로그램을 격리해 돌리는 도구)를 깔고, 이미 쓰던 모델 API 키를 넣으면 비교적 빠르게 동작한다. 설치 방식은 빠르게 바뀌니 반드시 공식 문서 기준으로 확인하자. 실행하면 브라우저 화면으로 에이전트가 계획을 세우고 코드를 치는 과정을 실시간으로 지켜볼 수 있고, 엉뚱한 길로 새면 중간에 멈춰 바로잡을 수 있다.

주의할 점 세 가지다. 첫째, 클로드·GPT 같은 외부 모델 API를 쓰면 코드 일부가 제공자에게 전송되므로, 민감한 코드는 로컬 모델과 샌드박스 설정을 함께 써야 한다. 둘째, OpenHands는 자기가 쓴 코드를 실제로 실행하므로 샌드박스를 제대로 격리하는 건 전적으로 사용자 책임이다 — 격리가 허술하면 그 자체가 보안 위험이다. 셋째, '테스트 통과 = 정답'은 아니다. 테스트가 놓친 케이스가 있을 수 있으니 사람 검토는 여전히 필요하다.

큰 그림으로 보면, 2026년은 AI가 '도구'에서 '동료'로 넘어가는 해다. OpenHands는 코드 자동완성이 아니라 '테스트로 끝을 판정받는 자율 소프트웨어 엔지니어' 에 가깝다. 무엇을 맡길지 고르고 명확한 완료 기준을 써주는 사람이 이 도구의 실력을 결정한다. Hax가 지켜보는 지점이다.

참고: OpenHands는 활발히 개발 중이라 설치 절차·기본 모델·SWE-bench 점수가 릴리스마다 바뀐다. 최신 수치와 설치법은 공식 깃허브 저장소와 SWE-bench 리더보드로 확인하자. 별 개수·점수는 2026년 7월 기준 추정이다.