DaleSchool

에이전틱 엔지니어의 길

고급25분

학습 목표

  • 에이전틱 엔지니어링이 무엇인지 설명할 수 있다
  • 여러 Claude 세션을 병렬로 활용하는 방법을 안다
  • AI와 협업하는 개발 워크플로우를 설계할 수 있다

동작하는 코드

지금까지 Claude Code를 하나의 세션에서 사용했습니다. 이제 여러 세션을 동시에 활용해봅시다.

터미널을 3개 열고 각각 Claude Code를 시작합니다:

터미널 1 — API 개발:

cd my-project
claude
> 사용자 인증 API를 구현해줘

터미널 2 — 테스트:

cd my-project
claude
> 기존 API의 테스트 커버리지를 높여줘

터미널 3 — 문서화:

cd my-project
claude
> API 문서를 작성해줘

각 세션이 독립적으로 작업하면서도, 같은 코드베이스를 공유합니다. Git 브랜치를 활용해서 충돌을 관리하세요.

직접 수정하기

--print 모드로 자동화 스크립트를 만들어봅시다:

#!/bin/bash
# daily-review.sh

echo "=== 일일 코드 리뷰 ==="
claude --print "어제 이후 변경된 파일을 리뷰하고 문제점을 정리해줘"

echo "=== 테스트 상태 ==="
claude --print "테스트를 실행하고 실패하는 것이 있으면 원인을 분석해줘"

echo "=== TODO 정리 ==="
claude --print "코드에 있는 TODO 주석을 모아서 우선순위를 매겨줘"

이 스크립트를 매일 아침 실행하면 프로젝트 상태를 자동으로 파악할 수 있습니다.

"왜?" — 코더에서 오케스트레이터로

에이전틱 엔지니어링은 코드를 직접 작성하는 것에서, AI 에이전트를 지휘해서 시스템을 만드는 것으로의 전환입니다.

전통적 개발 vs 에이전틱 개발

| 항목 | 전통적 | 에이전틱 | | --------- | -------------------- | ------------------------------- | | 코드 작성 | 개발자가 직접 타이핑 | AI가 생성, 개발자가 리뷰 | | 디버깅 | 개발자가 추적 | AI가 분석, 개발자가 판단 | | 테스트 | 개발자가 작성 | AI가 생성, 개발자가 검증 | | 설계 | 개발자가 결정 | AI가 분석 + 제안, 개발자가 결정 | | 역할 | 구현자 | 설계자 + 리뷰어 |

Claude Code SDK 활용

프로그래밍적으로 Claude Code를 호출할 수도 있습니다:

import { claude } from "@anthropic-ai/claude-code";

const result = await claude({
  prompt: "이 파일의 보안 취약점을 분석해줘",
  workingDirectory: "./my-project",
});

console.log(result.stdout);

이를 활용하면 CI/CD 파이프라인, 모니터링 시스템, 자동화 워크플로우에 Claude Code를 통합할 수 있습니다.

효과적인 에이전틱 워크플로우 설계 원칙

  1. 작업을 분해하라 — 큰 작업을 독립적인 단위로 쪼개서 병렬 처리
  2. 검증 지점을 만들어라 — 자동화와 수동 리뷰를 적절히 섞어라
  3. 컨텍스트를 관리하라 — CLAUDE.md, 커스텀 명령어, MCP로 일관성 유지
  4. 되돌릴 수 있게 하라 — Git 브랜치, 체크포인트로 안전망 확보
  5. 점진적으로 자동화하라 — 반복되는 패턴을 발견하면 명령어나 스크립트로 만들어라

다음 단계

이 강의에서 배운 기법을 정리하면:

기초:    설치 → 기본 명령어 → 컨텍스트 관리
일상:    코드 작성 → 디버깅 → 테스트 → Git
설정:    CLAUDE.md → 커스텀 명령어 → 멀티파일
고급:    Plan/Think → MCP → GitHub 자동화
확장:    Hooks → Skills → 커스텀 에이전트 → Worktree → Headless/SDK
실전:    프로젝트 빌드 → 에이전틱 워크플로우

이 도구들을 조합해서 자신만의 개발 워크플로우를 만들어보세요. 정답은 없습니다 — 자기 프로젝트와 팀에 맞는 방식을 찾는 것이 핵심입니다.

심화 학습

에이전틱 개발이 개발자를 대체하나요?

아닙니다. 에이전틱 개발은 개발자의 역할을 바꿉니다. 타이핑하는 시간은 줄어들지만, 설계, 리뷰, 판단의 비중이 커집니다.

AI가 코드를 만들 수 있다고 해서 소프트웨어 엔지니어링이 필요 없어지는 건 아닙니다. 오히려 시스템을 이해하고, 올바른 방향을 잡고, 품질을 보증하는 능력이 더 중요해집니다.

Claude Code의 한계는?

Claude Code가 잘 못하는 것도 있습니다:

  • 도메인 지식: 비즈니스 로직의 "왜"는 여러분이 더 잘 압니다.
  • 창의적 설계: 완전히 새로운 아키텍처를 고안하는 건 사람의 영역입니다.
  • 팀 다이나믹스: 코드 리뷰에서 사람 간의 소통과 합의는 AI가 대신할 수 없습니다.
  • 최신 정보: 학습 데이터 이후에 나온 라이브러리나 API는 모를 수 있습니다.

이 한계를 이해하고 적절히 활용하는 것이 에이전틱 엔지니어의 역량입니다.

  1. 터미널 2개에서 Claude Code를 동시에 실행하고, 하나는 구현, 하나는 테스트를 담당하게 해보세요.
  2. 일상적인 개발 작업 3가지를 자동화하는 셸 스크립트를 --print 모드로 작성해보세요.
  3. 지금까지 배운 모든 기법 (CLAUDE.md, 커스텀 명령어, Plan 모드, MCP)을 활용해서 자기만의 프로젝트를 진행해보세요.

Q1. 에이전틱 엔지니어링에서 개발자의 주요 역할은?

  • A) 모든 코드를 직접 타이핑하는 것
  • B) AI 에이전트를 지휘하고 결과를 리뷰하는 것
  • C) AI가 모든 것을 알아서 하도록 방치하는 것
  • D) AI를 사용하지 않고 전통적으로 개발하는 것

참고 자료