반응형

프롬프트 공부에서 배포까지: 주식 리서치 MINI-AI-AGENT 만들기

> 2026년 11월 4일 코드 기준 개발 회고. 이 프로젝트는 투자 수익을 예측하거나 매매를 실행하는 시스템이 아니라, 자료를 조회하고 근거를 확인하는 학습용 리서치 도구다.

## 1. 책에서 배운 내용을 실제 서비스로 만들어 보기

시작은 단순했다. 오라일리의 LLM 프롬프트 엔지니어링 관련 책을 공부하고, 이해한 내용을 작은 AI 에이전트에 적용해 보고 싶었다. 처음부터 거대한 자동화 시스템을 만들기보다 내가 관심 있는 주식을 대상으로 사용자의 질문을 이해하고 필요한 자료를 가져오는 서비스를 만들기로 했다.

이 글은 책의 정확한 장별 요약이 아니라, 공부한 개념을 프로젝트에 어떻게 적용했는지에 대한 기록이다.

처음 떠올린 형태는 채팅 UI에 모델 API를 연결하는 것이었다. 하지만 개발하면서 중요한 질문이 생겼다.

- 사용자가 어떤 종목을 말하는지 어떻게 확인할까?
- 단기와 장기 질문에 같은 자료를 주면 될까?
- 데이터를 서버가 미리 가져올까, 모델이 필요한 도구를 요청하게 할까?
- 자료를 제공한 것과 답변의 근거로 사용된 것은 어떻게 구분할까?
- 테스트 결과가 통과했다고 답변까지 좋은 것일까?

MINI-AI-AGENT는 이 질문들을 하나씩 구현하면서 확장한 프로젝트다.

## 2. 전체 구조

백엔드는 Python, 프론트엔드는 HTML·CSS·JavaScript로 구성했다. 차트에는 TradingView Lightweight Charts를 사용한다. 현재 웹 서버는 Python 표준 라이브러리 기반 프로토타입이며, FastAPI로 만든 서비스는 아니다.

```text
사용자: "삼성전자 장기적으로 어때?"
    ↓
웹 UI → Python 서버
    ↓
대화 상태와 프롬프트, 사용 가능한 도구를 모델에 전달
    ↓
모델: 종목 확인 / 관점 설정 / 필요한 데이터 조회 요청
    ↓
Python: 입력 검증 → 외부 데이터 조회 → 도구 결과 반환
    ↓
모델: 결과를 보고 추가 조회 또는 최종 답변 결정
    ↓
서버: 응답 구조와 근거 연결 검증
    ↓
UI: 답변·차트·자료·실행 기록 표시
    ↓
로그인한 회원의 조사 기록을 Supabase에 저장
```

상단 시장 지표와 헤드라인은 별도 경로다. 모델을 호출하지 않고 서버에서 조회해 표시한다. 화면에 표시됐다는 이유만으로 모델에게 해당 정보가 전달된 것은 아니다.

## 3. 투자 기간을 분석 기준으로 만들기

처음에는 단기·중기·장기라는 세 가지 관점을 정의했다. 단순한 버튼이 아니라 어떤 자료를 확인하고 어떤 질문에 답할지 정하는 기준이다.

| 관점 | 주요 분석 내용 | 재무 요청 범위 | 뉴스 범위 |
|---|---|---|---|
| 단기 | RSI, MACD, 다이버전스, 볼린저 밴드, 가격 구조, 거래량, 모멘텀, 지지·저항, 변동성, 이벤트 | 최근 4분기 | 최근 7일 |
| 중기 | 20·60·120·200일 이평선 배열·기울기·이격률, 실적 변화, 업황, 월봉 추세 | 최근 3개년 + 8분기 | 최근 30일 |
| 장기 | 사업 경쟁력, 성장, 수익성, 현금흐름, 부채, 자본 배분, 가치평가와 위험 | 최근 5개년 + 8분기 | 최근 90일 |

이 기간은 요청 정책이다. 공급자가 모든 기간을 제공한다는 뜻은 아니다. 일부만 확보되면 `partial`로 표시한다.

중기의 월봉 조건은 구체적으로 정의했다. 가장 최근 완료된 월봉부터 3개 이상 연속으로 각 종가가 해당 월을 포함한 5개월 종가 평균보다 높아야 한다. 아직 끝나지 않은 월봉은 제외하고, 평균과 같으면 미충족으로 본다.

단기 RSI·MACD 및 다이버전스는 최근 20거래일을 우선하고 최대 40거래일 범위에서 해석하도록 했다. 지표 계산에 필요한 이전 데이터와 실제 판단 구간은 구분한다.

다만 체크리스트에 이름을 추가했다고 데이터가 자동으로 생기는 것은 아니다. 상대강도, 컨센서스, 일부 사업·수익성 지표 등은 자료가 부족할 수 있다. 이 경우 확인하지 못했다는 사실을 드러내는 것이 원칙이다.

## 4. 프롬프트는 역할 소개 이상의 규칙이다

모델에는 한국·미국 주식 조사 어시스턴트라는 역할과 함께 공통 응답 규칙을 제공한다.

- 상승 근거와 반대 근거를 함께 설명한다.
- 서로 연관된 지표를 독립적인 증거처럼 중복 계산하지 않는다.
- 자료 부족, 판단 불가, 부정적 결과를 구분한다.
- 관측값, 회사 가이던스, 시장 예상치, 모델의 가정을 구분한다.
- 출처·기준일·분석 기간을 표시한다.
- 뉴스 제목만 보고 본문을 읽은 것처럼 설명하지 않는다.
- 업종에 맞는 지표와 비교 대상을 사용한다.
- 조건부 시나리오를 확정 수익이나 손실 한도처럼 표현하지 않는다.

또한 프롬프트만 믿지 않고, 서버에서도 도구 권한과 입력, 기간, 응답 구조를 확인한다. 프롬프트는 행동 지침이고 검증 코드는 실행 경계를 담당한다.

## 5. Tool Calling: 모델은 요청하고 Python이 실행한다

모델이 직접 우리 Python 함수를 실행하는 것은 아니다. 모델은 도구 이름과 JSON 인자를 반환하고, 서버가 이를 해석해 허용된 함수를 호출한다.

대표 도구는 다음과 같다.

| 도구 | 역할 |
|---|---|
| `search_stock` | 종목명·코드·거래소 확인 |
| `set_research_context` | 현재 종목과 투자 관점 설정 |
| `get_price_analysis` | 가격과 계산된 기술적 지표 조회 |
| `get_financials` | 관점에 맞는 재무제표 조회 |
| `get_news` | 현재 종목의 관련 뉴스 조회 |
| `get_events` | 단기 실적 발표 일정 조회 |
| `get_valuation_comparison` | 장기 가치평가 자료 조회 |
| `set_response_mode` | 전체 분석·설명·개념·업황·비교 등 질문 의도 설정 |
| `search_topic_news` | 업황·수요 등 주제별 뉴스 검색 |
| `get_company_data` | 비교에 필요한 기업별 자료 조회 |

예를 들어 사용자가 “삼전”이라고 하면 모델은 이를 해석하되, 분석 전에 검색 도구로 종목을 확인해야 한다. 오타나 줄임말을 모델이 이해하는 것과, 실제 종목을 확인하는 과정은 분리했다. 여러 후보가 나오면 사용자에게 확인을 요청한다.

## 6. Agent Loop: 한 번 묻고 끝나는 구조에서 왕복 구조로

초기에는 서버가 자료를 먼저 가져와 모델에게 제공하는 방식도 사용했다. 이때 화면의 모델 도구 호출이 0회여도 답변이 만들어졌다. 데이터가 이미 입력에 들어 있었기 때문이다.

학습 목적에 더 맞게, 필요한 자료를 모델이 요청하고 서버가 실행하는 구조로 발전시켰다.

```text
서버 → 모델: 질문 + 현재 상태 + 보유 자료 + 도구 정의
모델 → 서버: search_stock 요청
서버 → 모델: 확인된 종목 반환
모델 → 서버: set_research_context 요청
서버 → 모델: 설정 결과와 필요한 자료 범위 반환
모델 → 서버: 가격 / 재무 / 뉴스 등 조회 요청
서버 → 모델: 실제 결과 또는 조회 실패·부족 상태 반환
모델 → 서버: 추가 요청 또는 최종 답변과 근거 연결 반환
```

이것이 Agent Loop다. 고정된 조회 순서를 단순 실행하는 것이 아니라, 현재 상태와 결과에 따라 다음 행동을 결정한다. 단, 필수 자료와 도구 권한 같은 서버 측 제약은 유지한다.

개발 중에는 보완 요청이 반복돼 수십 회의 모델 왕복이 발생하는 문제도 경험했다. “오래 생각하는 중”과 “같은 요청을 반복하는 중”은 다르다. 필요한 자료가 없을 때 무조건 반복시키기보다, 조회 시도와 실패 상태를 인정하고 한계를 설명하도록 하는 것이 중요했다.

현재는 총 경과 시간, 모델 응답 대기, 도구 실행, 검증 등의 진행 단계를 보여준다. 이것은 관찰 가능한 실행 로그이지 모델의 내부 사고 과정은 아니다. 전체 왕복 횟수의 고정 상한은 없으며, 네트워크 타임아웃과 오류 처리는 별도로 남아 있다. 운영용 비용·시간 예산과 취소 기능은 추가 보완 과제다.

## 7. 대화 맥락과 자료 재사용

“삼전 어때?” 다음에 “중기”라고만 말해도 이전 종목을 유지해야 한다. 반대로 “왜 그렇게 생각해?”라는 질문에 전체 분석을 다시 시작해서는 안 된다.

이를 위해 종목·관점 상태와 질문 의도를 분리했다. 화면의 `자동`은 네 번째 투자 기간이 아니라 질문에 맞는 처리 방식을 고르는 모드다.

- 전체 종목 분석: 필요한 기준과 자료를 확인한다.
- 설명 질문: 직전 결론과 근거를 설명한다.
- 개념 질문: 불필요한 시장 조회 없이 설명한다.
- 특정 지표 후속 질문: 해당 항목 중심으로 답한다.
- 업황·기업 비교: 단일 종목과 기간 선택을 강요하지 않는다.

자료 재사용에도 범위가 필요했다. 단기 자료를 보유했다고 장기 분석에 충분한 것은 아니다. 장기에서 중기로 바꾸는 경우에는 확보한 재무 원본을 중기 범위로 잘라 제공할 수 있다.

서버는 자료의 종목·기간·유효성을 확인해 재사용 가능한 자료를 제공하고, 모델은 추가 조회 필요성을 판단한다. 모델이 스스로 영구 기억하는 구조가 아니다. 특히 DB에서 과거 대화를 복원할 때는 저장된 대화 맥락을 이어받되 시장 자료 캐시는 복원하지 않는다.

## 8. 실제 데이터 공급자와 한계

| 데이터 | 현재 연결 |
|---|---|
| 종목 식별 | 종목 디렉터리와 검색 경로 |
| 가격·OHLCV | Yahoo Finance / yfinance |
| 한국 재무제표 | OpenDART |
| 미국 재무제표 | SEC EDGAR Company Facts |
| PER·선행 PER·PBR·ROE·EV/EBITDA | Yahoo Finance 공급 지표 |
| 종목·업황 뉴스 | Google News RSS |
| VIX | Cboe 일별 자료 |
| 버핏지수 대용 지표 | FRED API |
| 주식 공포·탐욕지수 | OANOR를 통한 CNN 지수 |

재무제표와 가치평가 배수는 같은 데이터가 아니다. DART·SEC를 연결해도 선행 PER이나 업종 평균이 자동으로 확보되지는 않는다.

개발 중에는 공시와 주가를 이용한 직접 계산도 시도했다. 하지만 TTM 기간, 보통주 귀속 순이익, 우선주와 자본의 범위 등 검증 조건이 까다로웠다. 현재 분석 도구는 공급자가 제공한 배수를 사용하며, 직접 계산 모듈은 학습·테스트용으로 남아 있다.

업종 평균과 과거 배수 범위, FCF 수익률 등은 현재 미제공 항목이 있다. 이를 모델 지식으로 채워 넣지 않는다. EODHD 도입은 논의했지만 현재 연결 완료 상태로 소개하면 안 된다.

버핏지수도 엄밀히 구분했다. 현재 FRED 계산은 비금융기업 주식가치와 GDP의 비율을 이용한 대용 지표로, 전체 상장시장 시가총액 기반의 지수와 동일하지 않다.

## 9. 차트와 분석 화면

텍스트만으로 판단하기 어려운 부분을 직접 확인할 수 있도록 차트를 확장했다.

- 캔들·거래량·20/60/120/200일 이동평균선
- RSI, MACD와 Signal, 볼린저 밴드 선택
- 가격 차트와 보조지표의 시간축·마우스 위치 연동
- 확대 화면에서 선 그리기와 실행 취소
- 전체 이력은 확보하되 초기 화면은 최근 약 10% 구간 표시

차트 표시 범위와 투자 분석 기간을 분리한 것도 중요한 변경이었다. 단기로 질문했다고 과거 차트를 탐색할 수 없어지는 구조는 피하고 싶었다.

프론트엔드는 차트뿐 아니라 시장 지표, 조사 기준, 뉴스, 재무 자료, 모델 도구 요청을 한 화면에서 확인하는 방향으로 발전시켰다.

## 10. 근거 추적: 제공한 자료와 명시한 근거는 다르다

처음에는 체크리스트 항목이 답변에 반영됐는지를 O/X로 보여주려고 했다. 하지만 문장에 단어가 있다는 사실만으로 실제 근거 사용을 판정하기는 어려웠다.

그래서 자료에 ID를 부여하고, 모델이 답변의 분석·결론과 연결한 근거 ID를 함께 반환하도록 했다. 서버는 반환된 ID가 현재 제공 자료에 존재하는지, 연결된 문장이 답변에 있는지 등을 검사한다.

여기서 세 가지는 구분해야 한다.

1. 서버가 모델에게 자료를 제공했다.
2. 모델이 응답에서 그 자료를 근거로 명시했다.
3. 그 자료가 해당 결론을 실제로 충분히 뒷받침한다.

현재 구현이 확인하는 것은 주로 1과 2의 연결이다. 3은 별도의 의미·사실 검증이 필요하다. 내부 사고를 읽거나 인과적인 사용 여부를 증명하는 기능은 아니다.

따라서 사용 근거 목록에 없다고 “모델이 전혀 참고하지 않았다”고 단정할 수 없다. 반대로 연결된 ID가 존재한다고 결론의 타당성이 보장되는 것도 아니다.

## 11. 뉴스 수집과 상단 헤드라인

현재 뉴스 공급자는 Google News RSS다. 종목 분석에서는 관점별 기간으로 검색하고 제목·언론사·게시 시각·링크를 가져온다. 기사 본문 전체를 읽는 구조는 아니다.

첫 접속 화면에는 대화와 독립적으로 움직이는 시장 헤드라인을 추가했다. 한국 언론사 도메인 허용 목록과 한글 포함 제목 조건을 적용하고, 다음 네 그룹을 검색한다.

- 국내 증시: 코스피, 코스닥, 국내 증시
- 미국 증시: 미국 증시, 뉴욕 증시, 나스닥
- 금리·환율: 기준금리, 연준, 원달러 환율
- 기업·산업: 기업 실적, 반도체 수출, AI 투자

최근 72시간 후보를 최신순으로 확인하기 때문에 최근 24시간 기사가 우선된다. 그룹별 최대 3개, 총 12개를 보여주며 서버에서 15분 캐시한다. 제목을 클릭하면 기사 링크를 새 탭으로 열고, 마우스를 올리거나 일시정지 버튼을 누르면 흐름이 멈춘다. 움직임 감소 설정도 반영했다.

초기에는 호주 금리 인상 기사가 여러 언론사에서 각각 노출됐다. 단순 문자열 비교만으로는 같은 사건을 잡아내지 못했다. 이후 국가·금리 결정·금리 값, 환율 값과 방향, 증시 개장·마감 조건을 이용한 제목 기반 규칙을 추가했다. 종목명과 코드만 있는 시세 정보형 항목도 제외했다.

이 방식도 완벽한 의미 기반 중복 제거는 아니다. 제목에서 동일 사건으로 추정할 수 있는 경우를 줄이는 휴리스틱이며, 서로 다른 보도를 잘못 합치거나 중복을 놓칠 여지가 있다.

네이버 API HUB와 Marketaux는 검토했지만 아직 코드에 연결하지 않았다. 헤드라인은 인기 순위가 아니라 검색 결과를 선별한 목록이다.

## 12. 일반 회원 로그인과 조사 기록 저장

사이트의 회원 로그인은 Supabase Auth로 구현했다. AI 모델 사용을 위한 ChatGPT 계정 연결과는 별개다.

```text
auth.users
  회원 UID
      ↓ user_id
research_threads
  조사 제목 / 현재 맥락 / 수정 버전
      ↓ thread_id
research_turns
  질문 / 답변 스냅샷 / 순서 / 생성 시각
```

비밀번호는 조사 테이블에 저장하지 않는다. 인증은 Supabase가 담당하고, 회원 UID로 조사 기록을 연결한다. 테이블에는 RLS 정책을 적용해 로그인 사용자가 자신의 기록만 접근하도록 했다.

전체 가격 이력이나 도구 응답 원문을 매 대화마다 전부 저장하는 대신, 답변과 필요한 근거 표시 정보, 대화 맥락을 중심으로 저장한다. 저장 함수에는 수정 버전 확인을 넣어 여러 탭이 같은 조사 상태를 조용히 덮어쓰지 않도록 했다.

브라우저에는 HttpOnly 세션 쿠키를 사용하고, Supabase 토큰은 서버 메모리에 보관한다. 이 때문에 서버 재시작 후에는 재로그인이 필요할 수 있지만 DB 기록은 남는다. 다중 서버 환경을 위한 공유 세션 저장소는 아직 필요하다.

## 13. 로컬과 운영 환경 분리

Supabase는 개발·운영 프로젝트를 나눴다. 같은 프로젝트에서 API 키만 두 개 만드는 것은 DB 분리가 아니기 때문이다.

서버의 설정 함수가 `.env`와 환경변수를 읽고 `APP_ENV`에 따라 개발 또는 운영 설정을 선택한다. Render에서는 운영 환경변수가 우선한다.

```text
로컬: APP_ENV=development → DEV_SUPABASE_* 사용
운영: APP_ENV=production  → PROD_SUPABASE_* 사용
```

`APP_ORIGIN`은 Supabase 주소가 아니라 우리 웹사이트 주소다. 요청 출처 검증에 사용한다. 이메일 인증 후 돌아올 주소는 Supabase의 URL 설정과도 맞춰야 한다.

실제로 테스트 서버 포트와 평소 사용하는 로컬 포트가 달라 인증 후 엉뚱한 서버로 이동하는 문제를 겪었다. 또 로그인은 성공했지만 기록 조회 실패까지 하나의 오류로 표시해, 새로고침 후에야 로그인된 것으로 보이는 UI 문제도 수정했다.

로그인·가입과 조사 테이블 생성은 별개라는 점도 배웠다. 개발 DB에 테이블을 만들었다고 운영 DB에 자동 생성되지 않는다. 운영에도 같은 SQL 마이그레이션을 적용해야 한다.

## 14. Render 배포에서 겪은 현실적인 문제

GitHub 저장소의 코드를 Render에서 실행하고, 키와 운영 설정은 Render Environment에 넣었다. `render.yaml`에는 배포 설정을 정의하고 GET·HEAD 요청을 받을 수 있는 헬스 체크 경로도 마련했다.

로컬에서 잘 되던 외부 데이터 조회가 배포 환경에서는 실패하기도 했다. Yahoo 인증 오류와 FRED 타임아웃이 대표적이었다. 단순히 “데이터 없음”으로 표시하지 않고 공급자·요청 단계·소요 시간·오류 종류를 구분해 진단할 필요가 있었다.

FRED는 CSV 경로 대신 공식 API 경로로 변경했다. Yahoo 문제도 진단 기능을 추가했지만 모든 배포 환경에서 접근이 보장되는 것은 아니다. 공급자의 이용 조건과 재배포 권한 역시 별도로 확인해야 한다.

새 HTML이 보여도 서버 프로세스가 이전 코드라면 새 API와 JavaScript 경로가 404가 될 수 있다. 헤드라인이 “불러오는 중”에서 멈췄던 원인도 이것이었다. 정적 파일 변경과 서버 라우트 변경의 반영 시점이 다르다는 점을 체감했다.

## 15. 모델 연결과 회원 로그인을 구분하기

개발 과정에서 로컬 ChatGPT 계정 연결 경로와 API 키 기반 경로를 분리했다. 현재 로컬 개인 학습용 연결은 루프백 환경으로 제한하며, 배포 환경에서는 서버의 API 키 기반 경로를 사용한다.

중요한 점은 사이트에 로그인했다고 그 회원의 ChatGPT 구독 사용량을 자동으로 사용할 수 있는 것은 아니라는 사실이다. Supabase 로그인은 회원 식별과 기록 보호를 위한 기능이다. 모델 사용 권한과 비용 정산은 별도다.

외부 공개 서비스에서 사용자별 구독을 연결하는 기능은 일반 이메일 로그인만으로 해결되지 않는다. 실제 사용 자격과 공식 연동 조건은 별도 확인이 필요하다. 이 글에서는 현재 코드의 분리 구조만 기록한다.

## 16. 테스트와 평가

테스트는 크게 세 종류로 나눠 이해했다.

| 구분 | 확인하는 내용 |
|---|---|
| 단위·통합 테스트 | 입력 검증, 기간 처리, 인증·저장 흐름, 데이터 변환, 오류 처리 |
| 브라우저 테스트 | 차트·UI 상호작용, PC·모바일 배치, 뉴스 흐름과 일시정지 |
| 모델 행동 평가 | 실제 모델의 종목·관점 선택, 도구 요청, 재사용, 부족 자료 처리 |

`evals/cases.json`에는 질문과 기대 조건을 정의한다. `--live` 실행은 실제 모델과 대화하되 가격·재무·뉴스 등 외부 자료는 고정된 테스트 데이터를 사용한다. 외부 데이터가 매번 바뀌면 프롬프트 개선 효과와 데이터 변화 효과를 구분하기 어렵기 때문이다.

```text
질문 시나리오 읽기
→ 실제 대화 엔진 실행
→ 모델의 도구 요청에 고정 자료 반환
→ 최종 답변 생성
→ 종목·관점·자료 범위·재사용 등 조건 검사
→ PASS/FAIL 및 실행 기록 저장
```

API를 실제 호출한다는 의미의 live와, 운영 사용자를 대상으로 하는 온라인 평가는 다른 개념이다. 이 평가는 고정된 시나리오를 이용한 오프라인 평가에 해당한다.

또한 PASS는 투자 분석이 정확하다는 인증이 아니다. 답변의 사실성, 근거의 충분성, 균형 잡힌 해석은 별도 검토가 필요하다. 현재 평가를 완성된 답변 품질 평가나 LLM-as-a-judge 시스템으로 소개해서는 안 된다.

## 17. 현재까지 구현한 것과 남은 것

구현한 것은 프롬프트 기반 역할·규칙, Tool Calling, Agent Loop, 대화 상태와 자료 재사용, 기술적 분석과 차트, 공시 재무 연동, 뉴스·시장 지표, 근거 연결, 실행 로그, 회원별 조사 저장, 배포 설정과 평가 기반이다.

남은 과제도 명확하다.

- 업종 평균·과거 가치평가·컨센서스 등 부족 자료 확보
- 뉴스 본문과 공시 원문을 이용한 근거 검증 강화
- 제목 기반 중복 제거의 정확도 개선
- 답변의 의미·사실·근거 충분성을 평가하는 테스트셋
- 운영 요청량·토큰·비용 제한과 취소 기능
- 공유 세션, 운영용 서버, 모니터링 등 서비스 안정화
- 공급자별 라이선스와 공개 서비스 이용 조건 확인

벡터 DB 기반 RAG와 Multi-Agent는 아직 구현하지 않았다. 현재는 단일 모델이 여러 도구를 사용하는 구조다. 외부 데이터를 조회한다고 곧바로 벡터 검색 기반 RAG가 되는 것은 아니다.

## 18. 만들면서 배운 점

이번 프로젝트에서 가장 크게 배운 것은 “모델을 연결하는 일”보다 “모델에게 어떤 자료와 권한을 제공하고 결과를 어떻게 확인할지 정하는 일”이 훨씬 중요하다는 점이다.

프롬프트만 길게 쓴다고 데이터가 정확해지지 않는다. 도구 호출이 많다고 에이전트가 더 좋은 것도 아니다. 자료가 있어도 기간이 맞지 않으면 잘못된 분석이 되고, 근거 ID가 연결돼도 그 결론이 타당하다는 보장은 없다.

그래서 프로젝트의 방향도 단순한 추천 챗봇에서, 자료의 출처와 한계, 모델의 실행 과정을 확인할 수 있는 리서치 도구로 바뀌었다.

아직 학습용 프로토타입이지만 프롬프트, 도구, 상태, 검증, 저장, 배포를 하나의 흐름으로 직접 연결해 본 것이 가장 큰 성과다.

---

### 코드 읽기 안내

- `conversation.py`: 투자 관점과 조사 기준
- `prompts/research.txt`: 모델 역할과 공통 규칙
- `llm.py`: 도구 정의·실행, Agent Loop, 자료 재사용
- `coverage.py`: 답변과 근거 연결
- `market_data.py`, `technicals.py`: 시장 데이터와 기술적 지표
- `dart.py`, `sec.py`, `valuation.py`: 재무와 가치평가
- `headlines.py`, `market_indicators.py`: 공통 뉴스와 시장 지표
- `accounts.py`, `account_routes.py`: 회원 인증과 조사 저장
- `server.py`, `static/`: HTTP API와 웹 화면
- `supabase/migrations/`: DB 테이블·정책·저장 함수
- `tests/`, `evals/`: 코드 테스트와 모델 행동 평가

### 게시 전 확인

이 글의 구현 상태는 작성 시점 기준이다. 배포 화면에 모든 변경이 반영됐는지는 별도 확인해야 한다. 공개할 스크린샷과 로그에서는 API 키, 토큰, 이메일, 회원 UID 등 계정 정보를 제거한다. 공급자 요금과 모델 이용 조건은 바뀔 수 있으므로 게시 시점의 공식 안내를 확인한다.

반응형
반응형
반응형
반응형

 

 

우리는 어릴 때부터 세상은 원래 그런 거니까 적당히 순응하며 살라는 말을 듣습니다. 쓸데없이 벽에 돌진하지 말고, 화목한 가정을 꾸리고, 적당히 즐기면서 돈을 모으라는 말입니다. 하지만 그건 너무 편협한 삶이에요. 우리는 훨씬 넓은 세상에서 인생을 보낼 수 있습니다. 단, 한 가지를 깨달아야 합니다. 바로 우리가 인생이라고 말하는 것, 우리를 둘러싼 모든 것이 실제로는 특별한 사람들이 만든 게 아니란 거죠. 그러니까 “나도 세상을 바꿀 수 있다”, “나도 세상에 영향을 미칠 수 있다”, “나도 뭔가를 만들어서 세상에 보여줄 수 있다”라고 생각해야 합니다. (…) 그게 가장 중요한 게 아닐까 싶어요. 인생은 원래 이런 거니까 어쩔 수 없다는 식의 잘못된 생각을 깨트리고 인생을 바꾸고, 개선하고, 세상에 족적을 남기자는 거죠. (…) 이걸 깨달으면 그때부터는 완전히 다른 사람이 됩니다.
- 스티브 잡스 -

다시 말해 이 책은 면접 요령을 알려주는 게 아니라 IT 전문가처럼 생각하는 법을 훈련시키는 데 초점이 맞춰져 있다. 면접 예상 질문만 들여다봐서는 전략적 사고력을 기르거나 중요한 IT 개념을 자신의 것으로 만들 수 없지만 이 책은 그것을 가능하게 한다.

1부 : IT 기초 지식

1장 : 소프트웨어 개발

 

구글 검색은 어떻게 작동할까 ?

30조개가 넘는 웹페이지 탐색 -> 0.5초안에 가장 좋은 결과물 10개로 추린다.

 데이터베이스database에 각 웹페이지 정보를 저장해두고 알고리즘을 활용하여 무엇을 보여줄지 정함.

크롤링

구글의 알고리즘은 인터넷상의 모든 웹페이지를 데이터베이스에 저장하는 것으로 시작.

한 웹페이지에 속한 외부로 나가는 링크를 따라 웹페이지를 색인에 추가하고 이과정이 계속 반복

 

단어 검색

사용자가 검색어를 입력하면 구글은 색인을 샅샅이 뒤져서 연관성이 큰 웹페이지를 찾는다.
과거엔 그냥 단순히 단어가 많이 나오는 웹페이지가 상위 목록에 있었다. -> 악용 소지 있음

 

페이지랭크

구글은 키워드 밀도 대신 페이지랭크PageRank라는 혁신적인 알고리즘을 사용한다.
당시 두 사람은 어떤 웹페이지의 중요도를 측정하려면 다른 중요한 웹페이지에서 그 웹페이지로 들어오는 링크를 봐야 한다고 판단했다.10비유하자면 파티에서 인기인을 찾으려면 다른 인기인들이 주변에 있는지 보면 되는 것과 같다.

그래서 인기 없는 블로그 수십 개가 우리의 웹페이지를 링크해도 점수가 별로 안 올라간다. 하지만 《뉴욕 타임스The New York Times》 기사(아마도 페이지랭크가 높을 것이다)에 링크가 걸린다면 점수가 대폭 상승할 것이다.

페이지랭크 조작

최근에는 ‘링크팜link farm’, 즉 서로 연관 없는 링크를 잔뜩 넣은 웹페이지를 생성하고 있다. -> 링크팜 색출하는 기술을 도입했음.
링크팜이 음지의 기술이라면 양지에서 사용되는 기술도 존재한다. 이른바 SEOSearch Engine Optimization, 즉 검색엔진 최적화다. 

스포티파이는 어떻게 나에게 맞는 곡을 추천해줄까?

스포티파이는 2억 명이나 되는 사용자 개개인을 어떻게 그렇게 속속들이 잘 아는 걸까?
첫째, 각 사용자가 듣고 마음에 들어서 라이브러리나 플레이리스트에 추가한 노래가 무엇인지 본다.

반대로 30초도 안 듣고 건너뛴 노래는 좋아하지 않는 것으로 간주한다.

둘째, 다른 사용자들이 만든 플레이리스트를 본다. ‘조깅용 노래’나 ‘비틀즈 베스트’ 같은 플레이리스트에서 주제의 연관성을 파악하는 것이다.

 

 

이것을 ‘협업 필터링collaborative filtering’이라고 하는데 아마존Amazon에서도 이런 식으로 사용자들의 구매 이력을 비교해서 상품을 추천한다.29넷플릭스의 작품 추천, 유튜브YouTube의 동영상 추천, 페이스북Facebook의 친구 추천도 모두 협업 필터링의 결과다.

 

왜 추천기능에 투자할까?

전문 용어를 쓰자면 이제 음원은 동질화 되어 있다.

스포티파이가 추천시스템에 투자하는 이유는 그 덕분에 사용자가 유지될 확률이 높아지기 때문이다.(추천)
사용자 취향 -> 스포티파이에 많음 -> 애플갈아타기 부담 -> 전환 비용x -> 그대로 사용

 

페이스북은 뉴스피드에 표시되는 게시물을 어떻게 정할까?

 간략히 표현한 페이스북의 뉴스피드 알고리즘. 출처: 테크크런치TechCrunch41

뉴스피드 노출도 = C * P * T * R

게시자 Creator : 사용자가 게시자에게 얼마나 관심이 있는가?

게시물 Post : 이 게시물에 대한 다른 사용자들의 반응이 얼마나 좋은가?

종류 Type : 사용자가 선호하는 게시물의 종류 - 상태 업데이트, 사진, 링크 등 - 은 무엇인가?

최신성 Recency : 게시물이 등록된 지 얼마나 되었는가 ?

 

첫째, 게시물을 올린 사람이다. 페이스북은 사용자가 상호작용을 많이 한 사람(예: 메시지를 더 많이 주고받거나 태그를 더 많이 한 사람)의 게시물을 더 많이 보여준
  둘째, 게시물의 질이다. 페이스북은 사람들의 반응(예: ‘좋아요Like ’, 댓글)이 많은 게시물일수록 더 흥미로운 게시물이라고 판단해서 뉴스피드의 상단에 표시한다.
  셋째, 게시물의 종류다. 페이스북은 사용자가 어떤 종류의 게시물(동영상, 글, 사진 등)에 더 많이 반응하는지 파악해서 그에 해당하는 게시물을 더 많이 보여준다.
  넷째, 게시물의 최신성이다. 최근에 올라온 게시물일수록 순위가 높아진다.
  물론 그 밖에도 많은 요인이 존재한다.

 

가짜뉴스와의 전쟁

페이스북의 뉴스피드 알고리즘이 아무리 강력하다고 해도 악랄한 해커hacker들에게 악용될 위험은 여전히 존재한다.
뉴스피드 알고리즘은 게시물의 진실성이나 신뢰성을 따지지 않는다. 다만 참여율만 극대화하려고 할 뿐이다.

우버, 옐프, 포켓몬고의 기술적 공통점은?

구글 맵스 -> 직접 전부 측량 .. 구글은 그렇게 하고 있다.

우버, 포켓몬고, 옐프 -> 앱에 구글지도를 탑재

 

이게 가능한 이유는 구글이 타사 앱에서 구글지도를 표시할 수 있는 짤막한 코드를 제공하기 때문이다.

틴더는 왜 페이스북으로 로그인하라고 할까?
1. 텅빈 프로필 없음

2. 봇과 허위 계적 막음

3. 매칭 성공률 높인다.

4. 고급 정보 얻을 수 있다.

페이스북 로그인은 사용자에게도 유용하다.

《워싱턴 포스트》 기사는 왜 제목이 두 개씩 있을까?
A/B 테스트

 

2장 운영체제

 

블랙베리는 왜 망했을까?

블랙베리BlackBerry는 2000년에 출시된 세계 최초의 스마트폰이다.

2007년에 스티브 잡스가 아이폰iPhone을 선보였을 때만 해도9블랙베리 경영진은 심각성을 느끼지 못했다. 그들은 아이폰을 젊은 애들 주머니를 노리고 겉만 번지르르하게 만든 장난감이지10직장인들이 주사용층인 블랙베리를 넘볼 수준은 아니라고 보았다.

 

 이제 소비자는 휴대폰으로 단순히 메일을 보내는 것뿐만 아니라 게임, 메신저 등 다양한 앱을 이용하기를 바랐지만 블랙베리는 그런 변화를 인식하지 못했다.

개발자들은 사용자가 없다며 블랙베리용 앱을 개발하지 않았고, 사용자들은 앱이 없다며 블랙베리를 사지 않았다.

구글은 왜 제조사에 안드로이드를 무료로 제공할까?

구글의 전략은 최대한 많은 사람을 안드로이드로 끌어들이는 것이다.35그런 면에서 무료 배포 전략은 확실한 효과를 거두고 있다. 전 세계 스마트폰의 80% 이상이 안드로이드로 돌아가고 있다.

안드로이드폰에는 기본으로 깔리는 쓰레기 앱이 왜 그렇게 많을까?

포장을 뜯고 전원을 넣으면 불청객처럼 원치도 않는 앱이 이미 잔뜩 깔려 있다.
사용자들은 그에 대한 반감을 담아 ‘블로트웨어bloatware’5✸라고 부른다.

통신사가 아이폰에 블로트웨어를 끼워넣을 수는 없을까? 불가능하다.

맥도 바이러스에 감염될까?

하지만 윈도우용 바이러스만 안 통할 뿐 맥을 노리고 만들어진 바이러스는 당연히 맥을 감염시킬 수 있다.113그런데도 많은 사람이 맥은 바이러스에 걸리지 않는다고 꿋꿋이 주장한다.

 

맥이 PC보다 보안성이 뛰어나다고 볼 수 있을까? 실제로 맥에는 해킹 방지 기능이 기본적으로 존재한다. 일례로 맥에서는 사용자가 위험성이 있는 소프트웨어를 실행하거나 일부 설정을 변경하려면 반드시 비밀번호를 입력해야 하지만 윈도우는 그만큼 엄격하지 않다.그래서 맥에서는 악의적인 소프트웨어가 사용자 몰래 큰 피해를 입히기 어렵다.

 

분명한 것은 맥도 바이러스에 면역이 있지 않다는 점이다. 2017년 조사에서는 맥OS가 윈도우10보다 보안상 허점이 더 많은 것으로 밝혀지기도 했다.

 

3장. 앱경제

 

앱 다운로드는 왜 대부분 무료일까?

그렇다면 앱 개발자들은 앱을 팔지도 않으면서 무슨 수로 돈을 버는 걸까? 


캔디크러쉬사가를 플레이해봤다면 앱 자체는 무료지만 게임을 시작하면 현금을 써서 생명을 추가하거나 새로운 레벨을 해제하라는 메시지를 수도 없이 봤을 것이다.

앱을 공짜로 뿌려서 수많은 사람이 다운받게 한 후 ‘프리미엄’ 기능을 원하면 돈을 내게 하는 것이다.요즘은 부분유료화가 대세다.
부분유료화를 통한 수익 창출법은 크게 두 가지로 인앱결제와 유료구독이다.

앱 개발자들 사이에서 구독 서비스가 인기인 이유는 두 가지다. 첫째, 안정적인 수입원이 되기 때문이다. 반면 일회성 판매는 새 버전이 나올 때만 일시적으로 수입이 급증했다가 다시 뚝 떨어진다. 둘째, 구독 서비스 가입자가 앱을 더 장기적으로 이용하는 경향이 있기 때문이다(아마도 사용자들이 단순히 앱을 구매한다는 개념보다는 앱과 장기적인 관계를 맺는다는 개념으로 접근하는 것 같다).

경제학자들이 80/20법칙 혹은 파레토 법칙이라고 말하는 현상이다. 이 법칙에 따르면 고객 중 20%에게서 수입의 80%가 나오고 나머지 80%의 고객에게서 20%의 수입이 나온다.

따라서 앱 개발자 입장에서는 지갑을 잘 여는 20%(업계에서는 ‘고래’라고 칭하는데 아마도 보기는 드물지만 덩치가 크다는 의미인 것 같다)를 찾아서 최대한 현금을 뽑아내는 게 중요하다.

페이스북이 사용자에게 단 한 푼도 받지 않고 떼돈을 버는 비결은 뭘까?
부분유료화는 아니라는 말인데, 그렇다면 도대체 어떻게 돈을 버는 걸까?
답은 ‘타깃광고’다. 그 실체를 파헤쳐보자.

 

광고를 청구하는 방식이 크게 두가지가 있다.

첫째, 사용자가 광고를 볼 때마다 소액의 광고료를 청구하는 노출당 과금Pay-Per-Impression, PPI이다.

둘째, 사용자가 광고를 클릭할 때마다 광고료를 청구하는 클릭당 과금Cost-Per-Click, CPC이다. CPC는 종종 PPCPay-Per-Click로 불리기도 한다.

구글, 페북은 둘다 사용한다.

 

‘타깃광고’의 귀재가 바로 구글과 페이스북이다. 우리가 구글과 페이스북의 앱과 웹사이트에서 굉장히 많은 행동을 하기 때문에 두 회사는 우리가 좋아하는 것을 많이 알고 있다.
다시 말해 타깃광고는 ‘클릭률’을 높여서 광고주가 돈 쓴 보람을 느끼게 한다.
우리는 구글과 페이스북에 돈을 내지 않는 대신 개인정보를 제공하는 것이다.

지금까지 광고계에서 구글과 페이스북의 아성에 도전할 수 있었던 기업은 딱 하나, 바로 미국 3위 광고 플랫폼으로 등극한 아마존이다.

 

뉴스 사이트에는 왜 그렇게 ‘협찬기사’가 많을까?

웹에서는 배너광고가 여전히 많이 쓰이지만, 인기 있는 앱들은 배너광고를 안 쓰는 추세다. 아무래도 귀중한 공간을 많이 차지하고 사용자를 귀찮게 하기 때문인 것 같다.

에어비앤비는 무엇으로 돈을 벌까?


아마존, 우버, 에어비앤비 앱은 무료로 다운받을 수 있고 광고가 거의 나오지 않는다. 그러면 무엇으로 돈을 벌까?
-> 수수료

 

로빈후드는 주식거래 수수료를 안 받고 무엇으로 돈을 벌까?

첫 번째는 부분유료화를 통해 ‘파워유저’에게 더 많은 기능을 제공하는 것이다. 로빈후드 골드에 가입하면 시간외거래(정규 거래 시간 전후에 이루어지는 거래)가 가능해지고 로빈후드의 돈을 빌려서 수중의 현금 이상의 거래를 할 수 있다.101

  정말 기발한 것은 두 번째 방법이다. 로빈후드는 사용자의 계좌에 안 쓰고 남아 있는 돈으로 이자 수입을 올린다. 우리가 안 쓰는 돈을 은행에 넣어두고 이자를 받는 것처럼 말이다.

  앱의 비즈니스 모델은 점점 교묘해지고 있다. 마지막으로 훨씬 더 창의적인 수익 창출법을 들여다보자.

광고나 사용로 없이 앱으로 돈을 버는 방법이 있을까?

 

지금까지 언급한 앱들은 모두 광고를 표시하거나 구독, 인앱결제, 수수료 등 간접적인 방법으로나마 이용료를 청구함으로써 수입을 올렸다.

단 무료 서비스를 제공하며 투자받은 돈으로 연명하다가 몸집이 커지면 수익을 창출하는 방법이 있다. 말하자면 ‘선성장 후수익화’ 전략이다.

4장. 인터넷

 

‘google.com’을 입력하고 엔터를 치면 어떤 일이 벌어질까?

웹페이지도 건물처럼 저마다 ‘https://www.nytimes.com/section/sports’ 같은 고유한 주소가 있다. 그래서 누구나 쉽게 똑같은 웹페이지에 도착할 수 있다. 예를 들어 ‘https://www.nytimes.com/section/sports'를 50명에게 보내면 모두 똑같은 웹페이지에 접속할 것이다. 이런 형태의 웹페이지 주소를 표준형 자원 위치 식별자uniform resource locator, 줄여서 URL이라고 부른다.

진짜 URL인 ‘https://www.google.com'을 줄인 형태인 ‘google.com’을 입력해도 브라우저가 다 알아듣고 나머지 부분을 채우는 것이다.

가장 먼저 나오는 것은 ‘https://’다. 이것은 브라우저가 어떤 방식으로 웹사이트에 접속해야 하는지 알려주는 ‘프로토콜protocol’이다.(다른 지역을 갈때, 버스, 택시, 기차 무엇을 타는지 고르는 것과 유사한 의미)

 

URL의 두 번째 조각은 ‘www’다. 대부분의 웹사이트가 굳이 ‘www’를 붙이지 않아도 상관없지만 브라우저는 완전한 주소를 보여주기 위해 굳이 표시한다.

그다음으로 나오는 ‘google.com’은 ‘도메인domain’이라고 한다. 모든 웹사이트에는 고유한 도메인 이름이 있다. ‘google.com’, ‘wikipedia.org’, ‘whitehouse.gov’ 등 우리가 흔히 아는 사이트 주소가 그것이다.

여기서 반전은 컴퓨터가 도메인 이름을 이해하지 못한다는 사실이다. 컴퓨터가 이해하는 것은 IP주소라는 숫자 코드다.
도메인 이름을 IP주소로 전환하기 위해 브라우저는 도메인 이름 서비스domain name service, 줄여서 DNS를 이용한다.

컴퓨터의 하드드라이브에는 최근에 사용한 도메인 이름과 IP주소의 조합이 저장되어 있다. 만일 도메인 이름과 결합된 IP주소를 찾지 못하면 컴퓨터는 컴캐스트Comcast, 버라이즌 같은 인터넷 서비스 사업자, 즉 ISP Internet Service Provider✸에게 IP주소를 묻는다.우리가 먼 친척의 전화번호를 모를 때 가까운 친척에게 묻는 것과 같다.

 

이제 컴퓨터는 DNS를 이용해 ‘google.com’의 IP주소를 찾기 시작한다. 구글에는 다양한 IP주소가 있고10그중 하나가 ‘216.58.219.206’이다.

이로써 브라우저는 HTTPS를 통해 ‘216.58.219.206’ 같은 IP주소로 ‘google.com’에 접속한다는 것을 파악했다.
(혹시 친구들 앞에서 잘난 척 하고 싶다면 주소창에 ‘216.58.219.206/maps’을 입력해보자. 구글지도가 짠, 하고 나타날 것이다.)

인터넷으로 정보를 전송하는 것과 핫소스를 배송하는 것의 공통점은?
1. 핫소스 배송

LA에서 핫소스마니아 난찡이가 핫소스 50병 주문 -> 뉴욕 직원 애찡이가 주문 확인 -> 50병을 5병씩 10상자 나눠 담음 -> 

상자마다 1/10, 2/10 기입 -> DB 에서 주소 확인하고 주소 적음 -> 우체국에 전달

 

우체국 직원은 뉴욕 - LA 직통으로 보낼수 없다. 경유지로 보낸다. 경유지에서 도착지(LA)로 발송됨.

이때 1번~10번은 각각 경유지로 나뉠수도 아닐수도 있다. 도중 분실된것들은 재발송 요청하자 나머지 상자가 도착한다.

 

웹페이지는 한 번에 다 보내기엔 용량이 크기 때문에 TCP가 다수의 ‘패킷packet’으로 소분한 후 각 패킷에 ‘1/10’과 비슷한 라벨을 붙인다.
서버에서 사용자에게 정보를 보낼 때는 도메인 이름 서비스(DNS)를 통해 사용자의 IP 주소를 찾는다.

이제 정는 IP 를 통해 사용자로 전달.  IP 는 각 패킷이 짧은 연결로들을 경유하게 하는데, 이때 이 연결로에서 저 연결로로 건너가는 과정을 '홉 hop'이라고 부른다.

 

유튜브를 볼때도, 배송물이 소분되고(TCP), 다양한 경유지를 거쳐(IP) 전달된 후 원상태로 재결합된다.(TCP)

 

HTTPS, HTTP -> TCP와 IP 에게 지시(이 웹페이지를 가져다줘) -> 가져다줌

 

정보는 어떻게 이 컴퓨터에서 저 컴퓨터로 이동할까 ?

 

이렇듯 정보는 TCP와 IP를 통해 작은 패킷으로 분할된 뒤 여러 컴퓨터를 경유해 목적지에 도착한다. 각 패킷은 웹사이트에서 출발해 나름의 경로를 거쳐 우리 컴퓨터나 휴대폰에 도달한다. 그러면 그 경로는 어떻게 생겼을까?

패킷은 직선으로 나가지 않는다. 케이블을 타고 이동하기 때문에 지리적 제약을 받을 수 밖에 없었다.

 

월스트리트의 트레이더는 왜 산맥까지 뚫어가며 광케이블을 직선으로 깔았을까?

광케이블은 유리로 제작되고 머리카락만큼 가늘다.32그리고 광케이블로 바다를 만든다면 바닥이 다 보일 만큼 투명하다.33
컴퓨터는 모든 정보를 1,0로 구성한다. 이 빛 신호가 광섬유 케이블을 통해 전송된다.

 

초단타매매자들은 경쟁자들을 제치고 막대한 수익을 거두기 위해 세상에서 가장 빠른 인터넷망이 필요하다.
인터넷 속도를 극대화해 초단타매매에서 우위를 점하기 위해서다.

 

2부 : IT 업계의 핫이슈

5장 클라우드 컴퓨팅

 

구글드라이브와 우버의 공통점은?

 

2000년대 중반부터 웹브라우저에서 구글문서 같은 앱을 이용할 수 있게 되는 한편 구글드라이브Google Drive를 통해 온라인에 파일을 저장할 수 있게 됐다. 구글드라이브에 저장된 파일은 인터넷에 연결된 기기만 있으면 어디서든 이용할 수 있고, 구글문서는 구글 계정에만 로그인하면 브라우저나 휴대폰의 종류를 가리지 않고 작동한다.
-> 우버와 같다. 어디서든 이용할 수 있고, 아무것도 소유할 필요가 없으며, 딱 필요한 만큼만 돈을 내고 쓰면 된다.

말하자면 클라우드 컴퓨팅은 컴퓨터계의 우버다.

 

클라우드 속에 있는 것은 실제로 어디에 존재할까?

 

데이터센터는 아무 건물에나 만들 수 없다. 서버의 발열이 심하기 때문에 강력한 냉방 시스템이 필요하고 정전에 대비해 보조 발전기가 있어야 하기 때문이다.

클라우드 업체들이 사용자의 정보를 안전히 보관하기 위해 이 정도로 공을 들이는 만큼 보통은 개인 컴퓨터보다 클라우드에 저장된 정보가 더 안전하다고 볼 수 있다.

 

왜 포토샵을 소유할 수 없게 되었을까?

이처럼 ‘빌려 쓰는’ 소프트웨어를 서비스형 소프트웨어software-as-a-service, 줄여서 사스SaaS라고 한다.

서비스형 소프트웨어는 인터넷에 100% 의존한다. 다시 말해 인터넷에 접속할 수 있는 사람만 이용할 수 있다. 우리가 지금처럼 인터넷이 당연시되는 세상에 살게 된 것은 최근의 일이다.

아마존 웹 서비스는 어떤 서비스일까?

간단히 설명하자면 EC2는 아마존 서버에서 앱의 코드를 실행할 수 있는 서비스이고76, S3는 아마존 서버에 앱의 데이터를 저장할 수 있는 서비스다.

 

사실 아마존이 2000년에 AWS를 구축한 이유가 다름 아닌 자사의 소프트웨어 개발팀들이 공동으로 사용할 도구를 만들기 위해서였다. 이후 다른 기업들도 그런 도구에 대한 수요가 있을 것으로 판단해 2006년에 AWS라는 이름으로 서비스를 개시했다.

AWS, 애저, 구글클라우드 플랫폼처럼 앱 구동용 서버를 빌려주는 서비스를 서비스형 인프라 infrastructure-as-a-service, 줄여서 IaaS(‘이아스’라고 발음한다)라고 한다.

 

PaaS의 대표적인 예로는 AWS만큼 유명하진 않지만 헤로쿠Heroku라는 서비스가 있다. 헤로쿠는 코드만 전송하면 자동으로 웹사이트가 구축되기 때문에 훨씬 손이 덜 간다.90 (IaaS인 AWS로도 웹사이트를 쉽게 구축할 수 있지만 PaaS는 더 쉽다.)

그러면 SaaS, IaaS, PaaS의 차이점은 무엇일까? 요리에 비유하자면 SaaS는 식당이다. 종업원에게 원하는 요리를 주문하면 가져다준다. IaaS는 임대형 주방이다. 공간만 빌려주기 때문에 재료와 조리도구를 가져와서 직접 조리해야 한다. PaaS는 SaaS와 IaaS의 사이에 있다. 재료와 레시피를 넘기면 대신 조리해준다.

넷플릭스는 신작 공개일에 폭증하는 시청자를 어떻게 감당할까 ?

 

AWS는 온종일 동일한 양의 컴퓨터 자원을 넷플릭스에 배정하는 게 아니라 그때그때 배정량을 자동으로 조절한다.

 

오타 하나로 인터넷의 20%가 다운된 이유는?

 

여기서 클라우드 컴퓨팅의 최대 약점을 알 수 있다. 업체의 서버가 다운되면 곤란해진다는 것이다.
이런 허점이 있긴 해도 클라우드는 비용을 절감하고, 웹사이트의 안정성을 향상하고, 신속하게 시스템을 확장할 수 있는 좋은 수단이다. 그뿐만 아니라 소비자 입장에서도 편의성이 크게 향상된다. 요컨대 클라우드는 뜬구름 잡는 기술이 아니다.

6장. 빅데이터

 

타깃은 어떻게 아버지보다 먼저 딸의 임신을 알았을까?

업체 입장에서는 아기가 태어나기 전부터 움직일 필요가 있다. 타깃은 임부복과 임부 영양제 등이 필요해지는 임신 중기부터 예비 엄마들을 공략한다.

짐작하다시피 타깃은 고객번호로 방대한 정보를 수집한다. 이 데이터에서 패턴을 찾으면 고객의 행동을 예측할 수 있다. 일례로 타깃은 여성이 갑자기 무향 로션을 많이 구매하면 몇 달 후 출산하는 경우가 많으므로 그런 구매 패턴을 보이는 여성이라면 임신 중기일 확률이 높다는 사실을 알아냈다. 임신부들은 아연, 칼슘, 마그네슘 같은 영양제도 많이 샀다.

 

구글 같은 대기업은 어떻게 빅데이터를 분석할까?

 

구글은 이 전략을 토대로 그 유명한 ‘맵리듀스MapReduce’ 알고리즘을 탄생시켰다.‘맵’ 단계는 친구들이 각 동네 주민을 세는 것에 해당하고 ‘리듀스’ 단계는 친구들이 통보한 결과를 취합하는 것이라고 보면 된다.

아마존에서는 왜 10분마다 가격이 바뀔까?

인기 상품은 경쟁사보다 싼 가격에 팔고 비인기 상품은 높은 가격에 파는 것이다.

그 비결은 이전에 해당 상품을 구입한 고객들의 구매 이력에서 패턴을 찾는 것이다. 예컨대 수많은 고객이 땅콩버터, 젤리, 식빵을 같이 샀다고 해보자. 그러면 아마존은 이 패턴을 감안해서 땅콩버터와 식빵을 사려는 사람에게 젤리도 함께 사길 권한다.

 

7장 해킹과 보안

 

범죄자가 컴퓨터를 '인질'로 잡는 법?

 

워너크라이 같은 랜섬웨어는 컴퓨터에 침투해서 파일을 이용할 수 없게 잠가버린 뒤 돈을 내놓지 않으면 절대 풀어주지 않겠다고 협박하는 소프트웨어다.

 

하지만 랜섬웨어 장사를 크게 하는 해커들은 실제로 키를 보내준다. 왜 그럴까? 사람들이 계속 돈을 보내줘야만 자기들도 수익이 생기기 때문이다. 어차피 해커가 파일을 안 풀어줄 것이라고 생각하면 누가 돈을 보내겠는가?20

온라인에서 마약과 도난 신용카드 번호는 어떻게 거래될까?

실크로드를 위시한 불법 거래소는 ‘딥웹deep web’과 ‘다크웹dark web’을 적극적으로 이용한다. 딥웹과 다크웹은 서로 연관된 개념이다.

 

딥웹에 대해 알아보자. 딥웹은 구글 검색으로 찾을 수 없는 인터넷상의 정보를 아우르는 개념이다.

다크웹은 딥웹 중에서도 통신 암호화, IP주소 익명화가 가능한 특수 소프트웨어로만 접속할 수 있는 웹사이트들이다.45다크웹 사이트는 모두 ‘.onion’으로 끝나는 길고 이상한 URL을 갖고 있고 특수 소프트웨어를 이용하지 않는 접속자는 무조건 차단한다.

 

이게 바로 토르의 작동 원리다. 토르는 통신을 다중으로 암호화하고 다수의 ‘중개’ 컴퓨터를 경유해서 전송한다. 각 컴퓨터는 직전과 직후의 컴퓨터만 인식할 수 있다.

다크웹에서 자행되는 범죄에 대해 듣다 보면 다크웹이 무조건 불법이라고 생각하기 쉬운데, 실은 합법적으로 사용되고 있다. 엄밀히 말해 다크웹은 익명으로 인터넷을 탐색하는 수단일 뿐이다.

 

와츠앱은 어떻게 와츠앱도 읽을 수 없게 메시지를 암호화하는 걸까?

우리가 트위터에 로그인할 때, 지메일에서 메일을 보낼 때, 아마존에서 물건을 살 때는 다른 사람이 민감한 정보를 엿보지 못하게 통신이 암호화돼야 한다.78그런 목적으로 존재하는 기술이 사용자의 컴퓨터와 웹사이트의 서버 간에 오가는 정보를 자동으로 암호화하는 HTTPS다.

 

메신저 앱인 와츠앱이 2014년에 ‘종단간 암호화end-to-end encryption’를 도입했을 때 열렬한 환영을 받았다. 종단간 암호화는 송신자와 수신자만 메시지를 해독할 수 있는 기술이다. 따라서 와츠앱은 물론이고 모회사인 페이스북조차도 사용자의 메시지를 읽을 수 없다! 개인정보를 중시하는 사람들에게는 희소식이었다.그렇다면 이처럼 강력한 암호화는 구체적으로 어떻게 구현될까?

종단간 암호화가 바로 이런 원리로 작동한다. 이때 쓰이는 기술을 ‘비대칭 암호화asymmetric encryption’ 혹은 ‘공개키 암호화public key cryptography’라고 부른다.모든 사용자에게 ‘공개키public key(앞의 비유에서 자물쇠에 해당)’와 ‘개인키private key(비유에서 개인 열쇠에 해당)’가 지급된다. 모든 메시지는 수신자의 공개키를 이용해 암호화되고 수신자의 개인키를 갖고 약간의 연산을 거쳐야만 해독할 수 있다.암호화와 해독은 모두 사용자의 장치에서 이루어지기 때문에 와츠앱 팀이 메시지를 해독하는 것은 절대 불가능하다.
-> 하지만 강화된 보안성은 테러리스트들에게도 도움이 될 수 있다.

 

FBI는 왜 애플에 아이폰 해킹을 요구하는 소송을 걸었을까?

 

방법이 아주 없진 않았다. FBI는 애플에 10회라는 제한이 없고 비밀번호를 컴퓨터 프로그램으로 입력할 수 있는 브루트포스용 iOS를 제작해줄 것을 요구했다.그러나 애플은 그런 강압적 명령은 자사에 대한 언론의 자유 침해라며 거절했다.

 

FBI와 애플의 법적 분쟁은 FBI가 애플의 도움 없이 피의자의 아이폰을 뚫으면서 유야무야됐다.FBI가 무슨 수를 썼는지는 아직도 알려지지 않았다. 그 방법을 공개하라는 소송이 몇 건 있었지만 정부는 기밀이라는 이유로 여전히 함구 중이다.

해커는 어떻게 가짜 와이파이 네트워크로 개인정보를 탈취할까 ?

 

셋 중에서 ‘Google Starbucks’만 스타벅스에서 제공하는 와이파이 네트워크다 다른 것을 선택하면 문제가 생길 수 있다. 해커들이 진짜처럼 보이는 가짜 와이파이 네트워크를 만들어서 사람들을 유인하는 경우가 많기 때문이다.해커가 만든 네트워크에 접속하면 해커의 공유기가 사용자와 웹사이트 사이에 앉아서 오가는 정보를 모두 읽을 수 있다.

더 영악한 해커들은 컴퓨터가 이전에 접속했던 네트워크와 똑같은 이름의 네트워크에 자동으로 접속한다는 허점을 노린다. 컴퓨터의 네트워크 리스트를 읽어서 자신의 공유기가 전에 접속했던 네트워크인 척하게 만드는 것이다. 그러면 컴퓨터는 멋도 모르고 가짜 네트워크에 자동으로 접속한다.사용자가 아무것도 안 했는데 악성 네트워크에 접속되는 것이다!

 해커는 자신의 네트워크에 접속한 사람이 웹사이트나 앱과 주고받는 통신을 모조리 읽고 조작할 수 있다.

세라가 스타벅스에서 해커의 가짜 와이파이 접속 -> https를 http로 변조 가능. -> 은행사이트와 주고받는 정보 암호화 되지 않음

-> 은행은 그대로 입장시킴 -> 이러한 공격을 '중간자공격 man-in-the-middle attack' 이라고 한다.

 

VPN은 사용자와 웹사이트 사이에서 일종의 종단간 암호화를 수행해서 공유기가 사용자를 공격할 수 없게 막는다.
(공유 공유기쓸떄 VPN 쓰자.)

 

8장 하드웨어와 로봇

 

컴퓨터와 휴대폰의 CPU, 램 같은 사양은 무엇을 의미할까?

 

첫 타자는 ‘두뇌’에 해당하는 중앙처리장치Central Processing Unit, CPU다.우리가 사용하는 기기가 화면에 표시할 내용을 정하고, 인터넷에 접속하고, 수치를 계산하는 등 각종 기능을 수행하려면 연산 작업이 필요한데, 작은 사각형 칩인 CPU가 모든 연산을 도맡아 처리한다.

CPU - 코어가 많으면 속도 빠르고, 병렬적으로 더 가능. 

 

HDD - 파손되기 쉬운 원판, 암이 움직이는 구조라 더 빨리 망가진다. 소음많고, 전력많이 소모

SSD - 움직이는 부품 없고, 훨씬 튼튼, 조용, 효율적, 가볍다.

하드드라이브는 원판을 회전시켜서 정보를 찾지만 SSD는 전기 신호만 쏘면 되기 때문에 SSD가 속도도 훨씬 빠르다.

SSD 압승.

 

소형기기에는 플래시 메모리가 사용될수 밖에 없음(HDD는 휴대기기에 들어갈만큼 작게 불가능)

 

RAM(random-access memory) : 단기기억

참고서를 모두 책상 위에 펼쳐놓으면 필요할 때 쓱 보면 그만이다.
램은 컴퓨터가 동시에 다수의 연산을 수행할 수 있게 하지만 그게 무한대로 가능하진 않다.

램은 비용이 더 들어도 많을수록 좋다.램이 많으면 컴퓨터가 현란한 게임, 영상편집, 대량 데이터 분석 앱을 다루기가 수월해진다. 하지만 메일을 확인하거나 인터넷을 탐색하는 용도로만 쓴다면 램이 좀 적어도 괜찮다.

 

애플은 왜 구형 아이폰을 느려지게 만들까?

이에 많은 사람이 돈벌이에 눈이 먼 애플이 의도적으로 폰을 빨리 고장나게 해서 신형 모델로 교체하게 만드는 ‘계획적 진부화’ 전략을 쓰고 있다고 비판했다. 하지만 실상은 좀 시시하다.

 

배터리 용량은 줄어드는데 전력 요구량은 늘어나니 구형 휴대폰에는 불리할 수밖에 없다. 당연히 배터리 지속 시간이 나빠진다. 그리고 앱이 요구하는 전력을 배터리가 감당하지 못하면 휴대폰이 다운될 수 있다.
-> 그래서 애플은 구형 아이폰의 속도를 늦춰 최대 전력 사용량을 낮추는 방식 택함.

 

휴대폰의 지문인식은 어떤 원리로 작동할까?

 

광학식 스캐닝 - 초소형 카메라로 지문의 사진을 찍는 방식

-> 이때, 지문의 볼록한 '마루'는 검은색, 오목한 '골'은 흰색으로 변환되어 대비가 선명한 사진이 만들어진다.

 

정전식 스캐닝 - 요새 대세, 커패시터(소형 베터리)가 촘촘히 박힌 센서 사용

-> 지문의 마루가 닿은 커패시터만 정전 용량이 증가, 지문의 골이 닿은 커패시터는 정전 용량이 변하지 않는다.

 

-> 근데 위에 두개는 다 뚫렸다... 

 

-> 그래서 생체인식이 더 많아짐.. (안면인식, 홍채인식 등) -> 이마저도 뚫렸었음 안전하지 않다.

 

애플페이의 작동 원리는 뭘까?

NFC 기술이 핵심 

 

우리 휴대폰에 NFC 칩이 내장, 애플페이 결제 단말기도 마찬가지다.

이 두개가 전파를 통해 정보를 주고 받는다.

 

보안은 괜찮다. 암호화된 토큰이 카드사로 전송되기 떄문이다. (중간에 탈취 당해도 토큰으로 카드번호를 알수 있는것은 카드사뿐)

 

아마존은 어떻게 1시간 배송 서비스를 제공할까?

 

프라임 회원 데이터를 토대로 그곳의 물류창고에 어떤 상품의 재고가 필요한지 파악한다. 배송 속도를 극대화하기 위한 전략이다.

아마존은 로봇과 알고리즘을 이용하기 때문에 상품을 찾는 시간이 수십 분이 아니라 단 몇 분으로 단축된다고 주장한다.

아마존은 어떻게 30분 만에 물건을 배달할까?

 

Prime Air 라는 명칭으로 드론으로 이용한 30분 배송 서비스.

물류창고에서 포장된 상품을 드론에 부착하면 드론이 배송지로 날아가서 낙하산으로 상품을 떨어뜨리거나 특수한 표시가 된 지점에 착륙하는 방식이다. 이 과정에서 인간의 조작은 전혀 개입하지 않는다.

9장 사업적 판단

 

아마존은 왜 손해를 보면서까지 프라임 회원에게 무료배송을 할까?

프라임은 비싸서, 지출이 늘어남, 만족감이 즉각적 무심코 충동구매 가능함.

본전심리에 구매 욕구 올라감.

 

우버는 왜 자율주행차가 필요할까 ?

 

간단히 말해 우버는 그간 성장에 몰두하느라 흑자 전환을 못 했고 이제 적자를 탈피하려면 극적인 비용절감책이 필요하다. 그런데 어디서 비용을 절감할 수 있을까?

 

첫째, 인간 기사가 없어도 되니까 요금에서 더 많은 부분을 챙길 수 있고 기사의 이탈률을 고민하지 않아도 된다(로봇차가 못 해 먹겠다며 그만두진 않을 테니까). 

 

둘째, 승객이 자율주행차를 선호할 수밖에 없다. 자율주행차는 요금이 훨씬 싸게 책정될 것이고79어느 전문가의 의견으로는 사고발생률이 90% 감소할 것이라고 한다.

 

셋째, 경쟁에서 이기려면 경쟁사보다 먼저 자율주행차를 개발해야 한다.이미 많은 기업이 자율주행차에 거금을 투자하고 있다. 

 

마이크로소프트는 왜 링크드인을 인수했을까?

크드인의 4억 3,300만 회원을 인수함으로써97마이크로소프트는 방대한 데이터 수집처(마이크로소프트의 표현을 빌리자면 ‘사회적 그래프social  graph ’98  19✸)를 확보했고 이를 토대로 기존의 비즈니스용 제품을 개선할 수 있게 됐다. 

 

돈만 아니라 사람도 굉장히 중요하다. 링크드인의 회장 리드 호프먼Reid Hoffman은 페이팔의 설립자이자 20년 넘게 여러 스타트업을 운영한 베테랑으로서 실리콘밸리의 마당발로 통한다.

페이스북은 왜 인스타그램을 인수했을까?

 

PC -> 모바일앱으로 의 전환해야한다고 필요성 느낌

 

페이스북이 타깃광고를 성공도입 -> 인스타그램 광고매출 어마어마함.

 

페이스북은 왜 와츠앱을 인수했을까?

와츠앱은 개발도상국을 중심으로 수억 명의 정보를 페이스북에 제공해 타깃광고의 효율성을 키웠다.알다시피 타깃광고는 페이스북의 주 수입원이다.

 

사진 공유 시장을 정복하는 게 핵심 목표 중 하나인 페이스북으로서는 와츠앱에 신경을 안 쓸 수가 없었다. 2014년에 와츠앱에서는 매일 5억 장의 사진이 공유됐는데 페이스북과 인스타그램의 사진 공유량을 합해도 넘볼 수 없는 수준이었다.따라서 와츠앱을 낚아챈 것은 사진 공유 시장에서 지배력을 회복하기 위한 묘수였다.

10장. 신흥국

 

서양 IT 기업들이 가장 많이 진출하려고 하는 나라는 어디일까?

 

앞으로도 서양 소프트웨어 기업의 중국 진출은 허락되지 않을 가능성이 크다. 중국 내 IT 기업들이 만리방화벽의 보호 아래 급성장 중이기 때문이다.

 

벽 방어 중인 중국과 달리 민주주의 국가 중에서 세계 최대 인구를 자랑하는 인도는 서양 IT 기업들이 군침 흘리는 나라다.

인도네시아, 태국, 필리핀 등 동남아시아에서는 누구도 우열을 장담할 수 없다. 이 지역은 인도와 비슷한 점이 많다.인터넷 인구가 세계에서 세 번째로 많고, 휴대폰 사용 시간이 미국인(일일 2시간)의 두 배(일일 4시간)다.

 

케냐인들은 어떻게 피처폰으로 모든 것을 결제할까?

 

서양에서는 이미 수십 년 전부터 신용카드, 체크카드, ATM을 사용했다.그런데 여기에는 전제 조건이 있다. 은행계좌를 갖고 있고, 은행을 신뢰하며, 금융제도 이용법을 알아야 한다는 것이다. 이 조건이 충족되지 않으면 서양의 금융제도도 있으나 마나다.

  그래서 개발도상국에서는 여전히 현금이 주 결제수단이다.

그런데 2007년 당시 이미 케냐인의 절반 이상이 휴대폰을 이용하고 있었기 때문에 M페사의 등장으로 마침내 도시 노동자들이 시골로 돈을 보낼 방법이 생긴 것이다.

 

위챗은 어떻게 중국의 '공식' 앱이 됐을까?

 

여기서 진짜 영리한 전략은 홍바오를 보내기 위해 은행계좌를 연결하게 만든 것이었다. 은행계좌를 연결한 사람은 이후에 영화표를 사고, 요금을 내고, 택시를 부르는 등 다양한 목적으로 위챗페이WeChat Pay라는 결제시스템을 이용하도록 유도하기가 한층 수월했다.

위챗 앱 하나로 모든 게 가능하니까 굳이 다른 앱을 깔 필요가 없다. 위챗 내에서 입력한 개인정보와 결제정보는 모든 공식 계정과 미니프로그램에서 재사용할 수 있어서 편리하다.

아시아에서는 어떻게 모든 것을 QR코드로 결제할까?

 

요즘 중국에서는 굳이 지갑을 갖고 다닐 필요가 없다. 휴대폰만 있으면 밥값, 공유자전거 이용료, 통신료를 내는 것은 물론이고 월세도 휴대폰으로 낼 수 있다.

QR코드가 대세가 된 이유는 쉽게 시작할 수 있기 때문이다. QR코드만 인쇄하면 신용카드 리더기나 금전등록기 같은 특별한 장비가 없어도 누구나 판매자가 될 수 있다.

동서양 IT 기업의 전략은 어떤 면에서 다를까 ?

 

서양 기업들은 성장 혹은 확장이 쉬운 비즈니스 모델을 만드는 데 중점을 둔다. 광고 판매(구글과 페이스북)나 휴대폰 판매(애플)는 전 세계 어디서든 동일한 전략이 통용된다. 전 세계의 모든 기업이 광고를 하기 원하고 전 세계의 모든 사람이 휴대폰을 사고 싶어 하기 때문이다. 그래서 서양의 앱과 비즈니스 모델은 전 세계 어디서든 동일하게 작동하고, 지역별로 바꿔야 할 게 있다면 언어 정도다.

이런 상황에서 이상적인 해법은 각국에 맞는 시스템을 만드는 것이다.

 

11장. 기술 정책

 

어째서 컴캐스트는 사용자의 검색 기록을 팔 수 있을까?

 

FCC에서 ISP가 사용자의 탐색 기록을 판매하려면 사전에 분명한 동의를 받아야 한다는 규정이 신설됐다.개인정보 보호론자들은 축배를 들었다.

 

하지만 2017년에 신임 FCC 위원장 아지트 파이Ajit Pai의 지원사격으로 의회에서 이 규정이 벌집이 됐다.ISP가 다시 사용자의 동의 없이 데이터를 판매할 수 있게 된 것이다.

 

무료 모바일 데이터는 어쩜 점에서 소시바네게 해조울까?

 

오픈데이터는 사회 전반에도 이롭게 작용한다. 시민들이 오픈데이터를 이용해 정부를 감시할 수 있다. 일부 기자들이 우크라이나 정부가 공개한 정부 구매 데이터를 토대로 모 병원이 정체불명의 회사로부터 대걸레 50개를 개당 75파운드에 구매한 것처럼 공공 영역에 만연한 부정행위를 폭로한 것이 좋은 예다.

오픈데이터 정책과 관련된 논쟁에서 주의 깊게 생각해봐야 할 쟁점이 있다. 정부가 모든 데이터를 공개하는 것은 불가능하다. 정부는 공개되는 데이터가 사생활이나 국가안보를 침해하지 않는지 신중히 판단해야 한다.

 

어떻게 하면 기업이 데이터 유출에 책임을 지게 만들 수 있을까?

12장 미래 전망

 

자율주행차의 미래는?

 

먼저 자율주행의 원리를 알아보자. 자율주행에는 두 가지 필수 요소가 있다. 주변 환경에 대한 정보와 그것을 통과하기 위한 전략이다.

 

인간의 지시를 받지 않고도 자전거 운전자를 피해가는 법을 차량이 스스로 학습한다.

그런데 자율주행 택시 시장에서 승리하려면 자율주행 기술만으로는 부족하다. 이 점에서는 구글과 협력 관계인 웨이모 원이 굉장히 유리한 고지에 있다. 

1. 첫째는 기술적 문제

2. 둘째는 법적문제.

3. 셋째는 윤리적 문제.

 

로봇이 우리의 일자리를 빼앗아갈까?

 

ATM이 창구 일자리를 대체한 게 아니라 도리어 ‘창출’한 것이다.

더 넓게 보자면 자동화로 인해 육체노동자가 지식노동자로 전환될 수 있다. 예를 들어 앞으로 생산공장에서 조립 라인 노동자는 감소하고 엔지니어, 코더, 관리자가 늘어날 것으로 예상된다.

고도기술 노동자는 자동화의 수혜자가 되고 단순기술 노동자는 피해자가 되리란 게 학계의 중론이다.가난한 사람은 더 가난해지고 부유한 사람은 더 부유해진다는 말이다.

  이를 타개할 방법 중 하나는 교육이다.

페이스북은 왜 가상현실 헤드셋 개발사를 인수했을까?

 

수많은 기업들이 아마존을 두려워하는 이유가 뭘까?

 

아마존은 광고, SNS, 하드웨어, 클라우드를 모두 공략하며 라이벌들을 벌벌 떨게 만들고 있다. 더욱이 이제 아마존은 일개 IT 기업의 수준을 넘어섰다.

아마존은 자사의 전자상거래 제국을 확장하기 위해서라면 물불을 가리지 않는 것으로 유명하다.
물류 네트워크로는 아마존을 감히 따라올 기업이 없다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형
반응형

 

GitHub는 코드 보관소, Render는 실제 실행 장소야. 프론트 화면과 Python API를 같은 서버에서 제공해.
저장소의 배포 설정은 pip install .로 설치하고, python -m mini_ai_agent.server --host 0.0.0.0으로 실행하도록 되어 있어.

 

 

 

flow

 

 

 

eval

.\.venv\Scripts\python.exe evals/run.py --live --case clarify_then_reuse
.\.venv\Scripts\python.exe evals/run.py --live

 

 

응. 지금 만든 건 오프라인 평가야. 여기서 ‘오프라인’은 인터넷을 안 쓴다는 뜻이 아니라, 실제 서비스 운영과 분리해서 미리 준비한 문제로 평가한다는 뜻이야.

 

구분 오프라인 평가 온라인 평가
평가 대상 미리 준비한 질문·시나리오 실제 사용자들의 서비스 이용
예시 cases.json을 실행해서 PASS/FAIL 확인 실제 답변의 만족도, 오류율, 응답 시간 관찰
우리 프로젝트 현재 구현된 방식 아직 별도 평가 체계 없음

헷갈리기 쉬운 부분은 --live도 오프라인 평가라는 거야.

  • --live: 실제 OpenAI 모델을 호출한다는 실행 옵션. 인터넷 연결과 API 비용이 필요해.
  • 오프라인 평가: 준비된 테스트셋으로 서비스와 분리해 평가한다는 평가 방식.

즉, 우리는 “실제 모델 + 고정 샘플 자료 + 미리 정한 시나리오”로 오프라인 평가를 하고 있어.

 
반응형

'LLM for Prompt Engineering' 카테고리의 다른 글

11장. 미래를 전망하며  (0) 2026.10.12
10. LLM 애플리케이션 평가  (0) 2026.10.12
제 9장. LLM 워크플로  (0) 2026.10.06
제 8장. 대화형 에이전시  (0) 2026.10.03
제 7장. 모델 제어  (0) 2026.10.03
반응형

1. 내면 근력이란 무엇인가?

 - 내면 근력의 의미 ?

-> 부정적인 상황에 직면하고, 경쟁 같은 압박감속에서도 본인의 감정에 휘둘리지 않고 해야할 것을 지키는 것이라고 생각합니다.

     또한, 결과에 집착하기 보단, 그 결과를 얻기 위한 수행 과정이 더 중요하게 생각하는 힘이라고 생각합니다. 

     내면 근력 속에선 실패는 실패로 받아들이지 않고, 한걸음 나아가기 위한 성장통이라고 비유하고 있다.

2. 나는 어려움을 어떻게 받아들이는가?

 - 나만의 해결책 + 개인적인 경험

 -> 저는 발표나, 다른사람 앞에서 무언가를 해야할때 긴장을 많이 하는 타입입니다.

     하지만 지금까지 이러한 과정이 있어도 제대로 된 마인트 컨트롤을 하지 못했습니다.

     그나마 했던 것이, 다른 사람을 무시하고 내가 할수 있는 것을 집중해서 하자 였습니다.

     하지만 이 책을 읽고 나서 타인보다 본인에게 집중하고, 에고를 버리고 내가 통제할수 있는 것만 신경을 쓰자는 것이였습니다.

     각 단계의 세세한 부분은 정의해 보아야겠지만, 이런 상황이나 불편한 상황이 왔을때, 일단 이정도 느낌으로 대응하고 극복해 나가도 

     일상 생활에서 큰 도움이 되지 않을까 싶습니다.

3. 책에서 제시한 생각 중 일상에 적용하고 싶은 방법?

   -> 앵커를 적용해 보고 싶다. 앵커란 간단하게, 어떠한 자극(노래, 냄새 등)이 들어왔을때, 좋은 기억을 연상하는 기술인데

       사실 저도 옛날 중,고등학생 때, 동네 친구들이랑 놀때 등등 어렸을때 많이 들었던 노래들을 지금 다시 들으면, 이상하게 기분이 좋고

       안정되는 느낌이 듭니다. 심지어 그때 추억이 떠오르기까지 합니다.

       이것과 긴장이 되는 상황(발표 등)에 이러한 앵커 기법을 쓰면 어느정도 상쇄되지 않을까 싶습니다.

       여담이지만 수영선수들이 경기전 헤드셋 끼고 노래를 듣는게 이런게 아닐까 싶습니다.

 

       또한, 이 책에서 가장 강조하는 경쟁심을 없애고 그 자체로 사랑하자, 타인을 사랑하자, 부정적으로 생각하지 말자 등 다양한것도 
       적용할수 있으면 하고싶다.


1부 누구나 내면 근력이 필요하다 : 위협을 제거하고 토대 다지기

1. 혁명적 변화를 만드는 마인드셋

노력의 방향을 제대로 설정하기만 한다면.

 

진정으로 내게 힘을 주고 의미가 되는 것들을 인생의 우선순위로 두는 훈련을 해야 한다.

 

새로운 마인드셋을 위한 전제

1. 정신은 단련할 수 있다. - 날마다 머릿속을 맴도는 쓸모없고 부정적인 생각에 얽매이지 않고, 삶에 힘이 되는 생각을 선택할 수 있다.

2. 믿음은 삶의 기술이다.

3. 두려움의 가장 깊은 뿌리는 자기중심성이다.

4. 사람에겐 누구나 사랑받고 인정받고 싶다는 욕구가 있다.

5. 모두가 주어진 한에서 최선을 다하며 산다. - 타인에게 고통을 주거나 해를 끼치는 것은 사랑이나 기쁨, 평화 같은 자원이 결핍되어 있기 때문이다.

6. 살면서 마주치는 모든 상황과 사람에게서 늘 무언가를 배울 수 있다.

7. 지도가 곧 땅은 아니다.

8. '실패'는 존재하지 않는다. - 만화가 스티븐 매크레이니의 말처럼 "거장은 초심자가 도전한 횟수보다 훨씬 더 많이 실패해본 사람이다."

9. 가장 큰 힘은 자신을 다스리는 힘이다.

 

중요한 건 스스로 깊은 만족과 성취감을 느끼는 일이죠. 성취감과 메달은 달라요. 성취감이야 말로 존재를 충만하게 하고, 삶을 어떻게 살아야 하는지 가르쳐줍니다.

 

결과를 위해서가 아니라 지금 이 순간을 온전히 누리기 위해, 진정으로 살아 있다는 감각을 실감하고자 몰입하고 경쟁한다.

 

 

2. 진정한 자유를 누리는 삶

성공을 목표로 삼지 말라. 성공하려고 애쓸수록 성공은 더 멀어질 것이다. 성공은 그저 따라오는 것이어야 한다.

 

매슬로는 『인간 본성의 더 먼 영역들 The Farther Reaches of Human Nature』에서 에이브러햄 링컨, 토머스 제퍼슨, 알베르트 아인슈타인 같은 역사상 가장 탁월한 성취를 이룬 인물의 삶에서 나타나는 특징을 분석했다. 이 위대한 인물들은 어떻게 사고하고 어떤 꿈을 품고 어떤 방식으로 살아갔을까? 매슬로의 연구에 따르면 이들은 자기 자신에 대해 잘 알았고, 타인과 깊은 교류를 나누었으며, 문제를 해결하려는 호기심이 강한 동시에 이를 실현할 역량을 갖추고 있었다. 

이들은 아홉가지 특징이 있다.

1. 완전한 몰입

2. 성장 추구 : 타인에게 인정받고 싶다는 욕구에 휘둘리지 않고, 그저 삶에서 배우며 성장하기를 바란다.

3. 자기인식 : 자신을 성찰하며 내면에서 진정한 동기와 능력을 발견하고자 노력한다.

4. 게마인샤프트 : 연대감, 공동체

5. 감사하는 마음

6. 진정한 자기다움을 추구하고 문화적 동화에 저항하는 태도

7. 고독 추구

8. 자아를 넘어선 목적

9. 자기방어의 부재 

 

스스로 통제하지 못할 것에 집착하면 끊임없이 결핍감에 시달릴 수 밖에 없다.

 

눈을 멀게 하는 풍요병 바이러스

1. 소유 (Possession)
2 성취 (Achievement)
3 외모 (Look)
4 돈 (Money)
5 지위 (Status)
PALMS

 

 소유, 성취, 외모, 돈, 지위는 본질적으로 덧없고 불안정하다. 이런 일시적인 것에 기반한 마음은 늘 심리적 허기에 시달리며 불안을 곁에 둘 수밖에 없다.

풍요병 바이러스는 어디에나 있다. 이 바이러스의 지독한 점은 단순히 더 많은 게 아니라 ‘남들보다 더’ 많은 걸 갖고 싶다고 욕망하게 한다는 것이다.

 

삶을 충만하게 누리고 싶다면 사랑의 우선순위를 올바르게 매겨야 한다.

내가 진심으로 갈망했던 것은 그 순간에 온전히 몰입하고, 열정을 다해 뛰고, 팀의 일원이 되어 공동의 목표를 향해 함께 성장해나가는 것이었다.

무엇이 내 삶을 좌우하고 있는지 알 수 있을 것이다.
1. 무엇을 꿈꾸는가?
2. 무엇을 걱정하는가? 즉, 요즘 무엇 때문에 불안에 휩싸이는가?
3. 무엇이 나를 속상하게 하는가? 즉, 요즘 무엇 때문에 가장 많이 화가 나는가?

멋진 경험을 하고 의미 있는 삶을 살고 싶은 건 모두 똑같지만, 잘못된 욕망에 현혹되고 타인과 나를 비교하느라 정작 아무 의미도 없는 일에 자신을 소진해버릴 때가 많다.

돈과 물질을 숭배한다면, 다시 말해 돈과 물질에서 삶의 진정한 의미를 찾으려 한다면 평생 만족할 수 없을 겁니다.

조는 자신이 지금까지 사회가 정해놓은 허상만을 따라 살아왔다는 사실을 깨달았다

막상 꼭대기에 올라가 보니 사다리가 아예 엉뚱한 곳으로 이어진다는 걸 알게 된 거죠.

 

인생의 마지막 순간 지난 인생을 회고할 때 우리가 사랑했기에, 다른 사람을 위해 헌신했기에 이 세상이 어떤 식으로든 전보다 더 나은 곳이 됐다고 말할 수 있어야 합니다.

내 진짜 역량을 성장시키는 일보다 승리 자체에 더 큰 가치를 둔다면 긴장과 의심이 마음을 떠나지 않을 것이며, 결정적인 순간에 약점이 드러나고 말 것이다.

승리란 어디까지나 과정에 따라오는 부산물일 뿐이니까요. 지름길 같은 건 없습니다.

극적인 승리란 자기 자신과의 싸움에서 이기는 것이다. 그 싸움이란 곧 우리 마음을 건 전투다.


승리에 집착하는 길을 따를 것인가, 마음 가장 깊은 곳에 자리한 갈망을 추구하는 길을 따를 것인가?

3. 두려움을 버리고 자기인식 높이기

 

역설적이게도 자신에 대해 많이 생각할수록 자신을 돕는 길에서는 멀어지고 만다.

 

역설적이게도 자신에 대해 많이 생각할수록 자신을 돕는 길에서는 멀어지고 만다.
<내면 근력>, 짐 머피 지음 / 지여울 옮김 - 밀리의 서재

 

두 가지 일을 하느라 바쁜데, 바로 비교와 자랑이다.

자기인식을 구체적인 삶의 양식으로 체화하여 내면의 힘을 기르는 방법에는 크게 세 가지가 있다.

첫 번째, 가장 먼저 내면에서 들려오는 목소리를 객관화해야 한다.
두 번째 방법은 돈, 사회적 지위, 외모, 타인의 평가처럼 가변적인 요소에 자존감을 의탁하지 않고 흔들리지 않는 내면의 단단한 기준을 세우는 것이다.  외적 보상을 추구하기보단 내면의 잠재력을 실현하는 데 집중해야 한다.

마지막으로, 가장 중요한 세 번째 방법은 자기중심성과 여기에서 비롯한 두려움을 내려놓는 것이다. 매 순간의 최선이 완벽한 결과로 이어지지 않더라도 그 자체로 가치 있음을 인정하자.

2부. 내면 근력이 불러올 혁명적 변화 : 내면 근력을 길러낸 사람들

4. 도전하는 사람, 안주하는 사람

도달하기 어려운 목표와 꿈을 좇는 여정에선 반드시 두려움과 의심에 맞서야만 한다.

이제 경험이 쌓였으니까, 시합 날이 다가오면 당연히 ‘난 또 겁에 질리겠구나’ 하고 예상할 수 있죠. 시합이 있는 주엔 잠을 제대로 못 잘 거란 사실도 이미 알고요. 그저 그 사실을 기꺼이 인정하고 받아들일 뿐입니다.

대부분 사람은 물질적 성공을 제외하고는 자신이 진정으로 원하는 게 무엇인지조차 제대로 알지 못한 채 살아간다.

진정한 경쟁이란 자신이 상대를 이길 수 있는지 따지거나 누가 더 실력이 좋은지 가리는 자리가 아니다. 같은 걸 진심으로 사랑하는 사람끼리 얼마나 자신을 한계까지 밀어붙일 수 있는지 확인하는 자리다.

도전하는 삶을 택한 이들에겐 세 가지 중대한 특징이 있다.
1. 자기 안의 잠재력을 믿는다. 어려운 도전을 마다하지 않고 더 나아질 기회를 꾸준히 모색한다.

2. 자신에게 잘 맞고 힘이 되는 루틴을 철저히 지킨다. 무엇을 보고 들을지, 어떤 생각으로 하루를 채울지 스스로 선택하려 노력한다. 또한 피상적 차원의 보상에 관심을 쏟기보다는 그보다 훨씬 더 오래 가는 것, 즉 강인한 내면을 구축하는데 집중한다.

3. 세상이나 세상이 정한 성공의 기준을 순순히 따르지 않는다.

 

누구나 비범한 운명을 개척할 수 있고, 삶을 의미 있는 관계와 경험으로 채울 수 있다. 

그렇다면 에고가 삶에 얼마나 영향을 미치는지 현실을 깨닫게 해줄 몇 가지 항목을 살펴보자.
1. 사람들이 자신을 어떻게 생각할지 걱정한다.

2. 자신이 창피한 말이나 행동을 하게 될까 봐 긴장한다.
3. 자신이 틀릴 수도 있다는 걸 인정하고 진실을 찾으려고 하기보단 그저 자기가 옳고 똑똑해 보이는 데 더 신경 쓴다.
4. 지금 이 순간을 온전히 경험하고 앞으로 성장하는 데 집중하기보단 그저 당장 이기는 일에 집착한다.
5. 창피한 일을 당하면 기분이 상하거나 화가 난다.

다음은 자기 수양의 길을 따라 사는지 확인할 수 있는 항목이다.
1. 삶의 속도에 여유가 있다. 매사 조급해하지 않으며, 이해심과 연민을 발휘할 수 있다.
2. 시시때때로 변하는 감정에 휘둘리지 않는다. 어떤 상황을 판단하지 않고 있는 그대로 인식한다. 어떤 상황에 대해 무엇이 자신에게 최선일지 스스로 알지 못한다는 사실을 인정한다.
3. 결과에 대한 집착이 줄어든다. 누군가에게 성취를 인정받고픈 마음보다 배우고 성장해 더 나아지고픈 마음이 크다.
4. 자기 힘을 키우고, 사회적 지위를 높이고, 타인의 인정을 받으려고 하기보단 남을 돕고, 다른 사람에게 힘을 실어주는 일에 더 관심을 둔다.
5. 자기 이야기를 하기보단 다른 사람의 이야기를 귀 기울여 듣는다.
6. 일상의 생활과 습관에 엄격한 질서를 세우고 이 질서를 지켜나간다.

자기수양이란 이 에고를 다스리는 일이어야 하며, 이는 다음의 두 가지를 이루는 데서 시작한다.
1. 자존감이 흔들리지 않는다.

2. 감정적으로 반응하지 않는다.

에고를 다스리는 법을 배워나갈수록 쉽게 자존감과 감정이 흔들리지 않는 이상적인 상태에 조금씩 가까워진다.

비범한 인생을 살아가려면 다른 사람의 말이나 행동이 자기 삶의 속도와 흐름을 방해하도록 용인해서는 안 된다.

이런 삶을 누리려면 자기방어적 태도를 내려놓고, 개인적 이득만 좇는 짓을 그만둬야 한다.

두려움 없이 담대하려면, 그러니까 정확히 말해 두려움과 맞서려면 이기심을 버려야만 한다.

목표를 이루는 네가지 원칙

1. 오늘 할 수 있는 최선을 다하낟.

2. 지금 이 순간에 온전히 머문다.

3. 매사에 감사한다.

4. 루틴을 충실히 지킨다.

 

5. 인간은 왜 높은 산에 오르는가

 

표도르 도스토옙스키는 말했다. “내가 두려워하는 건 오직 한 가지, 내 고통에 합당하지 못한 사람이 되는 것이다.”

오히려 고통이 점점 더 심하게 느껴지고 피해자 의식에 빠지게 된다. “왜 나한테 이런 일이 일어나는 거야?” 자기 연민에 젖어 중얼거릴 뿐이다. 자기보호본능이 발동하고 두려움에 지배되는 순간, 모든 배움과 성장은 멈추고 만다.

남보다 우위를 차지하고 성공해야 한다는 집착에 얽매이다 보면 자신이 얼마나 중요하고 얼마나 괜찮은 사람인지를 확인하고 싶은 마음에 잘못된 길로 들어설 때가 너무나 많다.

 

승리엔 늘 위험이 따른다. 승리의 자리에서 자만과 오만에 취해 자기 결점을 외면하고 지나치기 쉽기 때문이다. 

바로 우리는 모두 죽는다는 것이다. 죽음은 삶의 다른 많은 부분과 마찬가지로 아무리 발버둥질한다 해도 바꿀 수 없는 일이다. 그래서 라이언은 결심했다. 오직 자기 손이 미치는 일만 통제하려 하고, 나머지는 모두 하늘의 뜻에 맡기겠노라고.

최대한의 자유를 누리려면 기꺼이 실패를 감수하고 욕망을 내려놓을 줄 알아야 한다. 

결과는 순리에 맡기고요. 우리의 주문은 이거였어요. ‘점수는 관중을 위한 것일 뿐, 우리는 그저 골프를 사랑해서 시합한다!’”

내가 당부하고픈 건 한 가지다. 온 마음과 영혼을 걸고 자신의 진정한 모습을 찾으라. 자기 자신에게 진실한 삶을 살고 있는가?

3부. 내면 근력을 강화하는 6단계

6. 1단계 : 자기절제의 뇌과학

우리는 상황이 통제에서 벗어나도 유연하게 대응할 줄 알아야 한다. 좋은 방향으로 삶을 변화시키고, 그 변화를 이어나가 충만한 삶을 살기 위해서는 감정을 다스리는 법을 반드시 배워야 한다.

기분이 좋을 때는 힘겨운 시련도 대수롭지 않게 받아들일 수 있다.
반면 기분이 안 좋을 때는 별것 아닌 걸림돌도 크게만 느껴지고 극복하기 어렵게 여겨진다.

우선 결과는 행동에서 비롯하며, 행동은 감정에서 비롯하고, 감정은 생각에서 비롯한다는 사실을 이해해야 한다.

상황 -> 기억과 믿음으로 재구성 -> 생각 -> 감정 -> 행동 -> 결과

 

1. 어두운 방에 들어가 전등의 스위치를 켠다.
2. 방이 밝아진다.
3. 몇 차례 같은 일이 반복된다. 어두운 방에 들어가 전등 스위치를 켤 때마다 방이 밝아진다.
4. 이제 뇌는 전등의 스위치를 켜는 것과 방이 밝아지는 것을 연결한다. 이게 바로 일반화다.

자신이나 자기 능력에 대해 부정적인 시각으로 바라보는 일반화는 세상을 보는 시야를 좁히고 자신의 역량을 제한한다.

특히 ‘나는 누구인가’라는 질문의 답이 되는 이야기는 강력한 힘을 발휘한다.

눈에 들어오는 모든 게 우리에게 깊은 영향을 미친다.

자신의 감정을 만족시키지 못할 때, 좌절과 불안에 빠진다는 것이다.

오늘날 우리 사회에서 나타나는 집중력 저하 문제는 대부분 수면 부족에 기인한다. 규칙적이고 충분한 수면은 아무리 강조해도 모자라다.

호흡을 이용해 주의를 집중하는 법을 연습할 수 있다.
1. 길고 느리게 깊게 숨 쉬며 호흡을 조절한다.

2. 정신을 한 가지 단순한 일에 집중한다.

 

중심 잡기 수련은 매 순간 실천해야 한다.

 

재가동하기 : 기본 복원 (스트레스가 올라올때, 긴장될 때 유용한 방법)

1. 걷거나 말하는 등 무엇을 하든 지금 하는 일을 멈춘다.
2. 지평선 위의 한 지점을 고른다. 구름을 봐도 좋다.
3. 그 지점을 가만히 응시한다. 눈을 떼지 않는다.
4. 집중해서 바라보면서 모든 생각을 멈춘다.
5. 코로 숨을 4초 정도 길고 느리고 깊게 들이마신다.
6. 6초 동안 숨을 내쉬면서 턱을 비롯하여 안면 근육 전체를 이완시킨다. 이때 반드시 내쉬는 숨이 들이마시는 숨보다 길어야 한다. 숨을 내쉬면서 모든 욕망과 근심도 함께 흘려보낸다.
7. 두 차례 반복한다.

 

그 시절에 느꼈던 강렬한 감정이 고스란히 되살아날 것이다. 그 노래가 그 감정을 불러일으키는 앵커가 됐기 때문이다.

한편 의도적으로 앵커를 형성할 수도 있다.
1. 자신감이 넘치고 힘이 충만하다고 느꼈던 순간을 떠올린다. 그때의 감정을 한층 생생하게 되살리려면 세부 사항을 가능한 한 구체적으로 자세하게 떠올려야 한다.
2. 그때의 감정이 가장 생생하게 차오르는 순간, 그 감정을 특정 감각과 연결하는 행동을 한다. 이때 그 행동은 간단한 동작이어야 한다. 예컨대 박하유처럼 강하면서도 진정되는 향을 맡는 것이다. 향을 앵커로 사용한다면 일상에서 흔히 접할 수 없는 독특한 향이어야 한다. 그 향을 통해 긍정적이고 자신감을 강화하는 기억을 떠올린다.

기대는 어떤 일을 해나가는 과정에서 걸림돌이 될 수 있다. 기대에서 긴장과 두려움이 피어나 지금 이 순간에 집중하지 못하게 하기 때문이다.

7. 2단계 : 원하는 삶의 이야기를 쓰는 법

머그시를 정말로 특별한 선수가 되게 한 건 바로 그의 정신력이었다.

명심하라. 우리는 하루하루 일상을 살아가면서 세상을 있는 그대로 경험하지 않는다. 실은 머릿속에서 창조해낸 세상 속에서 살아간다고 말하는 편이 정확할 것이다.

 

왜 유능한 사람에겐 늘 좋은 기회가 찾아오고, 일이 이상하리만치 술술 풀리는 것처럼 보이는지 그 이유가 궁금했던 적 있는가? 그들에겐 비밀 무기가 있다. 그들과 평범한 이들을 가르는 결정적인 차이는, 그들은 잠재의식 속에서 자기 인생의 가능성을 믿는다는 점이다. 이 믿음은 그들이 아침에 몇 시에 일어나는지, 자신에게 어떤 말을 하는지, 얼마나 기꺼이 자신을 내려놓으려 하는지를 결정한다. 실로 삶의 거의 모든 걸 결정한다고 해도 과언이 아니다.

목표와 꿈에 어울리는 믿음을 키우고 싶다면 한 가지 주의해야 할 점이 있다. 바로 자기 자신에 대해, 자기 인생에 어떤 가능성이 펼쳐져 있는지에 대해 진실만을 말하는 것이다. 

휴대전화 화면에 자기확언 문구가 하루에 여러 번 나타나도록 설정해두는 것이다.

믿음을 확장하려면 목표와 꿈이 자신의 참 자아와 어긋나지 않는지 확인하는 작업이 아주 중요하다.

이곳에서 자기 자신을 넘어선 목적을 찾는다는 것이다.

8. 3단계 : 목표에만 몰입하는 법

 

정신은 절망이나 흥분에 사로잡혀서도 아니 되며, 
비관이나 공포에 흔들려서도 아니 된다. 
뜻은 가벼우면서도 자각은 깊고 단단해야 한다.
      —미야모토 무사시宮本武蔵(무사), 『오륜서』
    
불안과 분노, 짜증과 당황, 불쾌감과 두려움은 모두 정신이 과거나 미래에 사로잡혀 있어서 발생하는 감정이다.

이 순간에 온전히 머무는 건 가장 힘겨운 싸움에서 승리하기 위한 초석을 쌓는 일이다. 바로 내면에서 자신과 벌이는 싸움이다.

가장 큰 실수는 결투의 결과를 예상하는 것이다. 승리할지 패배할지에 대해서는 아예 생각하지 않는 게 좋다.

이제부터 이 순간에 온전히 몰입하는 다섯 가지 방법에 대해 살펴보도록 하자.
1. 삶을 단순화 하기

정신은 오직 한 번에 한 가지 생각만을 처리할 수 있으므로 여러 걱정거리가 한꺼번에 밀려들면 생각이 뒤엉키고 불안이 뒤따른다.
인생을 바칠 만한 목적을 단 하나만 선택해야 한다면 우리는 무엇을 선택할까?
2. 루틴에 집중하기

3. 감사하기

4. 주문 외우기

결과가 어떻게 될지에 연연하는 건 보통 도움이 되지 않는다.
5. 조급한 마음 단칼에 자르기

졸리 교수는 조급병을 보여주는 가장 뚜렷한 징후가 “엘리베이터를 타서 닫힘 버튼을 반복해서 누르는 행동”이라고 말한다.
일주일에 하루를 쉬면서 미련과 집착을 내려놓고 재충전할 수 있다면 주변에 늘 존재하는 아름다움을 더 잘 발견할 수 있다. 감사 또한 자연스레 따라올 것이다.

9. 4단계 : 스스로 만든 한계를 넘어서는 법

좋은 소식은 말 그대로 뇌에 새로운 정보를 공급함으로써 뇌를 재구성할 수 있다는 것이다.
부정적인 생각이나 감정에 매달려만 있다면 바람직하지 않은 신경 경로가 만들어져 몸과 마음이 원치 않는 장소에 도달하게 될 수 있다. 즉 정신적 장벽이 발생하는 것이다.

정신적 장벽에 가로막히지 않으려면 몸과 마음과 정신을 모두 단련해야 한다는 사실을 말이다.

 

정신적 장벽에서 마음을 지키는 데 도움이 되는 몇 가지 질문이 있다.
1. 기꺼이 불편한 상황을 감수할 수 있는가?
2. 바보처럼 보이는 일도 마다하지 않는가? 실수를 인정하고 웃어넘길 수 있는가?
3. 기꺼이 실패하려 하는가?
4. 실패감이나 심지어 공황 상태에 기꺼이 맞설 수 있는가?
5. 지금 하는 일에 단순한 성공을 넘어선 목적이 있는가?

10. 5단계 : 평정심 유지하는 법

압박감 속에서도 비범한 역량을 발휘하는 능력은 학습할 수 있다. 설리 기장의 능력 또한 학습한 것이었다.

나는 비록 은메달에 그친다 해도, 금메달을 딴 선수가 완벽하게 펼쳐낸 세 번의 트리플점프를 보고 전율을 느끼는 사람이 되고 싶지 않은가? 아름다운 해돋이를 볼 때처럼 그 점프 자체를 보며 그저 감탄하는 사람이 되고 싶지 않은가? 누구든 그토록 완벽한 점프를 해냈다는 사실에 기뻐하고 싶지 않은가? 그 성공이 누구의 것이든 중요하지 않고 그 점프를 해낸 사람이 누구든 상관없다. 누구든 그 점프를 완벽하게 해냈다는 사실에 마치 나 자신이 해낸 양 순수하게 기뻐하며, 그 점프를 볼 수 있다는 사실에 마냥 행복해하는 그런 사람이 되고 싶지 않은가?
    —티머시 켈러, 『복음 안에서 발견한 참된 자유』
  

압박을 받는 상황에서도 긍정적이고 강력한 에너지를 발휘하려면 스스로 힘을 북돋우는 마인드셋을 갖춰야 한다.

삶을 충만하게 누리기 위해서는, 그리고 자신감과 용기를 품고 경쟁하기 위해서는 올바른 욕망을 품어야 한다.
그러려면 다음을 목표로 삼아야 한다.
1. 배우고 성장해 상대할 가치가 있는 적수가 되는 것, 상대에게서 탁월함을 끌어내는 사람이 되는 것
2. 고통을 감당할 자격이 있는 사람이 되는 것, 자신의 탁월함과 이 순간을 타인과 나눌 자격이 있는 사람이 되는 것

압박 속에서도 평정심을 유지하여 공명에 이르게 하는 핵심 요소는 다음과 같다.
1. 에고가 아닌 마음을 나누라.

결과는 그 과정 끝에 저절로 따라올 뿐이다.

2. 점수가 아닌 자기수양을 추구하라.

자기수양에선 결과보다 성장에 초점을 둔다. 결과부터 생각하기보다 그에 이르는 과정에 집중하며, 과정에서 겪는 고통과 실패를 성장에 필요한 본질적 요소로서 끌어안는다.
3. 경쟁 상대를 사랑하라.

상대는 적이 아니다. 함께 춤을 추는 우리의 짝이다.

종종 경쟁 상대가 실수하거나 실력을 제대로 발휘하지 못하기를 바라기도 한다. 그런 마음 자체가 큰 실수다.
바로 사랑, 무조건적인 사랑이다. 사랑이 있다면 내가 무언가를 얻으려고 행동하지 않는다. ‘다른 사람’에게 무언가를 주려고, 그들이 더 나은 사람이 되게 하려고 행동한다. 사랑으로 나아가는 이타적인 여정이야말로 가장 강력한 힘을 품고 있다. 이 여정 자체가 보상이 되는 경지에 이를 때, 공명하는 순간이 찾아온다. 그 순간 놀랍고 위대한 일을 성취해낼 수 있다.
4. 완벽함 대신 현존감을 추구하라.
이제부터 성공의 감각을 온전히 맛보고, 압박 속에서도 성공할 수 있다는 믿음에 힘을 실어줄 시각화 기법을 몇 가지 알아보자.
1.미리보기

2.자신감 넘치는 기억 떠올리기

3. 압박 속에서 평정심 연슶하기

4. 이완시키기

5. 기억을 재구성하기

6. 성공 전후의 장면 상상하기

7. 롤모델이나 멘토와 함께하는 상상하기

 

11. 6단계 : 비범한 리더십

지도자의 역할이란 사람들이 자신의 참 자아로 살아가도록 그들을 성장시키고, 그렇게 성장한 이들이 다시 다른 사람들을 똑같이 돕게 하는 것이다.

프로스티 웨스터링 감독은 선수들이 무엇보다도 가장 먼저 인간으로서 성장하고 성숙해지는 일에 힘을 쏟았다. 

“경쟁에서 이기는 유일한 방법은 경쟁에서 이기려고 하지 않는 것이다.”

12. 새로운 삶의 길

누구나 노력의 방향을 제대로 설정하여 내면의 성장을 이뤄낸다면 탁월함에 이를 수 있다. 재능은 단지 출발점일 뿐이다.

이를 만드는 것은 자신의 가능성에 대한 자기확신, 잡념을 끄고 몰입하는 집중력, 어려움이나 실패를 배움의 기회로 받아들이고 다시 일어나는 회복탄력성이다. 이 요소들이야말로 타고난 천재성을 압도하는 내면의 가장 강력한 힘이자 무기다. 내면 근력이란 자신의 잠재력을 신뢰하며 끝까지 나아가는 과정 그 자체에서 완성된다.

 

 



 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형
반응형

 

내가 꿈꾸는 태평성대는 백성이 하려고 하는 일을 원만하게 하는 세상이다. -세종대왕-

 

프롤로그

이 글을 읽는다고 세종대왕처럼 큰일을 해낼 수 있는 건 아니지만, 적어도 그의 시선으로 세상을 다시 한번 바라볼 수 있을 것 같습니다.

 

Chapter. 01. 왜 사람부터 볼 줄 알아야 하는가

 

001. 알게 하는 것과 통제하려는 것을 구분해라

 

세종대왕은 자신이 가진 직위와 힘을 이용해 백성을 다스리려고 하기보다는 백성이 스스로 깨닫기를 원했다.

 

경험으로 보건대, 허조처럼 상대에게 설명하기보다 눈치껏 하기를 바라는 사람은 자신의 권위가 밀리는 것을 두려워하거나, 타인을 도구로 대하는 사람이 대부분이었다. 반대로 세종대왕처럼 다정히 설명하고 그 이유를 말해주는 사람은 그 사람이 정말 잘 되고, 오랫동안 함께하길 바라는 마음을 가진 사람이 대부분이었다.

다그침은 복종을 만들고, 설명은 판단력을 만든다.

 

002. 문제를 말하는 사람과 문제를 해결하는 사람을 구분해라

 

현실의 고통을 지적하는 것은 누구나 할 수 있다. 무엇이 잘못됐는지, 어디에 문제가 있는지 불만을 늘어놓는 것은 어렵지 않다. 그래서 많은 이들이 불평불만을 쉽게 한다. 그런데 이런 불만을 토로하는 이들 중 대다수는 ‘해결책’을 말하라고 하면 아무 말도 하지 못한다.

그래서 우리는 부정적인 것들을 논리적으로 말하는 사람을 믿기보다, 그 해결책을 건네는 사람을 따라야 하고 또 그런 사람이 되어야 한다.

차라리 문제점만 지적하며 가만히 있는 편이 덜 웃음거리가 될 수도 있다. 그러나 세종이 바라보는 시각처럼, 진짜로 성장하는 사람은 그런 것에 머물지 않는다.

003. '누가 예민한가'가 아니라 '무엇이 잘못되었는가'를 보라

 

 

반응형
반응형

다섯 개를 이해하면 회사가 돈을 잘 버는가?와 그 회사의 주식을 지금 얼마에 사고 있는가?를 연결해서 볼 수 있다.

지표 이름이 지표로 확인 하는 것
ROE 자기자본이익률 주주의 자본으로 얼마나 효율적으로 이익을 냈나?
EPS 주당순이익 주식 1주에 해당하는 이익은 얼마인가?
PER 주가수익비율 주가가 1주당 이익의 몇 배인가?
BPS 주당순자산 주식 1주에 해당하는 장부상 순자산은 얼마인가?
PBR 주가순자산비율 주가가 1주당 순자산의 몇 배인가?

 

 

아래에서는 같은 가상회사 A기업을 가지고 계산

항목 A기업의 상황
총자산 200억 원
총부채 100억 원
자기자본·순자산 100억 원
연간 순이익 10억 원
주식 수 100만 주
현재 주가 20,000원

 

① ROE는 ‘주주의 자본으로 이익을 얼마나 잘 냈는가’

ROE는 Return on Equity, 자기자본이익률

 

ROE = 연간 순이익 ÷ 평균 자기자본 × 100

 

평균 자기자본은 보통 기초와 기말 자기자본의 평균을 사용해. A기업이라면:

“주주의 자본 100원을 활용해서 1년 동안 순이익 10원을 벌었다”는 뜻.

기업이 자기자본을 얼마나 효율적으로 활용하는지 보는 지표지.

 

투자에서는 높은 ROE를 꾸준히 유지하는 이유를 살펴보는 게 중요.

제품 경쟁력이 강한지, 높은 가격을 받을 수 있는지, 적은 자본으로 사업을 운영할 수 있는지 등을 보는 것이다.

 

 

  • ROE 20%가 내 투자수익률 20%를 뜻하지는 않음. ROE의 기준은 회사의 장부상 자기자본이고, 내 수익률은 내가 산 주가와 이후 주가·배당에 달려 있다.
  • 이익이 늘지 않아도 ROE가 높아질 수 있다. 자사주 매입 등으로 자기자본이 줄면 분모가 작아지기 때문.
  • 부채를 많이 활용한 결과일 수도 있다. 차입을 통해 이익을 늘렸다면 높은 ROE와 함께 이자 부담과 재무 위험도 확인해야 함.

 

ROE가 오른 이유가 이익 증가인지, 자본 감소인지 확인해야 한다는 뜻

 

② EPS는 ‘회사 전체의 이익을 주식 1주 기준으로 나눈 값’

EPS는 Earnings Per Share, 주당순이익

 

EPS = 순이익 ÷ 주식 수

EPS 1,000원이라고 해서 주주에게 현금 1,000원을 준다는 뜻은 아니야.

회사는 이익 중 일부를 배당하고, 나머지를 사업에 재투자할 수 있어. 주주에게 실제로 지급하는 1주당 배당금은 별도의 숫자야.

 

반대로 자사주 매입으로 유통주식 수가 줄면 회사 전체 이익이 그대로여도 EPS가 높아질 수 있다.

따라서 EPS가 올랐다면 사업 성장과 주식 수 변화의 영향을 나눠서 봐야 함.

 

또 증권 앱에서 기본 EPS와 희석 EPS가 함께 보일 수 있다.

  • 기본 EPS: 현재의 보통주를 기준으로 계산.
  • 희석 EPS: 전환사채·주식선택권 등이 주식으로 바뀌어 EPS를 낮추는 효과까지 반영.

주식으로 바뀔 수 있는 권리가 많은 기업이라면 희석 EPS도 확인할 필요가 있다.

 

그리고 서로 다른 회사의 EPS가 5,000원과 1,000원이라고 해서 앞의 회사가 더 좋은 투자라는 뜻은 아니야. 주가와 주식 수 구조가 다르기 때문. 이익과 가격을 연결하는 지표가 바로 PER

 

 

③ PER은 ‘현재 이익에 비해 주가가 얼마나 높은가’

PER은 Price-to-Earnings Ratio, 주가수익비율

PER = 주가 ÷ EPS

 

“연간 순이익 1원에 대해 시장이 20원의 가격을 붙이고 있다”는 뜻이야.

 

같은 EPS 1,000원이라면:

주가 EPS PER
10,000원 1,000원 10배
20,000원 1,000원 20배
30,000원 1,000원 30배

이익의 성장성·안정성·위험 등이 같다면, 낮은 PER에 사는 쪽이 같은 이익을 더 저렴하게 사는 셈.

그런데 현실에서는 기업들의 미래가 달라. 어떤 회사는 이익이 빠르게 늘고, 어떤 회사는 줄어들 수 있어.

 

그래서 PER 10배가 무조건 싸고, 30배가 무조건 비싼 것은 아니다. 같은 업종의 비슷한 기업, 해당 기업의 과거 수준, 앞으로의 이익 전망을 함께 비교해야 한다.

 

주가가 20,000원으로 똑같아도 이익이 달라지면 이렇게 바뀐다.

이익 상황 EPS 그 이익을 기준으로 계산한 PER
현재 수준 1,000원 20배
이익이 두 배로 증가 2,000원 10배
이익이 절반으로 감소 500원 40배

이 표가 투자에서 아주 중요하다.

 

지금 PER이 낮아 보여도 앞으로 이익이 급감하면 싸게 산 게 아닐 수 있다.

반대로 지금 PER이 높아도 이익이 크게 늘면 평가가 달라질 수 있다.

 

특히 경기순환 기업은 호황 때 이익이 급증해서 PER이 낮아지고, 불황 때 이익이 급감해서 PER이 높아질 수 있다.

그래서 한 해 실적만 보지 않고, 경기 흐름을 거친 평상시 이익 수준을 살펴보기도 한다.

 

증권 앱에서 PER을 볼 때는 계산 기준도 확인해야함.

구분 사용한 이익
과거 PER·Trailing PER 보통 최근 12개월의 실제 EPS
예상 PER·Forward PER 향후 12개월 또는 다음 회계연도의 예상 EPS

예상 PER은 미래를 반영하지만, 그 예상이 틀릴 수 있다는 한계.

적자 기업은 PER이 표시되지 않거나 음수로 나타나기도 하는데, 음수라고 더 저렴하다고 해석하면 안된다. 

 

참고로 “PER 20배면 원금 회수에 20년”이라는 표현은 단순한 비유.

현재 이익이 계속 유지되고 그 이익을 모두 받을 수 있다는 가정 등이 필요하므로, 실제 투자금 회수 기간을 보장하는 숫자는 아.

 

④ BPS는 ‘주식 1주에 해당하는 장부상 순자산’

BPS는 Book Value Per Share, 주당순자산

BPS = 보통주 몫의 자기자본 ÷ 보통주 수

 

회사의 장부상 순자산을 주식 수로 나눴을 때 1주당 10,000원에 해당한다는 뜻

EPS와 비교하면 차이가 더 분명

지표 측정하는 대상 시간 기준
EPS 1주당 벌어들인 순이익 1년·1분기 같은 기간
BPS 1주당 장부상 순자산 연말·분기 말 같은 시점

이익을 벌어서 회사 안에 남기면, 다른 변화가 없는 한 자기자본과 BPS가 증가

예를 들어 앞으로 A기업이:

  • 1주당 순이익 1,000원을 벌고,
  • 그중 300원을 배당하고,
  • 700원을 회사에 남긴다면,

주식 수나 다른 자본 변동이 없다는 가정에서 BPS는 10,000원 → 10,700원이 되는 식

다만 BPS는 현금 잔액도, 주가의 하한선도 아니다.

 

장부상 자산에는 현금뿐 아니라 공장·재고·매출채권 등이 들어 있다.

실제로 팔거나 회수할 때 장부에 적힌 금액을 그대로 받을 수 있다고 보장할 수는 없다.

따라서 BPS 10,000원이라고 회사가 청산될 때 반드시 10,000원을 받는다는 뜻도 아님

투자할 때는 BPS가 늘고 있는지와 함께 그 순자산이 무엇으로 구성돼 있는지를 봐야 함

회수하기 어려운 매출채권이나 팔리지 않는 재고가 많다면, 장부 숫자만으로 자산의 질을 판단하기 어렵다.

 

⑤ PBR은 ‘장부상 순자산에 비해 주가가 몇 배인가’

PBR은 Price-to-Book Ratio, 주가순자산비율

PBR = 주가 ÷ BPS

“장부상 순자산 1원에 대해 시장이 2원의 가격을 붙이고 있다”는 뜻

 

BPS가 10,000원인 기업이라면:

주가 PBR 정확한 해석
5,000원 0.5배 장부상 순자산의 절반 가격에 거래
10,000원 1배 장부상 순자산과 같은 가격에 거래
20,000원 2배 장부상 순자산의 두 배 가격에 거래

여기서 PBR 1배 미만은 ‘장부보다 싸다’는 뜻이지, 투자 가치보다 반드시 싸다는 뜻은 아니야.

 

예를 들어 순자산이 100억 원인 회사가 계속 적자를 낸다면 그 순자산은 줄어들 수 있다.

자산을 갖고 있어도 이익을 거의 내지 못한다면 시장이 낮게 평가할 수도 있다.

 

반대로 순자산을 활용해 높은 이익을 꾸준히 내는 기업은 장부보다 높은 가격에 거래될 수 있다.

그래서 PBR을 볼 때 ROE를 함께 보는 것이 중요. 수익성은 PBR을 설명하는 주요 요인 중 하나.

 

또 기업의 경쟁력이 장부에 얼마나 잘 반영되는지도 고려.

브랜드나 기술력 등은 장부가치만으로 충분히 설명되지 않을 수 있으므로, 이런 기업은 PBR 하나로 평가하기 어렵다.

 

따라서 낮은 PBR을 발견했다면 이렇게 질문해보기.

“이 회사는 자산에 비해 저렴한 걸까, 아니면 자산으로 이익을 내지 못해서 낮게 평가받는 걸까?”

 

다섯 지표를 연결하면, 실적이 좋아져도 주가가 떨어질 수 있는 이유까지 이해할 수 있다.

 

A기업의 주가 20,000원은 두 방식으로 표현할 수 있다.

  • EPS 1,000원 × PER 20배 = 20,000원
  • BPS 10,000원 × PBR 2배 = 20,000원

여기서 가상의 변화를 보면

구분 EPS PER 주가
처음 1,000원 20배 20,000원
이후 1,500원 10배 15,000원

EPS는 50% 증가했지만 주가는 25% 하락했다. 시장이 이익에 붙이는 배수가 절반으로 낮아졌기 때문

이 예시는 “회사가 성장하면 주가도 반드시 오른다”라고 판단하기 어려운 이유를 보여준다.

성장 전망과 함께 내가 지불하는 가격도 중요

 

또 계산 기준을 맞추면 다음 관계도 이해할 수 있다.

 

ROE는 소수로 넣어야 하므로 A기업에서는:

 

가 된다. 실제 공시 ROE는 평균 자기자본을, BPS는 기말 자기자본을 사용하는 등 기준 차이가 있어서 항상 정확히 일치하지는 않는다.

 

이 관계를 이용하면 아래 두 가상기업을 비교. 자기자본과 주식 수 등의 계산 기준이 같다고 가정

기업 ROE PBR 관계식으로 계산한 PER
수익성이 높은 기업 20% 3배 15배
수익성이 낮은 기업 2% 0.5배 25배

PBR 0.5배인 기업이 현재 이익에 비해서는 더 비싼 상황도 가능해. 물론 최종 투자 판단에는 앞으로의 성장과 위험까지 필요하지만, 지표를 함께 봐야 하는 이유는 분명

 

실제 종목을 공부할 때는 다음 순서로 확인

  1. EPS: 최근 3~5년간 주식 1주당 이익이 늘었는가? 일회성 이익이나 주식 수 변화의 영향은 무엇인가?
  2. ROE: 그 이익을 자본 대비 효율적으로 내고 있는가? 부채나 자본 감소로 높아진 것은 아닌가?
  3. PER: 이익의 성장성과 안정성을 고려할 때 현재 가격은 어떤 수준인가?
  4. BPS: 순자산은 늘고 있는가? 그 자산의 실제 가치와 회수 가능성은 어떤가?
  5. PBR: 자산으로 만들어내는 수익성을 고려할 때, 장부 대비 할인이나 프리미엄에 이유가 있는가?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형
반응형

멀티모달·사용자 인터페이스·모델 성능의 발전과 앞으로도 유효한 프롬프트 설계 원칙을 설명

 

멀티모달은 모델이 텍스트뿐 아니라 이미지와 영상도 활용하는 방향이

 

이미지·영상은 텍스트만으로 전달하기 어려운 정보를 제공하고, 공간 관계·사회적 신호·물리적 상식 등을 학습하는 데 도움이 될 수 있어. 학습 데이터의 범위를 넓힌다는 의미도 있어.

 

프롬프트를 설계할 때는 기존 원칙을 그대로 적용해.

  • 현재 작업과 관련 있는 이미지·영상만 제공하기.
  • 이미지가 어떤 역할을 하는지 주변 텍스트로 설명하기.
  • 새로운 표현 방식보다 모델에게 익숙한 도표·문서 형식을 활용하기.

사용자 인터페이스는 대화를 통해 하나의 작업물을 계속 수정하는 방향으로 발전해.

 

책에서 말하는 **‘상태를 가진 대화 대상’**은 문서·코드·그림처럼 대화 중에 변경되면서도 동일한 작업물로 관리되는 대상을 뜻해. 초기 Claude의 Artifacts를 그 사례로 소개해.

 

앞으로 개선할 방향은 다음과 같아.

  • 전체를 다시 생성하지 않고 필요한 부분만 수정하기.
  • 여러 작업물과 버전을 명확하게 구분하고 지칭하기.
  • 사용자가 직접 수정한 내용도 모델이 인식하도록 반영하기.
  • 사용자가 진행 상황을 보고 잘못된 방향을 일찍 바로잡을 수 있게 하기.

모델의 발전은 성능 향상뿐 아니라 비용과 속도의 개선도 포함해.

발전 방향 설명
벤치마크 개선 기존 시험에서 높은 점수를 받는 것을 넘어, 새로운 문제를 해결하는 능력을 평가
학습 방법 개선 인간 피드백 등을 활용해 더 유용한 답변을 생성하도록 학습
지식 증류 큰 모델을 교사로 삼아 작은 모델을 학습시켜, 더 저렴하고 빠르게 활용
양자화 모델 매개변수의 수치 정밀도를 낮춰 저장 공간과 계산 부담을 줄임

벤치마크 점수가 높아진 이유는 실제 능력 향상일 수도 있지만, 시험 문제가 학습 데이터에 섞였기 때문일 수도 있어. 따라서 평가 방식도 계속 발전해야 한다고 설명해.

 

또한 모델이 좋아져도 문제 해결에 필요한 정보가 주어지지 않으면 제대로 해결하기 어렵다는 한계는 남아 있어.

책 전체에서 강조하는 프롬프트 설계 원칙은 ‘익숙한 패턴 활용’과 ‘모델의 관점에서 입력 설계하기’야.

 

책은 LLM이 입력 맥락과 학습한 패턴을 바탕으로 다음 내용을 생성한다고 설명해. 따라서 마크다운이나 표준 문서 형식처럼 익숙한 구조를 활용하고, 모델이 무엇을 보고 어떻게 해석할지 고려해야 해

원칙 실제 적용
불필요한 정보 줄이기 도움이 될지도 모른다는 이유로 관련 없는 내용을 넣지 않기
이해하기 쉽게 작성하기 사람이 읽어도 해석하기 어려운 프롬프트는 피하기
명확한 지침 제공하기 해야 할 일을 구체적으로 설명하고 필요하면 예시 제공
필요한 정보 확보하기 정보를 직접 제공하거나 검색할 도구와 사용 지침 제공
복잡한 문제를 단계적으로 다루기 문제를 나누고 중간 결과를 활용하도록 작업 구성
반응형

'LLM for Prompt Engineering' 카테고리의 다른 글

유종의미. Toy Project  (0) 2026.10.15
10. LLM 애플리케이션 평가  (0) 2026.10.12
제 9장. LLM 워크플로  (0) 2026.10.06
제 8장. 대화형 에이전시  (0) 2026.10.03
제 7장. 모델 제어  (0) 2026.10.03

+ Recent posts