1. AI Agent란?
- 주어진 목표를 달성하기 위해 작업을 계획하고, 필요한 도구를 사용하며, 결과를 확인하여 목표를 달성하는 AI 시스템
- ✅ 목표 지향성
- ✅ 도구 사용
- ✅ 다단계 작업: 한번에 답하지 않고 여러 작업을 이어서 수행함
- ✅ 자율성: 매 단계마다 사람이 지시하지 않아도 다음 행동을 선택함
- ✅ 피드백 반영: 실행 결과를 보고 다음 행동을 수정함
실행 루프
- Perceive: 현재 환경과 사용자 요청을 인식함
- Memory: 이전 대화나 작업 기록을 참고함
- Reason: 목표 달성을 위한 방법을 판단함
- Act: 도구를 호출해 작업을 실행함
- Observe: 실행 결과를 확인함
- Repeat: 목표가 달성되지 않았다면 다시 판단하고 실행함
구성 요소
| 구성 요소 | 역할 | 예시 |
| LLM | 에이전트의 두뇌 역할 (질문 이해, 추론, 계획, 답변 생성 등 수행) |
오류 로그를 읽고 원인을 추정하거나 다음 작업을 결정 |
| 프롬프트 | 목표, 역할, 규칙, 조건, 출력 형식을 전달 | “Spring 백엔드 리뷰어로서 기존 테스트를 삭제하지 말고 오류를 수정해라” |
| 도구 | 실제 행동을 수행 (검색, API 호출, DB 조회, 파일 읽기·수정, 코드 실행 등) |
Git 저장소 읽기, 테스트 실행, 웹 검색, SQL 조회 |
| RAG | 외부 문서나 지식을 검색해 LLM에 참고 정보로 제공 | 사내 개발 규칙이나 프로젝트 문서를 찾아 답변에 반영 |
| 메모리 | 이전 대화, 사용자 정보, 과거 작업 결과를 저장 | 이전에 수정한 파일이나 사용자의 선호 기술 스택 기억 |
| 상태 관리 | 현재 작업 진행 상황과 중간 결과를 기록 | “로그 분석 완료, 코드 수정 중, 테스트 미실행” 상태 저장 |
| 계획 로직 | 무엇을 어떤 순서로 할지 결정 | 오류 확인 → 관련 코드 탐색 → 수정 → 테스트 → 결과 검증 |
| 오케스트레이터 | 결정된 작업을 실제로 실행하고 흐름을 통제 | 테스트 실패 시 다시 코드 수정 단계로 이동하도록 제어 |
| 평가 기능 | 결과가 목표를 충족했는지 판단 | 테스트 통과 여부, 응답 정확도, 작업 완료 조건 확인 |
| 가드레일 | 권한, 안전 규칙, 금지 행동, 승인 절차를 통제 | 운영 DB 삭제 금지, 배포 전 사람 승인, 최대 실행 횟수 제한 |
2. 인지 아키텍처
- AI 에이전트가 어떤 방식으로 스스로 생각하고 행동할지를 설계한 내부 구조
추론/행동 패턴
| 패턴 | 핵심 개념 | 작동 방식 | 예시 |
| ReAct | 추론과 행동을 번갈아 수행 | 생각 → 도구 실행 → 결과 관찰 → 다시 생각 |
로그 확인 → 설정 파일 조회 → 코드 수정 |
| Reflexion | 실패와 피드백을 다음 시도에 반영 | 작업 수행 → 결과 평가 → 개선점 저장 → 재시도 |
테스트 실패 원인을 메모리에 저장한 뒤 수정 전략 변경 |
| Plan-and-Execute | 먼저 작업을 나누고 이후 단계별로 수행 | 목표 분석 → 세부 작업 분해 → 순차 실행 |
코드 분석 → 수정 → 테스트 → 결과 보고 |
구성/선택 방식
| 방식 | 핵심 개념 | 작동 방식 | 예시 |
| 도구·에이전트 레지스트리 | 사용 가능한 도구와 전문 에이전트 목록을 관리 | 목표 분석 → 적절한 도구나 에이전트 선택 → 호출 |
DB 조회 도구, 웹 검색 도구, 코드 리뷰 에이전트 선택 |
협업/평가 패턴
| 패턴 | 핵심 개념 | 작동 방식 | 예시 |
| Planner-Critic | 생성 역할과 평가 역할을 분리 | 플래너가 계획 생성 → 크리틱이 검토 → 계획 수정 |
구현 에이전트가 코드를 만들고 리뷰 에이전트가 문제 지적 |
3. 계층 구조
- AI에이전트를 운영 관점에서 나눈 구조
| 계층 | 역할 |
| 1. 파운데이션 모델 | LLM·멀티모달 모델 등 핵심 AI |
| 2. 데이터 운영 | 문서, 임베딩, 벡터 DB, RAG 관리 |
| 3. 에이전트 프레임워크 | 계획, 도구 호출, 메모리 구현 |
| 4. 배포·인프라 | 서버, 클라우드, 실행 환경 |
| 5. 평가·관측성 | 성능, 비용, 오류, 실행 과정 확인 |
| 6. 보안·규정 준수 | 권한, 개인정보, 안전 규칙 관리 |
| 7. 생태계 | 실제 서비스, 사용자, 외부 시스템 연결 |
4. 핵심 위험
| 위험 | 설명 | 예시 |
| 잘못된 판단 | 틀린 판단이 실제 행동으로 이어질 수 있음 | 잘못된 코드 수정, 파일 삭제, 잘못된 메일 발송 |
| 목표 정렬 실패 | 사용자의 의도와 다르게 목표를 해석할 수 있음 | “테스트 통과”를 위해 테스트를 삭제함 |
| 권한 남용 | 에이전트에 과도한 권한이 주어지면 피해가 커질 수 있음 | 운영 DB 수정, 비밀키 접근 |
| 프롬프트 인젝션 | 외부 문서나 웹페이지의 악성 지시를 따를 수 있음 | 문서 속 “기존 지시를 무시하라”는 명령 실행 |
| 환각 | 존재하지 않는 정보나 도구를 있다고 판단할 수 있음 | 없는 API나 파일을 기준으로 작업 |
| 무한 루프 | 목표 달성 여부를 판단하지 못해 같은 작업을 반복할 수 있음 | 테스트 실패와 재수정을 계속 반복 |
| 상태 오류 | 현재 작업 진행 상황을 잘못 기억하거나 잃을 수 있음 | 이미 완료한 작업을 다시 수행 |
| 설명 가능성 부족 | 왜 특정 행동을 선택했는지 파악하기 어려울 수 있음 | 파일 삭제 이유를 명확히 설명하지 못함 |
| 비용 증가 | LLM 호출과 도구 실행이 반복되어 비용이 커질 수 있음 | 불필요한 검색과 재시도 반복 |
| 정보 유출 | 민감한 데이터가 외부 모델이나 도구로 전달될 수 있음 | 개인정보, 소스 코드, 비밀키 노출 |
| 검색 정보 오염 | 잘못된 문서나 악성 데이터를 근거로 판단할 수 있음 | 오래된 규정을 최신 정책으로 오인 |
| 멀티 에이전트 충돌 | 여러 에이전트의 판단과 작업이 서로 충돌할 수 있음 | 한 에이전트가 수정한 코드를 다른 에이전트가 되돌림 |
5. 안전하게 운영하는 방법
| 운영 방법 | 역할 | 예시 |
| 최소 권한 부여 | 작업에 꼭 필요한 권한만 제공 | 코드 읽기·수정은 허용하고 운영 DB 접근은 금지 |
| 샌드박스 실행 | 운영 환경과 분리된 안전한 공간에서 실행 | 제한된 권한의 Docker 컨테이너, 가상 머신에서 코드를 실행 |
| 사람 승인 절차 | 위험한 행동 전에 사용자의 승인을 받음 | 배포, 결제, 삭제 전에 승인 요청 |
| 실행 횟수 제한 | 무한 반복과 과도한 비용을 방지 | 최대 재시도 3회 |
| 비용·시간 제한 | 호출량과 실행 시간을 통제 | 토큰 한도, 최대 실행 시간 설정 |
| 감사 로그 기록 | 에이전트의 모든 행동을 추적 가능하게 함 | 도구 호출, 파일 수정, 판단 근거 기록 |
| 결과 검증 | 실행 결과가 목표와 조건을 충족했는지 확인 | 컴파일, 테스트, 정적 분석 수행 |
| 롤백 지원 | 문제가 생기면 이전 상태로 복구 | Git revert, DB 트랜잭션 롤백 |
| 입력 검증 | 악성 프롬프트와 위험한 입력을 차단 | 외부 문서의 명령문 필터링 |
| 출력 검증 | 에이전트가 만든 명령이나 결과를 검사 | SQL, 셸 명령, 코드 변경 검토 |
| 접근 권한 관리 | 사용자와 에이전트별 데이터 접근 범위를 제한 | 사내 문서의 부서별 접근 제어 |
| 중요 작업 분리 | 고위험 작업을 별도 단계와 도구로 분리 | 코드 작성과 운영 배포 권한 분리 |
| 종료 조건 설정 | 목표 달성 또는 실패 시 명확히 멈추게 함 | 테스트 성공 시 종료, 3회 실패 시 중단 |
| 모니터링과 알림 | 이상 행동을 빠르게 발견하고 대응 | 반복 실패, 대량 삭제 시 관리자 알림 |
출처
'AI' 카테고리의 다른 글
| [IBM] AI 스택 (0) | 2026.07.17 |
|---|---|
| [IBM] MCP (0) | 2026.07.17 |
| [Wiki] 2-2. LLM: RAG (0) | 2026.07.14 |
| [Wiki] 2. LLM (0) | 2026.07.14 |
| [Wiki] 1. AI (0) | 2026.07.14 |