콘텐츠로 이동

AI 코딩 도구 선택

이 강의는 Claude Code를 기본 권장 도구로 사용하지만, 아래 대안 도구로도 대부분의 실습을 수행할 수 있다.

항목Claude CodeGemini CLICodex CLIOpenCode
개발사AnthropicGoogleOpenAI커뮤니티 (오픈소스)
설치pnpm add -g @anthropic-ai/claude-codepnpm add -g @google/gemini-clipnpm add -g @openai/codexbrew install opencode
실행claude "prompt"gemini (대화형)codex "prompt"opencode (TUI)
헤드리스claude --print --no-colorpipe 지원codex --approval-mode full-autoopencode serve (API)
MCP 지원완전 지원지원미지원제한적
프로젝트 지침 파일CLAUDE.mdGEMINI.mdAGENTS.md
컨텍스트 창200K1M192K모델 의존
비용API 키 필요무료 (1,000 req/day)ChatGPT Plus 또는 API 키무료 (로컬 모델 가능)
샌드박스없음없음있음 (가장 안전)없음
Terminal window
pnpm add -g @anthropic-ai/claude-code
claude --version
Terminal window
# Anthropic API 키 (https://console.anthropic.com)
export ANTHROPIC_API_KEY="sk-ant-..."

Ralph 루프에서 CLI를 비대화형으로 실행할 때 도구별 명령이 다르다.

Terminal window
claude --print --no-color --dangerously-skip-permissions "$(cat PROMPT.md)"

각 도구는 프로젝트 루트에 특정 파일을 두어 에이전트에게 프로젝트별 지시를 전달한다.

도구파일명위치
Claude CodeCLAUDE.md프로젝트 루트
Gemini CLIGEMINI.md프로젝트 루트
Codex CLIAGENTS.md프로젝트 루트
OpenCode별도 파일 없음

환경변수를 이용한 도구 추상화

섹션 제목: “환경변수를 이용한 도구 추상화”

여러 도구를 지원하는 스크립트를 작성할 때 환경변수 패턴을 사용할 수 있다.

Terminal window
# 환경변수로 도구 선택
export AI_CLI="${AI_CLI:-claude}" # 기본값: claude
# harness.sh에서 사용 예시
case "$AI_CLI" in
claude)
claude --print --no-color --dangerously-skip-permissions "$(cat PROMPT.md)" ;;
gemini)
cat PROMPT.md | gemini ;;
codex)
codex --approval-mode full-auto "$(cat PROMPT.md)" ;;
*)
echo "지원하지 않는 도구: $AI_CLI" && exit 1 ;;
esac