lyra81604/zhengxi-views. 중국 易方达(E Fund)의 펀드매니저 郑希(정시)의 2012–2026 공개 발언 원문 + 그가 한 말로 뒷받침되는 투자방법론 + 그가 운용한 8개 펀드 실데이터 + 전체시장 ~2.7만 펀드 목록을 묶어, 모든 답변이 1차 원문으로 추적(可溯源)되도록 강제하는 투자리서치 Q&A·펀드 점수화 Claude Code/WorkBuddy용 Agent Skill이다. 단순 프롬프트 팩이 아니라 SKILL.md(행동지시)+references/(지식)+scripts/(실행코드)+evals/(평가)+skill.yml(매니페스트)를 갖춘 "완성형 스킬" 패키징이라 주목받는다. (lyra81604/zhengxi-views · 언어 Python(scripts ~892줄)+Markdown 데이터 · 코드+데이터 ~6,845줄 · 라이선스 MIT(코드/문서 한정; 펀드 원문 데이터 저작권은 원권리자) · 단일 squash 커밋(2026-06-23) 신생 · 데이터 스냅샷 2026-06-19 · TrendShift Weekly #15)
zhengxi-views는 한 펀드매니저의 공개 발언과 공개된 펀드 데이터를 정리·검색하는 학습/연구 도구일 뿐, 특정 종목·펀드의 매수·매도·보유를 권유하지 않습니다. 본 딥다이브도 기술 설계를 공부하기 위한 해설이며 투자 권유가 아닙니다. 과거 발언·성과는 미래 수익을 보장하지 않고, 펀드 점수화(scorecard)는 기계적 지표 계산일 뿐 투자 판단의 근거가 될 수 없습니다. 실제 투자 결정은 반드시 본인 책임으로, 자격 있는 전문가와 상의하고 1차 공시자료를 직접 확인하세요. (펀드 원문 데이터의 저작권은 天天基金·易方达 등 원권리자에게 있으며, 본 프로젝트는 학습용 수록만을 주장합니다.)
"보통 챗봇은 '그럴듯한 말'을 한다. 이 스킬은 '누가 언제 어디서 한 말인지 원문을 들고' 답하게 만든다."
금융 도메인의 가장 큰 위험은 "AI가 그럴듯하게 지어내는 것"입니다. "그 매니저가 광통신을 좋게 봤다"는 말이 진짜인지, 환각인지 구분이 안 되면 위험합니다. zhengxi-views는 이 문제를 정공법으로 풉니다. 모든 답변이 corpus/(정기보고·투자수기·미디어 인터뷰의 원문 단락)로 회귀하도록 강제하고, "이건 그가 실제로 한 말(원화·原话)", "이건 그 말에서 추론한 방법", "이건 코퍼스에 없어 미검증"을 세 가지로 또렷이 구분합니다. 거기에 그가 운용한 펀드의 분기 보유종목 실데이터를 붙여, "말한 것 ↔ 실제 산 것"을 데이터로 대조(言行对照)합니다.
SKILL.md — 맨 위 YAML 머리말(name·description)로 "언제 이 스킬을 켤지"를 알리고, 본문에 "이럴 땐 이렇게 행동하라"는 지시를 적습니다. zhengxi-views는 여기서 한발 더 나가 지식(references/)·실행코드(scripts/)·평가셋(evals/)·배포 매니페스트(skill.yml)까지 동봉한 "완성형 스킬"의 모범 사례라, '스킬을 어떻게 패키징하는가'를 배우기 좋습니다.좀 더 구체적으로, zhengxi-views는 Python 스크립트 7개(약 892줄) + 마크다운/JSON 데이터로 이뤄진 폴더입니다. Claude Code(또는 텐센트의 WorkBuddy) 호스트가 이 스킬을 로딩하면, 사용자가 "정시는 인공지능을 어떻게 보나?"라고 물었을 때 에이전트가 search_corpus.py "인공지능"을 돌려 원문 단락과 출처를 가져와 그 말을 인용해 답합니다. "그가 광통신을 좋게 봤다는데, 실제로 샀나?"라고 물으면 코퍼스의 발언과 펀드의 동일 분기 보유종목을 교차검증합니다(예: 광통신 발언 ↔ 001513 펀드 2025Q2의 中际旭创·新易盛 보유 확인).
이 문서가 파고드는 건 "정시가 뭐라 했나"가 아니라 그 안의 설계입니다 — "어떻게 스킬을 지시/지식/실행 3계층으로 나누나", "어떻게 AI가 못 지어내게 출처를 강제하나", "왜 데이터를 사람용 .md와 기계용 .json 두 벌로 두나", "어떻게 단일 명령 호출로 에이전트 권한 팝업을 피하나". Agent Skill 패키징·출처추적 RAG·금융 도메인 설계를 처음 공부하는 사람에게 살아 있는 교본입니다. (다만 자료가 전부 중국어라 번역·맥락 비용이 든다는 점은 정직하게 짚고 가겠습니다 — 본문 곳곳에 한자를 병기합니다.)
"2026년 화두는 '스킬을 어떻게 잘 패키징하나'와 'AI가 못 지어내게 어떻게 묶나'다. 이 레포는 두 질문에 동시에 답한다."
Claude Code의 Agent Skill이 퍼지면서, 대부분의 스킬은 SKILL.md 한 장(=프롬프트 팩)에 그쳤습니다. 그런데 진짜 잘 만든 스킬은 행동 규칙·참고 지식·실행 도구·자기 평가를 한 폴더에 갖춥니다. zhengxi-views는 이 "풀 패키지"를 금융 리서치라는 까다로운 도메인에서 보여 줘 모범 사례로 회자됩니다. 아래 5종 구성요소가 한 스킬 안에 다 있습니다.
| 구성요소 | 파일/폴더 | 역할 (이게 왜 중요한가) |
|---|---|---|
| ① 행동 지시 | SKILL.md | "언제 이 스킬을 켜고, 어떻게 답하고, 무엇을 절대 하지 말지"의 규칙. 출처추적 규율이 여기 명문화됨 |
| ② 매니페스트 | skill.yml + SKILL.md YAML | 듀얼 — Anthropic 표준(name/description)과 텐센트 WorkBuddy 매니페스트를 둘 다 제공해 두 호스트에서 동작 |
| ③ 참고 지식 | references/ | 방법론(method.md)·평가카드(scorecard.md)·코퍼스 색인(corpus_index.json)·원문 코퍼스·펀드 데이터 |
| ④ 실행 코드 | scripts/ (7개) | 코퍼스 검색·펀드 조회·스크래핑·점수화 등. 에이전트가 직접 실행하는 결정론적 도구 |
| ⑤ 자기 평가 | evals/evals.json | 溯源(출처추적)·前瞻(전망)·风格(문체) 평가셋. 스킬이 규율을 지키는지 회귀 검증 |
흔한 스킬은 "이렇게 행동해"라는 글(SKILL.md) 한 장입니다. 유용하지만, 지식이 모델 파라미터(=환각 가능)에 의존하고, 실행이 매번 즉흥적이며, 잘 도는지 검증할 방법이 없습니다. zhengxi-views는 그 위에 ① 1차 원문 코퍼스(환각 대신 인용), ② 결정론적 Python 스크립트(즉흥 대신 재현 가능한 계산), ③ evals(감으로가 아니라 측정으로 검증)를 더합니다. 즉 "잘 행동하라는 부탁"이 아니라 "원문으로만 말하게 하고, 계산은 코드가 하고, 규율 준수는 평가셋이 채점하는 시스템"입니다.
"AI에게 어떤 사람의 견해를 물어보는" 봇은 많습니다. 차이는 환각을 어떻게 막느냐입니다.
| 관점 | zhengxi-views | 일반 'AI 페르소나' 챗봇 |
|---|---|---|
| 지식의 출처 | 1차 원문 코퍼스(정기보고·수기·인터뷰) | 모델이 학습 중 '본 듯한' 기억(환각 위험) |
| 답변 근거 | 원문 단락 + 출처(날짜·매체·링크) | 출처 없는 단언 |
| 사실 3구분 | 원화 / 방법 추론 / 미검증을 명시 | 구분 없이 뭉뚱그림 |
| 코퍼스 밖 질문 | "郑希 미발언" 굵게 선언 후 추론으로 한정 | 그냥 지어내기 쉬움 |
| 말 vs 행동 | 발언 ↔ 분기 보유 데이터 교차검증 | 대조 불가(데이터 없음) |
| 펀드 평가 | 코드가 6차원 기계 지표로 채점 | 주관적 인상평 |
요약하면 셀링 포인트는 셋입니다. ① Agent Skill 패키징의 모범(지시/지식/실행/평가/매니페스트 풀세트), ② 출처추적 RAG의 정공법(원문 회귀 강제 + 원화/추론/미검증 3구분으로 환각 억제), ③ 금융 도메인 언행대조("말한 것"과 "실제 산 것"을 데이터로 맞춰 봄).
금융에서 가장 위험한 건 "전문가 아무개가 ○○를 좋게 봤다"는 그럴듯한 거짓말입니다. 그 말을 믿고 움직이면 손실로 직결됩니다. zhengxi-views의 SKILL.md는 이를 데이터 차원에서 막습니다: "질문이 코퍼스 범위 밖이면, 답변 첫 줄에 '郑希 미발언(정시가 직접 말한 바 없음)'을 굵게 선언하고, 그 다음에만 method.md 기반으로 조심스럽게 추론하라". "있어 보이는 답"보다 "없으면 없다고 먼저 말하는 정직함"을 강제하는 설계입니다.
정직하게 짚겠습니다. 이 레포의 강점인 언행대조에도 한계가 있습니다. ① 데이터 시점차 — 발언은 실시간이지만 보유종목 공시는 분기 말 스냅샷이라, "말한 시점"과 "보인 시점"이 어긋날 수 있습니다(공시는 늘 과거를 보여 줍니다). ② 펀드는 팀 운용 — 한 종목이 보유됐다고 그게 매니저 개인의 신념이라 단정할 수 없습니다. ③ scorecard는 기계 지표 — 집중도·회전율 근사·낙폭 같은 숫자일 뿐, 운용의 질을 다 담지 못합니다. ④ 전부 중국어 1차자료라 번역·해석에서 왜곡이 생길 수 있고, ⑤ 데이터 스냅샷(2026-06-19)은 곧 낡습니다. 또 이 레포는 단일 squash 커밋의 신생 프로젝트라 구조가 빠르게 바뀔 수 있습니다. 발상(출처추적·언행대조)은 설득력 있지만 — 이것은 '판단을 돕는 정리 도구'이지 '판단을 대신하는 신탁'이 아닙니다. 투자 결정의 근거로 삼지 마세요(다시 강조: 투자조언 아님).
"코드는 Python 몇백 줄뿐. 진짜 핵심은 '듀얼 매니페스트'와 '사람용 .md + 기계용 .json 데이터 쌍'에 있다."
zhengxi-views는 화면도 GPU도 데이터베이스도 없는 순수 로컬 Agent Skill입니다. 무게중심이 코드가 아니라 데이터 구조와 규율에 쏠려 있습니다 — 코드는 검색·조회·점수화를 돕는 얇은 도구일 뿐, "무엇을 어떻게 답할지"의 지능은 SKILL.md(규율)와 references/(원문·방법)에 담겨 있습니다. MCP를 쓰지 않는 순수 로컬 스킬이라는 점도 중요합니다 — 서버를 띄울 필요 없이 폴더만 있으면 됩니다.
| 매니페스트 | 대상 호스트 | 한 줄 설명 |
|---|---|---|
SKILL.md YAML 머리말 | Anthropic Claude Code | 표준 name/description으로 "언제 켤지" 트리거. 본문에 행동 규율 |
skill.yml | 텐센트 WorkBuddy | WorkBuddy 매니페스트. instructions_file: SKILL.md로 같은 본문을 가리켜 한 스킬을 두 호스트가 공유 |
SKILL.md 맨 위 YAML은 Claude Code가 읽고, skill.yml은 텐센트 WorkBuddy가 읽습니다. 영리한 점은 skill.yml이 행동 규칙을 다시 쓰지 않고 instructions_file: SKILL.md로 같은 본문을 가리킨다는 것 — 규칙은 한 곳(SKILL.md)에만 두고 두 호스트가 공유합니다(중복·불일치 방지). Loom 딥다이브의 '엔진 1개 + 어댑터 여러 개'와 같은 정신입니다.| 데이터 | 형식 | 역할 |
|---|---|---|
| 분기 보유종목 (季度持仓) | .md + .json | 각 펀드의 분기별 상위 보유종목. .md는 LLM이 읽고, .json은 스크립트가 파싱 |
| 순자산/성과/규모 (净值业绩规模) | .md + .json | 펀드 수익률·낙폭·운용규모. 점수화의 입력 |
| 코퍼스 색인 | corpus_index.json | 76건의 원문에 대한 type/date/link/path 메타데이터 — 검색의 지도 |
| 전체 펀드 목록 | fund_list.json | 시장 전체 ~2.7만 개 펀드 식별자 — 코드 해석·조회용 |
.md)과 기계가 파싱하기 좋은 .json 두 벌로 두는 패턴입니다. 왜 굳이 두 벌? LLM은 표·문장으로 된 .md를 "이해"하는 데 강하고, Python 스크립트는 구조화된 .json을 "계산"하는 데 강하기 때문입니다. 한 벌만 두면 한쪽이 불편해집니다. zhengxi-views는 "읽기는 .md, 계산은 .json"으로 역할을 갈라, 사람의 가독성과 코드의 파싱 정확도를 동시에 잡습니다.| 스크립트(역할) | 네트워크 | 하는 일 |
|---|---|---|
| search_corpus.py (코퍼스 검색) | 무(無) | 키워드로 원문 단락을 찾아 출처와 함께 반환. 출처추적의 엔진 |
| fund_lookup.py (펀드 코드 해석) | 무 | 펀드 코드/이름을 로컬 목록에서 식별 |
| fetch_any_fund.py (실시간 조회) | 유(有) | 天天基金(데이터 출처)에서 펀드 데이터 스크랩 + 캐시 |
| score_fund.py (점수 계산) | 무 | 집중도·환수(회전율) 근사·수익/낙폭·규모 등 기계 지표 산출 |
| build_*.py ×2 (색인 빌드) | 무 | 코퍼스/데이터에서 색인·집계 파일 생성 |
requirements.txt는 단 셋입니다 — requests, beautifulsoup4, lxml(전부 스크래핑용). 검색·점수화 스크립트는 네트워크도 외부 의존성도 없이 로컬 파일만 읽고, 인터넷이 필요한 건 실시간 펀드 스크래핑(fetch_any_fund.py) 하나뿐입니다. 이 분리가 중요합니다 — 핵심 기능(원문 검색·기존 펀드 점수)은 오프라인에서도, 외부 장애와 무관하게 돕니다.
fetch_any_fund.py는 외부 사이트(天天基金)의 HTML 구조에 의존하므로, 그 사이트가 바뀌면 깨질 수 있습니다(스크래핑의 숙명). 또 동봉된 펀드 데이터는 2026-06-19 스냅샷이라 시간이 지나면 낡습니다. 그래서 이 스킬은 "최신 시세 도구"가 아니라 "특정 시점의 공개 데이터를 정리·검증하는 연구 도구"로 봐야 합니다. 실시간 정확도가 필요하면 1차 공시를 직접 확인해야 합니다.
"핵심은 단 하나의 발상 — AI는 머릿속 기억으로 답하지 않는다. 질문 유형을 분기해 '원문·방법·데이터'로 되돌아가게 강제한다."
한 바퀴는 이렇게 돕니다. ① 사용자가 물으면 SKILL.md가 로딩되며 질문 유형을 분기합니다. ② [관점] 질문이면 search_corpus.py "키워드"로 원문 단락+출처를 가져와 원화(原话)를 인용합니다. ③ [방법] 질문이면 method.md(정시의 원화로 뒷받침된 8챕터)를 직접 씁니다. ④ [코퍼스 밖] 질문이면 검색해 보고 없음을 확인한 뒤 "郑希 미발언"을 첫 줄에 굵게 선언하고 method.md 추론으로 한정합니다. ⑤ [언행대조]면 코퍼스 발언과 펀드의 동일 분기 보유종목을 교차합니다. ⑥ [펀드점수]면 코드 해석→스크랩/캐시→기계 지표→6차원 채점으로 점수·등급·근거를 냅니다.
가장 핵심적인 발상입니다. 보통 AI는 머릿속 기억(파라미터)으로 답합니다 — 그래서 환각이 납니다. zhengxi-views는 그 자유를 의도적으로 줄여, 답이 반드시 원문으로 회귀하게 만듭니다. SKILL.md에 명문화된 규율의 요지는 이렇습니다.
# SKILL.md — 출처추적 규율(요지)
규칙 1: 모든 사실 주장은 corpus/ 원문으로 되짚을 수 있어야 한다.
규칙 2: 세 가지를 또렷이 구분하라
- 원화(原话) : 정시가 실제로 한 말 (출처 인용)
- 방법 추론 : 그 말에서 끌어낸 방법 (method.md 근거)
- 미검증 : 코퍼스에 없음 → "郑希 미발언" 굵게 선언
규칙 3: 인용은 원문에 충실할 것.
내부 기호(예: [采2606], method.md 등)는
사용자 답변에 노출 금지 (무대 뒤 장치는 감춘다)
이 규율이 2장에서 본 "환각의 함정"을 행동 차원에서 막습니다. 특히 규칙 3의 "내부 기호 비노출"이 섬세합니다 — [采2606](채록 번호)이나 method.md 같은 무대 뒤 파일명·식별자는 검색·인용에는 쓰되 최종 답변에는 드러내지 않아, 사용자에겐 깔끔한 인용만 보이게 합니다.
맨몸 챗봇 = 기억력 좋은 척하는 평론가. "그 매니저요? 아마 광통신 좋아했을걸요?"라고 그럴듯하게 말하지만, 출처를 물으면 얼버무립니다. 틀려도 자신만만합니다.
zhengxi-views = 원문 파일을 끼고 답하는 꼼꼼한 리서처. "광통신요? 2025년 2분기 계간보고 12쪽에 이렇게 적혀 있습니다(원문 인용). 그리고 같은 분기 001513 펀드 보유종목에 中际旭创·新易盛이 실제로 들어 있네요. 단, 이건 그 시점 공시 기준입니다"라고 근거와 함께, 한계까지 말합니다. 코퍼스에 없으면 "그건 직접 말한 적 없습니다"라고 먼저 밝힙니다.
references/method.md는 정시의 투자방법론을 8개 챕터로 정리하되, 각 주장에 그의 원화(原话) 佐证(좌증·뒷받침 인용)를 답니다. 예를 들어 §1(정시 원화 요지)은 이렇습니다: "투자의 바닥은 인플레이션이 어디서 오는지 규명하는 것; 특히 공급측이 창출하는 '기술성장형 인플레이션'을 선호한다". 즉 method.md는 분석가의 해석이 아니라 "그가 한 말 + 그 말의 정리"라, 출처추적 규율을 방법론 문서에까지 관철합니다.
references/scorecard.md는 펀드를 6개 차원·총 100점으로 채점하는 규칙입니다. 주관적 인상이 아니라 코드가 계산한 숫자로 등급을 매깁니다.
| 차원 | 배점 | 무엇을 보나 |
|---|---|---|
| ① 景气 방향 · 인플레 속성 | 25 | 업황 방향과 '기술성장형 인플레'에의 부합도(정시 방법론과의 정렬) |
| ② ROE 저점 탄력 | 20 | 저점에서 자기자본이익률이 튀어오를 여지 |
| ③ 글로벌 비교우위 | 15 | 해당 산업/기업의 세계 시장 내 경쟁력 |
| ④ 유동성 | 10 | 거래·자금 흐름 측면 |
| ⑤ 집중도 · 주기 접합 | 15 | 보유 집중도와 경기 사이클과의 맞물림. 高회전율=가점(주기접합, 결점 아님) |
| ⑥ 실적 · 낙폭 검증 | 15 | 실제 수익과 최대낙폭(MDD)으로 사후 검증 |
일반적인 펀드 평가는 잦은 매매(高换手·고회전율)를 비용·불안정으로 보아 감점합니다. 그런데 scorecard는 정시의 스타일(경기 사이클을 좇아 빠르게 갈아타는 '주기접합' 투자)을 반영해, 차원 ⑤에서 高회전율을 오히려 가점으로 처리합니다. 이것이 도메인 특화 평가의 묘미입니다 — "일반론의 좋고 나쁨"이 아니라 "이 매니저의 전략 안에서 좋고 나쁨"을 점수화합니다. (물론 이는 이 스킬의 관점일 뿐, 정답은 아닙니다.)
펀드의 정확한 회전율은 외부에서 알기 어렵습니다(내부 거래 기록이 필요). 그래서 score_fund.py는 영리한 대리지표(proxy)를 씁니다 — 인접한 두 분기의 상위 10 종목이 얼마나 겹치는지를 보고, 겹침이 적을수록 "많이 갈아탔다(=회전율 높음)"고 근사합니다.
# score_fund.py — 회전율 대리지표(turnover proxy)
# sa, sb = 인접 두 분기의 상위10 보유종목 '집합(set)'
overlap = len(sa & sb) / len(sb) # 두 분기에 함께 있는 비율(0~1)
turnover_proxy = 1 - overlap # 겹침이 적을수록 = 많이 갈아탐
# 예) 상위10 중 6개가 그대로면 overlap=0.6 → 회전율 근사 0.4
sa & sb는 파이썬 집합(set)의 교집합 — 두 분기에 공통으로 든 종목만 남깁니다. len(...)으로 그 개수를 세고 len(sb)로 나눠 비율을 냅니다. 완벽하진 않지만(상위10만 보고, 비중 변화는 무시), 공개 데이터만으로 회전 성향을 가늠하는 실용적 트릭입니다.에이전트가 스크립트를 돌릴 때마다 사용자에게 "이 명령 실행해도 돼요?" 팝업이 뜨면 흐름이 끊깁니다. zhengxi-views의 스크립트는 이 마찰을 줄이도록 설계됐습니다 — 스크립트가 자기 경로를 절대경로로 스스로 탐색하고, 출력 길이 상한을 내장해, 에이전트가 인자 한 줄짜리 단일 명령으로 부를 수 있게 합니다(여러 단계로 쪼개 묻지 않아도 됨).
"references/는 지식의 금고, scripts/는 손과 발, SKILL.md는 머리. 폴더 구조 자체가 '스킬 설계도'다."
| 경로 | 형식 | 왜 이 형식인가 |
|---|---|---|
| corpus/ | 원문 텍스트 | 1차 자료는 가공하지 않고 보존 → 인용의 진실성 |
| corpus_index.json | JSON 색인 | 76건을 type/date/link/path로 색인 → 스크립트가 빠르게 찾음 |
| method.md / scorecard.md | 마크다운 | LLM이 읽고 판단할 지식 → 사람 가독성 우선 |
| fund_data/*.md + *.json | 듀얼 | 읽기는 .md, 계산은 .json (MD+JSON 듀얼 출력 패턴) |
| fund_list.json | JSON | ~2.7만 행의 기계적 조회 → JSON이 적합 |
| evals.json | JSON | 평가 케이스를 구조화 → 자동 채점 가능 |
references/)과 실행(scripts/)을 나눕니다. references/는 "AI가 읽고 판단할 재료"(원문·방법·평가규칙)이고, scripts/는 "AI가 돌려 결과를 얻는 도구"(검색·계산)입니다. 비유하면 references/는 도서관, scripts/는 계산기입니다. 이렇게 나누면 지식을 늘릴 때 코드를 안 건드리고, 도구를 고칠 때 지식을 안 건드려도 됩니다. SKILL.md(머리)가 이 둘을 언제 어떻게 쓸지 지휘합니다 — 지시/지식/실행 3계층 분리입니다.무게중심을 보면, 이 레포는 코드(scripts/ 892줄)보다 데이터와 규율(references/ + SKILL.md)에 훨씬 많은 무게가 실려 있습니다(전체 ~6,845줄 중 대부분이 데이터). 이는 곧 "이 스킬의 가치는 똑똑한 알고리즘이 아니라, 잘 모은 1차 원문 + 그것을 정직하게 쓰게 하는 규율"에 있다는 뜻입니다.
"zhengxi-views 한 레포 안에 스킬 패키징·출처추적 RAG·데이터 듀얼 출력·권한 마찰 설계·자체 평가가 다 들어 있다."
배울 것: 스킬을 지시(SKILL.md)·지식(references/)·실행(scripts/)으로 나누는 설계. 그리고 SKILL.md YAML과 skill.yml로 여러 호스트(Claude Code·WorkBuddy)를 한 스킬로 지원하는 듀얼 매니페스트. "프롬프트 한 장"을 넘어선 패키징 감각입니다.
실습: 아주 작은 스킬을 만들어 SKILL.md(행동)·references/notes.md(지식)·scripts/find.py(실행) 3계층으로 나눠 보기. SKILL.md 머리말의 description만 바꿔 가며 "언제 스킬이 켜지는지" 트리거 동작을 관찰.
배울 것: AI가 머릿속 기억으로 답하지 않고 1차 원문으로 회귀하게 만드는 법. "원화 / 방법 추론 / 미검증"을 또렷이 구분해 환각을 억제하는 규율. "없으면 없다고 먼저 말하기"의 가치. 금융처럼 틀리면 위험한 도메인의 핵심기예입니다.
실습: 원문 5~10개를 폴더에 모으고, "이 폴더에 근거가 있으면 인용하고, 없으면 '근거 없음'을 먼저 선언하라"는 규칙을 SKILL.md에 적은 뒤, 코퍼스 안/밖 질문을 던져 행동 차이를 확인.
배울 것: 같은 데이터를 사람(LLM)용 .md와 기계용 .json 두 벌로 두는 이유와 방법. LLM은 .md로 "이해"하고 스크립트는 .json으로 "계산"한다는 역할 분담. 데이터 파이프라인 설계의 실전 감각입니다.
실습: 표 형태 데이터(예: 내 가계부)를 data.md(읽기용 표)와 data.json(계산용)으로 동시에 생성하는 작은 빌드 스크립트를 작성. 한쪽만 있을 때의 불편을 직접 체감해 보기.
배울 것: 에이전트가 도구를 매끄럽게 쓰게 하는 사용성 설계 — 스크립트가 자기 경로를 절대경로로 탐색(상대경로 의존 제거), 출력 길이 상한 내장, 인자 한 줄짜리 단일 명령 호출. "사람이 쓰는 CLI"와 "에이전트가 쓰는 CLI"의 차이를 배웁니다.
실습: 작은 파이썬 스크립트를 (a) 상대경로·무제한 출력으로, (b) 자기경로 탐색·출력상한으로 두 버전 만들어, 에이전트(또는 다른 폴더에서) 실행 시 어느 쪽이 덜 깨지는지 비교.
배울 것: "잘 도는 것 같다"는 감이 아니라 평가셋으로 측정하는 습관. evals.json처럼 溯源(출처추적)·前瞻(전망)·风格(문체) 같은 차원별 케이스를 두고, 스킬을 고친 뒤 규율이 깨지지 않았는지 회귀 검증하는 법. 프롬프트/스킬도 '테스트'가 필요하다는 사고방식입니다.
실습: 내 스킬에 evals.json을 추가해 "코퍼스 밖 질문엔 반드시 '근거 없음'을 먼저 말한다" 같은 케이스를 5개 넣고, 답변이 그 규칙을 지키는지 수동으로 채점하는 표를 만들기.
배울 것: 일반론이 아니라 특정 전략의 관점에서 점수를 매기는 법(예: 高회전율을 결점이 아니라 가점으로). 직접 못 재는 값을 대리지표로 근사하는 트릭(분기 보유 겹침 → 회전율). 측정 가능한 것과 불가능한 것의 경계를 정직하게 다루는 자세입니다.
실습: 내 관심 분야(예: 블로그 글)에 대한 "6차원 평가카드"를 정의하고, 그중 직접 못 재는 차원 하나를 대리지표로 근사하는 파이썬 함수를 작성. zhengxi-views의 overlap 트릭이 좋은 본보기.
"GPU·DB·서버(MCP) 전부 필요 없다. Python과, 호스트 에이전트와, (실시간 조회엔) 인터넷만 있으면 된다."
| 항목 | 요구사항 / 메모 |
|---|---|
| 런타임 | Python 3. 의존성은 requests·beautifulsoup4·lxml 셋뿐(스크래핑용). |
| 호스트 에이전트 | Claude Code 또는 텐센트 WorkBuddy 중 하나. 스킬은 호스트가 로딩해 사용. |
| 인터넷 | 코퍼스 검색·기존 펀드 점수는 로컬만(오프라인 가능). 실시간 펀드 조회(fetch_any_fund.py)에만 필요. |
| MCP 서버 | 불필요. 순수 로컬 스킬 — 서버를 띄우지 않는다(폴더만 있으면 됨). |
| 외부 서비스/DB | 없음. 벡터DB·임베딩 API도 불필요. 검색은 로컬 키워드 검색. |
| GPU | 불필요. 모델 추론은 호스트 에이전트가 담당하고, 스킬은 그 바깥의 지식·도구일 뿐. |
| 디스크 | 코퍼스·펀드 데이터 위주(~6,845줄 규모). 가벼움. |
두 가지를 정직하게 짚습니다. ① 모든 1차 자료가 중국어입니다 — 정기보고·수기·인터뷰가 中文이라, 한국어 사용자는 번역·맥락 비용을 감수해야 하고 번역 과정에서 미묘한 왜곡이 생길 수 있습니다(한자 용어 多). ② 동봉 데이터는 2026-06-19 스냅샷이고 실시간 조회는 외부 사이트 스크래핑에 의존하므로 언제든 낡거나 깨질 수 있습니다. 그러니 "최신·정확한 시세 도구"가 아니라 "특정 시점 공개 데이터를 정리·검증하는 학습/연구용"으로만 쓰세요. (그리고 다시: 투자조언 아님.)
"내 도메인으로 출처추적 Q&A 만들기 → 평가카드+점수 → 트리거 실험 → MCP 도구화 → evals 자동채점, 단계별로."
내가 잘 아는 인물·주제(예: 좋아하는 작가, 내 블로그, 어떤 분야 전문가)의 공개 발언/글을 corpus/ 형식으로 5~10건 모으고, zhengxi-views의 search_corpus.py 발상을 재사용해 "질문 → 원문 단락 + 출처 인용"으로 답하는 작은 스킬을 만든다.
목표: 출처추적의 핵심(원문으로 회귀)을 가장 작게 체험. "코퍼스에 없으면 '근거 없음'을 먼저 말한다" 규칙까지 넣어 보기.
method.md + scorecard.md 패턴을 본떠, 내 관심 분야에 대한 6차원 평가카드를 정의한다. 그리고 score_fund.py의 기계 지표 계산부를 참고하되, 입력 데이터를 한국 펀드(또는 다른 공개 데이터)로 교체해 점수 스크립트를 작성한다.
목표: "주관적 평가"를 "차원별 배점 + 코드 계산"으로 객관화하는 연습. 데이터 출처는 합법적 공개 데이터만 쓰고, 결과는 학습용임을 명시(투자조언 아님).
SKILL.md description 다듬어 '트리거 정확도' 실험SKILL.md 맨 위 YAML의 description(언제 이 스킬을 켤지 알리는 문구)을 여러 버전으로 바꿔 가며, Claude Code가 의도한 질문엔 켜지고 무관한 질문엔 안 켜지는지 관찰한다. 너무 넓으면 오발동, 너무 좁으면 미발동.
목표: 스킬이 "언제 발동하는가"가 곧 사용성임을 체득. 트리거 키워드·맥락을 어떻게 적어야 정확한지 감 잡기.
지금은 로컬 스킬이지만, fetch_any_fund.py의 스크래핑 기능을 MCP 서버의 도구(tool)로 감싸 본다. 그러면 여러 에이전트가 표준 프로토콜로 그 도구를 호출할 수 있다. "로컬 스크립트 → 재사용 가능한 MCP 도구"로의 승격을 경험.
목표: 로컬 스킬과 MCP 도구의 경계·트레이드오프를 이해. (스크래핑은 대상 사이트의 약관·robots를 반드시 준수하고, 캐시·레이트리밋을 둘 것.)
evals.json 확장 — '면책 선언 준수율' 자동 채점스킬의 evals.json을 확장해, "코퍼스 밖 질문에 답할 때 면책/근거없음 선언을 했는가"를 자동으로 채점하는 케이스를 추가한다. 답변 텍스트에서 "郑希 미발언"·"근거 없음"·"투자조언 아님" 같은 필수 문구가 포함됐는지 검사해 준수율을 낸다.
목표: 출처추적·면책 규율을 감이 아니라 측정으로 지키는 회귀 검증 구축. 스킬을 고친 뒤 규율이 깨지지 않았는지 자동으로 확인하는 안전망.
"Agent Skill 기초에서 출발해 SKILL.md·출처추적 RAG·데이터 패키징·스크립트/스크래핑·평가/배포까지, zhengxi-views를 길잡이 삼아."
| 주차 | 주제 | 핵심 학습 + 레포 연결점 |
|---|---|---|
| 1주 | Agent Skill 기초 | 스킬이 무엇인지·언제 켜지는지·지시/지식/실행 3계층 → SKILL.md + references/ + scripts/ 전체 구조 읽기 |
| 2주 | SKILL.md 작성법 | YAML 머리말(name/description) 트리거, 본문 행동 규율, 듀얼 매니페스트 → SKILL.md + skill.yml |
| 3주 | 출처추적 RAG | 1차 원문 회귀, 원화/추론/미검증 3구분, "없으면 없다고" 선언, 내부기호 비노출 → SKILL.md 규율 + search_corpus.py + corpus_index.json |
| 4주 | 데이터 패키징(MD/JSON) | 사람용 .md + 기계용 .json 듀얼, 색인 설계, 코퍼스 보존 → fund_data/(.md+.json) + corpus/ + build_*.py |
| 5주 | 스크립트 / 스크래핑 | 결정론적 계산 도구, 대리지표 근사, 자기경로·출력상한(권한 마찰 최소화), 합법적 스크래핑 → score_fund.py + fetch_any_fund.py |
| 6주 | evals / 배포 | 차원별 평가셋·회귀 검증, WorkBuddy/Claude Code 배포 → evals/evals.json + WORKBUDDY部署.md |
이 로드맵은 "스킬이 뭔지 → 머리(SKILL.md) → 정직함(출처추적) → 재료(데이터) → 손발(스크립트) → 품질·출시(평가/배포)"를 한 줄로 꿴 코스입니다. 'AI에게 어떻게 잘 물어보나'가 아니라 'AI가 정직하게 답하도록 어떻게 시스템을 짜나'를 배우는 길이라, 에이전트 시대의 지식 엔지니어링 그 자체를 실전 코드로 익히는 셈입니다. (도메인이 금융이라 흥미롭지만, 같은 골격은 의료·법률·내 회사 문서 등 "틀리면 위험한 모든 도메인"에 그대로 옮겨집니다.)
"이 문서와 저장소에서 반복되는 용어를 한곳에 모았다. (중국어 한자 병기)"
| 용어 | 의미 |
|---|---|
| Agent Skill (에이전트 스킬) | AI 에이전트에게 특정 작업을 잘 시키려 한 폴더로 묶은 패키지. SKILL.md가 머리 |
| SKILL.md 매니페스트 | 맨 위 YAML(name/description)로 트리거, 본문에 행동 규율. Claude Code 표준 |
| 듀얼 매니페스트 (dual manifest) | SKILL.md YAML(Claude Code) + skill.yml(WorkBuddy)을 둘 다 둬 두 호스트 지원 |
| 출처추적 (可溯源, traceable) | 모든 답변을 1차 원문(코퍼스)으로 되짚을 수 있게 강제하는 규율. 환각 억제 |
| 1차자료 코퍼스 (corpus) | 정기보고·투자수기(手记)·미디어 인터뷰의 원문 묶음. 인용의 원천 |
| 원화 / 방법 추론 / 미검증 | 답변 시 3구분: 실제 한 말(原话) / 그 말에서의 추론 / 코퍼스에 없음("郑希 미발언" 선언) |
| 언행대조 (言行对照) | "말한 것"(발언)과 "실제 산 것"(분기 보유종목)을 데이터로 교차검증 |
| 6차원 평가카드 (scorecard) | 펀드를 景气·ROE탄력·글로벌우위·유동성·집중도/주기접합·실적/낙폭 6차원 100점으로 채점 |
| 환수 대리지표 (turnover proxy) | 회전율을 직접 못 재서 인접 분기 상위10 겹침(1-overlap)으로 근사 |
| 景气度(경기도) 투자 | 업황·경기 사이클 방향을 좇아 투자하는 스타일. 정시 방법론의 한 축 |
| method.md (방법론) | 정시 투자방법론 8챕터. 각 주장에 그의 원화(原话) 佐证(좌증)을 붙임 |
| 在任 / 曾任 | 현재 운용 중인 펀드(在任) / 과거 운용했던 펀드(曾任). 합쳐 8개 |
| MD + JSON 듀얼 출력 | 같은 데이터를 사람(LLM)용 .md와 기계용 .json 두 벌로 — 가독성+파싱 동시 충족 |
| 권한 마찰 최소화 | 스크립트가 자기경로 탐색·출력상한 내장 → 인자 한 줄 단일 명령으로 승인 팝업 회피 |
| evals (평가셋) | 溯源(출처추적)·前瞻(전망)·风格(문체) 케이스로 스킬 규율 준수를 회귀 검증 |
| WorkBuddy 배포 | 텐센트의 에이전트 호스트. skill.yml로 같은 스킬을 이 호스트에서도 구동 |
| MCP (미사용) | Model Context Protocol(도구 표준). 이 레포는 쓰지 않는 순수 로컬 스킬 |
| 대리지표 (proxy metric) | 직접 재기 어려운 값을 재기 쉬운 비슷한 값으로 갈음하는 것(회전율↔보유 겹침) |
이 문서와 zhengxi-views는 한 펀드매니저의 공개 발언·공개 펀드 데이터를 정리·검증·학습하기 위한 기술 자료일 뿐, 어떤 종목·펀드의 매수·매도·보유도 권유하지 않습니다. 과거 발언·성과는 미래를 보장하지 않으며, scorecard 점수는 기계적 지표일 뿐 투자 판단의 근거가 될 수 없습니다. 데이터는 특정 시점(2026-06-19) 스냅샷이고 중국어 1차자료의 번역에 왜곡이 있을 수 있습니다. 실제 투자는 본인 책임으로, 자격 있는 전문가와 상의하고 1차 공시를 직접 확인하세요.