목표와 완료 기준만 주면 스스로 계획하고, 도구를 쓰고, 결과를 확인하며 끝까지 일을 처리하는 AI 에이전트다. 단계마다 지시하는 방식보다 빠르지만 잘못된 방향으로 가도 중간에 잡기 어렵다. 그래서 테스트 작성처럼 결과를 바로 검증하고 되돌릴 수 있는 작업을 맡길 때 쓴다.
| 방식 | 사람이 하는 일 | 예 |
|---|---|---|
| 챗봇 | 매번 묻고, 답을 직접 적용 | 코드 질문에 답하기 |
| 반자율 에이전트 | 단계마다 확인·승인 | 수정안마다 승인 |
| 자율 에이전트 | 목표와 완료 기준만 준다 | "커버리지 80%로 올려줘" |
핵심은 반복 루프다. 목표를 작은 단계로 나누고, 파일 읽기·명령 실행·검색 같은 도구로 한 단계를 처리한 뒤, 결과를 보고 다음 행동을 정한다. 테스트가 실패하면 원인을 찾아 다시 고치는 식으로, 목표에 닿거나 막힐 때까지 돈다.
예를 들어 Claude Code에 "이 레포의 테스트 커버리지를 80%로 올려줘"라고 하면, 현재 커버리지를 재고, 테스트가 없는 코드를 찾고, 테스트를 쓰고, 실행해 확인하는 과정을 사람 개입 없이 처리한다.
잘 맡기려면 지시 한 줄보다 준비가 중요하다. 언제 끝난 건지 확인할 수 있는 기준을 주고, 에이전트가 쓸 수 있는 도구와 범위를 미리 정해 둔다.
| 준비할 것 | 예시 |
|---|---|
| 완료 기준 | "모든 테스트 통과, 커버리지 80% 이상" |
| 작업 범위 | "src 폴더만 수정, 설정 파일은 건드리지 말 것" |
| 권한 | 파일 수정은 자동 허용, 배포·삭제는 승인 후 |
| 실행 환경 | 별도 브랜치나 컨테이너처럼 되돌릴 수 있는 곳 |
결과가 테스트나 빌드로 바로 검증되는 일일수록 자율에 잘 맞는다. 반대로 돌이킬 수 없거나 판단이 애매한 일은 사람이 중간에 확인하는 편이 낫다.
| 자율로 맡기기 좋다 | 사람이 확인해야 한다 |
|---|---|
| 테스트 작성, 린트 오류 정리 | 운영 DB 변경, 배포 |
| 반복적인 코드 마이그레이션 | 결제·메일 발송 같은 외부 작업 |
| 자료 조사 후 요약 초안 | 요구사항이 모호한 설계 결정 |
자율성이 높을수록 실수가 쌓여도 늦게 발견된다. 테스트를 억지로 통과시키려고 코드를 비트는 식으로 목표를 엉뚱하게 달성하기도 하고, 오래 돌면 토큰 비용도 커진다.
중요한 작업에는 특정 행동 전에 사람 승인을 받는 human-in-the-loop를 설계하고, 끝난 뒤에는 변경 내역을 직접 검토한다.
가장 흔한 방식은 코딩 에이전트에 작업 하나를 통째로 맡기는 것이다. 별도 브랜치나 컨테이너에서 돌리고, 끝나면 테스트 통과 여부와 변경 내역으로 결과를 확인한다.
| 어디서 | 어떻게 쓰나 |
|---|---|
| 코딩 에이전트 | 테스트 작성·버그 수정을 별도 브랜치에서 맡기고, 끝난 뒤 변경 내역 검토 |
| 반복 정리 작업 | 린트 오류 정리, 코드 마이그레이션을 맡기고 빌드·테스트 통과로 확인 |
| 자료 조사 | 여러 자료를 검색·읽고 요약 초안을 만들게 한 뒤, 출처는 직접 확인 |