OpenAI, Devin의 GPT-6 Astra 자체 테스트 사례 공개

소프트웨어 테스트 장비와 서버를 배치한 조용한 개발 실험실

AI를 활용하여 생성한 이미지입니다.

개발 에이전트가 코드를 만들어 주는 장면만 보면 사용하기 쉬워 보입니다. 실제 팀에서 더 까다로운 순간은 그 다음에 찾아옵니다. 여러 파일을 바꾼 결과가 정말 실행되는지, 어떤 조건을 확인했는지, 확인하지 못한 부분은 무엇인지 설명해야 하기 때문입니다. OpenAI가 공개한 Cognition의 Devin 사례도 바로 이 지점을 보여줍니다. OpenAI의 설명에 따르면 Devin은 GPT-6 Astra를 사용해 자신이 만든 소프트웨어를 테스트하고, 테스트 결과를 사람이 읽을 수 있는 증거와 함께 돌려주는 방향으로 개선됐습니다.[1] 여기서 읽어야 할 변화는 “AI가 코드를 대신 쓴다”는 한 문장이 아니라, 생성과 검증을 한 작업 흐름 안에서 연결하려는 시도입니다.

다만 이 사례를 곧바로 제품 전체의 성능 증명으로 받아들이면 곤란합니다. 공개된 내용은 OpenAI가 Cognition의 고객·파트너 사례를 소개한 글이고, 다른 공식 글에 인용된 Cognition의 설명은 회사 내부 테스트 벤치마크에 관한 것입니다.[2] 특정 저장소에서 나온 결과인지, 동일한 조건으로 반복했을 때 같은 결과가 나오는지, 기존 모델보다 실패율과 비용이 얼마나 줄었는지는 공개된 글만으로는 판단하기 어렵습니다. 이 글은 확인된 사실과 아직 확인할 수 없는 부분을 나눠 읽는 데 초점을 둡니다.

OpenAI가 말한 Devin의 테스트 방식

OpenAI의 사례 글에서 Devin은 단순히 테스트 명령을 실행하는 도구로 그려지지 않습니다. Cognition은 GPT-6 Astra를 제품 전반에 적용하고 있으며, 그 범위에는 Devin의 핵심 클라우드 에이전트뿐 아니라 CLI와 데스크톱 제품도 포함된다고 설명합니다.[1] 공개된 구체적인 예는 ‘Otter Run’이라는 아이폰 게임입니다. Devin은 시뮬레이터에서 게임을 실행한 뒤, 실행 장면을 담은 녹화 영상과 통과한 확인 항목, 아직 테스트하지 않은 영역을 적은 보고서를 함께 반환합니다.[1]

이 조합이 의미 있는 이유는 성공이라는 말의 범위를 좁혀 보여주기 때문입니다. 녹화 영상은 앱이 어떤 순서로 움직였는지 눈으로 확인하게 하고, 보고서는 어떤 검사가 이뤄졌는지 알려줍니다. “테스트가 끝났다”는 막연한 문장보다 “이 화면 전환과 이 동작은 확인했고, 이 조건은 확인하지 않았다”는 기록이 리뷰에 더 쓸모 있습니다. OpenAI의 글은 이런 산출물이 엔지니어가 소프트웨어의 동작과 남은 과제를 파악하는 데 쓰일 수 있다고 설명합니다.[1]

버그 대응 사례도 같은 구조입니다. 고객이 보낸 버그 화면을 Devin에 전달하면, Devin이 문제를 고친 뒤 결과 화면을 보여주는 방식입니다.[1] 이때 중요한 것은 결과 화면이 있다는 사실이지, 화면 한 장만으로 모든 오류가 해결됐다는 뜻은 아닙니다. 화면은 특정 경로가 달라졌다는 증거일 수 있지만, 다른 기기·계정·데이터·네트워크 조건까지 정상이라는 증명은 아닙니다. 보고서의 테스트 범위와 실행 환경을 함께 읽어야 하는 이유가 여기에 있습니다.

회사 내부 테스트와 독립 벤치마크는 다릅니다

OpenAI의 다른 공식 글에는 Cognition 연구 책임자 Silas Alberti의 발언이 실려 있습니다. Cognition은 GPT-6 Astra를 출시 당일부터 Devin의 하네스에 통합했고, 내부 테스트 벤치마크에서 최첨단 성능을 보였다고 평가했다는 내용입니다.[2] 같은 발언은 Astra의 컴퓨터 사용, 글쓰기, 코드베이스 이해가 테스트를 바로 개선했으며, 영상은 더 따라가기 쉬워지고 보고서는 더 간결해졌다고 말합니다.[2] 이것은 제품을 실제로 운영하는 회사가 전한 관찰과 평가입니다. 현장 맥락을 알려준다는 장점은 있지만, 평가 설계와 원자료 전체가 공개된 독립 실험 결과와는 성격이 다릅니다.

같은 페이지에는 Terminal-Bench 4.0, DeepSWE, Artificial Analysis Intelligence Index 같은 외부 이름의 평가도 소개돼 있습니다.[2] 이 명칭이 등장한다고 해서 그 수치가 자동으로 독립 검증이 되는 것은 아닙니다. 독립 벤치마크라고 부르려면 보통 평가 운영기관의 원자료, 동일한 프롬프트와 도구 설정, 모델 버전, 비용 계산 방식, 반복 결과를 함께 확인해야 합니다. OpenAI 페이지는 자사 모델의 결과를 소개하는 자료이므로, 독자는 “OpenAI가 해당 평가에서 이렇게 보고했다”라고 읽는 편이 정확합니다.[2] 이후 운영기관이나 제3자가 같은 조건을 재현했는지는 별도의 질문입니다.

이 구분은 어느 한 회사의 발표를 의심하자는 뜻이 아닙니다. 회사 내부 평가와 고객 사례는 실제 사용 맥락을 보여주는 자료이고, 공개 벤치마크는 비교 가능한 기준을 제공할 가능성이 있습니다. 다만 각각 답하는 질문이 다릅니다. 내부 벤치마크는 Cognition이 자신의 제품과 하네스에서 체감한 변화를 말해 줄 수 있습니다. 공개 벤치마크의 원자료는 정해진 작업에서 모델들이 어떤 조건으로 겨뤘는지 보여줍니다. 팀의 저장소에서 내일 배포할 수 있는지, 운영비가 감당 가능한지는 두 자료만으로 결정되지 않습니다.

Devin 사례를 읽을 때 구분할 세 가지 증거
구분 이번 공개 자료에서 보이는 것 독자가 확인해야 할 한계
제품 사례 Devin이 시뮬레이터 실행 영상과 통과·미검증 항목 보고서를 반환하는 예 공개된 예가 모든 앱, 저장소, 기기 조건을 대표하는지는 알 수 없음
회사 내부 평가 Cognition이 Devin 하네스에 Astra를 통합하고 내부 테스트 벤치마크를 사용했다는 설명 벤치마크 설계, 표본, 실패율, 비교 조건의 상세 원자료가 글에 모두 공개된 것은 아님
외부 이름의 평가 OpenAI가 Terminal-Bench 4.0과 DeepSWE 등 여러 평가 결과를 공식 글에서 소개함 OpenAI의 보고와 제3자 재현·장기 운영 결과를 같은 증거로 취급할 수 없음
실제 팀 도입 테스트 증거를 이용해 코드 검토를 줄이고 더 많이 출시하려는 방향 우리 팀의 비용, 권한, 보안, 테스트 품질, 승인 절차는 별도로 측정해야 함

독자가 이 자료로 알 수 있는 것과 알 수 없는 것

알 수 있는 첫 번째 사실은 OpenAI와 Cognition이 테스트 결과의 표현 방식을 중요하게 보고 있다는 점입니다. 결과물을 내놓는 데서 멈추지 않고 영상, 통과한 검사, 미검증 영역, 수정 뒤의 화면을 함께 제시하려 합니다.[1] 두 번째는 Astra가 ChatGPT Work, Codex, API에서 제공되며 컴퓨터 사용, 브라우징, 소프트웨어 엔지니어링 같은 업무를 겨냥한다는 OpenAI의 제품 설명입니다.[2] 세 번째는 Cognition이 실제 제품군에 Astra를 넣고 내부 평가를 진행했다고 공식 글에서 말했다는 사실입니다.[2]

반대로 알 수 없는 것도 분명합니다. 한 사례만으로 Devin이 어떤 종류의 버그를 얼마나 안정적으로 고치는지, 테스트를 빠뜨리는 빈도가 어느 정도인지, 긴 작업에서 재시도와 중단이 얼마나 발생하는지 알 수 없습니다. 공개 글에는 독자가 자신의 저장소에 대입할 수 있는 충분한 실험 조건이 나오지 않습니다. 영상이 이해하기 쉬워졌다는 회사의 설명도 유용한 관찰이지만, 모든 리뷰어가 같은 정도로 시간을 절약한다는 수치로 바꿔 읽을 수는 없습니다.

특히 “테스트했다”와 “품질이 보장됐다”는 표현을 분리해야 합니다. 자동화된 검사는 작성자가 미리 정한 기대를 확인합니다. 기대 자체가 틀렸거나 빠진 경우에는 통과 결과가 오히려 안심을 과하게 만들 수 있습니다. 화면 녹화도 관찰 가능한 동작을 보여줄 뿐, 개인정보 노출·권한 상승·동시성 문제·성능 저하·장애 복구까지 대신 판정하지 않습니다. 따라서 이 자료를 읽고 “사람이 코드를 볼 필요가 없어졌다”고 결론내릴 근거는 없습니다.

개발팀의 업무 흐름에는 어떤 변화가 생기나

도입이 잘 되면 개발자는 매번 전체 변경 내용을 같은 깊이로 읽기보다, 에이전트가 남긴 증거를 먼저 분류할 수 있습니다. 예를 들어 변경 파일 목록과 테스트 명령, 실패 로그, 재시도 횟수, 실행 영상, 미검증 목록이 하나의 리뷰 묶음으로 전달되면 검토 순서를 세우기 쉬워집니다. 작은 화면 수정은 결과 캡처로 빠르게 확인하고, 데이터베이스·인증·결제처럼 위험한 변경은 사람이 더 엄격하게 살피는 식입니다. OpenAI가 소개한 “수동으로 보는 코드의 양을 줄이고 더 많이 출시한다”는 Cognition의 목표도 이런 방향으로 이해할 수 있습니다.[1]

그렇다고 검토 작업이 사라지는 것은 아닙니다. 검토의 대상이 코드에서 증거 묶음과 시스템 위험으로 옮겨갈 뿐입니다. 누가 어떤 권한으로 명령을 실행했는지, 테스트 데이터가 실제 고객 정보와 섞이지 않았는지, 실패한 시도를 에이전트가 숨기지 않았는지 확인해야 합니다. 에이전트가 스스로 작성한 테스트는 자신이 만든 코드의 가정을 반복할 가능성도 있습니다. 제품 요구사항과 사용자 경험을 판단하는 사람, 보안 정책을 적용하는 사람, 배포를 승인하는 사람의 역할은 여전히 남습니다.

운영비도 함께 봐야 합니다. 작업이 길어지면 모델 호출, 시뮬레이터 실행, 영상 저장, 로그 보관 비용이 늘어납니다. 한 번에 잘 끝나는 것처럼 보여도 실패 후 재시도가 반복되면 팀 전체 시간은 줄지 않을 수 있습니다. OpenAI는 Astra가 더 적은 토큰과 재시도로 유용한 작업을 수행하도록 학습됐다고 설명하지만,[2] 그것이 모든 조직의 실제 비용이 같은 비율로 내려간다는 뜻은 아닙니다. 자신의 작업량, 호출 제한, 보관 정책, 사람의 승인 시간을 묶어서 계산해야 합니다.

현실적인 한계와 안전장치

테스트 범위가 좁으면 결과도 좁습니다. 한 운영체제와 한 화면 크기에서 통과한 앱이 다른 기기에서 같은 방식으로 동작한다는 보장은 없습니다. 네트워크가 느려지는 상황, 오래된 계정 데이터, 언어와 시간대가 달라지는 상황, 여러 사용자가 동시에 작업하는 상황도 따로 넣어야 합니다. 에이전트가 테스트를 만들었다면 그 테스트가 실제 요구사항을 충분히 표현하는지 사람이 읽어야 합니다.

권한 설계는 더 보수적으로 시작하는 편이 좋습니다. 저장소 쓰기 권한과 배포 권한을 처음부터 모두 주지 말고, 임시 브랜치와 격리된 테스트 데이터에서 작업하게 하세요. 외부 서비스에 접근할 때는 비밀키를 직접 노출하지 않는 중계 환경을 두고, 삭제·결제·고객 메시지 발송처럼 되돌리기 어려운 동작에는 별도 승인을 요구해야 합니다. 성공 화면이 나왔다는 이유로 이 안전장치를 생략하면, 자동화의 속도가 사고의 속도로 바뀔 수 있습니다.

증거의 보존 방식도 정해야 합니다. 최소한 커밋 또는 브랜치 식별자, 실행한 명령, 테스트 시각, 모델과 도구 버전, 통과·실패·미검증 항목, 생성된 화면과 로그를 연결해 두는 것이 좋습니다. 나중에 문제가 생겼을 때 “에이전트가 확인했다”는 말만 남아 있으면 원인을 찾기 어렵습니다. 무엇을 확인했는지와 무엇을 확인하지 않았는지가 함께 남아야 리뷰가 재현 가능한 기록이 됩니다.

도입 전 실무 체크리스트

  1. 작은 내부 저장소 하나를 정하고, 성공 조건을 코드와 문장으로 나눠 적습니다.
  2. 에이전트가 접근할 수 있는 파일, 명령, 네트워크, 비밀정보의 범위를 최소화합니다.
  3. 정상 경로뿐 아니라 권한 부족, 빈 데이터, 느린 네트워크, 중복 요청을 테스트 목록에 넣습니다.
  4. 테스트 결과에 실행 로그, 변경 파일, 재시도 횟수, 영상 또는 캡처, 미검증 영역이 들어가는지 확인합니다.
  5. 사람이 반드시 승인해야 하는 동작과 자동으로 허용할 동작을 문서로 구분합니다.
  6. 모델 비용만 세지 말고 검토 시간, 실패한 실행, 보관 비용, 되돌리기 비용까지 기록합니다.
  7. 기존 방식과 같은 작업을 비교해 완료 시간뿐 아니라 결함 발견 시점과 수정 난이도도 봅니다.
  8. 한 번의 성공 사례가 아니라 여러 작업에서 결과가 반복되는지 확인한 뒤 범위를 넓힙니다.

테스트 자동화를 평가할 때는 합격률 하나만 보고 싶어집니다. 하지만 실무에서는 실패를 얼마나 빨리 알아차렸는지, 실패 원인을 사람이 이해할 수 있었는지, 위험한 동작을 멈췄는지도 중요합니다. 에이전트가 많은 일을 처리했는데 사람에게 남은 로그가 빈약하다면, 검토 부담은 줄지 않고 뒤로 밀릴 뿐입니다. 반대로 작은 범위에서라도 증거가 일정한 형식으로 쌓이면 팀은 모델을 바꾸더라도 품질을 비교하기 쉬워집니다.

자주 묻는 질문

Q. Devin이 자기 코드를 테스트하면 사람 검토가 필요 없나요?

아닙니다. OpenAI가 소개한 사례는 테스트 영상과 보고서가 검토를 효율적으로 만드는 방향을 보여줄 뿐입니다.[1] 요구사항 누락, 보안 취약점, 권한 문제, 잘못된 제품 판단은 자동 검사가 놓칠 수 있습니다. 위험도에 맞춘 사람의 승인 절차를 유지해야 합니다.

Q. OpenAI 글에 외부 벤치마크 이름이 있으면 독립 검증인가요?

그렇게 단정할 수 없습니다. OpenAI는 공식 글에서 여러 벤치마크의 결과를 소개하지만,[2] 해당 글 자체는 OpenAI가 자사 모델을 설명하는 자료입니다. 벤치마크 운영기관의 원자료와 제3자 재현 결과, 동일한 도구 설정을 따로 확인해야 독립성에 관한 판단을 할 수 있습니다.

Q. 공개된 영상이 있으면 앱 전체가 정상이라는 뜻인가요?

아닙니다. 영상은 촬영된 실행 경로에서 관찰된 동작을 보여줍니다. 다른 기기, 계정, 데이터, 네트워크 상태, 장시간 실행, 보안 조건까지 확인했다는 뜻은 아닙니다. 보고서에 적힌 통과 항목과 미검증 항목을 함께 읽어야 합니다.

Q. 팀에서 가장 먼저 자동화할 작업은 무엇인가요?

되돌리기 쉽고 성공 조건이 분명한 작업이 적합합니다. 예를 들어 테스트 브랜치에서 반복 실행하는 회귀 테스트나 간단한 UI 흐름처럼 범위를 제한할 수 있는 일부터 시작하세요. 결제, 계정 삭제, 운영 데이터 변경은 충분한 격리와 별도 승인이 없으면 자동화 범위를 넓히지 않는 편이 안전합니다.

Q. 이번 사례만 보고 Astra와 Devin을 도입해야 하나요?

공개된 사례만으로 도입을 결정할 필요는 없습니다. Cognition의 내부 환경에서 확인된 경험과 우리 조직의 저장소·권한·테스트 체계는 다를 수 있습니다. 같은 작업을 제한된 범위에서 시험하고, 결과 증거의 품질과 총비용을 비교한 뒤 결정하는 것이 현실적입니다.

읽을 때 기억할 결론

이번 공개의 가치가 있다면 모델이 코드를 얼마나 많이 생성했는지가 아니라, 작업 결과를 검토 가능한 형태로 남기려 했다는 데 있습니다. OpenAI는 Cognition이 Devin으로 실행 영상과 테스트 보고서를 만들고, 내부 벤치마크에서 Astra를 평가했다고 전합니다.[1][2] 그러나 그것은 특정 회사의 사례와 보고된 평가입니다. 독립적인 장기 운영 실험이나 모든 개발팀을 대상으로 한 보증으로 확대할 수는 없습니다.

사용자가 가져갈 질문은 간단합니다. 무엇을 실행했나, 어떤 조건을 통과했나, 무엇이 빠졌나, 실패하면 누가 멈추게 하나, 비용과 기록은 남나. 이 다섯 가지에 답할 수 있는 도구라면 에이전트의 속도를 안전하게 활용할 가능성이 커집니다. 답하지 못하는 도구라면 모델의 이름이나 화려한 데모보다 먼저 검증 체계를 마련해야 합니다. AI 코딩 에이전트의 경쟁력은 생성 능력 하나가 아니라, 확인 가능한 작업 흐름 전체에서 결정될 것입니다.

모델을 비교하는 일반적인 기준이 필요하다면 이미지 생성 모델 선택 기준을 정리한 관련 글도 참고할 수 있습니다. 분야는 다르지만, 기능 목록과 실제 운영 조건을 나눠 보고 자신의 사용 환경에서 다시 확인해야 한다는 원칙은 같습니다.

Sources

  1. [1] Cognition helps Devin test its own work with GPT-6 Astra | OpenAI
  2. [2] GPT-6 Astra: The next generation in intelligence for work | OpenAI

함께 읽을 글