/investment-team 테슬라처럼 한 줄만 치면 4개의 AI 에이전트가 동시에 한 회사를 파고들게 만든다. "혼자서도 Claude만 있으면 투자 리서치 팀 하나"가 슬로건. (저장소: xbtlin/ai-berkshire · 구성: Markdown 스킬 + Python 보조도구 · MIT 라이선스 · TrendShift Daily #2 · 집계 ★1.2k+ / 하루 +155) ※ 본 문서는 '소프트웨어·프롬프트 설계'를 공부하는 자료이지 투자 권유가 아닙니다. 레포가 내세우는 실적은 본인이 올린 증권사 캡처로, 독립 검증된 수치가 아닙니다.이 레포가 무엇을 하는 물건인가.
이 레포의 정체는 소프트웨어가 아니라 '잘 설계된 프롬프트 묶음'이다. 똑같은 LLM(Claude)에게 역할·절차·출력 형식을 강하게 못 박아, 매번 같은 깊이의 투자 리서치가 나오도록 길들인 것이다.
ai-berkshire는 "Claude Code 위에서 도는 가치투자 리서치 스킬(슬래시 명령어) 모음"이다. 핵심 자산은 skills/ 폴더의 마크다운 파일 18개. 이걸 ~/.claude/commands/에 복사해 두면, 터미널의 Claude Code에서 /investment-team 메이투안, /investment-checklist 마오타이처럼 한 줄 명령으로 호출된다. 명령마다 "어떤 순서로 무엇을 검색하고, 어떤 표로, 어떤 결론까지 내라"가 빼곡히 적혀 있다.
가장 특징적인 설계는 '4대 거장 시점의 대립'이다. 한 회사를 분석할 때 ① 돤융핑=비즈니스 모델/해자, ② 버핏=재무/밸류에이션, ③ 멍거=역발상/경쟁구도, ④ 리루=리스크/경영진·장기 확실성 — 네 관점이 분업이 아니라 서로를 반박하도록 짜여 있다. 버핏이 "충분히 싸다"고 하면 리루가 "10년 뒤에도 있을까?"라고 묻는 식이다.
npm install -g @anthropic-ai/claude-code로 깔며, 파일을 읽고·쓰고·웹 검색하고·여러 하위 에이전트를 부릴 수 있다. ai-berkshire는 이 위에서 '투자 리서치 전용 도구'로 변신시킨 것 — 식당으로 치면 빈 주방(Claude Code)에 레시피북(스킬)만 꽂아 넣은 셈./이름 형태로 부르는 나만의 사용자 명령. 실체는 그냥 마크다운 파일 하나이고, 그 안에 "이 명령을 받으면 이렇게 행동하라"는 지시문이 들어 있다. 명령 뒤에 붙인 말(예: /investment-team 테슬라)은 파일 안의 $ARGUMENTS 자리에 끼워져 실행된다.트렌딩 이유 · '그냥 AI한테 묻기'와 무엇이 다른가.
화제의 축은 셋이 겹친다 — ① 실적 서사(2년 실전 누적 +146만 위안, 지수 대비 40~50%p 초과수익이라고 주장), ② "왜 AI한테 그냥 물으면 안 되는가"라는 명확한 문제의식, ③ 2026년 내내 트렌딩을 휩쓰는 '에이전트 스킬/Claude Code 워크플로' 흐름(같은 날 보드의 design.md·gstack·superpowers와 한 묶음). 즉 "프롬프트를 제품처럼 설계한다"는 시대정신의 대표 사례로 소비된다.
저자가 README 첫머리에 내건 실적 표는 강력한 후킹 장치다. 다만 그대로 믿을 수치는 아니다 — 출처가 본인 증권계좌(푸투) 캡처이고, 레포의 AI 메모 파일은 "README의 출력 예시는 가공(허구)이라 추후 실제 리포트로 교체해야 한다"고 스스로 적어 두었다. 트렌딩의 동력은 '검증된 수익률'이 아니라 '결론을 강제하는 설계 철학' 쪽으로 보는 게 정확하다.
| 지표(저자 주장) | 2024 연간 | 2025 YTD |
|---|---|---|
| 본 프레임워크 실전 | +69.29% | +66.38% |
| S&P 500 | +23.31% | +16.39% |
| 항셍지수 | +17.67% | +27.77% |
| 나스닥 | +28.64% | +20.36% |
설계 차별점은 README의 "왜 AI한테 그냥 못 묻나" 절에 압축돼 있다. 핵심 6가지를 표로 옮기면:
| 설계 원칙 | 그냥 묻기(맨 Claude) | ai-berkshire |
|---|---|---|
| 결론 | "한편으로는… 다른 한편으로는…" 양다리 | 통과/보류/회피 + 구체 가격대 + 공격·안정·보수형 분층 제안 |
| 관점 | 한 번의 프롬프트=한 시점 | 4대 거장이 서로 반박(분업 아님) |
| 편향 | 그럴듯한 답을 그냥 생성 | A/B/C 정보밀도·멍거 역발상·즉결 거부·반(反)컨센서스 내장 |
| 숫자 | LLM 암산(소수점·통화 자주 틀림) | Decimal 정밀계산 + 2개 독립출처 교차검증 |
| 재현성 | 매번 형식·깊이가 다름 | 같은 입력 → 같은 구조 출력(횡·종 비교 가능) |
| 깊이 | 컨텍스트 창 1개 | 4개 에이전트 병렬 = 검색량·정보원 4배 |
맨 LLM에게 종목을 물으면 균형 잡힌 척 양쪽을 늘어놓고 "투자엔 위험이 따르니 본인이 판단하라"로 끝난다. 보기엔 옳지만 매수/매도 버튼을 누를 근거가 없다. 진짜 부족한 건 '분석 능력'이 아니라 결론을 내고 그 결론에 책임지는 규율이다.
스킬 절차가 마지막에 반드시 ① 한 줄 결론, ② 4차원 별점표(★1~5), ③ 불(Bull) vs 베어(Bear) 각 5~7개, ④ 버핏 10항목 체크리스트, ⑤ 분층 매매 제안+가격대까지 빈칸 없이 채우라고 못 박는다. 동시에 "자료가 많다≠확실하다"를 계속 경고해, 결론을 내되 과신은 막는 이중 구조다.
'백엔드/프론트엔드'가 없는 레포 — 무엇으로 이뤄졌나.
이 프로젝트엔 서버도 웹 화면도 없다. 그래서 일반적인 백엔드/프론트엔드 대신 '런타임 / 스킬 / 도구 / 데이터 / 출력'의 5층으로 보는 게 맞다. 실행 엔진은 통째로 Claude Code가 빌려주고, 레포는 그 위에 얹는 레시피(마크다운)와 계산기(파이썬)만 들고 있다.
| 층 | 구성 | 역할 |
|---|---|---|
| 런타임 | Claude Code (Anthropic) + WebSearch + Team/Task/SendMessage 멀티에이전트 API | 스킬을 읽어 실제로 검색·분석·하위에이전트 호출을 수행하는 엔진. 레포가 직접 제공하지 않음 |
| 스킬 | skills/*.md 18개 (Markdown) | "무엇을 어떤 순서로 어떻게 출력하라"는 지시문. 레포의 진짜 본체 |
| 도구 | tools/*.py 9개 (Python 표준 라이브러리만) + log-command.sh | LLM 암산을 대체하는 정밀계산·데이터수집·리포트 감사 |
| 데이터 | data/*.csv·json (관심종목·펀더멘털·10년 자산상관) | 스크리너·백테스트의 입력 |
| 출력 | reports/ (.md 2,000여 개), 筛选公司/, 实盘记录/ | 스킬이 생성한 실제 리서치 산출물(=사용 예시 겸 증거) |
README는 이 중 16개를 '공식 카탈로그'로 소개한다(폴더엔 bottleneck-hunter·wechat-article 2개가 더 있다). 묶음별로:
| 묶음 | 스킬 | 쓰임 |
|---|---|---|
| 🔬 심층연구 | investment-research · investment-team · management-deep-dive · private-company-research · deep-company-series | 상장사 전방위 분석, 4에이전트 병렬, 경영진 심층, 비상장사, 8편 12만자 시리즈 |
| 📊 재무분석 | earnings-review · earnings-team | 1차 자료(원본 재무제표)만 읽는 재무 정독, 4대 거장 병렬 해설+발행용 글 |
| 🏭 산업필터 | industry-research · industry-funnel · quality-screen · investment-checklist | 산업 전수 → 깔때기 ≤10개 → 최종 3개 심층 / 7대 하드지표 탈락 / 버핏 6관문 |
| 📈 포트폴리오 | portfolio-review · thesis-tracker · news-pulse | 비중·집중도·리밸런싱 / 매수논리 반증 추적 / 주가 급변 10분 원인규명 |
| 🧠 사고도구 | dyp-ask · financial-data | 돤융핑처럼 사고하기 / 2개 출처 교차검증 규범 |
financial_rigor.py | 대표 도구. Decimal 정밀계산. 시가총액 검산·밸류에이션·다중출처 교차검증·3시나리오 목표가·Benford 이상탐지·정밀 계산기 |
report_audit.py | 완성 리포트에서 15% 무작위 표본을 뽑아 재검증 → '준출(통과)/반려' 판정 |
stock_screener.py | 관심종목/지정종목 스캔 |
momentum_backtest.py (+v2) | 모멘텀 전략 백테스트 |
xueqiu_scraper.py | 중국 투자 커뮤니티 쉐치우(雪球) 데이터 수집 |
ashare_data.py | A주(중국 본토) 시세·재무 — 텐센트 시세 + 둥팡차이푸, 무외부의존 |
morningstar_fair_value.py | 모닝스타 적정가치 데이터 처리 |
이 레포를 음식점에 빗대면 — Claude Code = 주방과 셰프(불·칼·손), skills/ = 레시피북(이 요리는 이 순서로), tools/ = 정밀 저울과 타이머(셰프의 눈대중을 못 믿으니까), reports/ = 그동안 내놓은 요리 사진첩이다. 레포 저자는 재료(LLM)도 주방(런타임)도 안 만들었다 — 레시피와 저울만 기가 막히게 짰다.
3층 설계 + /investment-team의 4에이전트 병렬 흐름.
저자가 명시한 설계 철학은 3층이다 — Skill층(무엇을 할지를 16개 입구로 추상화) → Agent층(각 스킬 내부에서 4개 에이전트가 병렬로 독립 검색·판단·상호반박) → Tool층(정밀계산·실시간 검색·리포트 표본감사로 데이터 엄밀성 보장). 가장 정교한 건 플래그십 /investment-team의 실제 멀티에이전트 흐름이다.
여기서 배울 만한 설계 결정 3가지:
흔한 멀티에이전트는 일을 4등분(검색/요약/표/교정)하지만, 여기선 같은 회사를 4명이 통째로 따로 분석한다. 그래서 결과가 충돌하고, team-lead가 그 충돌을 메우며 사각지대를 줄인다. "버핏: 싸다(★4.4) ↔ 리루: 10년 불확실(★2.0)" 같은 모순이 버그가 아니라 기능이다.
각 에이전트는 결과를 공유 파일에 쓰지 않고 SendMessage로 team-lead에게 직접 보낸다(run_in_background:true로 백그라운드 병렬). 끝나면 team-lead가 shutdown_request로 정리. Claude Code의 Team/Task/SendMessage 멀티에이전트 원초기능을 교과서적으로 쓴 사례다.
| 장치 | 막으려는 것 | 예시 |
|---|---|---|
| 정보밀도 A/B/C | "자료 많음=확실함" 착각 | 신생기업=B/C급 → 추산치에 신뢰도 라벨 강제 |
| 멍거식 역발상 | 실패 시나리오 회피 | "이 회사는 어떻게 죽나?" 5개 시나리오+확률 |
| 즉결 거부 리스트 | 저렴함에 홀려 레드라인 무시 | 경영진 정직성 오점 → 밸류 불문 즉시 탈락 |
| 반컨센서스 점검 | 시장 의견 그대로 복창 | "똑똑한 이들은 왜 공매도하나?" |
| 여백(留白) 원칙 | 추측으로 확신을 위장 | 자료 부족 시 "회색지대"로 비워 둠 |
어디에 무엇이 있고, 왜 그렇게 나눴나.
구조에서 읽히는 설계 의도:
① 출력이 곧 마케팅이자 테스트다. reports/에 2,000개 넘는 실제 리포트를 통째로 커밋해 뒀다. 스킬이 진짜 돌아간다는 증거이자, "내 도구로 이만큼 나온다"는 쇼케이스다. 각 회사 폴더의 01~04 번호 파일이 곧 4대 거장 4시점이라 폴더만 봐도 프레임워크가 보인다.
② CLAUDE.md와 ai_CLAUDE.md의 분리. 전자는 바뀌지 않는 '규칙'(객관성·명명·통화 단위 검증), 후자는 대화하며 쌓인 '기억'(사용자가 미국 인터넷+소비+AI 선호, 추측보다 정확성 등)이다. 규칙(불변)과 기억(가변)을 파일로 나눈 점이 학습 포인트.
ai_CLAUDE.md는 "초기 리포트 파일명이 중국어·언더바 혼용으로 불규칙", "README 출력 예시는 허구", "financial_rigor.py 실제 커버리지는 스킬 실행에서 검증 필요"라고 스스로 적어 둔다. 정직한 메모지만, 뒤집으면 README의 화려한 표를 곧이곧대로 믿으면 안 된다는 뜻이기도 하다.
이 레포에서 실제로 가져갈 수 있는 것.
주의할 점부터 — 여기서 배울 핵심은 '주식 고르는 법'이 아니라 '프롬프트·에이전트를 제품처럼 설계하는 법'이다. 투자 도메인은 예시일 뿐, 같은 패턴은 법률·의료·경쟁분석 어디든 옮겨 붙는다.
스킬 하나하나가 역할(role)·절차(process)·출력 계약(output contract)을 갖춘 작은 프로그램이다. /investment-team은 10단계 절차와 8번 출력 구조를 명시한다. "잘 부탁해"가 아니라 "1단계 팀구조 제시 → … → 7단계 이 표 형식으로 결론"처럼 실행 명세로 쓴 게 핵심. 배울 것: 결과를 강제하려면 형식을 강제하라.
Team/Task/SendMessage로 4개 하위 에이전트를 병렬 기동하고 메시지로 취합하는 실전 패턴. "언제 분업(병렬 잘게)이 아니라 대립(같은 일을 따로)을 써야 하나"라는 설계 판단을 보여준다.
"사실과 의견 분리", "'나는 ~라고 생각한다' 금지 → '데이터에 따르면'", "반증 시나리오 강제", "신뢰도 라벨", "모르면 여백" — 이건 투자뿐 아니라 AI에게 진지한 분석을 시킬 때 공통으로 쓸 수 있는 무기다.
float가 아니라 Decimal로 계산하는 이유(0.1+0.2≠0.3), 시가총액을 '주가×주식수'로 손검산해 통화 단위 오류를 잡는 습관, 모든 핵심 수치를 2개 독립 출처로 교차검증(오차>1% 경고)하는 규율. LLM의 암산을 믿지 않는 설계가 일관된다.
float는 컴퓨터가 2진수로 어림하는 소수라 0.1+0.2가 0.30000000000000004가 된다. Decimal은 사람이 쓰는 10진수를 정확히 계산한다. 돈 계산에서 어림은 금물이라 금융 코드는 Decimal을 쓴다.· 내 분야(예: 채용 후보 평가)를 /candidate-team 4관점(기술/문화/성장성/리스크)으로 바꿔 스킬 작성
· financial_rigor.py에 새 명령(예: PEG 검산) 추가해 보기
· "반증 시나리오 강제" 한 줄을 내 일반 분석 프롬프트에 넣고 출력 변화 관찰
· report_audit.py의 15% 표본감사 아이디어를 내 리포트 워크플로에 이식
무엇이 있어야 돌아가나.
| 항목 | 요구 | 메모 |
|---|---|---|
| Claude Code | 필수 | npm install -g @anthropic-ai/claude-code |
| Anthropic 계정 | 필수 | API 키 또는 구독 — 에이전트 4개 병렬은 토큰을 꽤 먹는다 |
| Node.js / npm | 필수 | Claude Code 설치용 |
| Python | 3.7+ (권장 3.11) | 도구는 표준 라이브러리만 사용 — pip install 불필요 |
| git | 권장 | 레포 클론 + 리포트 버전관리 |
| 네트워크 | 필수 | WebSearch로 실시간 재무·뉴스 수집 |
설치는 3줄이면 끝난다 — 빌드도, 의존성 설치도 없다. 스킬을 Claude Code의 전역 명령 폴더에 '복사'만 하면 된다:
# 1) Claude Code 설치
npm install -g @anthropic-ai/claude-code
# 2) 레포 클론 + 스킬을 명령 폴더로 복사
git clone https://github.com/xbtlin/ai-berkshire.git
cp ai-berkshire/skills/*.md ~/.claude/commands/
# 3) Claude Code 안에서 바로 호출
/investment-checklist 마오타이, 엔비디아, 애플
/investment-team 메이투안
/dyp-ask 핀둬둬의 해자는 대체 어디에 있나?
"설치"라기보다 레시피 카드를 주방 서랍에 끼워 넣는 일에 가깝다. 새 프로그램을 깔아 컴파일하는 게 아니라, 텍스트 파일 18장을 정해진 폴더(~/.claude/commands/)에 두는 것뿐. 그래서 "빌드 실패" 같은 게 원천적으로 없다.
~/ai-berkshire/로 하드코딩스킬들은 도구를 python3 ~/ai-berkshire/tools/financial_rigor.py …로 부른다. 클론 위치가 다르면 도구 호출이 깨진다. 홈 디렉터리에 ai-berkshire로 클론하거나, 스킬 안 경로를 본인 환경에 맞게 고쳐야 한다.
난이도별 — 손으로 익히는 게 가장 빠르다.
설치 후 /investment-checklist 애플 또는 /dyp-ask 코카콜라의 해자는?를 실행한다. 출력이 어떤 고정 형식(별점표·결론·가격대)으로 강제되는지 관찰하라. 같은 명령을 다른 종목으로 한 번 더 돌려, '재현성'(형식이 똑같이 나오는지)을 직접 확인.
skills/investment-checklist.md를 본떠 moat-check.md를 만든다. 역할·5단계 절차·출력 표 형식을 명시하고 $ARGUMENTS를 넣어 보라. ~/.claude/commands/에 넣고 /moat-check 스타벅스로 호출. "형식을 강제하면 결과가 안정된다"를 체감하는 게 목표.
/investment-team 흐름 추적하기플래그십을 실행하고 team-lead가 ① 4개 Task를 만들고 ② 4 에이전트를 병렬 기동하고 ③ SendMessage로 보고받아 ④ 종합하는 과정을 단계별로 따라가라. 그런 다음 financial_rigor.py에 새 서브명령(예: verify-peg)을 추가해 보라(입력 파싱→Decimal 계산→출력).
"정보밀도 A/B/C 등급", "멍거식 역발상(어떻게 죽나?)", "반컨센서스 점검"을 떼어내, 투자와 무관한 본인 분석 프롬프트(예: 사업계획 검토)에 심어라. report_audit.py의 15% 무작위 표본 감사 개념도 함께 이식해, '결론을 내되 과신을 막는' 이중 구조를 재현.
가장 값진 응용. 4대 거장 = 4관점 대립 구조를 전혀 다른 분야로 옮긴다 — 예: 채용(기술/문화/성장/리스크), 논문심사(참신성/엄밀성/재현성/영향력), 제품기획(사용자/비즈니스/기술/법무). 핵심은 "서로 반박하게" 짜고, team-lead가 충돌을 메우게 하는 것. 이게 이 레포의 진짜 이식 가능한 자산이다.
이 레포를 '제대로' 이해하려면 주차별로.
| 주차 | 주제 | 무엇을 / 왜 |
|---|---|---|
| 1주차 | Claude Code 기본 + 슬래시 명령어 + CLAUDE.md | 실행 엔진을 먼저 익힌다. 커스텀 명령이 그냥 .md라는 사실, $ARGUMENTS 주입, CLAUDE.md가 프로젝트 헌법이 되는 원리 |
| 2주차 | 프롬프트 엔지니어링 / 스킬 작성법 | 역할·절차·출력계약을 명세로 쓰는 법. 예시·반례·단계별 추론·출력 형식 강제. (Anthropic 프롬프트 문서 병행) |
| 3주차 | 멀티에이전트 오케스트레이션 | Team/Task/SendMessage, 하위 에이전트 병렬, 백그라운드 실행, 결과 취합. '분업 vs 대립' 설계 판단 |
| 4주차 | 데이터 엄밀성 + 인식론 설계 | Decimal 정밀계산, 다중출처 교차검증, 표본 감사, 신뢰도 라벨·반증 강제 같은 '편향 방지' 기법 |
| 5주차 | 가치투자 도메인(선택) | 해자·안전마진·자본배분·13F. 단, 이건 예시 도메인일 뿐 — 핵심은 패턴을 내 분야로 옮기는 것 |
| 6주차 | 이식 프로젝트 | 4역할 대립 구조를 본인 도메인으로 재구현(LV.5). 여기까지 오면 레포를 '소화'한 것 |
처음 보면 막히는 말들.
| 키워드 | 한 줄 뜻 |
|---|---|
| Claude Code | 터미널에서 도는 AI 에이전트. 이 레포의 실행 엔진 |
| 슬래시 명령어 / 스킬 | /이름으로 부르는 사용자 정의 명령. 실체는 마크다운 한 장 |
| $ARGUMENTS | 명령 뒤에 붙인 인자가 스킬 안에서 치환되는 자리표시자 |
| CLAUDE.md | 프로젝트 규칙을 담는 '헌법' 파일. Claude가 항상 참조 |
| subagent(하위 에이전트) | 메인이 띄우는 별도 AI 작업자. 독립 컨텍스트로 병렬 분석 |
| Team/Task/SendMessage | 팀 생성·작업 배정·에이전트 간 메시지의 멀티에이전트 3종 기능 |
| 4대 거장(四大师) | 버핏·멍거·돤융핑·리루. 각 에이전트의 분석 페르소나 |
| 해자(moat, 护城河) | 경쟁자가 못 넘는 지속적 우위(브랜드·전환비용·네트워크·규모) |
| 안전마진(safety margin) | 내재가치보다 충분히 싸게 사서 두는 오차 완충 |
| 거울 테스트(镜子测试) | "5문장으로 매수 이유를 못 말하면 안 산다"는 자기점검 |
| 정보밀도 A/B/C | 자료 풍부도 등급. "많다≠확실하다"를 강제로 의식 |
| 멍거식 역발상(inversion) | "어떻게 성공하나" 대신 "어떻게 죽나"를 먼저 묻기 |
| Decimal | 10진수 정밀계산 타입. 돈 계산에서 float 오차를 피함 |
| Benford 법칙 | 자연스러운 숫자의 첫자리 분포 법칙 — 재무 조작 탐지에 활용 |
| 13F | 미국 대형 투자기관의 분기 보유종목 공시. 거장 추종에 사용 |
| GAAP / Non-GAAP | 회계 표준 이익 / 회사 조정 이익 — 출처별 수치 차이의 주범 |
원본·공식 문서·배경 지식.