Agent Core Tools
강의 요약: Agent Core Tools
1. Agent Core Tools의 목적
Agent Core Tools는 에이전트에게 코드 실행 환경과 브라우저 조작 능력을 제공하는 컴포넌트입니다.
크게 두 가지 도구가 있습니다.
| 도구 | 역할 |
|---|---|
| Code Interpreter | Python, TypeScript, JavaScript, Shell 명령 실행 |
| Browser Tool | 브라우저 세션을 열고 웹사이트를 클릭·입력·탐색 |
즉, 에이전트가 단순 답변을 넘어서 코드를 실행하거나 웹사이트를 직접 조작할 수 있게 해줍니다.
2. Code Interpreter란?
Code Interpreter는 에이전트가 코드를 생성하고 실제로 실행할 수 있는 관리형 샌드박스 환경입니다.
지원 기능은 다음과 같습니다.
| 기능 | 설명 |
|---|---|
| Python 실행 | 데이터 분석, 파일 처리, 계산 |
| TypeScript 실행 | TS 코드 실행 |
| JavaScript 실행 | JS 코드 실행 |
| Shell 명령 실행 | 파일 조작, 명령어 실행 |
| 파일 생성·읽기·삭제 | 샌드박스 내부 파일 관리 |
| S3 연동 | 파일 업로드·다운로드 가능 |
| 라이브러리 사용 | Pandas 등 Python 라이브러리 활용 가능 |
핵심은 LLM이 생성한 코드를 실제 환경에서 검증하고 실행할 수 있다는 점입니다.
3. Code Interpreter가 필요한 이유
LLM은 코드를 “작성”할 수는 있지만, 그 코드가 맞는지는 실행해보기 전까지 모릅니다.
Code Interpreter를 쓰면 다음이 가능합니다.
- 코드 생성 후 자동 실행
- 계산 결과 검증
- 데이터 분석 수행
- 파일 변환
- 대용량 데이터 처리
- 대시보드 생성
- Shell 명령 실행
예를 들어 수학 계산은 LLM의 토큰 예측에 맡기기보다, Code Interpreter에서 실제 코드로 계산하는 것이 더 안전합니다.
4. Code Interpreter 구조
Code Interpreter는 에이전트별로 격리된 관리형 컨테이너 환경에서 실행됩니다.
구성요소는 다음과 같습니다.
| 구성요소 | 설명 |
|---|---|
| Execution Role | 어떤 AWS 서비스에 접근 가능한지 정의 |
| Session | 현재 실행 중인 격리 컨테이너 |
| Session State | 현재 코드 실행 환경 상태 |
| Network Configuration | Public/VPC 네트워크 설정 |
| File System | 코드 실행 중 생성되는 파일 공간 |
세션은 사용하지 않으면 자동 정리되며, 필요하면 직접 종료할 수도 있습니다.
5. Code Interpreter 네트워크 모드
Code Interpreter는 두 가지 네트워크 모드를 지원합니다.
| 모드 | 사용 상황 |
|---|---|
| Public Mode | 공개 API, 공개 웹 리소스 접근 |
| VPC Mode | 내부 API, 사설 DB, Private S3 등 접근 |
예를 들어 내부 데이터베이스나 사내 API에 접근해야 한다면 VPC Mode를 사용합니다.
6. Code Interpreter 사용 사례
| 사용 사례 | 설명 |
|---|---|
| 데이터 분석 | CSV, JSON, Excel 분석 |
| 파일 변환 | 파일 포맷 변경 |
| 수학 계산 | 정확한 계산 수행 |
| 대시보드 생성 | Pandas 등으로 시각화 |
| 데이터 처리 | 대용량 데이터 변환 |
| 코드 검증 | 생성된 코드 실행 테스트 |
요약하면, Code Interpreter는 에이전트용 서버리스 실행 환경입니다.
7. Browser Tool이란?
Browser Tool은 에이전트가 브라우저를 열고 실제 사람처럼 웹사이트를 조작할 수 있게 해주는 도구입니다.
가능한 작업은 다음과 같습니다.
| 기능 | 설명 |
|---|---|
| 웹사이트 열기 | 특정 URL 접속 |
| 클릭 | 버튼, 링크 클릭 |
| 입력 | 폼에 텍스트 입력 |
| 탐색 | 페이지 이동 |
| JavaScript 실행 | 브라우저 내 JS 실행 |
| 화면 스트리밍 | 사용자가 실시간으로 브라우저 확인 |
| 세션 리플레이 | 나중에 기록 확인 |
8. Browser Tool이 필요한 경우
Browser Tool은 API가 없는 웹사이트를 다룰 때 유용합니다.
예시:
| 상황 | 설명 |
|---|---|
| API 없는 웹사이트 | 화면 기반으로 정보 조회 |
| 내부 웹앱 테스트 | 버튼 클릭, 폼 입력 테스트 |
| 워크플로우 자동화 | 여러 페이지를 순서대로 조작 |
| 프론트엔드 QA | UI 변경에도 유연하게 테스트 |
| 사용자 개입 필요 | CAPTCHA 발생 시 사용자가 직접 처리 |
즉, API 기반 연동이 어렵거나 화면 조작이 필요한 경우에 사용합니다.
9. Browser Tool 구조
Browser Tool도 관리형 격리 컨테이너로 실행됩니다.
구성요소는 다음과 같습니다.
| 구성요소 | 설명 |
|---|---|
| Browser Session | 격리된 브라우저 실행 환경 |
| Browser State | 현재 열린 페이지, 탐색 상태 |
| Network Configuration | Public/VPC 네트워크 설정 |
| Live Stream | 현재 브라우저 동작 실시간 확인 |
| Session Replay | 과거 브라우저 동작 기록 확인 |
10. Browser Tool 네트워크 모드
Browser Tool도 두 가지 모드를 지원합니다.
| 모드 | 사용 상황 |
|---|---|
| Public Mode | 공개 웹사이트 접근 |
| VPC Mode | 내부 웹앱, 사내 관리자 페이지 접근 |
내부 시스템 자동화나 테스트에는 VPC Mode가 중요합니다.
11. Live Stream과 Replay
Browser Tool의 강력한 기능은 실시간 스트리밍과 세션 리플레이입니다.
| 기능 | 용도 |
|---|---|
| Live Stream | 에이전트가 현재 무엇을 하는지 실시간 확인 |
| User Takeover | 사용자가 중간에 직접 조작 |
| Session Replay | 나중에 브라우저 동작 재확인 |
| Auditing | 에이전트 행동 감사 |
| Debugging | 실패 원인 분석 |
예를 들어 CAPTCHA가 나오면 에이전트가 푸는 것이 아니라, 사용자가 직접 개입해서 처리하고 이후 에이전트가 계속 진행할 수 있습니다.
12. CAPTCHA 관련 주의점
강의에서 강조한 안티패턴은 다음입니다.
| 안티패턴 | 이유 |
|---|---|
| 브라우저로 웹검색 수행 | 검색 API를 쓰는 것이 더 적절 |
| CAPTCHA 자동 해결 시도 | 사용자가 직접 처리해야 함 |
| 불필요한 브라우저 사용 | 비용과 복잡도 증가 |
웹 검색은 Browser Tool보다 Perplexity 같은 검색 API를 쓰는 것이 더 적합합니다.
13. Code Interpreter vs Browser Tool
| 구분 | Code Interpreter | Browser Tool |
|---|---|---|
| 목적 | 코드 실행 | 웹사이트 조작 |
| 주요 작업 | 계산, 분석, 파일 변환 | 클릭, 입력, 탐색 |
| 실행 환경 | 샌드박스 컨테이너 | 브라우저 컨테이너 |
| 지원 모드 | Public / VPC | Public / VPC |
| 대표 사용 사례 | 데이터 분석, 코드 검증 | API 없는 웹 자동화, UI 테스트 |
간단히 말하면:
계산·코드·파일 처리 → Code Interpreter
웹사이트 클릭·입력·탐색 → Browser Tool
14. 비용 구조
Code Interpreter와 Browser Tool의 비용 구조는 Runtime과 유사합니다.
주요 비용 요소는 다음입니다.
| 비용 요소 | 설명 |
|---|---|
| vCPU | 컨테이너 연산 자원 |
| Memory | 컨테이너 메모리 사용량 |
| 실행 시간 | 세션 유지 시간 |
| LLM 호출 비용 | 코드 생성·브라우저 판단에 필요한 모델 호출 |
주의할 점은 도구 실행 비용 외에도 LLM Invocation 비용이 추가된다는 것입니다.
15. 비용 최적화 포인트
| 방법 | 설명 |
|---|---|
| 세션 자동 정리 활용 | 사용하지 않는 세션 방치 금지 |
| 필요할 때만 실행 | 단순 작업에는 Tools 사용 자제 |
| Public/VPC 모드 구분 | 필요한 네트워크만 열기 |
| 브라우저 남용 금지 | API가 있으면 API 사용 |
| 코드 실행 범위 제한 | 작은 단위로 검증 후 확장 |
16. 실습에서 다룰 내용
이번 Lab에서는 기존 에이전트에 Tools 기능을 추가합니다.
실습 내용은 다음과 같습니다.
| 실습 | 내용 |
|---|---|
| Code Interpreter | 코드 실행, 파일 생성, 결과 반환 |
| Browser Tool | 브라우저 세션 생성, 웹사이트 조작 |
| Live Stream | 브라우저 동작 실시간 확인 |
| Session Replay | 실행 기록 확인 |
17. 핵심 결론
- Agent Core Tools는 에이전트에게 실행 능력을 추가한다.
- Code Interpreter는 Python, TypeScript, JavaScript, Shell을 실행할 수 있다.
- 코드 검증, 데이터 분석, 파일 변환, 계산 작업에 유용하다.
- Browser Tool은 에이전트가 웹사이트를 실제 사람처럼 조작하게 해준다.
- API가 없는 웹사이트나 내부 웹앱 테스트에 유용하다.
- 두 도구 모두 Public Mode와 VPC Mode를 지원한다.
- Browser Tool은 Live Stream과 Session Replay를 제공한다.
- CAPTCHA는 자동 해결하려 하지 말고 사용자 개입 방식으로 처리해야 한다.
- 비용은 실행 시간, vCPU, 메모리, LLM 호출 비용을 함께 고려해야 한다.