WEBVTT 00:00.950 --> 00:04.760 가장 먼저 눈에 띄는 건 펼쳐놓은 공책이 없다는 거죠 00:04.760 --> 00:08.090 왜냐하면 이번엔 코드만 볼 거니까요 00:08.090 --> 00:11.150 녹음에 수첩은 안 돼요 00:11.150 --> 00:18.710 이 비디오에서 실제 finally를 살펴보겠습니다 우리가 작성하고 구축하고 00:18.710 --> 00:22.880 실행할 실제 에이전트 프레임워크요 00:22.880 --> 00:27.530 아주 멋진 것 같지만 사실 아주 간단해요 00:27.530 --> 00:32.240 이런 이유 때문에 제가 기성품 패키지를 사용하지 않는 겁니다 00:32.240 --> 00:37.880 보다 고급된 함수를 수행하기 위해 서로 연결하는 것 이상의 것은 없다는 00:37.880 --> 00:40.340 걸 보여드리고 싶었어요 00:40.640 --> 00:45.440 보통 이런 종류의 에이전트 프레임워크를 이야기할 때 데이터베이스 00:45.440 --> 00:50.630 연결을 다룰 수 있는 무언가를 찾습니다 이 경우에는 크롬 데이터 00:50.630 --> 00:53.990 스토어 메모리인데요 00:54.080 --> 00:57.590 지속적인 메모리 감각을 원하죠 00:57.770 --> 01:03.270 채팅이나 인스턴스 사이에서 살아남을 수 있도록요 메모리가 어떻게 작동하는지 01:03.270 --> 01:05.040 이해할 수 있게요 01:05.700 --> 01:12.180 그리고 로깅 같은 것도 말씀드렸듯이 여러분 환경에서 무슨 일이 일어났는지 이해하는 데 01:12.180 --> 01:13.620 좋은 연습이 되죠 01:13.620 --> 01:17.610 사용자 인터페이스 문제도 있을 겁니다 이 프레임워크를 사용할 수 01:17.640 --> 01:20.250 있는 그래디오 UI를 구축해야 하니까요 01:20.250 --> 01:21.960 그걸 처리해야 해요 01:21.960 --> 01:26.850 마지막 것은 다음 시리즈에서 보여드릴게요. Get up 01:27.030 --> 01:31.500 지금은 프레임워크를 살펴볼 거예요 01:31.500 --> 01:34.080 그 전에 몇 가지 짚고 넘어갈 게 있어요 01:34.080 --> 01:38.580 먼저 에이전트 폴더를 보면 각각의 다른 클래스를 보았었죠. 01:38.580 --> 01:40.920 그건 다른 업무를 상징하죠 01:40.920 --> 01:45.450 모두 에이전트의 서브클래스인 게 보이시죠 01:45.570 --> 01:47.100 이게 뭔지 궁금하실 거예요 01:47.130 --> 01:52.260 서브클래싱하는 에이전트가 무엇인지 모든 기능성 요소가 들어있는지를요 01:52.260 --> 01:55.920 사실 이 슈퍼클래스엔 기능성이라곤 거의 없어요 01:55.920 --> 02:00.210 그냥 추상 수업이에요 02:00.270 --> 02:03.820 메시지를 기록할 수 있죠 02:03.910 --> 02:07.090 메시지를 기록하는 방법은 로깅을 하는 거죠 정보요 02:07.120 --> 02:08.530 잘 아실 거예요 02:08.560 --> 02:10.360 파이썬 을 로깅한 적이 있을 거예요 02:10.360 --> 02:11.200 그래서 예쁘죠 02:11.230 --> 02:17.590 로깅이 익숙하네요 벌목꾼이 있는 곳이면 어디든 정보를 얻을 수 있어요 02:17.620 --> 02:18.550 그리고요 02:18.700 --> 02:23.560 제가 여기서 하는 것 중 조금 다른 건 비트를 입힐 거예요 02:23.590 --> 02:27.190 에이전트의 서브클래스 이름을 추가하세요 02:27.190 --> 02:28.840 그건... 그건 말이죠 02:28.870 --> 02:34.120 로그 메시지를 보낼 건데 각각 색깔을 지정할 거예요 02:34.210 --> 02:39.400 그러면 어떤 요원이 어떤 역할을 하는지 알 수 있죠 02:39.400 --> 02:45.220 예를 들어, 다시 돌아가서, 전문 에이전트로 가보면, 이름이 있는 것을 볼 02:45.220 --> 02:46.300 수 있어요. 02:46.330 --> 02:47.560 특수 요원이죠 02:47.560 --> 02:51.310 색은 빨간색이라 통나무를 쌓을 때 이렇게 되죠 02:51.340 --> 02:52.270 빨간색으로요 02:52.270 --> 02:54.610 제가 안 한 걸 눈치챘을 거예요 02:54.640 --> 02:56.980 로깅을 했어요 셀프.로그를 했어요 02:56.980 --> 03:00.070 슈퍼클래스에서 로그 메시지를 호출할 수 있어요 03:00.070 --> 03:04.820 이 에이전트 슈퍼클래스는 화려한 게 없어요 03:04.820 --> 03:06.920 일관되게 로그인할 수 있었죠 03:06.920 --> 03:11.090 다른 클래스에도 똑같이 함수를 포함할 수 있었어요 03:11.090 --> 03:14.480 그 요원은 특별할 게 없어요 03:14.930 --> 03:15.860 좋아요 03:15.860 --> 03:22.250 비트 워크 중 하나는 메모리 JSON 파일을 보여드리는 거예요 03:22.250 --> 03:24.710 단순한 JSON 기능이죠 03:24.710 --> 03:29.150 존재하지 않았다면 수동으로 생성하는 걸 보실 수 있어요 03:29.150 --> 03:32.870 편집기로 시작합시다 화려한 거 말고 일반 편집기로요 03:32.870 --> 03:34.700 이렇게 생긴 거예요 03:34.700 --> 03:36.440 목록 맞아요 03:36.680 --> 03:43.250 바깥쪽에 목록이 있는 게 보이시죠 JSON blobs 목록이요 03:43.250 --> 03:48.320 각각의 JSON 덩어리는 여러분에게 익숙할 거예요 03:48.350 --> 03:49.700 뭔지 알겠어요? 03:50.120 --> 03:55.070 네, 기회 객체가 JSON으로 바뀐 거죠 03:55.460 --> 04:02.240 제품 설명, 가격, URL 등의 정보가 있는 거래가 있고 모델에서 나온 추정값도 04:02.240 --> 04:08.370 있어요 할인 항목도 있는데 간단히 이 숫자에서 이 숫자를 빼죠 04:08.400 --> 04:08.880 이런, 미안해요 04:08.910 --> 04:09.630 그 숫자요 04:09.660 --> 04:10.020 네 04:10.380 --> 04:15.300 실제 가치로 추정할 때 얼마나 할인해 주나요? 04:15.300 --> 04:20.790 이 메모리에 세 건의 거래가 드러났어요 04:21.060 --> 04:26.730 JSON 파일에 이렇게 저장하는 건 산업용 강도가 그리 높지 않아요 04:26.730 --> 04:32.160 데이터베이스로 간다면 실행 중인 다수의 에이전트 프레임워크를 처리할 수 있는 뭔가가 되겠죠 04:32.160 --> 04:38.220 하지만 에이전트 프레임워크는 한 번만 이 메모리에 입력할 수 있어요 04:38.220 --> 04:42.150 꼭 필요한 건 아니지만 크롬 도금 작업은 쉽죠 04:42.150 --> 04:47.550 데이터베이스가 이미 있으니 원하시면 그걸 연습으로 삼으세요 04:47.880 --> 04:52.620 생산성이 크게 향상될 거예요 04:53.250 --> 05:01.620 어쨌든 이제 프레임워크 자체를 살펴볼 때가 됐어요 에이전트 프레임워크요 05:01.710 --> 05:04.620 그럼 바로 시작하죠 05:06.220 --> 05:11.710 그리고 올바른 수업을 진행하고 싶어요 앞으로 있을 수업에 너무 많은 걸 알려주지 05:11.710 --> 05:12.460 않게요 05:12.460 --> 05:12.970 여기 있네요 05:12.970 --> 05:14.770 거래 요원 프레임워크예요 05:15.130 --> 05:16.540 네 05:16.540 --> 05:24.790 에이전트 프레임워크는 우선 로깅을 설정하는 거예요 05:24.790 --> 05:31.870 이건 표준 파이썬 으로 누군가 로깅을 할 때 확실히 해두죠 get-turefo는 기본으로 05:32.020 --> 05:36.790 보내지고 몇 가지 구조가 있어요 05:36.790 --> 05:43.300 이건 표준 파이썬 문서예요 제대로 기록하기 위한 상용 문서요 05:43.300 --> 05:46.330 이건 거래 에이전트 프레임워크예요 05:46.330 --> 05:51.640 데이터베이스에 코딩되어 있어요 제가 실수로 몇 번 놓친 거죠 메모리 05:51.640 --> 05:55.480 파일 이름과 함께 여기에 코딩되어 있어요 05:55.600 --> 05:58.750 불이 붙으면 로깅을 시작할 거예요 05:58.780 --> 06:00.730 로그 메시지를 만들 거예요 06:00.730 --> 06:02.170 그럼 부럽죠 06:02.200 --> 06:05.770 이건 우리가 모든 주피터 공책에 항상 쓰는 거예요 06:05.770 --> 06:07.520 이제 이걸 써야 해요 06:07.760 --> 06:12.800 데이터베이스를 생성하거나 접근할 거예요 06:13.250 --> 06:17.090 JSON 파일 메모리에서 읽을 거예요 06:17.390 --> 06:25.010 어, 제품 컬렉션을 받고 기획 에이전트를 설정해서 Get up을 해야 하는 06:25.010 --> 06:28.070 컬렉션을 초기화하는 거죠 06:28.100 --> 06:30.110 그럼 준비가 됐다고 나오죠 06:30.620 --> 06:35.930 이 메서드는 메모리를 읽는데 함석에 적힌 그대로를 해요 06:35.930 --> 06:39.140 파일 이름을 하드코딩하지 않은 걸 보실 수 있어요 06:39.140 --> 06:40.160 정말 잘했어요 06:40.190 --> 06:40.700 저요? 06:40.820 --> 06:43.880 JSON에서 로드하는 거죠 06:43.880 --> 06:50.030 이미 존재하지 않는다면 빈 것을 반환합니다 함수도 있으니 06:50.240 --> 06:52.130 괜찮아요 06:52.160 --> 07:00.890 메서드는 메모리를 쓰고 메모리 파일에 이런 기회를 쓰는 거예요 07:01.940 --> 07:08.710 로그 메시지가 있어요 로그 메시지를 보내는 메서드죠 에이전트 프레임워크 태그와 함께요 07:09.490 --> 07:14.590 그리고 기획 에이전트를 시작하는 실행 메서드가 있어요 07:14.800 --> 07:20.860 결과를 받으면 셀프 닷플래너를 호출해요 07:21.070 --> 07:22.120 그렇게 해요 07:22.120 --> 07:23.500 중요한 순간이죠 07:23.500 --> 07:26.200 그때 이 작업을 시작하게 됐죠 07:26.200 --> 07:28.750 보세요 메모리로 지나가요 07:28.780 --> 07:32.350 자신이 아는 기회의 메모리를 지나쳐 가죠 07:32.350 --> 07:38.050 여기에 넣으면 결과를 기록해요 07:38.050 --> 07:43.990 그리고 0이 아니면 새로운 결과가 나오지 않으면 0을 반환할 수도 있다는 거 기억하세요 07:43.990 --> 07:50.020 하지만 실제 결과라면 메모리에 추가하고 메모리를 쓰고 결과를 반환하죠 07:50.020 --> 07:51.220 그게 다예요 07:51.220 --> 07:57.040 마지막 부분은 UI 다음에 나올 겁니다 지금은 프레임워크의 07:57.040 --> 07:57.970 끝이죠 07:58.420 --> 07:59.980 이 프레임워크를 어떻게 실행하죠? 07:59.980 --> 08:01.690 명령줄에서부터 실행하는 거죠 08:01.690 --> 08:03.100 이제 진짜 시작이에요 08:03.100 --> 08:05.500 파이썬 으로만 된 코드죠 08:05.500 --> 08:09.080 우린 주피터 세계 밖에 있고 편리함을 위해 인터페이스를 사용하죠 08:09.080 --> 08:09.710 정말이에요 08:09.980 --> 08:12.440 하지만 VSCode나 그런 걸 사용할 수도 있죠 08:12.470 --> 08:16.310 터미널을 작동하려면 플러스 버튼을 눌러요 08:16.310 --> 08:20.330 주피터랩에서도 이렇게 새 터미널을 열 수 있어요 08:20.330 --> 08:25.010 물론 여러분이 원하는 대로 할 수도 있어요 08:25.130 --> 08:29.540 아나콘다 프롬프트일 수도 있고 여러분이 사용할 수도 있죠 08:29.540 --> 08:32.240 Mac을 사용한다면 새 터미널 창을 불러올 수 있어요 08:32.330 --> 08:36.380 하지만 먼저 콘다 환경을 활성화해야 해요 08:36.560 --> 08:47.330 콘다가 LMS를 활성화합니다 그 말은 여러분이 이제 아주 익숙해졌지만 제 환경이 베이스에서 LMS로 08:47.330 --> 08:54.350 바뀝니다 지금 아나콘다 환경에 있으니까요 정말 그게 다인 것 같아요 08:54.350 --> 09:01.730 파이썬 딜 에이전트 프레임워크라고 할 수 있어야 해요 09:02.510 --> 09:04.010 철자를 맞춰요 09:06.410 --> 09:07.490 닷 피요 09:07.640 --> 09:08.990 그게 다일 거예요 09:09.000 --> 09:11.670 그 전에 보여드릴 게 하나 더 있어요 09:11.820 --> 09:14.190 하마터면 잊을 뻔했네요 09:14.190 --> 09:16.320 이 마지막 선만 남았어요 09:16.320 --> 09:20.070 제가 이걸 보여드리지 않으면 어떻게 될지 궁금하셨을 거예요 09:20.460 --> 09:26.700 끝에서 명확히 해야 할 것은 명령줄에서 실행되어 이 파일이 메인이라면 인스턴스화하고 09:26.700 --> 09:32.550 거래 에이전트 프레임워크의 새 인스턴스를 생성해요 09:32.550 --> 09:35.760 방금 본 실행 메서드죠 09:35.790 --> 09:39.780 빠진 고리가 있네요 설명하자면요 09:39.810 --> 09:40.320 저거로요 09:40.320 --> 09:41.640 이제 실행할 수 있어야 해요 09:41.670 --> 09:42.540 심호흡을 하세요 09:42.540 --> 09:43.410 시작하죠 09:46.950 --> 09:49.020 생각할 시간이 길군요 09:51.060 --> 09:51.930 좋아요 09:51.930 --> 09:53.310 무슨 일인지 보죠 09:53.310 --> 09:55.800 프레임워크 말로는 초기화되고 있대요 09:55.800 --> 09:58.350 계획 담당이 스캐너를 가동 중이에요 09:58.380 --> 09:59.850 에이전트가 준비됐죠 09:59.850 --> 10:02.550 앙상블 에이전트가 준비 중이에요 10:02.550 --> 10:04.170 그래서 비트를 보기가 좀 힘들어요 10:04.170 --> 10:09.600 모달과 연관된 특수 요원이 준비 중이에요 10:10.300 --> 10:12.910 개척지 모델이 준비됐죠 10:12.940 --> 10:14.920 그 문장에 변압기를 로드해야 해요 10:14.920 --> 10:16.360 저기서 일어나는 일이 보이죠 10:16.360 --> 10:19.810 그리고 임의의 숲 관리인도 준비를 하죠 10:19.810 --> 10:21.340 다 됐어요 10:21.430 --> 10:24.340 앙상블도 준비됐고 전달자도 준비됐어요 10:24.340 --> 10:25.810 전부 파란색으로 칠하고요 10:25.840 --> 10:28.360 프레임워크 요원이 준비됐다고 나오네요 10:28.360 --> 10:33.130 인스턴스화와 모든 에이전트를 생성하고 셋업하는 과정을 거쳤어요 10:33.130 --> 10:39.970 전문가용 모델에 맞는 무게추 하나만 실었어요 10:40.390 --> 10:46.180 이제 다들 행동에 나설 준비가 됐어요 10:46.210 --> 10:51.010 모델 웨이트를 읽고 런을 시작하네요 10:51.040 --> 10:56.110 여기 보이는 스캐너 요원은 오류가 있다는 걸 받았어요 10:56.110 --> 10:57.160 더 잘할게요 10:57.160 --> 10:59.020 실제 결과의 수는 출력하지 않아요 10:59.020 --> 11:02.290 인쇄하기 전에 F가 필요해요 11:02.620 --> 11:05.080 보시기 전에 고쳐 놓을게요 11:05.170 --> 11:07.660 스캐너 요원이 판단하는 거죠 11:07.780 --> 11:16.400 기획사에서 가격을 매기고 있고 제 기계가 예열되는 동안 수정을 기다리고 11:16.400 --> 11:17.960 있어요 11:18.050 --> 11:26.420 근데 요리 프로에서 보면 이런 말이 있잖아요 무슨 말인지 아시죠? 그런 프로 보면 오븐에 11:26.420 --> 11:32.270 뭘 넣잖아요 제가 아까 넣은 건 이렇게 나오는데 그걸 오븐에서 11:32.270 --> 11:33.980 꺼내요 11:33.980 --> 11:37.100 그런 걸 할 때 보면 교활한 속임수 같아요 11:37.190 --> 11:39.800 하지만 내가 방금 했다는 걸 믿어야 해요 11:39.800 --> 11:45.440 몇 분 전에 발로 찼는데 이쪽으로 달려오더라고요 그래서 여기 뒀더니 일을 다 11:45.440 --> 11:46.070 봤어요 11:46.070 --> 11:52.700 기본적으로 반환된 5개의 거래마다 모든 다양한 모델에 일련의 전화를 11:52.700 --> 11:54.140 걸었어요 11:54.140 --> 11:55.670 하나씩 읽어 보세요 11:55.700 --> 11:58.490 앙상블 모델은 숫자를 돌려줘요 11:58.700 --> 12:01.160 그럼 다시 돌아가죠 12:01.190 --> 12:06.350 먼저 전문 모델에서 숫자를 계산하고 그다음은 개척 모델에서 랙 검색을 통해 숫자를 12:06.350 --> 12:08.990 계산해요 그다음은 무작위 숲 모델이죠 12:08.990 --> 12:10.430 앙상블 모델도요 12:10.430 --> 12:12.870 다 기획 담당자 책임이죠 12:13.200 --> 12:15.300 이걸 다 읽어보세요 12:15.300 --> 12:20.100 이게 끝나면 푸시 알림을 보내죠 12:20.340 --> 12:29.700 푸시 알림을 받았어요 어떤 거래에 관한 거였죠 재정비된 인증된 노트북이었어요 12:29.700 --> 12:39.090 13세대 i5를 자랑하고 있었죠 추정 가격은 925달러였어요 560달러였으니 12:39.090 --> 12:45.030 상당히 할인된 가격이죠 12:45.030 --> 12:46.950 자, 됐어요 12:46.950 --> 12:50.970 에이전트 프레임워크가 실행되고 있는 것이었고요 12:51.210 --> 12:55.980 그런 모습을 보면 정말 만족스러워요 12:55.980 --> 13:00.870 보는 게 정말 좋아요 온종일 볼 수도 있어요 13:00.870 --> 13:04.200 솔직히 정말 즐거워요 13:04.230 --> 13:07.920 보세요, 오븐에서 꺼낼 때 이걸 꺼낼 필요도 없었어요 이미 오븐에 13:07.920 --> 13:09.780 넣은 게 지금 익고 있거든요 13:09.780 --> 13:14.960 모듈이 워밍업이 되면 다양한 것들을 빠르게 전환할 수 있어요 13:15.170 --> 13:16.910 여길 통과하는군요 13:16.910 --> 13:18.020 뭔가 떠올랐어요 13:18.020 --> 13:22.790 물론 방금 제안한 것과 다른 내용이죠 13:23.000 --> 13:26.870 방금 휴대폰 알림이 떴는데 시계에도 떴을 거예요 13:27.350 --> 13:34.880 방금 전체 프레임워크가 실행되는 걸 봤죠 제가 알림을 받는 것도요 13:34.880 --> 13:42.980 이 흔적을 읽어보면 각 요원이 이 문제를 해결하기 위해 어떻게 협력하는지 알 수 있죠 13:43.280 --> 13:51.470 이제 남은 건 자율 주행이 가능하게 만드는 거예요 13:51.470 --> 13:56.810 그걸 하는 동안 멋진 UI를 적용하는 게 좋겠죠 그러디오 사용법을 알고 그게 얼마나 좋은지 13:56.810 --> 13:57.680 알거든요 13:57.710 --> 14:01.190 그 모든 걸 내일 할 거예요 14:01.250 --> 14:04.460 하지만 지금은 이 순간을 즐기게 해 줄게요 14:04.460 --> 14:07.670 몇 번 더 해보세요 정말 만족스럽거든요 14:07.700 --> 14:08.900 솔직히 마음에 들어요 14:08.930 --> 14:14.540 여러분도 저만큼 즐거우시면 좋겠네요 오늘 마무리는 슬라이드에서 보여드릴게요