
Overdrive: 코딩 에이전트가 '정답'에 안주하지 않게 만드는 오픈 소스 스킬
요약
Overdrive는 코딩 에이전트가 평범한 답변에 안주하지 않고 최상의 결과물을 내도록 돕는 오픈 소스 에이전트 스킬입니다. 모델의 능력을 극대화하기 위해 높은 기준과 야심 찬 실행력을 요구하는 프롬프트 전략을 제공합니다.
핵심 포인트
- 코딩 에이전트의 성능을 높이는 오픈 소스 도구
- 단순 요구사항을 넘어 모델의 한계(ceiling)를 설정
- 결정하고 실행(decide and commit)하는 능동적 태도 유도
- GitHub Copilot CLI 및 Claude Code와 호환 가능

동일한 모델에서 나오는 평범한 답변과 탁월한 답변 사이의 격차 대부분은 능력의 차이가 아닙니다. 그것은 바로 기준 (standards) 입니다. Overdrive는 문서화되고 설치 가능한 그 기준입니다.
npx github:naveenneog/overdrive
저는 Microsoft의 AI Global Black Belt이자, 퇴근 후에는 무언가를 만드는 데 몰두하는 **Naveen Gopalakrishna**입니다. 이번 #AI4Good 릴리스는 앱이라기보다 도구에 가깝습니다. 즉, 코딩 에이전트(coding agent)가 얼마나 열심히 일하는지를 변화시키는 오픈 소스 **에이전트 스킬 (agent skill)**입니다.
- 💻 소스 (MIT): github.com/naveenneog/overdrive
- ⚡ 설치:
npx github:naveenneog/overdrive - 🤖 호환: GitHub Copilot CLI · Claude Code
탄생 배경
저는 프런티어 모델 (frontier models)들을 서로 비교 평가할 때 사용되는 "당신이 할 수 있는 능력의 절대적인 한계를 보여달라"는 식의 프롬프트(prompt)들을 몇 가지 수집했습니다. 완전히 무관한 다섯 가지 분야에서 다섯 개의 프롬프트를 모았습니다:
- 고급 웹 디자인 (Advanced web design)
- 실시간 3D (Real-time 3D)
- 모션 그래픽 (Motion graphics)
- 플레이 가능한 게임 (A playable game)
- 개인 자산 투자 제안서 (A private-wealth investment deck)
제안서와 셰이더 (shader)는 공통점이 전혀 없습니다. 하지만 이 다섯 가지를 나란히 읽어보니, 그 _형태 (shape)_가 _동일_했습니다. 모든 프롬프트가 다음과 같았습니다:
- 요구사항이 아닌 **천장(ceiling)**을 설정했습니다 — "당신이 생산할 수 있는 최선의 것"이라고 명시하며, 다른 모델들과 명시적으로 비교하고, 당신의 이름을 명시하여 공로를 인정하도록 했습니다.
- 모델에게 당신이 선호하는 방향을 묻는 대신 **결정하고 실행(decide and commit)**하라고 지시했으며, 그 선택의 야심(ambition) 자체가 점수의 일부라고 말했습니다.
- **지루하고 뻔하며 평범한 답변(boring, obvious, median answer)**을 미리 언급하여 그것이 배제될 수 있도록 했습니다.
- 기억(memory)이 아닌 **조사(research)**를 요구했습니다.
- 고급 기술들의 **비포괄적인 뷔페(non-exhaustive buffet)**를 제공하고, 그중 여러 개를 통합하여 사용할 것을 요청했습니다.
- 다른 모든 것보다 **하나의 지배적인 성공 기준(one dominant success criterion)**을 우선시했습니다 — 30초 안에 느끼는 재미, 타이밍, 60fps, 취향, 방어 가능성(defensibility) 등입니다.
- 빌려온 것이 아닌 **독창적인 자산(original assets)**을 요구했습니다.
- _"실제로 사용함으로써 QA(Quality Assurance)하라"_는 말로 끝맺었습니다.
이것은 다섯 개의 프롬프트가 아닙니다. 다섯 가지 의상을 입은 하나의 프롬프트입니다. 그래서 저는 그 골격을 추출하여 하나의 스킬(skill)로 만들었습니다.
이것의 실체
Overdrive는 도메인 스킬(domain skill)이 아니라 판단 레이어(judgement layer)입니다. 이것은 게임을 만드는 법이나 발표 자료(deck)를 작성하는 법을 알지 못합니다. 대신 에이전트가 원래 하려던 작업에 대해 얼마나 열심히, 그리고 얼마나 잘 달려들지를 변화시킵니다.
Overdrive가 활성화되면 열 가지 규칙이 에이전트의 일반적인 기본값(defaults)을 무시합니다. 행동을 가장 많이 변화시키는 두 가지는 다음과 같습니다:
결정하고 실행하라 — 절대 묻지 마라. 작업 과정에서 선택의 여지가 남는 부분(컨셉, 주제, 장르, 스택, 관점 등)이 있다면, 당신이 선택하십시오. 그 선택의 야심은 점수의 일부입니다. "어떤 것을 원하시나요?"라고 묻는 것은 턴을 낭비하는 것입니다.
실제로 사용함으로써 QA하라. 실행하고, 플레이하고, 스크롤하고, 시청하고, 처음부터 끝까지 읽고, 스트레스 테스트를 하십시오. 실행되지 않은 결과물은 미완성된 결과물입니다.
나머지 규칙들: 천장을 설정하기, 평범한 답변을 명시하고 거부하기, 회상하는 대신 조사하기, 기술을 단순히 덧붙이기보다 쌓아 올리기, 하나의 지배적인 기준 유지하기, 빌려오기보다 생성하기, 첫 화면을 넘어 검사를 통과하기, 그리고 자신의 작업물을 레드팀(red-team)하여 _공격으로 발견된 문제를 수정하기_입니다.
7단계
이 스킬은 작업을 다음과 같은 단계로 실행합니다: 기준 설정 (set the bar) (DOMAIN / CEILING / DOMINANT를 세 줄로 작성) → 한 문장으로 컨셉 확정 (commit to a concept) → 리서치 (research) → 증폭기 선택 (choose amplifiers) → 지배적 기준을 전면에 두고 구축 (build with the dominant criterion in front) → 레드팀 (red-team) → 실제 QA (QA for real).
보고해야 하는 평가 기준 (A rubric it has to report)
완료를 선언하기 전에, 에이전트는 스스로 1~5점 사이의 점수를 매기고 사용자에게 그 점수를 보여줍니다:
| 차원 (Dimension) | 5점 = |
|---|---|
| 선택의 야심 (Ambition of the choice) | 코드가 한 줄도 작성되기 전에 컨셉이 인상적임 |
| ... |
3점 이하를 받은 항목은 다시 한 번 과정을 거칩니다. 점수를 공개적으로 매기는 것은 강제 기제 (forcing function)로 작용합니다. 자신이 직접 작성한 3점짜리 결과물을 누군가에게 건네주는 것은 불편한 일이기 때문입니다.
구성 요소 (What's in the box)
| 파일 | 역할 |
|---|---|
SKILL.md | 계약 (contract), 7단계 과정, 평가 기준 (rubric), 실패 모드 (failure modes), 그리고 사용하지 말아야 할 때 |
| ... |
설치 방법 (Installing it)
단 한 번의 명령어로, 런타임 의존성(runtime dependencies) 없이 설치할 수 있습니다. 설치 프로그램은 일반적인 Node이며 7개의 파일을 복사합니다:
# 에이전트를 찾는 모든 곳에서
npx github:naveenneog/overdrive
...
설치된 경로는 ~/.copilot/skills/overdrive 및 ~/.claude/skills/overdrive입니다. --force, --dry-run, --dir <path>, --uninstall 옵션도 제공됩니다.
그 다음, 새로운 에이전트 세션을 시작하고 **"overdrive"**라고 말하세요. 또는 "go all out", "show me the ceiling", "don't hold back", "make it a portfolio piece", _"this is going public"_라고 말해도 됩니다.
실제로 효과가 있나요? (Does it actually do anything?)
타당한 질문이며, 솔직한 답변은 프롬프트 형태의 도구는 스스로를 속이기 쉽다는 것입니다. 그래서 여기 구체적인 사례가 있습니다.
ANTIKYTHERA 타이틀 시퀀스 — 여기 작성된 내용 — 는 단 하나의 프롬프트로 Overdrive 하에서 구축되었습니다. 하나의 독립된 HTML 파일로 구성된 29초 분량의 다큐멘터리 타이틀 시퀀스입니다: 실제 Antikythera 기어 치수(tooth counts)를 따르는 절차적 청동 기어 기하학(procedural bronze gear geometry), 수기로 작성된 후처리 체인(post-processing chain), 완전히 합성된 Web Audio 스코어, 그리고 그 어떤 에셋(asset)도 사용하지 않았습니다.
하지만 출력물은 흥미로운 부분이 아닙니다. Phase 7(7단계)이 진짜입니다.
_실제로 사용하며 QA(품질 보증)를 수행하는 것_은 인간에게는 사소한 일이지만, 에이전트에게는 구조적으로 불가능한 일입니다. 에이전트는 영화를 볼 수 없기 때문입니다. 그래서 에이전트는 스스로를 위한 눈을 만들었습니다. Playwright를 설치하고, 작품으로부터 트랜스포트 API (transport API)를 노출시키고, 런타임(runtime) 동안 90개의 프레임을 캡처하여 이를 컨택트 시트 (contact sheet)로 조립한 뒤, 전체 편집본을 하나의 이미지로 바라보았습니다.
그 결과, 코드를 읽어서는 절대 발견할 수 없었을 7가지 결함을 찾아냈습니다:
- 래퍼
div의z-index가 스태킹 컨텍스트 (stacking context)를 생성하여mix-blend-mode를 캔버스 (canvas)로부터 격리시켰습니다. 이로 인해 필름 그레인 (film grain)이 모든 것 위에 가공되지 않은 회색 노이즈로 렌더링되었습니다. - GSAP가 CSS
translateY(112%)를 자신의y캐시 (cache)에 해결된 픽셀 (pixels) 값으로 읽어 들였습니다. 그 결과 이후의yPercent트윈 (tween)이 다른 축을 애니메이션화하여, 트윈이progress: 1을 보고하는 동안에도 제목이 전혀 나타나지 않았습니다. - 일식 중인 달의 원들이 오러리 (orrery, 태양계 모형) 중심이 아닌 SVG 원점에 위치하여, 개기 일식이 일어나지 않았습니다.
- 애니메이션 중간에 제목이 두 줄로 줄바꿈되었습니다.
- 플래시 프레임 (flash frames)이 0.35초 동안 지속되어 컷 (cut)이 아닌 오류처럼 보였습니다.
- 코로나 쿼드 (corona quad)의 사각형 가장자리가 별자리 배경에서 보였습니다.
- 점광원 (point-light)의 강도가 레거시 라이팅 (legacy lighting)을 기본값으로 사용하는 렌더러에서 물리 단위로 설정되어, 한 막 전체가 하얗게 타버렸습니다.
이 모든 결함은 소스 코드에서는 보이지 않지만 스크린샷에서는 명백합니다.
- 사소한 기계적 수정 (trivial mechanical edits) — 이름 변경, 버전 업데이트 (version bumps), 오타 수정
- 빠르고, 최소한의 작업이거나, 일회성으로 처리되길 원하는 모든 것
- 정확성과 가역성 (reversibility)이 야망보다 중요한, 시간 압박 속의 핫픽스 (hotfixes)
- API 계약 (API contract)이나 컴플라이언스 양식 (compliance form)과 같이, 창의성이 오히려 독이 되는 엄격한 외부 사양 (external spec)을 따르는 작업
모든 상황에서 작동하는 능력 증폭기(capability amplifier)는 단순히 오타 수정을 과잉 설계 (over-engineer)하는 비싼 방법일 뿐입니다.
장점 (The good)
스킬 (Skills)은 현재 에이전트 도구 (agent tooling)에서 가장 과소평가된 부분이며, 이는 그저 **폴더 안의 마크다운 (markdown)**일 뿐입니다. SDK도, 플러그인 API도, 빌드 과정도 없습니다. 이는 좋은 에이전트 세션과 훌륭한 에이전트 세션을 가르는 차이가 주로 _"훌륭함"이 무엇인지 적어두는 것_에 달려 있음을 의미하며, 이는 누구나 작성하고, 읽고, 이견을 제시하고, 포크 (fork)할 수 있는 스킬입니다.
Overdrive는 MIT 라이선스입니다. 만약 당신의 기준이 저와 다르다면, 루브릭 (rubric)을 다시 작성하세요. 그것이 핵심입니다. 흥미로운 결과물은 저의 8가지 차원이 아닙니다. 기준조차 없는 무한한 능력보다, 8가지 차원이라도 글로 적어두는 것이 훨씬 낫다는 사실입니다.
사용해 보기 (Try it)
- ⚡ 설치 (Install):
npx github:naveenneog/overdrive - 💻 소스 (Source, MIT): github.com/naveenneog/overdrive
- 🎬 이것으로 제작됨 (Built with it): ANTIKYTHERA · 관련 글 (the write-up)
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기