ADHD 소개
LLM에게 "몇 가지 방법을 제안해줘" 라고 물으면, 모델은 처음 떠올린 방향에 빠르게 고착되는 경향이 있습니다. 자기회귀(autoregressive) 방식으로 토큰을 이어 붙이는 구조상, 먼저 내뱉은 가설이 그 뒤의 모든 추론을 끌어당기기 때문입니다. 사고의 사슬(Chain-of-Thought)은 이 첫 답에 묶이기 쉽고, 생각의 나무(Tree-of-Thought)는 탐색 폭을 넓히지만 하나의 공유된 맥락 위에서 가지를 뻗기 때문에 고착이 가지들 사이에 그대로 번집니다.
ADHD 는 이 조기 수렴(premature convergence) 문제를 프롬프트가 아니라 구조의 문제로 보고 접근하는 코딩 에이전트용 스킬입니다. 하나의 문제를 서로 의도적으로 다르게 비튼 여러 인지 프레임(cognitive frame)에 나눠 주고, 각 프레임을 맥락을 전혀 공유하지 않는 독립된 추론 프로세스로 동시에 굴립니다. 분기들이 서로를 보지 못하므로 한 방향으로 쏠리는 고착이 생기지 않고, 그 뒤 별도의 비평가(critic) 단계가 쏟아진 아이디어를 채점·선별합니다.
이 프로젝트는 Udit Akhouri가 작성한 프리프린트 "ADHD: Parallel Divergent Ideation for Coding Agents" 를 구현한 것으로, Claude Code, Cursor, Codex 등 여러 에이전트에 설치해 쓸 수 있는 스킬 형태로 배포됩니다. 본 게시물에서는 ADHD의 동작 방식, 저자가 공개한 벤치마크 결과, 그리고 설치·사용법을 정리합니다.
ADHD의 동작 방식
ADHD는 두 단계 사이에 단단한 벽을 둔 루프로 동작합니다. 첫 단계인 발산(Diverge) 에서는 N개의 인지 프레임을 고른 뒤, 각 프레임마다 독립된 Agent 호출을 병렬로 띄웁니다. 각 호출은 문제와 한 프레임의 관점 프롬프트만 보고, 평가를 금지하는 시스템 프롬프트를 받습니다. 분기들은 서로의 결과를 절대 보지 못하므로 앵커링(anchoring)이 발생하지 않습니다.
두 번째 단계인 수렴(Focus) 에서는 별도의 비평가 호출이 모든 아이디어를 채점합니다. 참신성(novelty), 실현 가능성(viability), 적합성(fit)으로 점수를 매기고, 그럴듯하지만 함정인 아이디어를 이유와 함께 표시하며, 비슷한 각도의 아이디어를 군집으로 묶고, 상위 K개를 위험 요소와 첫 단계가 담긴 스케치로 더 깊게 발전시킵니다. 여기서 핵심은 생성기와 비평가의 분리가 하나의 프롬프트 안에서 약속되는 것이 아니라, 정반대의 시스템 프롬프트를 가진 별도의 LLM 호출로 기계적으로 분리된다는 점입니다. 고를 수 있는 인지 프레임은 저장소의 documentation/frames.md 에 15가지가 정리되어 있고, 직접 프레임을 작성해 추가할 수도 있습니다.
ADHD의 벤치마크 결과
저자는 6개의 열린 형태(open-ended) 엔지니어링 문제에 대해, 같은 모델에서 ADHD와 단발성(single-shot) 베이스라인을 비교했습니다. 채점은 회의적인 시니어 엔지니어 역할을 부여한 독립 LLM이 0~10점 척도로 수행했고, A/B 순서는 무작위로 섞었습니다. 보고된 평균 점수는 다음과 같습니다.
| 항목 | ADHD | 베이스라인 | 차이 | 배율 |
|---|---|---|---|---|
| 아이디어 폭(breadth) | 9.00 | 4.83 | +4.17 | 1.9× |
| 참신성(novelty) | 7.83 | 2.67 | +5.17 | 2.9× |
| 함정 탐지(trap detection) | 9.50 | 1.83 | +7.67 | 5.2× |
| 실행 가능성(actionability) | 9.50 | 6.50 | +3.00 | 1.5× |
| 빌더 유용성(builder usefulness) | 7.67 | 6.83 | +0.83 | 1.1× |
저자에 따르면 ADHD는 6개 문제 중 5개에서 베이스라인을 앞섰고, 가장 큰 차이는 함정 탐지에서 나타났습니다. 베이스라인은 그럴듯하지만 망가진 아이디어를 잘 짚어내지 못한 반면, ADHD는 비평가 단계에서 이를 표시했기 때문입니다. 다만 이 수치는 저자가 직접 설계한 LLM 기반 평가 결과이므로, 방법론과 한계는 저장소의 documentation/evals.md 에서 함께 확인하는 것이 좋습니다.
ADHD 설치 및 사용법
설치는 한 줄로 끝나며, 사용 중인 에이전트(Claude Code, Cursor, Codex, Gemini CLI 등)를 자동으로 감지합니다.
npx skills add UditAkhourii/adhd
설치 후에는 /adhd "문제 설명" 으로 명시적으로 호출하거나, 발상이 필요한 상황에서 자동으로 트리거되도록 둘 수 있습니다. 독립 실행형 CLI와 라이브러리로도 설치할 수 있습니다.
npm install -g adhd-agent # CLI
npm install adhd-agent # 라이브러리
CLI에서는 프레임 수, 아이디어 수, 상위 선별 개수를 옵션으로 조절합니다.
adhd "design a rate limiter that survives a leader election"
adhd "name this function" --frames 3 --ideas 8 --top 2
라이브러리로 직접 호출하면 선별 결과(shortlist), 비범한 선택(nonObviousPick), 함정(traps), 심화된 아이디어(deepened), 군집(clusters)을 결과 객체에서 받을 수 있습니다.
import { run, renderText } from "adhd-agent";
const result = await run({
problem: "How should we shard this queue under bursty load?",
framesPerRun: 5,
topK: 3,
});
console.log(renderText(result));
ADHD의 라이선스
ADHD는 MIT 라이선스로 공개되어 있어 개인 및 상업적 목적으로 자유롭게 사용할 수 있습니다.
ADHD 방법론 소개(Preprint)
ADHD 프로젝트 GitHub 저장소
더 읽어보기
-
[Deep Research] Test Time Compute 및 Test Time Scaling의 개념과 최신 연구 동향에 대한 보고서
-
Harness: 도메인 프롬프트 입력로부터 Claude Code 에이전트 팀과 스킬을 자동 생성하는 메타 스킬
-
Garden Skills: Claude Code, Cursor, Codex를 위한 4가지 프로덕션 에이전트 스킬 모음
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. ![]()
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ ![]()


