옮긴이 머리말 x
베타리더 후기 xii
시작하며 xiv
감사의 글 xvi
이 책에 대하여 xvii
CHAPTER 1 ChatGPT로 할 수 있는 것은 무엇일까? 1
1.1 ChatGPT로 무엇을 할 수 있을까? 2
__1.1.1 ChatGPT를 비서로 5
__1.1.2 ChatGPT를 내 동료로 7
__1.1.3 개발 프로세스에서 ChatGPT 활용하기 8
1.2 어떻게 가능할까? 10
__1.2.1 트랜스포머의 탄생 10
__1.2.2 간단하게 살펴볼까요? 11
__1.2.3 토큰의 분해와 순서 부여 12
__1.2.4 주의 집중이란 13
__1.2.5 단일 주의 집중과 복수의 주의 집중 15
__1.2.6 부호기에 의해 생성된 문맥을 복호기에 연결하기 17
__1.2.7 더 이상 두렵지 않다! Attention Is All You Need 18
__1.2.8 GPT는 어떻게 문장을 생성하는 것일까? 19
CHAPTER 2 프로그래밍에서의 활용 23
2.1 자동 코드 작성 24
__2.1.1 이해는 하지만 잘하지 못하는 것을 맡기기 25
__2.1.2 작게 쪼개서 요청하기 28
__2.1.3 함수에 대한 테스트 코드도 함께 생성하기 31
__2.1.4 단계별로 쌓아 올리기 33
2.2 오류 대책 33
__2.2.1 오류 대책의 기본 33
__2.2.2 오류가 계속 반복되는 경우에 대한 대응 방법 35
__2.2.3 그래도 오류가 해결되지 않는다면 35
2.3 클래스화에 대하여 36
__2.3.1 클래스 구성도로부터 코드 생성 접근하기 40
2.4 상태전이표로 코드 생성하기 43
__2.4.1 상태전이표로부터 코드 생성 접근하기 44
2.5 디자인 패턴 제안받기 50
__2.5.1 적합한 디자인 패턴 찾기 52
2.6 알고리즘 제안받기 54
2.7 단계별로 쌓아 올리기 70
2.8 코드 변환 80
__2.8.1 SQL 버전이 달라도 두렵지 않다 81
__2.8.2 다른 프로그래밍 언어(또는 여러 개의 언어)도 쉽게 배울 수 있다 83
__2.8.3 다른 언어에서도 작동하는 코드로 변환하기 86
__2.8.4 이것까지 된다고? 90
2.9 테스트 케이스에서 주의할 점 93
CHAPTER 3 리팩터링에서의 활용 95
3.1 자투리 시간에 가볍게 리팩터링하기 97
__3.1.1 함수 분할 97
__3.1.2 변수 이름과 함수 이름의 개선 99
__3.1.3 중복 제거 100
3.2 주석과 문서화 102
__3.2.1 인라인 주석을 추가해달라고 하기 102
__3.2.2 함수 문서를 추가해달라고 하기 104
3.3 보안 취약성 확인 107
3.4 예외 처리와 논리 완전성 개선 112
__3.4.1 예외 처리 개선 112
__3.4.2 논리 완전성 확인과 개선 114
CHAPTER 4 문서의 자동 작성 117
4.1 파워포인트 슬라이드 자동 작성 118
4.2 워드 문서 자동 작성 124
4.3 엑셀 연계 문서 자동 작성 127
4.4 diagrams를 사용한 클라우드 구성도 작성 134
4.5 dbdiagram.io에 의한 개체 관계 구성도 작성 139
CHAPTER 5 각종 개발 방법의 제안 145
5.1 도메인 주도 설계와 구현 147
5.2 테스트 주도 개발에 의한 테스트 기반 구현 165
5.3 ChatGPT와 소프트웨어 개발의 접근 방식 175
CHAPTER 6 학습 과정에서의 활용 177
6.1 분야별 학습 178
__6.1.1 학습 체험을 시작하면서 179
__6.1.2 [Step 1] 학습 영역 범위 좁히기 179
__6.1.3 [Step 2] 학습 테마 결정 181
__6.1.4 [Step 3] 생성 코드로 직접 체험하는 학습 183
__6.1.5 [Step 4] 코드 학습 뒤 확인 작업 189
__6.1.6 [Step 5] 더욱 깊이 파고들어 의미 이해하기 190
__6.1.7 [Step 6] 현실 응용을 위해 함수 깊이 파고들기 190
__6.1.8 [Step 7] 소크라테스의 가정교사(GPT-4 전용) 192
__6.1.9 [Step 8] 무한 대화를 무기로 삼아 193
6.2 프로그래밍 언어 학습 194
__6.2.1 [Step 1] 대상 언어의 특징 이해하기 195
__6.2.2 [Step 2] 작동 환경 구축 196
__6.2.3 [Step 3] 언어 치트시트 작성하기 198
__6.2.4 [Step 4] 빌드 이해하기 199
__6.2.5 [Step 5] 소크라테스 대화법으로 정리 205
6.3 학습 속도를 높이는 ChatGPT 206
CHAPTER 7 ChatGPT API의 활용 207
7.1 가장 기본적인 사용 방법 208
__7.1.1 API 키 발급 208
__7.1.2 가장 간단한 코드 211
__7.1.3 결과를 스트림으로 표시하기 213
__7.1.4 챗봇화하기 214
7.2 요약으로 문맥 연결하기 216
7.3 자연어로 사내 데이터베이스 질의하기 222
7.4 사내 데이터베이스와 연계한 사용자 지원 232
__7.4.1 역할을 분담시키기 232
CHAPTER 8 ChatGPT로 장문 데이터 다루기 245
8.1 LlamaIndex로 장문 데이터 처리 247
__8.1.1 장문의 외부 데이터와의 연계 체험하기 247
__8.1.2 어떤 원리로 작동하는가 256
__8.1.3 적재기 사용하기 256
8.2 랭체인으로 장문 데이터 처리 261
__8.2.1 색인 저장과 적재 266
__8.2.2 적재기 사용하기 268
__8.2.3 장문을 ChatGPT에서 취급할 때의 요령 271
CHAPTER 9 랭체인을 이용한 과정 자동화 275
9.1 랭체인 구조 276
9.2 Chains로 작업 연결하기 278
__9.2.1 일단 사용해보기 279
__9.2.2 단독 체인으로 질의하기 280
__9.2.3 단독 체인을 연결해보기 282
__9.2.4 SimpleSequentialChain으로 한 번에 연결하기 285
__9.2.5 SequentialChain으로 여러 개의 결과 얻기 287
9.3 Chains 기반의 챗봇 예제 290
__9.3.1 랭체인을 이용한 기본적인 챗봇 291
__9.3.2 SQL 질의 방법 293
__9.3.3 챗봇 구현 296
9.4 Agent를 이용한 코드 실행 304
__9.4.1 파워포인트 자동 작성 304
__9.4.2 diagrams를 사용한 클라우드 구성도 자동 작성 307
__9.4.3 그래프 자동 작성 309
9.5 Agent를 이용한 판단/실행/과정 자동화 311
__9.5.1 자동으로 퍼즐을 푸는 간단한 예 311
__9.5.2 웹 검색에 대응하기 316
__9.5.3 색인 데이터베이스 검색 통합하기 319
__9.5.4 PDF 문서 검색하기 322
__9.5.5 여러 개의 색인 데이터베이스를 각각 별도의 도구로 생성하기 324
__9.5.6 SQL 데이터베이스 검색 통합하기 329
9.6 Agent를 이용한 챗봇 최종형 332
__9.6.1 대화 예시 336
__9.6.2 그게 무슨 상관인데요? 342
마치며 343
찾아보기 346