#400 by GitHub stars

Vincentwei1021/anything2explainer

给一个主题,产出一条黑底 MG 风格(幕底可选星点或点阵波)、有配音字幕章节进度条的科普讲解视频(中文或英文;Remotion 代码动画;时长由用户定,常用 3–5 分钟)。内含可编译模板、图元库、配音/分镜/渲染工具、风格与动效规范、多 agent 分工协议与 QC 判据,以及一条完整样片(《RAG 与知识库》)作为质量标尺。Turn any topic into a narrated motion-graphics explainer video in Chinese or English, on a black canvas with a star-field or dot-field

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

735c79c8724e → 735c79c8724e

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 735c79c8724e

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 735c79c8724e897e8971cd59dde7e5aa11e4d6ce

3.1kGitHub stars
232stars in 7 days
1skill in this repository
0commits in 30 days

Heat

7.2
  • Star growth, last 7 daysAhead of 98% of tracked repositories
  • Star growth, last 24 hoursAhead of 96% of tracked repositories
  • Rank movement, last 7 daysAhead of 91% of tracked repositories
  • Commits, last 30 daysAhead of 0% of tracked repositories
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekAhead of 0% of tracked repositories

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Sep 6, 2026Nov 6, 20263,090

Individual skills in this repository

How it works

anything2explainer

When your agent uses it

给一个主题,产出一条黑底 MG 风格(幕底可选星点或点阵波)、有配音字幕章节进度条的科普讲解视频(中文或英文;Remotion 代码动画;时长由用户定,常用 3–5 分钟)。内含可编译模板、图元库、配音/分镜/渲染工具、风格与动效规范、多 agent 分工协议与 QC 判据,以及一条完整样片(《RAG 与知识库》)作为质量标尺。Turn any topic into a narrated motion-graphics explainer video in Chinese or English, on a black canvas with a star-field or dot-field backdrop, TTS voiceover, subtitles and a chapter progress bar, every frame drawn in code with Remotion. Use when the user asks for an explainer, educational or science-communication video about a topic, or wants an article or document turned into a video.

What it loads into context

Frontmatter

213 tokens

Always available to the agent

SKILL.md

6,844 tokens

When the skill is activated

Reference documents

175,624 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. 何时用
  2. 硬性原则
  3. 四个确认点(必须停下来等用户回话,不要自己往下走)
  4. 流程(主会话编排;总耗时按确认点 1 的档位,样片档 ≈2 小时)
  5. 关键文件
  6. 质量标尺(对照样片)

Scripts executed separately

  • examples/rag/shots_src/G0/Overlay.tsx
  • examples/rag/shots_src/G0/Preview.tsx
  • examples/rag/shots_src/G0/index.ts
  • examples/rag/shots_src/G0/util.ts
  • examples/rag/shots_src/G1/Preview.tsx
  • examples/rag/shots_src/G1/SC01.tsx
  • examples/rag/shots_src/G1/SC02.tsx
  • examples/rag/shots_src/G1/SC03.tsx
  • examples/rag/shots_src/G1/SC04.tsx
  • examples/rag/shots_src/G1/SC05.tsx
  • examples/rag/shots_src/G1/index.ts
  • examples/rag/shots_src/G1/layout.tsx
  • examples/rag/shots_src/G2/Preview.tsx
  • examples/rag/shots_src/G2/SC06.tsx
  • examples/rag/shots_src/G2/SC07.tsx
  • examples/rag/shots_src/G2/SC08.tsx
  • examples/rag/shots_src/G2/SC09.tsx
  • examples/rag/shots_src/G2/SC10.tsx
  • examples/rag/shots_src/G2/index.ts
  • examples/rag/shots_src/G2/parts.tsx
  • examples/rag/shots_src/G3/Preview.tsx
  • examples/rag/shots_src/G3/SC11.tsx
  • examples/rag/shots_src/G3/SC12.tsx
  • examples/rag/shots_src/G3/SC13.tsx
  • examples/rag/shots_src/G3/SC14.tsx
  • examples/rag/shots_src/G3/SC15.tsx
  • examples/rag/shots_src/G3/g3ui.tsx
  • examples/rag/shots_src/G3/index.ts
  • examples/rag/shots_src/G4/Preview.tsx
  • examples/rag/shots_src/G4/SC16.tsx
  • examples/rag/shots_src/G4/SC17.tsx
  • examples/rag/shots_src/G4/SC18.tsx
  • examples/rag/shots_src/G4/SC19.tsx
  • examples/rag/shots_src/G4/SC20.tsx
  • examples/rag/shots_src/G4/index.ts
  • examples/rag/shots_src/G4/vspace.ts
  • examples/rag/shots_src/G5/Preview.tsx
  • examples/rag/shots_src/G5/SC21.tsx
  • examples/rag/shots_src/G5/SC22.tsx
  • examples/rag/shots_src/G5/SC23.tsx
  • examples/rag/shots_src/G5/SC24.tsx
  • examples/rag/shots_src/G5/SC25.tsx
  • examples/rag/shots_src/G5/g5util.tsx
  • examples/rag/shots_src/G5/index.ts
  • examples/rag/shots_src/G5/vspace.tsx
  • examples/rag/shots_src/G6/Preview.tsx
  • examples/rag/shots_src/G6/SC26.tsx
  • examples/rag/shots_src/G6/SC27.tsx
  • examples/rag/shots_src/G6/SC28.tsx
  • examples/rag/shots_src/G6/SC29.tsx
  • examples/rag/shots_src/G6/SC30.tsx
  • examples/rag/shots_src/G6/index.ts
  • examples/rag/shots_src/G6/ui.tsx
  • examples/rag/shots_src/G7/Preview.tsx
  • examples/rag/shots_src/G7/SC31.tsx
  • examples/rag/shots_src/G7/SC32.tsx
  • examples/rag/shots_src/G7/SC33.tsx
  • examples/rag/shots_src/G7/SC34.tsx
  • examples/rag/shots_src/G7/SC35.tsx
  • examples/rag/shots_src/G7/SC36.tsx
  • examples/rag/shots_src/G7/SC37.tsx
  • examples/rag/shots_src/G7/g7ui.tsx
  • examples/rag/shots_src/G7/index.ts
  • examples/rag/shots_src/G8/Preview.tsx
  • examples/rag/shots_src/G8/SC38.tsx
  • examples/rag/shots_src/G8/SC39.tsx
  • examples/rag/shots_src/G8/SC40.tsx
  • examples/rag/shots_src/G8/SC41.tsx
  • examples/rag/shots_src/G8/SC42.tsx
  • examples/rag/shots_src/G8/SC43.tsx
  • examples/rag/shots_src/G8/SC44.tsx
  • examples/rag/shots_src/G8/index.ts
  • examples/rag/shots_src/G8/shared.tsx
  • examples/rag/ui_rag.tsx
  • template/package.json
  • template/remotion.config.ts
  • template/scripts/frame_metrics.py
  • template/scripts/motion_check.py
  • template/scripts/new_project.sh
  • template/scripts/preview.sh
  • template/scripts/render.sh
  • template/scripts/render_storyboard.py
  • template/scripts/selfcheck.py
  • template/scripts/sheet.py
  • template/scripts/still.sh
  • template/scripts/test_render.sh
  • template/scripts/tts_build.py
  • template/src/Main.tsx
  • template/src/Root.tsx
  • template/src/common/DotFieldBg.tsx
  • template/src/common/Fog.tsx
  • template/src/common/Footage.tsx
  • template/src/common/Glitch.tsx
  • template/src/common/ProgressBar.tsx
  • template/src/common/StarField.tsx
  • template/src/common/Subtitle.tsx
  • template/src/common/easing.ts
  • template/src/common/index.ts
  • template/src/common/lib.tsx
  • template/src/common/subs.ts
  • template/src/common/textfit.ts
  • template/src/common/timeline.ts
  • template/src/common/types.ts
  • template/src/config.ts
  • template/src/fx.tsx
  • template/src/index.ts
  • template/src/overlay/Overlay.tsx
  • template/src/overlay/Preview.tsx
  • template/src/overlay/index.ts
  • template/src/shots/G1/Preview.tsx
  • template/src/shots/G1/index.ts
  • template/src/shots/G2/Preview.tsx
  • template/src/shots/G2/index.ts
  • template/src/shots/G3/Preview.tsx
  • template/src/shots/G3/index.ts
  • template/src/shots/G4/Preview.tsx
  • template/src/shots/G4/index.ts
  • template/src/shots/G5/Preview.tsx
  • template/src/shots/G5/index.ts
  • template/src/shots/G6/Preview.tsx
  • template/src/shots/G6/index.ts
  • template/src/shots/G7/Preview.tsx
  • template/src/shots/G7/index.ts
  • template/src/shots/G8/Preview.tsx
  • template/src/shots/G8/index.ts
  • template/src/ui.tsx

Files

  • .gitignoreasset397 bytes
  • CITATION.cffasset1,124 bytes
  • LICENSEasset5,048 bytes
  • README.mddoc17,628 bytes
  • README_ZH.mddoc16,380 bytes
  • SKILL.mdcore21,395 bytes
  • SKILL.mdcore21,395 bytes
  • SKILL.mdcore21,395 bytes
  • SKILL.mdcore21,395 bytes
  • SKILL.mdcore21,395 bytes
  • SKILL.mdcore21,395 bytes
  • SKILL.mdcore21,395 bytes
  • SKILL.mdcore21,395 bytes
  • SKILL.mdcore21,395 bytes
  • SKILL.mdcore21,395 bytes
  • examples/contrast/01_hero_size_bad_f0128.jpgasset45,295 bytes
  • examples/contrast/01_hero_size_good_f0138.jpgasset51,237 bytes
  • examples/contrast/02_hero_reveal_bad_f1729.jpgasset50,510 bytes
  • examples/contrast/02_hero_reveal_good_f1105.jpgasset44,671 bytes
  • examples/contrast/03_big_number_good_f7258.jpgasset48,338 bytes
  • examples/contrast/03_sparse_axis_bad_f1900.jpgasset36,185 bytes
  • examples/contrast/04_formula_bad_f3033.jpgasset56,619 bytes
  • examples/contrast/04_result_number_good_f2613.jpgasset84,160 bytes
  • examples/contrast/05_clean_bg_good_f1237.jpgasset62,730 bytes
  • examples/contrast/05_clutter_bg_bad_f1651.jpgasset37,410 bytes
  • examples/contrast/06_ending_bad_f7540.jpgasset49,125 bytes
  • examples/contrast/06_ending_good_f8100.jpgasset58,565 bytes
  • examples/contrast/README.mddoc1,477 bytes
  • examples/contrast/contrast_sheet.jpgasset408,424 bytes
  • examples/rag/AGENT_RAG_BUILD_RULES.mddoc9,664 bytes
  • examples/rag/AGENT_RAG_QC_RULES.mddoc2,937 bytes
  • examples/rag/README.mddoc1,054 bytes
  • examples/rag/frames/overview_1.jpgasset289,125 bytes
  • examples/rag/frames/overview_2.jpgasset339,907 bytes
  • examples/rag/frames/overview_3.jpgasset334,506 bytes
  • examples/rag/frames/overview_4.jpgasset383,123 bytes
  • examples/rag/frames/overview_5.jpgasset327,080 bytes
  • examples/rag/frames/overview_6.jpgasset292,112 bytes
  • examples/rag/frames/ref_agentic_loop_f6900.jpgasset73,302 bytes
  • examples/rag/frames/ref_chapter_card_f1490.jpgasset36,709 bytes
  • examples/rag/frames/ref_chunk_size_f2200.jpgasset88,549 bytes
  • examples/rag/frames/ref_graphrag_f6600.jpgasset73,278 bytes
  • examples/rag/frames/ref_hnsw_f3260.jpgasset87,329 bytes
  • examples/rag/frames/ref_hybrid_rrf_f4640.jpgasset98,083 bytes
  • examples/rag/frames/ref_long_context_f7480.jpgasset64,510 bytes
  • examples/rag/frames/ref_lost_in_middle_f5250.jpgasset91,144 bytes
  • examples/rag/frames/ref_moat_f8100.jpgasset73,154 bytes
  • examples/rag/frames/ref_paper_f1300.jpgasset90,509 bytes
  • examples/rag/frames/ref_parse_f1760.jpgasset75,748 bytes
  • examples/rag/frames/ref_rag_reveal_f1090.jpgasset46,187 bytes
  • examples/rag/frames/ref_ragas_f6150.jpgasset132,842 bytes
  • examples/rag/frames/ref_rerank_funnel_f4900.jpgasset82,001 bytes
  • examples/rag/frames/ref_shortcomings_f0600.jpgasset85,594 bytes
  • examples/rag/frames/ref_title_f0058.jpgasset50,106 bytes
  • examples/rag/frames/ref_vector_space_f2990.jpgasset95,456 bytes
  • examples/rag/narration.txtdoc4,486 bytes
  • examples/rag/qc/qc_v1_C1.mddoc14,791 bytes
  • examples/rag/qc/qc_v1_C2.mddoc23,047 bytes
  • examples/rag/qc/qc_v1_C3.mddoc17,148 bytes
  • examples/rag/qc/qc_v1_C4.mddoc23,532 bytes
  • examples/rag/qc/qc_v3_final.mddoc13,000 bytes
  • examples/rag/research.mddoc48,851 bytes
  • examples/rag/shots_src/G0/Overlay.tsxruns10,773 bytes
  • examples/rag/shots_src/G0/Preview.tsxruns224 bytes
  • examples/rag/shots_src/G0/index.tsruns1,418 bytes
  • examples/rag/shots_src/G0/util.tsruns167 bytes
  • examples/rag/shots_src/G1/BUILD_NOTES.mddoc12,401 bytes
  • examples/rag/shots_src/G1/Preview.tsxruns344 bytes
  • examples/rag/shots_src/G1/SC01.tsxruns448 bytes
  • examples/rag/shots_src/G1/SC02.tsxruns4,699 bytes
  • examples/rag/shots_src/G1/SC03.tsxruns4,849 bytes
  • examples/rag/shots_src/G1/SC04.tsxruns5,053 bytes
  • examples/rag/shots_src/G1/SC05.tsxruns7,185 bytes
  • examples/rag/shots_src/G1/index.tsruns664 bytes
  • examples/rag/shots_src/G1/layout.tsxruns6,967 bytes
  • examples/rag/shots_src/G2/BUILD_NOTES.mddoc15,707 bytes
  • examples/rag/shots_src/G2/Preview.tsxruns344 bytes
  • examples/rag/shots_src/G2/SC06.tsxruns4,124 bytes
  • examples/rag/shots_src/G2/SC07.tsxruns5,191 bytes
  • examples/rag/shots_src/G2/SC08.tsxruns6,294 bytes
  • examples/rag/shots_src/G2/SC09.tsxruns7,281 bytes
  • examples/rag/shots_src/G2/SC10.tsxruns5,734 bytes
  • examples/rag/shots_src/G2/index.tsruns657 bytes
  • examples/rag/shots_src/G2/parts.tsxruns10,938 bytes
  • examples/rag/shots_src/G3/BUILD_NOTES.mddoc13,472 bytes
  • examples/rag/shots_src/G3/Preview.tsxruns344 bytes
  • examples/rag/shots_src/G3/SC11.tsxruns3,966 bytes
  • examples/rag/shots_src/G3/SC12.tsxruns3,114 bytes
  • examples/rag/shots_src/G3/SC13.tsxruns2,349 bytes
  • examples/rag/shots_src/G3/SC14.tsxruns5,270 bytes
  • examples/rag/shots_src/G3/SC15.tsxruns7,462 bytes
  • examples/rag/shots_src/G3/g3ui.tsxruns12,377 bytes
  • examples/rag/shots_src/G3/index.tsruns660 bytes
  • examples/rag/shots_src/G4/BUILD_NOTES.mddoc13,386 bytes
  • examples/rag/shots_src/G4/Preview.tsxruns344 bytes
  • examples/rag/shots_src/G4/SC16.tsxruns5,227 bytes
  • examples/rag/shots_src/G4/SC17.tsxruns6,047 bytes
  • examples/rag/shots_src/G4/SC18.tsxruns10,079 bytes
  • examples/rag/shots_src/G4/SC19.tsxruns7,063 bytes
  • examples/rag/shots_src/G4/SC20.tsxruns8,469 bytes
  • examples/rag/shots_src/G4/index.tsruns660 bytes
  • examples/rag/shots_src/G4/vspace.tsruns3,267 bytes
  • examples/rag/shots_src/G5/BUILD_NOTES.mddoc13,202 bytes
  • examples/rag/shots_src/G5/Preview.tsxruns344 bytes
  • examples/rag/shots_src/G5/SC21.tsxruns5,437 bytes
  • examples/rag/shots_src/G5/SC22.tsxruns5,159 bytes
  • examples/rag/shots_src/G5/SC23.tsxruns5,414 bytes
  • examples/rag/shots_src/G5/SC24.tsxruns5,792 bytes
  • examples/rag/shots_src/G5/SC25.tsxruns8,737 bytes
  • examples/rag/shots_src/G5/g5util.tsxruns3,485 bytes
  • examples/rag/shots_src/G5/index.tsruns660 bytes
  • examples/rag/shots_src/G5/vspace.tsxruns3,740 bytes
  • examples/rag/shots_src/G6/BUILD_NOTES.mddoc13,125 bytes
  • examples/rag/shots_src/G6/Preview.tsxruns344 bytes
  • examples/rag/shots_src/G6/SC26.tsxruns8,052 bytes
  • examples/rag/shots_src/G6/SC27.tsxruns3,895 bytes
  • examples/rag/shots_src/G6/SC28.tsxruns8,042 bytes
  • examples/rag/shots_src/G6/SC29.tsxruns5,924 bytes
  • examples/rag/shots_src/G6/SC30.tsxruns3,043 bytes
  • examples/rag/shots_src/G6/index.tsruns881 bytes
  • examples/rag/shots_src/G6/ui.tsxruns12,675 bytes
  • examples/rag/shots_src/G7/BUILD_NOTES.mddoc13,226 bytes
  • examples/rag/shots_src/G7/Preview.tsxruns344 bytes
  • examples/rag/shots_src/G7/SC31.tsxruns1,223 bytes
  • examples/rag/shots_src/G7/SC32.tsxruns3,353 bytes
  • examples/rag/shots_src/G7/SC33.tsxruns5,516 bytes
  • examples/rag/shots_src/G7/SC34.tsxruns5,893 bytes
  • examples/rag/shots_src/G7/SC35.tsxruns2,799 bytes
  • examples/rag/shots_src/G7/SC36.tsxruns8,015 bytes
  • examples/rag/shots_src/G7/SC37.tsxruns10,692 bytes
  • examples/rag/shots_src/G7/g7ui.tsxruns9,755 bytes
  • examples/rag/shots_src/G7/index.tsruns818 bytes
  • examples/rag/shots_src/G8/BUILD_NOTES.mddoc14,475 bytes
  • examples/rag/shots_src/G8/Preview.tsxruns375 bytes
  • examples/rag/shots_src/G8/SC38.tsxruns3,979 bytes
  • examples/rag/shots_src/G8/SC39.tsxruns2,795 bytes
  • examples/rag/shots_src/G8/SC40.tsxruns899 bytes
  • examples/rag/shots_src/G8/SC41.tsxruns4,932 bytes
  • examples/rag/shots_src/G8/SC42.tsxruns3,197 bytes
  • examples/rag/shots_src/G8/SC43.tsxruns2,805 bytes
  • examples/rag/shots_src/G8/SC44.tsxruns4,656 bytes
  • examples/rag/shots_src/G8/index.tsruns818 bytes
  • examples/rag/shots_src/G8/shared.tsxruns21,545 bytes
  • examples/rag/storyboard_src.mddoc35,589 bytes
  • examples/rag/timeline.mddoc6,367 bytes
  • examples/rag/ui_rag.tsxruns19,711 bytes
  • examples/rag/交付说明.mddoc4,664 bytes
  • examples/rag/分镜表.mddoc33,529 bytes
  • reference/agent-build-rules.mddoc13,343 bytes
  • reference/agent-qc-rules.mddoc6,344 bytes
  • reference/composition-and-light.mddoc11,806 bytes
  • reference/lessons.mddoc32,865 bytes
  • reference/motion-vocabulary.mddoc10,373 bytes
  • reference/narration-guidance.mddoc7,121 bytes
  • reference/narration-storyboard.mddoc21,950 bytes
  • reference/prompts.mddoc8,421 bytes
  • reference/research-brief.mddoc3,477 bytes
  • reference/style-guide.mddoc10,762 bytes
  • template/.gitignoreasset90 bytes
  • template/package.jsonruns457 bytes
  • template/public/fonts/Audiowide-Regular.ttfasset69,916 bytes
  • template/public/fonts/Exo2-Italic.ttfasset302,556 bytes
  • template/public/fonts/LICENSE.mddoc5,521 bytes
  • template/public/fonts/NotoSansSC.ttfasset17,772,300 bytes
  • template/public/fonts/Orbitron[wght].ttfasset38,576 bytes
  • template/remotion.config.tsruns1,114 bytes
  • template/script/narration.txtdoc591 bytes
  • template/scripts/frame_metrics.pyruns9,585 bytes
  • template/scripts/motion_check.pyruns8,071 bytes
  • template/scripts/new_project.shruns1,438 bytes
  • template/scripts/preview.shruns1,141 bytes
  • template/scripts/render.shruns989 bytes
  • template/scripts/render_storyboard.pyruns1,311 bytes
  • template/scripts/selfcheck.pyruns6,310 bytes
  • template/scripts/sheet.pyruns1,637 bytes
  • template/scripts/still.shruns1,133 bytes
  • template/scripts/test_render.shruns732 bytes
  • template/scripts/tts_build.pyruns29,185 bytes
  • template/src/Main.tsxruns2,579 bytes
  • template/src/Root.tsxruns1,872 bytes
  • template/src/common/DotFieldBg.tsxruns3,836 bytes
  • template/src/common/Fog.tsxruns1,515 bytes
  • template/src/common/Footage.tsxruns2,822 bytes
  • template/src/common/Glitch.tsxruns5,442 bytes
  • template/src/common/ProgressBar.tsxruns4,106 bytes
  • template/src/common/StarField.tsxruns5,684 bytes
  • template/src/common/Subtitle.tsxruns3,188 bytes
  • template/src/common/easing.tsruns5,483 bytes
  • template/src/common/index.tsruns462 bytes
  • template/src/common/lib.tsxruns4,580 bytes
  • template/src/common/subs.tsruns175 bytes
  • template/src/common/textfit.tsruns3,328 bytes
  • template/src/common/timeline.tsruns355 bytes
  • template/src/common/types.tsruns870 bytes
  • template/src/config.tsruns4,070 bytes
  • template/src/fx.tsxruns17,209 bytes
  • template/src/index.tsruns89 bytes
  • template/src/overlay/Overlay.tsxruns14,062 bytes
  • template/src/overlay/Preview.tsxruns250 bytes
  • template/src/overlay/index.tsruns1,622 bytes
  • template/src/shots/G1/Preview.tsxruns356 bytes
  • template/src/shots/G1/index.tsruns478 bytes
  • template/src/shots/G2/Preview.tsxruns356 bytes
  • template/src/shots/G2/index.tsruns478 bytes
  • template/src/shots/G3/Preview.tsxruns356 bytes
  • template/src/shots/G3/index.tsruns478 bytes
  • template/src/shots/G4/Preview.tsxruns356 bytes
  • template/src/shots/G4/index.tsruns478 bytes
  • template/src/shots/G5/Preview.tsxruns356 bytes
  • template/src/shots/G5/index.tsruns478 bytes
  • template/src/shots/G6/Preview.tsxruns356 bytes
  • template/src/shots/G6/index.tsruns478 bytes
  • template/src/shots/G7/Preview.tsxruns356 bytes
  • template/src/shots/G7/index.tsruns478 bytes
  • template/src/shots/G8/Preview.tsxruns356 bytes
  • template/src/shots/G8/index.tsruns478 bytes
  • template/src/ui.tsxruns40,704 bytes
  • template/tsconfig.jsonasset403 bytes

No excerpt is shown for this license. Read the source on GitHub.

View the complete source on GitHub

Skills included

  • anything2explainer

Repository facts

License
No license detected
Created
Sep 8, 2026
Last pushed
Sep 18, 2026
Forks
403
Open issues
4
Project activity
Active

Rank over the last 12 weeks

Now #400 · best #391 · up 19 in 30 days

  1. #409 on Oct 31
  2. #405 on Nov 1
  3. #402 on Nov 2
  4. #401 on Nov 3
  5. #399 on Nov 4
  6. #400 since Nov 5
49 earlier periods
  1. #917 on Sep 6
  2. #951 on Sep 8
  3. #918 on Sep 9
  4. #746 on Sep 10
  5. #634 on Sep 11
  6. #580 on Sep 12
  7. #544 on Sep 13
  8. #529 on Sep 14
  9. #508 on Sep 15
  10. #510 on Sep 16
  11. #496 on Sep 17
  12. #491 on Sep 18
  13. #450 on Sep 19
  14. #449 on Sep 20
  15. #442 from Sep 21 to Sep 22
  16. #434 on Sep 23
  17. #421 on Sep 24
  18. #422 on Sep 25
  19. #417 on Sep 26
  20. #428 on Sep 27
  21. #427 on Sep 28
  22. #431 on Sep 29
  23. #422 on Sep 30
  24. #420 on Oct 1
  25. #421 on Oct 2
  26. #406 on Oct 4
  27. #414 on Oct 5
  28. #416 on Oct 6
  29. #419 on Oct 7
  30. #420 on Oct 8
  31. #424 on Oct 9
  32. #410 on Oct 10
  33. #409 on Oct 11
  34. #414 on Oct 12
  35. #408 on Oct 13
  36. #409 on Oct 14
  37. #407 on Oct 15
  38. #411 on Oct 16
  39. #400 on Oct 17
  40. #404 from Oct 18 to Oct 19
  41. #406 on Oct 20
  42. #409 on Oct 21
  43. #405 on Oct 22
  44. #401 on Oct 23
  45. #391 on Oct 24
  46. #412 on Oct 25
  47. #414 on Oct 28
  48. #413 on Oct 29
  49. #411 on Oct 30

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 2, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 10 notes
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • template/public/fonts/NotoSansSC.ttf:1 Analysis incomplete: Blob exceeds size or total-read limit; file skipped
Show all 411 signals by file

CITATION.cff

  • Network accessline 7
    given-names: Yihao     alias: Vincentwei1021 repository-code: "https://github.com/Vincentwei1021/anything2explainer"
  • Network accessline 8
    alias: Vincentwei1021 repository-code: "https://github.com/Vincentwei1021/anything2explainer" url: "https://github.com/Vincentwei1021/anything2explainer"
  • Network accessline 9
    repository-code: "https://github.com/Vincentwei1021/anything2explainer"
  • Network accessline 10
    url: "https://github.com/Vincentwei1021/anything2explainer"

LICENSE

  • Network accessline 3
    Required Notice: Copyright (c) 2026 Vincent Wei (https://github.com/Vincentwei1021/anything2explainer)
  • Network accessline 16
    <https://polyformproject.org/licenses/noncommercial/1.0.0>
  • Network accessline 51
    > Required Notice: Copyright Yoyodyne, Inc. (http://example.com)

README.md

  • Network accessline 3
    [![Claude Code](https://img.shields.io/badge/Claude%20Code-skill-D97757?logo=anthropic&logoColor=white)](https://claude.com/claude-code)
  • Network accessline 4
    [![Codex](https://img.shields.io/badge/Codex-skill-000000)](https://openai.com/codex)
  • Network accessline 5
    [![Remotion](https://img.shields.io/badge/Remotion-4.0-0B84F3)](https://remotion.dev)
  • Network accessline 6
    [![License](https://img.shields.io/badge/license-PolyForm%20Noncommercial-informational)](LICENSE)
  • Network accessline 10
    **Topic in, narrated explainer video out.** anything2explainer is a [Claude Code](https://claude.com/claude-code) / [Codex](https://openai.com/codex) skill that turns any topic into a black-canvas motion-graphics explainer video with TTS vo
  • Network accessline 16
    https://github.com/user-attachments/assets/e2771c68-a28c-4459-ac5a-a5b685181eeb
  • Network accessline 20
    https://github.com/user-attachments/assets/5c213990-cbba-439e-8371-fbb3aa348e05
  • Network accessline 55
    git clone https://github.com/Vincentwei1021/anything2explainer.git
  • Dangerous shell operationline 80
    sudo apt install zsh espeak-ng                 # scripts are #!/bin/zsh; espeak-ng for kokoro/piper G2P
  • Dangerous shell operationline 83
    sudo apt install chromium                       # or chromium-browser
  • Network accessline 213
    The toolkit: [PolyForm Noncommercial 1.0.0](LICENSE) — free for noncommercial use; commercial use requires prior authorization from the author. **Videos you make with it are yours.** The four bundled fonts (Noto Sans SC / Orbitron / Exo 2 /
  • Network accessline 215
    Remotion itself has its own license terms for companies — see [remotion.dev/license](https://remotion.dev/license).
  • Network accessline 226
    <a href="https://www.star-history.com/?type=date&repos=Vincentwei1021%2Fanything2explainer">
  • Network accessline 227
    <picture>    <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=Vincentwei1021/anything2explainer&type=date&theme=dark&legend=top-left" />    <source media="(prefers-color-scheme: light)" srcset="h
  • Network accessline 228
    <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=Vincentwei1021/anything2explainer&type=date&theme=dark&legend=top-left" />
  • Network accessline 229
    <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=Vincentwei1021/anything2explainer&type=date&legend=top-left" />
  • Network accessline 230
    <img alt="Star History Chart" src="https://api.star-history.com/chart?repos=Vincentwei1021/anything2explainer&type=date&legend=top-left" />

README_ZH.md

  • Network accessline 3
    [![Claude Code](https://img.shields.io/badge/Claude%20Code-skill-D97757?logo=anthropic&logoColor=white)](https://claude.com/claude-code)
  • Network accessline 4
    [![Codex](https://img.shields.io/badge/Codex-skill-000000)](https://openai.com/codex)
  • Network accessline 5
    [![Remotion](https://img.shields.io/badge/Remotion-4.0-0B84F3)](https://remotion.dev)
  • Network accessline 6
    [![License](https://img.shields.io/badge/license-PolyForm%20Noncommercial-informational)](LICENSE)
  • Network accessline 10
    **给一个主题,产出一条带配音的科普讲解视频。** anything2explainer 是一个 [Claude Code](https://claude.com/claude-code) / [Codex](https://openai.com/codex) skill:输入任意主题,输出一条黑底 MG(motion graphics)风格的讲解视频,带 TTS 配音、字幕和章节进度条,中文或英文都行。画面全部由 [Remotion](https://remotion.de
  • Network accessline 16
    https://github.com/user-attachments/assets/5c213990-cbba-439e-8371-fbb3aa348e05
  • Network accessline 20
    https://github.com/user-attachments/assets/e2771c68-a28c-4459-ac5a-a5b685181eeb
  • Network accessline 55
    git clone https://github.com/Vincentwei1021/anything2explainer.git
  • Dangerous shell operationline 80
    sudo apt install zsh espeak-ng                 # 脚本是 #!/bin/zsh;espeak-ng 供 kokoro/piper 的 G2P
  • Dangerous shell operationline 83
    sudo apt install chromium                       # 或 chromium-browser
  • Network accessline 213
    工具包本身:[PolyForm Noncommercial 1.0.0](LICENSE)——非商业使用免费,商业使用需事先获得作者授权。**用它做出来的视频归你自己**。 模板内四款字体(Noto Sans SC / Orbitron / Exo 2 / Audiowide)按 SIL OFL 1.1 单独授权,版权与许可全文见 [`template/public/fonts/LICENSE.md`](template/public/fonts/LICENSE.md)。 R
  • Network accessline 215
    Remotion 自身对公司用户另有授权要求,见 [remotion.dev/license](https://remotion.dev/license)。
  • Network accessline 226
    <a href="https://www.star-history.com/?type=date&repos=Vincentwei1021%2Fanything2explainer">
  • Network accessline 227
    <picture>    <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=Vincentwei1021/anything2explainer&type=date&theme=dark&legend=top-left" />    <source media="(prefers-color-scheme: light)" srcset="h
  • Network accessline 228
    <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=Vincentwei1021/anything2explainer&type=date&theme=dark&legend=top-left" />
  • Network accessline 229
    <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=Vincentwei1021/anything2explainer&type=date&legend=top-left" />
  • Network accessline 230
    <img alt="Star History Chart" src="https://api.star-history.com/chart?repos=Vincentwei1021/anything2explainer&type=date&legend=top-left" />

examples/rag/AGENT_RAG_BUILD_RULES.md

  • Dangerous shell operationline 42
    - 每个镜头至少出 **6 张 still**:入场首帧+1、入场中段、入场完成、中间关键帧、离场中段、末帧。命令:`RAG/script/still.sh RagGn <帧号,逗号分隔> <输出目录> gN`(**tag 固定为本组 gN,一个组只留一个 bundle**;改代码后 `rm -rf remotion/build_dev_gN` 再跑;bundle 已精简为 ≈110MB,仍不要堆多个)。**禁止**直接 `npx remotion still src/ind

examples/rag/research.md

  • Network accessline 19
    **定义与出处** - RAG = Retrieval-Augmented Generation(检索增强生成)。术语来自 Lewis 等人的论文《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》,Facebook AI Research(Meta),发表于 **NeurIPS 2020**。核心思想:把"参数化记忆"(预训练 seq2seq 语言模型,原文用 BART)与"非参数化记忆"(维基
  • Network accessline 20
    - RAG = Retrieval-Augmented Generation(检索增强生成)。术语来自 Lewis 等人的论文《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》,Facebook AI Research(Meta),发表于 **NeurIPS 2020**。核心思想:把"参数化记忆"(预训练 seq2seq 语言模型,原文用 BART)与"非参数化记忆"(维基百科的稠密向量索引,
  • Network accessline 37
    - 长上下文的"分界线"参考:Anthropic 在 Contextual Retrieval 博文中给出经验阈值——知识库 **< 20 万 token(约 500 页)** 时,可直接把整个知识库放进 prompt(配合 prompt caching),不必上 RAG;超过则需要 RAG。来源:https://www.anthropic.com/news/contextual-retrieval(2024)
  • Network accessline 38
    - 长上下文并非"免费":Liu 等人《Lost in the Middle》(TACL 2023/2024)发现模型对上下文**开头和结尾**信息利用最好,**中间**显著变差(U 形曲线),即使是专门的长上下文模型也如此。来源:https://arxiv.org/abs/2307.03172(2023)
  • Network accessline 47
    - **难点**:PDF 没有"段落"概念,多栏排版、页眉页脚、跨页表格、扫描件都需要**版面分析(layout analysis)+ OCR**。 - **工具举例**:   - **Docling**(IBM 开源,LF AI & Data 基金会项目,MIT 许可):支持 PDF/DOCX/PPTX/XLSX/HTML/图片/音频,做版面检测、阅读顺序、表格结构识别、OCR,可直接接 LangChain/LlamaIndex。来源:https://github.com/
  • Network accessline 48
    - **工具举例**:   - **Docling**(IBM 开源,LF AI & Data 基金会项目,MIT 许可):支持 PDF/DOCX/PPTX/XLSX/HTML/图片/音频,做版面检测、阅读顺序、表格结构识别、OCR,可直接接 LangChain/LlamaIndex。来源:https://github.com/docling-project/docling(2025–2026)   - **MinerU**(上海 AI Lab / OpenDataLab):
  • Network accessline 49
    - **Docling**(IBM 开源,LF AI & Data 基金会项目,MIT 许可):支持 PDF/DOCX/PPTX/XLSX/HTML/图片/音频,做版面检测、阅读顺序、表格结构识别、OCR,可直接接 LangChain/LlamaIndex。来源:https://github.com/docling-project/docling(2025–2026)
  • Network accessline 50
    - **MinerU**(上海 AI Lab / OpenDataLab):PDF→Markdown/JSON,公式转 LaTeX、表格转 HTML,OCR 支持 109 种语言;当前版本 3.x,采用 MinerU2.5-Pro VLM 模型,页面自报 OmniDocBench 约 86.47%。来源:https://github.com/opendatalab/MinerU(2026)
  • Network accessline 58
    | 策略 | 做法 | 典型参数 / 出处 | |---|---|---| | 固定长度 | 按 token/字符数切,可设 overlap | 常见 256–1024 token;LlamaIndex 默认 chunk_size=1024、overlap=20。来源:https://developers.llamaindex.ai/python/framework/optimizing/basic_strategies/basic_strategies/(2025) |
  • Network accessline 59
    |---|---|---| | 固定长度 | 按 token/字符数切,可设 overlap | 常见 256–1024 token;LlamaIndex 默认 chunk_size=1024、overlap=20。来源:https://developers.llamaindex.ai/python/framework/optimizing/basic_strategies/basic_strategies/(2025) | | 递归分割 | 按分隔符层级(段→句→词)递归切
  • Network accessline 60
    | 固定长度 | 按 token/字符数切,可设 overlap | 常见 256–1024 token;LlamaIndex 默认 chunk_size=1024、overlap=20。来源:https://developers.llamaindex.ai/python/framework/optimizing/basic_strategies/basic_strategies/(2025) |
  • Network accessline 61
    | 递归分割 | 按分隔符层级(段→句→词)递归切,尽量不切断段落/句子 | LangChain RecursiveCharacterTextSplitter;Chroma 实测建议分隔符加上句号/问号。来源:https://www.trychroma.com/research/evaluating-chunking(2024) |
  • Network accessline 62
    | 语义分块 | 计算相邻句子 embedding 相似度,在"话题跳变"处切 | LlamaIndex SemanticSplitter,breakpoint_percentile_threshold 默认 95;思路源自 Greg Kamradt。来源:https://developers.llamaindex.ai/python/examples/node_parsers/semantic_chunking/(2025) |
  • Network accessline 63
    | 父子块(小块检索、大块返回) | 用小块做 embedding 匹配,命中后返回其父块给 LLM | LangChain ParentDocumentRetriever 示例:父块 2000 字符、子块 400 字符;LlamaIndex AutoMergingRetriever 默认三层 2048/512/128。来源:https://github.com/langchain-ai/langchain(源码 docstring,2025);https://develop
  • Network accessline 64
    | Late Chunking | 先把**整篇**送入长上下文 embedding 模型,再在 token 向量层面切块并池化,让每块向量"带着全文语境" | Jina AI,Günther 等,arXiv 2409.04701(2024,修订 2025)。来源:https://arxiv.org/abs/2409.04701 |
  • Network accessline 65
    | Contextual Retrieval | 索引前让 LLM 为每个块生成 50–100 token 的"上下文说明"(如"本块来自 ACME 公司 2023 Q2 财报")再一起 embedding / 建 BM25 | Anthropic 2024-09-19。**实测数字**:Contextual Embeddings 单独把 top-20 检索失败率降低 **35%**(5.7%→3.7%);+ Contextual BM25 降低 **49%**(→2.9%)
  • Network accessline 66
    | 树状摘要(RAPTOR) | 递归聚类 + 摘要成树,检索时可在不同抽象层取材 | Sarthi 等,arXiv 2401.18059(2024);配 GPT-4 在 QuALITY 上绝对提升 20%。来源:https://arxiv.org/abs/2401.18059 |
  • Network accessline 68
    - **块大小的实证**:   - Chroma 技术报告(2024-07):在 text-embedding-3-large 上,递归分割 **200 token、无重叠**表现很好;不同策略召回率差距可达 9%;OpenAI 助手默认的 800 token / 400 overlap 表现"略低于平均"。来源:https://www.trychroma.com/research/evaluating-chunking(2024)
  • Network accessline 69
    - Chroma 技术报告(2024-07):在 text-embedding-3-large 上,递归分割 **200 token、无重叠**表现很好;不同策略召回率差距可达 9%;OpenAI 助手默认的 800 token / 400 overlap 表现"略低于平均"。来源:https://www.trychroma.com/research/evaluating-chunking(2024)
  • Network accessline 70
    - NVIDIA 博客(2025-06):**页级分块**平均准确率 0.648 最高且最稳定;128 与 2048 token 两个极端最差;中等 512–1024 token 普遍较好,但随数据类型变化。来源:https://developer.nvidia.com/blog/finding-the-best-chunking-strategy-for-accurate-ai-responses/(2025)
  • Network accessline 71
    - Pinecone 建议测试区间:128–256 token(细粒度)到 512–1024 token(保留更多上下文)。来源:https://www.pinecone.io/learn/chunking-strategies/(2025)
  • Network accessline 74
    ### 2.4 元数据与权限 - 每个块携带元数据:来源文件、页码、标题路径、更新时间、作者、**ACL(允许访问的用户/组)**、租户 ID。查询时先按元数据**预过滤**再做向量相似度,避免"先查到再删"带来的泄露与 top-k 不足。来源:LlamaIndex 元数据过滤说明 https://developers.llamaindex.ai/python/framework/optimizing/basic_strategies/basic_strategies/(20
  • Network accessline 75
    - 每个块携带元数据:来源文件、页码、标题路径、更新时间、作者、**ACL(允许访问的用户/组)**、租户 ID。查询时先按元数据**预过滤**再做向量相似度,避免"先查到再删"带来的泄露与 top-k 不足。来源:LlamaIndex 元数据过滤说明 https://developers.llamaindex.ai/python/framework/optimizing/basic_strategies/basic_strategies/(2025)
  • Network accessline 76
    - 多租户:Weaviate 为每个租户分配独立分片与向量索引,单节点可承载 5 万+活跃租户。来源:https://docs.weaviate.io/weaviate/concepts/data(2025)
  • Network accessline 77
    - Qdrant 的"可过滤 HNSW":为已建 payload 索引的字段在 HNSW 图上增加额外边,使过滤与向量搜索同步进行;建议先建 payload 索引再灌数据。来源:https://qdrant.tech/documentation/concepts/indexing/(2025)
  • Network accessline 78
    - 安全视角:OWASP LLM Top 10(2025 版)单列 **LLM08 "向量与嵌入弱点"**,明确多租户环境下"一组的 embedding 可能被另一组的查询检出",要求"细粒度访问控制与权限感知的向量库"。来源:https://genai.owasp.org/llmrisk/llm082025-vector-and-embedding-weaknesses/(2025)
  • Network accessline 80
    ### 2.5 Embedding(把文本变成向量) - **原理一句话**:用神经网络(多为 Transformer 双编码器)把一段文本映射为固定长度的实数向量,使语义相近的文本在向量空间中距离近(余弦相似度/点积)。稠密检索的奠基工作 DPR(Karpukhin 等,EMNLP 2020)报告 top-20 检索准确率比 BM25 高 9–19 个百分点。来源:https://arxiv.org/abs/2004.04906(2020)
  • Network accessline 81
    - **原理一句话**:用神经网络(多为 Transformer 双编码器)把一段文本映射为固定长度的实数向量,使语义相近的文本在向量空间中距离近(余弦相似度/点积)。稠密检索的奠基工作 DPR(Karpukhin 等,EMNLP 2020)报告 top-20 检索准确率比 BM25 高 9–19 个百分点。来源:https://arxiv.org/abs/2004.04906(2020)
  • Network accessline 82
    - **维度范围**:从 384 维(all-MiniLM-L6-v2,Hugging Face 月下载 2.5 亿次量级)到 4096 维(Qwen3-Embedding-8B);主流 1024–3072。来源:https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2(2026 抓取);https://qwenlm.github.io/blog/qwen3-embedding/(2025)
  • Network accessline 86
    | 模型 | 维度 | 上下文 | 语言 | 备注 / 来源 | |---|---|---|---|---| | BAAI bge-m3(开源) | 1024 | 8192 token | 100+ | 同时支持稠密/稀疏/多向量三种检索。https://arxiv.org/abs/2402.03216(2024) |
  • Network accessline 87
    |---|---|---|---|---| | BAAI bge-m3(开源) | 1024 | 8192 token | 100+ | 同时支持稠密/稀疏/多向量三种检索。https://arxiv.org/abs/2402.03216(2024) | | Qwen3-Embedding 0.6B/4B/8B(开源,Apache 2.0) | 1024/2560/4096,支持 MRL | 32k token | 100+ | 8B 版发布时(2025-06-05)以 **
  • Network accessline 88
    | BAAI bge-m3(开源) | 1024 | 8192 token | 100+ | 同时支持稠密/稀疏/多向量三种检索。https://arxiv.org/abs/2402.03216(2024) |
  • Network accessline 89
    | Qwen3-Embedding 0.6B/4B/8B(开源,Apache 2.0) | 1024/2560/4096,支持 MRL | 32k token | 100+ | 8B 版发布时(2025-06-05)以 **70.58** 分居 MTEB 多语言榜首。https://qwenlm.github.io/blog/qwen3-embedding/(2025);https://arxiv.org/abs/2506.05176 |
  • Network accessline 90
    | OpenAI text-embedding-3-small / -large | 1536 / 3072,可截短 | 8192 token | — | 官方页 MTEB 分数 62.3% / 64.6%(2024 年口径)。https://developers.openai.com/api/docs/guides/embeddings |
  • Network accessline 91
    | Google gemini-embedding-001 / gemini-embedding-2 | 默认 3072,可截 768/1536 | 2048 / 8192 token | 100+ | 001 版 2025-07 GA,官方称自 3 月实验版起"稳居 MTEB 多语言榜前列",$0.15/百万 token;embedding-2 为多模态。https://developers.googleblog.com/en/gemini-embedding-availa
  • Network accessline 92
    | Voyage voyage-4 系列(voyage-4-large/4/4-lite,含开源 voyage-4-nano) | 默认 1024,可选 256–2048 | 32k token | — | 另有代码/金融/法律领域模型。https://docs.voyageai.com/docs/embeddings(2026);Voyage 于 2025 年并入 MongoDB【待核 官方公告链接】 |
  • Network accessline 94
    - **MTEB 榜单地位**:MTEB(Muennighoff 等,2022)最初含 8 类任务、58 个数据集、112 种语言;2025 年扩为 **MMTEB**(ICLR 2025):500+ 任务、250+ 语言。榜单排名月度变动大,视频中只宜说"某模型在发布时登顶",勿说"当前第一"。来源:https://arxiv.org/abs/2210.07316(2022);https://arxiv.org/abs/2502.13595(2025)。**2026-09 
  • Network accessline 97
    - **为什么要近似**:暴力比对(Flat)是 O(N·d),百万级向量每次查询都要算百万次距离;ANN 用少量精度换几十到几百倍速度。 - **三类核心结构(一句话原理)**:   - **HNSW**(Malkov & Yashunin,arXiv 2016,后刊于 IEEE TPAMI【待核 期刊卷期】):多层"可导航小世界图",上层稀疏用于快速定位、下层稠密用于精确逼近,作者称查询复杂度达到**对数级**。关键参数 M(每点边数)、ef_construction、e
  • Network accessline 98
    - **三类核心结构(一句话原理)**:   - **HNSW**(Malkov & Yashunin,arXiv 2016,后刊于 IEEE TPAMI【待核 期刊卷期】):多层"可导航小世界图",上层稀疏用于快速定位、下层稠密用于精确逼近,作者称查询复杂度达到**对数级**。关键参数 M(每点边数)、ef_construction、ef_search;Qdrant 默认 m=16、ef_construct=100。来源:https://arxiv.org/abs/1603
  • Network accessline 99
    - **HNSW**(Malkov & Yashunin,arXiv 2016,后刊于 IEEE TPAMI【待核 期刊卷期】):多层"可导航小世界图",上层稀疏用于快速定位、下层稠密用于精确逼近,作者称查询复杂度达到**对数级**。关键参数 M(每点边数)、ef_construction、ef_search;Qdrant 默认 m=16、ef_construct=100。来源:https://arxiv.org/abs/1603.09320(2016);https://qd
  • Network accessline 100
    - **IVF**(倒排文件):先 k-means 把向量分到 nlist 个"格子"(Voronoi 单元),查询时只搜最近的 nprobe 个格子。来源:https://github.com/facebookresearch/faiss/wiki/Faiss-indexes
  • Network accessline 101
    - **PQ**(乘积量化):把 d 维向量切成 M 段,每段用 8 bit 码本近似,内存从每向量 4d 字节压到 M 字节量级(如 768 维 float32 ≈ 3 KB → PQ 后几十字节)。来源:同上;FAISS 起源论文 Johnson 等《Billion-scale similarity search with GPUs》,arXiv 1702.08734(2017) - **常见向量数据库/引擎**(均支持 HNSW):FAISS(Meta 开源库,非服务)
  • Network accessline 102
    - **常见向量数据库/引擎**(均支持 HNSW):FAISS(Meta 开源库,非服务);Milvus(Zilliz 发起,LF AI & Data 项目,支持 HNSW/IVF/DiskANN/GPU CAGRA,自称支撑"百亿级"向量,文档当前为 3.0.x);Qdrant;Weaviate;**pgvector**(Postgres 扩展,支持 HNSW 与 IVFFlat,vector 类型最高 16000 维,普通索引 ≤2000 维,当前 0.8.x);Ela
  • Network accessline 105
    ### 2.7 混合检索(Hybrid Search) - **BM25**(Robertson、Spärck Jones 等 1970–80 年代概率检索框架,Okapi 系统得名):基于词频、逆文档频率、文档长度归一化的词袋打分;典型参数 k1∈[1.2, 2.0],b=0.75。擅长精确词、型号、人名、代码符号。来源:https://en.wikipedia.org/wiki/Okapi_BM25
  • Network accessline 106
    - **BM25**(Robertson、Spärck Jones 等 1970–80 年代概率检索框架,Okapi 系统得名):基于词频、逆文档频率、文档长度归一化的词袋打分;典型参数 k1∈[1.2, 2.0],b=0.75。擅长精确词、型号、人名、代码符号。来源:https://en.wikipedia.org/wiki/Okapi_BM25
  • Network accessline 107
    - **向量检索**擅长同义改写、跨语言、模糊描述;两者互补。BEIR 基准(NeurIPS 2021)指出 BM25 是"稳健基线",零样本下不少稠密模型反而不如它。来源:https://arxiv.org/abs/2104.08663(2021)
  • Network accessline 108
    - **RRF 融合公式**(Cormack、Clarke、Büttcher,SIGIR 2009):   `RRFscore(d) = Σ_r 1 / (k + rank_r(d))`,原文 k=60,作者称"k=60 接近最优,但取值并不关键";RRF 平均比最佳单系统高 4–5%。来源:http://cormack.uwaterloo.ca/cormacksigir09-rrf.pdf(2009)。Elasticsearch 的 rank_constant 默认也是 6
  • Network accessline 109
    `RRFscore(d) = Σ_r 1 / (k + rank_r(d))`,原文 k=60,作者称"k=60 接近最优,但取值并不关键";RRF 平均比最佳单系统高 4–5%。来源:http://cormack.uwaterloo.ca/cormacksigir09-rrf.pdf(2009)。Elasticsearch 的 rank_constant 默认也是 60。来源:https://www.elastic.co/docs/reference/elasticsear
  • Network accessline 110
    - Weaviate 另提供 relativeScoreFusion(归一化分数加权,alpha 控制两路权重),自 v1.24 起为默认,内部测试召回率约提升 6%。来源:https://weaviate.io/blog/hybrid-search-fusion-algorithms(2023)
  • Network accessline 111
    - Anthropic 实测:在 contextual embedding 之上叠加 contextual BM25,失败率再从 3.7% 降到 2.9%。来源:https://www.anthropic.com/news/contextual-retrieval(2024)
  • Network accessline 113
    ### 2.8 增量更新与新鲜度 - 以 doc_id + 内容哈希跟踪每篇文档,变更时只重嵌入受影响的块(LlamaIndex `refresh_ref_docs` 即"同 id、不同内容才更新")。来源:https://developers.llamaindex.ai/python/framework/module_guides/indexing/document_management/(2025)
  • Network accessline 114
    - 以 doc_id + 内容哈希跟踪每篇文档,变更时只重嵌入受影响的块(LlamaIndex `refresh_ref_docs` 即"同 id、不同内容才更新")。来源:https://developers.llamaindex.ai/python/framework/module_guides/indexing/document_management/(2025)
  • Network accessline 115
    - 注意 HNSW 删除代价高(FAISS 的 IndexHNSWFlat 不支持删除,需标记删除/重建)。来源:https://github.com/facebookresearch/faiss/wiki/Faiss-indexes
  • Network accessline 116
    - 时效性问题不只在文档侧:FreshLLMs(Google,2023)显示"所有模型(无论大小)在快速变化的知识和错误前提问题上都表现糟糕",且"检索证据的数量与顺序都关键"。来源:https://arxiv.org/abs/2310.03214(2023)
  • Network accessline 117
    - 图结构方案的更新成本是分歧点:GraphRAG 需重建社区摘要,LightRAG(2024)主打"增量更新算法,无需全量重建索引"。来源:https://arxiv.org/abs/2410.05779(2024)
  • Network accessline 123
    ### 3.1 查询改写(Query Transformation) - **Query Rewriting**:用 LLM 把口语化/含上下文指代的问题改写成适合检索的查询。代表工作 Ma 等《Query Rewriting for Retrieval-Augmented LLMs》提出 Rewrite-Retrieve-Read 框架(EMNLP 2023)。来源:https://arxiv.org/abs/2305.14283(2023)
  • Network accessline 124
    - **Query Rewriting**:用 LLM 把口语化/含上下文指代的问题改写成适合检索的查询。代表工作 Ma 等《Query Rewriting for Retrieval-Augmented LLMs》提出 Rewrite-Retrieve-Read 框架(EMNLP 2023)。来源:https://arxiv.org/abs/2305.14283(2023)
  • Network accessline 125
    - **Multi-query**:让 LLM 生成同一问题的多个变体分别检索,取并集,缓解"一种表述查不到"的问题。LangChain MultiQueryRetriever 默认生成 **3** 个版本。来源:LangChain 源码 docstring https://github.com/langchain-ai/langchain(2025)
  • Network accessline 126
    - **HyDE**(Hypothetical Document Embeddings,Gao 等 2022):先让 LLM"编"一段可能的答案文档,用它的向量去检索真实文档——"以答找答"比"以问找答"更贴近文档分布。来源:https://arxiv.org/abs/2212.10496(2022)
  • Network accessline 127
    - **Step-back prompting**(Google DeepMind,ICLR 2024):先问一个更抽象的"退一步"问题(原理/背景),再回到具体问题;原文在物理/化学 QA 上提升 7–11%,时间推理提升 27%,多跳提升 7%。来源:https://arxiv.org/abs/2310.06117(2023)
  • Network accessline 128
    - **路由 / 自适应**:Adaptive-RAG(NAACL 2024)用分类器按问题复杂度分流到"不检索 / 单步检索 / 多步检索"。来源:https://arxiv.org/abs/2403.14403(2024)
  • Network accessline 130
    ### 3.2 检索 top-k 的典型值 - 框架默认值:LlamaIndex similarity_top_k 默认 **2**(文档建议块变小则加倍到 4);LangChain 向量检索器默认 **k=4**。来源:https://developers.llamaindex.ai/python/framework/optimizing/basic_strategies/basic_strategies/(2025);LangChain 源码 https://github
  • Network accessline 131
    - 框架默认值:LlamaIndex similarity_top_k 默认 **2**(文档建议块变小则加倍到 4);LangChain 向量检索器默认 **k=4**。来源:https://developers.llamaindex.ai/python/framework/optimizing/basic_strategies/basic_strategies/(2025);LangChain 源码 https://github.com/langchain-ai/lang
  • Network accessline 132
    - 生产实践是"**两阶段**":先粗召回 20–100 条,再重排取 3–10 条。Anthropic 实验比较 5/10/20 块,**20 块最好**;Pinecone 示例取 top-25 再重排到 top-3。来源:https://www.anthropic.com/news/contextual-retrieval(2024);https://www.pinecone.io/learn/series/rag/rerankers/
  • Network accessline 135
    ### 3.3 重排 Rerank - **为什么需要**:Embedding 双编码器把整段压成一个向量,会丢信息;**Cross-encoder** 把"问题+候选段"拼在一起过一遍 Transformer,直接打相关分,更准但慢——Pinecone 估算:用小 BERT 重排 4000 万条记录在 V100 上要 50+ 小时,而向量检索 <100 ms,因此只能对少量候选重排。来源:https://www.pinecone.io/learn/series/rag/re
  • Network accessline 136
    - **为什么需要**:Embedding 双编码器把整段压成一个向量,会丢信息;**Cross-encoder** 把"问题+候选段"拼在一起过一遍 Transformer,直接打相关分,更准但慢——Pinecone 估算:用小 BERT 重排 4000 万条记录在 V100 上要 50+ 小时,而向量检索 <100 ms,因此只能对少量候选重排。来源:https://www.pinecone.io/learn/series/rag/rerankers/
  • Network accessline 137
    - **模型举例**:   - **bge-reranker-v2-m3**(BAAI,开源,基于 bge-m3,约 0.6B 参数):输入问题-段落对,直接输出相关分,多语言。来源:https://huggingface.co/BAAI/bge-reranker-v2-m3(2024)   - **Qwen3-Reranker 0.6B/4B/8B**(2025-06,Apache 2.0)。来源:https://arxiv.org/abs/2506.05176(2025)
  • Network accessline 138
    - **bge-reranker-v2-m3**(BAAI,开源,基于 bge-m3,约 0.6B 参数):输入问题-段落对,直接输出相关分,多语言。来源:https://huggingface.co/BAAI/bge-reranker-v2-m3(2024)
  • Network accessline 139
    - **Qwen3-Reranker 0.6B/4B/8B**(2025-06,Apache 2.0)。来源:https://arxiv.org/abs/2506.05176(2025)
  • Network accessline 140
    - **Cohere Rerank**:rerank-v3.5(2024-12-02 发布)、rerank-v4.0-pro / -fast,单一多语言模型,100+ 语言。来源:https://docs.cohere.com/docs/rerank-overview(2026);https://cohere.com/blog/rerank-3pt5(2024)
  • Network accessline 141
    - **ColBERT 晚交互(late interaction)**(Khattab & Zaharia,SIGIR 2020):文档与查询各自编码成**每个 token 一个向量**,查询时用 MaxSim 做细粒度匹配——介于双编码器与 cross-encoder 之间:可离线预计算,又保留词级交互。来源:https://arxiv.org/abs/2004.12832(2020)。BEIR 也发现"重排与晚交互模型平均零样本效果最好"。来源:https://arxiv
  • Network accessline 142
    - Anthropic 实测:在混合检索之上再加重排,top-20 失败率从 2.9% 降到 1.9%。来源:https://www.anthropic.com/news/contextual-retrieval(2024)
  • Network accessline 144
    ### 3.4 上下文组装 - **去重与合并**:同一父块的多个子块合并、近重复块去掉(父子块/AutoMerging 机制,见 2.3)。 - **排序与位置**:《Lost in the Middle》(Liu 等,TACL 2023):模型对**开头和结尾**的信息利用最好、**中间**明显变差,呈 U 形;即便专门的长上下文模型也如此。工程上因此把最相关的块放两端,或直接少放。来源:https://arxiv.org/abs/2307.03172(2023)
  • Network accessline 145
    - **去重与合并**:同一父块的多个子块合并、近重复块去掉(父子块/AutoMerging 机制,见 2.3)。 - **排序与位置**:《Lost in the Middle》(Liu 等,TACL 2023):模型对**开头和结尾**的信息利用最好、**中间**明显变差,呈 U 形;即便专门的长上下文模型也如此。工程上因此把最相关的块放两端,或直接少放。来源:https://arxiv.org/abs/2307.03172(2023) - **Context rot**
  • Network accessline 146
    - **排序与位置**:《Lost in the Middle》(Liu 等,TACL 2023):模型对**开头和结尾**的信息利用最好、**中间**明显变差,呈 U 形;即便专门的长上下文模型也如此。工程上因此把最相关的块放两端,或直接少放。来源:https://arxiv.org/abs/2307.03172(2023)
  • Network accessline 147
    - **Context rot**(Chroma,2025-07):测试 18 个模型(含 GPT-4.1、Claude 4、Gemini 2.5、Qwen3),即使简单任务,可靠性也随输入长度非均匀下降;干扰项的负面影响在长输入下被放大。结论:**并非塞得越多越好**。来源:https://www.trychroma.com/research/context-rot(2025)
  • Network accessline 148
    - Anthropic 对"上下文工程"的表述:目标是找到"**最小的高信号 token 集合**"。来源:https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents(2025)
  • Network accessline 150
    ### 3.5 带引用的生成(Citation / Grounding) - 做法:给每个块编号或带元数据(文件名、页码、URL),要求模型在句末标注引用;或使用模型原生引用能力。 - Anthropic **Citations** 功能:让模型引用源文档中的具体句子/段落;官方称比多数自建方案"召回准确率最高提升 15%";客户 Endex 报告"来源幻觉与格式问题从 10% 降到 0%,每次回答引用数增加 20%"。来源:https://claude.com/blog/i
  • Network accessline 151
    - 做法:给每个块编号或带元数据(文件名、页码、URL),要求模型在句末标注引用;或使用模型原生引用能力。 - Anthropic **Citations** 功能:让模型引用源文档中的具体句子/段落;官方称比多数自建方案"召回准确率最高提升 15%";客户 Endex 报告"来源幻觉与格式问题从 10% 降到 0%,每次回答引用数增加 20%"。来源:https://claude.com/blog/introducing-citations-api(2025,首发 2025
  • Network accessline 152
    - Anthropic **Citations** 功能:让模型引用源文档中的具体句子/段落;官方称比多数自建方案"召回准确率最高提升 15%";客户 Endex 报告"来源幻觉与格式问题从 10% 降到 0%,每次回答引用数增加 20%"。来源:https://claude.com/blog/introducing-citations-api(2025,首发 2025-01【日期待核】)
  • Network accessline 153
    - 可核查的引用本身就是 RAG 相对纯生成的核心卖点(Lewis 2020 把"提供出处 provenance"列为关键问题)。来源:https://arxiv.org/abs/2005.11401
  • Network accessline 158
    - **先引原文再作答**:"让 Claude 先摘出相关引文,再执行任务,有助于聚焦相关内容、忽略其余部分"。 - 明确"**只依据给定资料回答;资料不足时说不知道**"。 来源:https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices(2026,Long context prompting 小节)
  • Network accessline 160
    来源:https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices(2026,Long context prompting 小节)
  • Network accessline 162
    ### 3.7 护栏(Guardrails) - **拒答/兜底**:检索分数低于阈值或重排后无高分候选时,返回"知识库中没有相关信息"而不是硬答;CRAG 论文正式化了这一思路——用检索评估器判"正确/错误/模糊",错误时转外部搜索。来源:https://arxiv.org/abs/2401.15884(2024)
  • Network accessline 163
    - **拒答/兜底**:检索分数低于阈值或重排后无高分候选时,返回"知识库中没有相关信息"而不是硬答;CRAG 论文正式化了这一思路——用检索评估器判"正确/错误/模糊",错误时转外部搜索。来源:https://arxiv.org/abs/2401.15884(2024)
  • Network accessline 164
    - **权限过滤**:在检索层按 ACL 预过滤(见 2.4),而不是让 LLM"自觉"不说。OWASP 明确要求"权限感知的向量与嵌入存储"。来源:https://genai.owasp.org/llmrisk/llm082025-vector-and-embedding-weaknesses/(2025)
  • Network accessline 169
    ### 4.1 RAGAS 四个核心指标(官方定义) RAGAS(Es 等,2023;框架强调"无需人工标注的参考答案"也能评估)。来源:https://arxiv.org/abs/2309.15217(2023)
  • Network accessline 170
    RAGAS(Es 等,2023;框架强调"无需人工标注的参考答案"也能评估)。来源:https://arxiv.org/abs/2309.15217(2023)
  • Network accessline 179
    来源:https://docs.ragas.io/en/stable/concepts/metrics/available_metrics/faithfulness/ 、.../answer_relevance/ 、.../context_precision/ 、.../context_recall/(2025–2026)
  • Network accessline 180
    - 类似框架:TruLens 的 **RAG Triad**(Context Relevance、Groundedness、Answer Relevance)。来源:https://www.trulens.org/getting_started/core_concepts/rag_triad/
  • Network accessline 182
    ### 4.2 检索指标(经典 IR) - **Recall@k**:正确文档是否出现在前 k 条(RAG 最常看的指标,因为生成只能用到检索出的内容)。 - **MRR**(平均倒数排名):每个查询取"第一条相关结果的排名倒数"再平均,只关心第一条命中。来源:https://en.wikipedia.org/wiki/Mean_reciprocal_rank
  • Network accessline 183
    - **Recall@k**:正确文档是否出现在前 k 条(RAG 最常看的指标,因为生成只能用到检索出的内容)。 - **MRR**(平均倒数排名):每个查询取"第一条相关结果的排名倒数"再平均,只关心第一条命中。来源:https://en.wikipedia.org/wiki/Mean_reciprocal_rank - **nDCG**(归一化折损累计增益,Järvelin & Kekäläinen 2002):按位置以 log2(i+1) 折损求相关度累计,再除以理想
  • Network accessline 184
    - **MRR**(平均倒数排名):每个查询取"第一条相关结果的排名倒数"再平均,只关心第一条命中。来源:https://en.wikipedia.org/wiki/Mean_reciprocal_rank
  • Network accessline 185
    - **nDCG**(归一化折损累计增益,Järvelin & Kekäläinen 2002):按位置以 log2(i+1) 折损求相关度累计,再除以理想排序的 DCG,范围 0–1;适合多级相关性。来源:https://en.wikipedia.org/wiki/Discounted_cumulative_gain
  • Network accessline 186
    - Anthropic 博文使用的是"**top-20 检索失败率**"(= 1 − Recall@20)。来源:https://www.anthropic.com/news/contextual-retrieval(2024)
  • Network accessline 188
    ### 4.3 常见 Benchmark - **BEIR**(NeurIPS 2021 数据集赛道):18 个数据集的零样本检索基准;结论"BM25 是稳健基线"。来源:https://arxiv.org/abs/2104.08663(2021)
  • Network accessline 189
    - **BEIR**(NeurIPS 2021 数据集赛道):18 个数据集的零样本检索基准;结论"BM25 是稳健基线"。来源:https://arxiv.org/abs/2104.08663(2021)
  • Network accessline 190
    - **MTEB / MMTEB**:Embedding 模型综合榜(MMTEB 500+ 任务、250+ 语言,ICLR 2025)。来源:https://arxiv.org/abs/2502.13595(2025)
  • Network accessline 191
    - **RAGBench**(Friel 等,2024):10 万条样例、5 个行业领域(用户手册等真实语料),提出 TRACe 评估框架;发现微调的 RoBERTa 评估器可胜过 LLM 评估器。来源:https://arxiv.org/abs/2407.11005(2024)
  • Network accessline 192
    - **HotpotQA**(EMNLP 2018):11.3 万条多跳问答,检验"需要跨多篇文档推理"的能力。来源:https://arxiv.org/abs/1809.09600(2018)
  • Network accessline 193
    - **ViDoRe**:ColPali 提出的视觉文档检索基准。来源:https://arxiv.org/abs/2407.01449(2024)
  • Network accessline 194
    - **FreshQA**:考察时效性知识。来源:https://arxiv.org/abs/2310.03214(2023)
  • Network accessline 196
    ### 4.4 线上指标(工程通识,无单一出处) - 用户显式反馈(👍/👎)、追问率/改写率、引用点击率、"无法回答"占比、人工抽检的幻觉率、P95 延迟、每次问答成本。 - Barnett 等提醒:"RAG 系统的验证只有在运行中才可行",鲁棒性是"演进出来的,而非一开始设计好的"。来源:https://arxiv.org/abs/2401.05856(2024)
  • Network accessline 198
    - Barnett 等提醒:"RAG 系统的验证只有在运行中才可行",鲁棒性是"演进出来的,而非一开始设计好的"。来源:https://arxiv.org/abs/2401.05856(2024)
  • Network accessline 203
    - 论文《From Local to Global: A Graph RAG Approach to Query-Focused Summarization》(Edge 等,arXiv 2024-04,v2 2025-02);微软研究院博文 2024-02-13。 - **核心思路**:用 LLM 从文档抽取实体与关系构成知识图 → 用 **Leiden 算法**分层做社区检测 → 为每个社区预生成摘要 → 回答"全局性问题"(如"这批文档的五大主题是什么")时,让每个社区摘
  • Network accessline 204
    - **核心思路**:用 LLM 从文档抽取实体与关系构成知识图 → 用 **Leiden 算法**分层做社区检测 → 为每个社区预生成摘要 → 回答"全局性问题"(如"这批文档的五大主题是什么")时,让每个社区摘要各出一段部分答案再汇总。 - **实测**:在约 100 万 token(播客)与 170 万 token(新闻)语料上,相对朴素向量 RAG,**全面性胜率 72–83%**、**多样性胜率 62–82%**。来源:https://arxiv.org/abs/2
  • Network accessline 205
    - **实测**:在约 100 万 token(播客)与 170 万 token(新闻)语料上,相对朴素向量 RAG,**全面性胜率 72–83%**、**多样性胜率 62–82%**。来源:https://arxiv.org/abs/2404.16130 ;https://arxiv.org/html/2404.16130(2024);https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-d
  • Network accessline 206
    - **适用/代价**:适合"要把整批文档串起来理解"的全局问题;代价是建图与社区摘要成本高、更新慢。LightRAG(2024)主打图 + 双层检索 + 增量更新,作为更轻的替代。来源:https://arxiv.org/abs/2410.05779(2024)
  • Network accessline 208
    ### 5.2 Agentic RAG / Deep Research - **从"一次检索"到"多轮检索 + 自我反思"**:   - ReAct(ICLR 2023):推理轨迹与动作(如查维基)交替进行。来源:https://arxiv.org/abs/2210.03629
  • Network accessline 209
    - **从"一次检索"到"多轮检索 + 自我反思"**:   - ReAct(ICLR 2023):推理轨迹与动作(如查维基)交替进行。来源:https://arxiv.org/abs/2210.03629   - Self-Ask(2022):模型先自问自答一串后续问题,再合成答案,可接搜索引擎;提出"组合性鸿沟"。来源:https://arxiv.org/abs/2210.03350
  • Network accessline 210
    - ReAct(ICLR 2023):推理轨迹与动作(如查维基)交替进行。来源:https://arxiv.org/abs/2210.03629
  • Network accessline 211
    - Self-Ask(2022):模型先自问自答一串后续问题,再合成答案,可接搜索引擎;提出"组合性鸿沟"。来源:https://arxiv.org/abs/2210.03350
  • Network accessline 212
    - **Self-RAG**(Asai 等,ICLR 2024):训练模型输出"反思 token",按需决定是否检索、并对检索结果与自身生成打分批判。来源:https://arxiv.org/abs/2310.11511(2023)
  • Network accessline 213
    - **CRAG**(Yan 等,2024):轻量检索评估器给出置信度 → 正确/错误/模糊三种动作,错误时转网页搜索;对文档做"分解-再重组"去噪。来源:https://arxiv.org/abs/2401.15884(2024)
  • Network accessline 214
    - Agentic RAG 综述(Singh 等,2025):把"反思、规划、工具使用、多智能体协作"嵌入 RAG 流水线。来源:https://arxiv.org/abs/2501.09136(2025)
  • Network accessline 215
    - **Deep Research 产品化**:Google Gemini Deep Research 2024-12-11 上线(生成多步研究计划→反复搜索→带引用报告);OpenAI Deep Research 2025-02 上线,自主浏览网页 5–30 分钟后输出带引用报告。来源:https://blog.google/products/gemini/google-gemini-deep-research/(2024);https://en.wikipedia.org
  • Network accessline 218
    ### 5.3 多模态 RAG - **ColPali**(Faysse 等,ICLR 2025):用视觉语言模型直接把**文档页面图像**编码成多向量(ColBERT 式晚交互),跳过 OCR/版面解析,保留表格、图表、版式信息;配套 ViDoRe 基准。后续 ColQwen2 基于 Qwen2-VL。来源:https://arxiv.org/abs/2407.01449(2024);https://huggingface.co/vidore/colqwen2-v1.0
  • Network accessline 219
    - **ColPali**(Faysse 等,ICLR 2025):用视觉语言模型直接把**文档页面图像**编码成多向量(ColBERT 式晚交互),跳过 OCR/版面解析,保留表格、图表、版式信息;配套 ViDoRe 基准。后续 ColQwen2 基于 Qwen2-VL。来源:https://arxiv.org/abs/2407.01449(2024);https://huggingface.co/vidore/colqwen2-v1.0
  • Network accessline 220
    - 多模态 embedding:Gemini Embedding 2 支持文本+图像等多模态输入(8192 token)。来源:https://ai.google.dev/gemini-api/docs/embeddings(2026)
  • Network accessline 221
    - 表格是老大难:TableRAG(Google,NeurIPS 2024)指出整表塞入 prompt 不可扩展,改为"schema 检索 + 单元格检索"处理百万 token 级表格。来源:https://arxiv.org/abs/2410.04739(2024)
  • Network accessline 223
    ### 5.4 长上下文 vs RAG:当前共识与分歧 - **上下文窗口现状**:Gemini 自称"首个 1M token 模型";Claude Sonnet 4 于 2025-08-12 开放 1M token("75,000 行代码"或"几十篇论文")。来源:https://ai.google.dev/gemini-api/docs/long-context ;https://claude.com/blog/1m-context(2025)
  • Network accessline 224
    - **上下文窗口现状**:Gemini 自称"首个 1M token 模型";Claude Sonnet 4 于 2025-08-12 开放 1M token("75,000 行代码"或"几十篇论文")。来源:https://ai.google.dev/gemini-api/docs/long-context ;https://claude.com/blog/1m-context(2025)
  • Network accessline 225
    - **对比研究**:Li 等(Google,EMNLP 2024 Industry):资源充足时长上下文平均更准,但 RAG **成本显著更低**;两者在 63% 的问题上给出完全相同的答案,因此提出 **Self-Route**(先 RAG,模型自判"答不了"再走长上下文),成本降低 65%(Gemini-1.5-Pro)/ 39%(GPT-4o)而效果接近长上下文。来源:https://arxiv.org/abs/2407.16833 ;https://arxiv.or
  • Network accessline 226
    - Databricks(2024-08,2000+ 次实验、13 个模型):多给文档先涨后跌,多数模型在 32k–64k 后性能下滑,仅少数(GPT-4o、Claude 3.5 Sonnet 等)保持;失败形态各异(拒答、答错、复读)。来源:https://www.databricks.com/blog/long-context-rag-performance-llms(2024)
  • Network accessline 229
    ### 5.5 上下文工程(Context Engineering,2025) - 出处:2025 年 6 月 Shopify CEO Tobi Lütke 推文主张用"context engineering"取代"prompt engineering"——"核心技能是为任务提供全部上下文,使其能被 LLM 合理解决";Andrej Karpathy 随后附议:"上下文工程是把恰到好处的信息填进上下文窗口以供下一步使用的精妙艺术与科学"。来源(二手引用):https://si
  • Network accessline 230
    - 出处:2025 年 6 月 Shopify CEO Tobi Lütke 推文主张用"context engineering"取代"prompt engineering"——"核心技能是为任务提供全部上下文,使其能被 LLM 合理解决";Andrej Karpathy 随后附议:"上下文工程是把恰到好处的信息填进上下文窗口以供下一步使用的精妙艺术与科学"。来源(二手引用):https://simonwillison.net/2025/Jun/27/context-engi
  • Network accessline 231
    - LangChain 博文(2025-06-23)定义:"构建动态系统,以正确格式提供正确信息与工具,使 LLM 能合理完成任务"。来源:https://www.langchain.com/blog/the-rise-of-context-engineering
  • Network accessline 232
    - Anthropic 工程博文(2025-09-29):上下文工程 = "在推理时为 LLM 策划并维护最优 token 集合的策略";核心原则"最小的高信号 token 集合";提出 **just-in-time 检索**——智能体只保留轻量标识(文件路径、查询、链接),运行时按需用工具加载,而非预先全部检索塞入。来源:https://www.anthropic.com/engineering/effective-context-engineering-for-ai-ag
  • Network accessline 235
    ### 5.6 Memory 与 RAG - **MemGPT**(Packer 等,2023):借鉴操作系统虚拟内存,把对话/文档在"主上下文"与"外部存储"间分层分页调度。来源:https://arxiv.org/abs/2310.08560(2023)
  • Network accessline 236
    - **MemGPT**(Packer 等,2023):借鉴操作系统虚拟内存,把对话/文档在"主上下文"与"外部存储"间分层分页调度。来源:https://arxiv.org/abs/2310.08560(2023)
  • Network accessline 237
    - **Mem0**(2025-04):从对话中抽取并存储要点,按需检索;报告比 OpenAI 记忆方案 LLM-judge 分数相对提升 26%,比全量上下文 p95 延迟低 91%、token 成本省 90%+;图记忆变体再高约 2%。来源:https://arxiv.org/abs/2504.19413(2025)
  • Network accessline 240
    ### 5.7 MCP 与工具化检索 - **MCP**(Model Context Protocol,Anthropic 2024-11-25 开源):"连接 AI 应用与外部系统的开放标准",官方比喻为"**AI 应用的 USB-C 接口**";首批预置服务器含 Google Drive、Slack、GitHub、Postgres 等;现已被 Claude、ChatGPT、VS Code、Cursor 等支持。来源:https://www.anthropic.com/ne
  • Network accessline 241
    - **MCP**(Model Context Protocol,Anthropic 2024-11-25 开源):"连接 AI 应用与外部系统的开放标准",官方比喻为"**AI 应用的 USB-C 接口**";首批预置服务器含 Google Drive、Slack、GitHub、Postgres 等;现已被 Claude、ChatGPT、VS Code、Cursor 等支持。来源:https://www.anthropic.com/news/model-context-pr
  • Network accessline 246
    学术依据:Barnett 等《Seven Failure Points When Engineering a RAG System》(2024)归纳的七类失败点:内容缺失、相关文档未排进 top-k、在候选中但未进上下文、在上下文中但未被提取、格式错误、具体程度不对、答案不完整。来源:https://arxiv.org/abs/2401.05856(2024)
  • Network accessline 248
    1. **分块切断语义**:固定长度把一句话、一张表切成两半,任一半都无法独立回答问题 → 用递归/语义分块、父子块、contextual retrieval 补语境(Anthropic 实测失败率降 35–67%)。来源:https://www.anthropic.com/news/contextual-retrieval
  • Network accessline 249
    2. **检索召回不到**:用户用的词和文档不一样、缩写/型号/人名 → 上混合检索(BM25 + 向量)+ 查询改写 + 多查询。来源:BEIR https://arxiv.org/abs/2104.08663
  • Network accessline 250
    3. **检索到但没用上**("Not extracted"):相关块在上下文中间被忽略,或被噪声块淹没 → 重排、少而精、把关键块放两端、先引原文再答。来源:Lost in the Middle https://arxiv.org/abs/2307.03172 ;Barnett FP4
  • Network accessline 251
    4. **多跳问题**:答案需要串联多篇文档,一次检索拿不全 → 多轮/智能体式检索(Self-Ask、Self-RAG、CRAG)、GraphRAG。来源:HotpotQA https://arxiv.org/abs/1809.09600
  • Network accessline 252
    5. **表格与数字**:表格被打平成文字后行列对应关系丢失,数字被错读 → 保留表格结构(HTML/Markdown)、schema+单元格检索、或走视觉检索。来源:TableRAG https://arxiv.org/abs/2410.04739 ;ColPali https://arxiv.org/abs/2407.01449
  • Network accessline 253
    6. **过期文档**:旧版本与新版本同时在库,模型引用了作废内容 → 元数据带版本/时间、去重、增量刷新、时效性优先排序。来源:FreshLLMs https://arxiv.org/abs/2310.03214 ;LlamaIndex refresh_ref_docs
  • Network accessline 254
    7. **权限泄露**:多租户共用索引、先查后过滤 → 检索前按 ACL 预过滤、租户物理隔离。来源:OWASP LLM08:2025 8. **评估缺失**:上线前只看 demo,不知道召回率与忠实度 → 建 100–300 条黄金问答集,跟踪 Recall@k、Faithfulness 等。来源:RAGAS https://arxiv.org/abs/2309.15217 ;Barnett("验证只能在运行中进行") 9. **成本/延迟**:每问都过大模型重排 + 长上
  • Network accessline 255
    8. **评估缺失**:上线前只看 demo,不知道召回率与忠实度 → 建 100–300 条黄金问答集,跟踪 Recall@k、Faithfulness 等。来源:RAGAS https://arxiv.org/abs/2309.15217 ;Barnett("验证只能在运行中进行")
  • Network accessline 256
    9. **成本/延迟**:每问都过大模型重排 + 长上下文 → 两阶段检索、Self-Route 按需走长上下文(省 39–65%)、prompt caching(contextual retrieval 一次性成本 $1.02/百万 token)。来源:https://arxiv.org/html/2407.16833 ;https://www.anthropic.com/news/contextual-retrieval
  • Network accessline 262
    | # | 可直接讲的事实 | 出处 | 可信度 | |---|---|---|---| | 1 | RAG 一词来自 2020 年 Meta(Facebook AI)的 NeurIPS 论文,最初是"语言模型 + 维基百科向量索引" | https://arxiv.org/abs/2005.11401 | ★★★ |
  • Network accessline 263
    |---|---|---|---| | 1 | RAG 一词来自 2020 年 Meta(Facebook AI)的 NeurIPS 论文,最初是"语言模型 + 维基百科向量索引" | https://arxiv.org/abs/2005.11401 | ★★★ | | 2 | Anthropic 实测:给每个块补 50–100 token 的"上下文说明",top-20 检索失败率降 35%;再叠加 BM25 降 49%;再加重排降 67%(5.7%→1.9%) | htt
  • Network accessline 264
    | 1 | RAG 一词来自 2020 年 Meta(Facebook AI)的 NeurIPS 论文,最初是"语言模型 + 维基百科向量索引" | https://arxiv.org/abs/2005.11401 | ★★★ |
  • Network accessline 265
    | 2 | Anthropic 实测:给每个块补 50–100 token 的"上下文说明",top-20 检索失败率降 35%;再叠加 BM25 降 49%;再加重排降 67%(5.7%→1.9%) | https://www.anthropic.com/news/contextual-retrieval(2024) | ★★(Anthropic 自有数据集) |
  • Network accessline 266
    | 3 | 知识库不到 20 万 token(≈500 页)时,可以不用 RAG,直接整个塞进 prompt | 同上 | ★★ | | 4 | Lost in the Middle:模型对上下文开头和结尾记得最牢,中间最容易漏——U 形曲线 | https://arxiv.org/abs/2307.03172(2023) | ★★★ | | 5 | Context rot:2025 年测 18 个前沿模型,输入越长越不可靠,哪怕任务很简单 | https://www.try
  • Network accessline 267
    | 4 | Lost in the Middle:模型对上下文开头和结尾记得最牢,中间最容易漏——U 形曲线 | https://arxiv.org/abs/2307.03172(2023) | ★★★ |
  • Network accessline 268
    | 5 | Context rot:2025 年测 18 个前沿模型,输入越长越不可靠,哪怕任务很简单 | https://www.trychroma.com/research/context-rot(2025) | ★★ |
  • Network accessline 269
    | 6 | 典型 chunk 大小 256–1024 token;LlamaIndex 默认 1024;Chroma 实测 200 token 无重叠效果好;NVIDIA 实测"按页切"最稳 | LlamaIndex 文档;Chroma 2024;NVIDIA 2025 | ★★ | | 7 | HNSW 查询复杂度是对数级:百万向量也只需几十步"跳跃"即可逼近最近邻 | https://arxiv.org/abs/1603.09320(2016) | ★★★("几十步"为对
  • Network accessline 270
    | 7 | HNSW 查询复杂度是对数级:百万向量也只需几十步"跳跃"即可逼近最近邻 | https://arxiv.org/abs/1603.09320(2016) | ★★★("几十步"为对数级的口语化,非原文数字) |
  • Network accessline 271
    | 8 | RRF 融合公式 1/(60+排名),k=60 来自 2009 年 SIGIR 论文的试验,作者说"取值不关键" | http://cormack.uwaterloo.ca/cormacksigir09-rrf.pdf | ★★★ |
  • Network accessline 272
    | 9 | 稠密检索开山作 DPR:top-20 准确率比 BM25 高 9–19 个百分点(2020);但 BEIR(2021)发现零样本下 BM25 仍是难以击败的基线 | https://arxiv.org/abs/2004.04906 ;https://arxiv.org/abs/2104.08663 | ★★★ |
  • Network accessline 273
    | 10 | Embedding 维度从 384(MiniLM)到 4096(Qwen3-8B);Qwen3-Embedding-8B 发布时以 70.58 分登顶 MTEB 多语言榜 | https://qwenlm.github.io/blog/qwen3-embedding/(2025) | ★★★("发布时"限定) |
  • Network accessline 274
    | 11 | 重排很贵:小 BERT 重排 4000 万条要 50+ 小时,向量检索 <100 ms——所以只能"粗召回 25 条,精排留 3 条" | https://www.pinecone.io/learn/series/rag/rerankers/ | ★★ |
  • Network accessline 275
    | 12 | GraphRAG 在 100 万 token 语料上,回答全局性问题时全面性胜率 72–83% | https://arxiv.org/abs/2404.16130(2024) | ★★★(LLM 评审) |
  • Network accessline 276
    | 13 | RAG vs 长上下文:63% 的问题两者答案完全一样;先 RAG、答不了再长上下文,可省 39–65% 成本 | https://arxiv.org/abs/2407.16833(2024) | ★★★ |
  • Network accessline 277
    | 14 | Weaviate 单节点可跑 5 万+ 租户,各自独立索引——权限隔离靠架构而非靠模型"自觉" | https://docs.weaviate.io/weaviate/concepts/data | ★★ |
  • Network accessline 278
    | 15 | OWASP 2025 把"向量与嵌入弱点"列为 LLM 十大风险之一(LLM08) | https://genai.owasp.org/llmrisk/llm082025-vector-and-embedding-weaknesses/ | ★★★ |
  • Network accessline 279
    | 16 | pgvector 让 Postgres 直接存向量:vector 类型最高 16000 维,支持 HNSW/IVFFlat | https://github.com/pgvector/pgvector | ★★★ |

examples/rag/shots_src/G0/Overlay.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G0/Preview.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G0/index.ts

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G0/util.ts

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G1/Preview.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G1/SC01.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G1/SC02.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G1/SC03.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G1/SC04.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G1/SC05.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G1/index.ts

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G1/layout.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G2/BUILD_NOTES.md

  • Dangerous shell operationline 73
    6. 工程层面:`build_dev_<tag>` 原每个 ~820 MB,8 组并行 + `$TMPDIR/remotion-webpack-bundle-*` 曾把磁盘撑满(ENOSPC)。主会话已改 still.sh 为精简 bundle(`--public-dir public_rag`,≈117 MB)并定规则:本组只用 tag `g2`,改代码后 `rm -rf remotion/build_dev_g2` 再跑;不要直接 `npx remotion still 

examples/rag/shots_src/G2/Preview.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G2/SC06.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G2/SC07.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G2/SC08.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G2/SC09.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G2/SC10.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G2/index.ts

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G2/parts.tsx

  • Executable scriptline 1
    Executable file
  • Network accessline 48
    const x0 = cx - w / 2, y0 = cy - h / 2;   const hw = w / 2;   const curl = h * 0.08; // 页面上缘弧度
  • Network accessline 49
    const hw = w / 2;   const curl = h * 0.08; // 页面上缘弧度   const spineTop = y0 + curl + 6, spineBot = y0 + h;
  • Network accessline 50
    const curl = h * 0.08; // 页面上缘弧度
  • Network accessline 51
    const spineTop = y0 + curl + 6, spineBot = y0 + h;
  • Network accessline 53
    const left = `M${cx},${spineTop} Q${cx - hw * 0.5},${y0 + curl - 4} ${x0},${y0} L${x0},${y0 + h - curl} Q${cx - hw * 0.5},${y0 + h - curl + 6} ${cx},${spineBot} Z`;
  • Network accessline 54
    const right = `M${cx},${spineTop} Q${cx + hw * 0.5},${y0 + curl - 4} ${x0 + w},${y0} L${x0 + w},${y0 + h - curl} Q${cx + hw * 0.5},${y0 + h - curl + 6} ${cx},${spineBot} Z`;
  • Network accessline 55
    const lineNodes: React.ReactNode[] = [];   const innerTop = y0 + curl + 26, innerBot = y0 + h - curl - 18;   const step = (innerBot - innerTop) / Math.max(1, lines - 1);
  • Network accessline 56
    const innerTop = y0 + curl + 26, innerBot = y0 + h - curl - 18;
  • Network accessline 77
    {lineNodes}         {/* 底部书脊厚度 */}         <path d={`M${x0 + 4},${y0 + h - curl + 2} L${x0 + 4},${y0 + h + 8} Q${cx - hw * 0.5},${y0 + h + 14} ${cx},${spineBot + 8} Q${cx + hw * 0.5},${y0 + h + 14} ${x0 + w - 4},${y0 + h + 8} L${x0 + w - 4}
  • Network accessline 78
    {/* 底部书脊厚度 */}         <path d={`M${x0 + 4},${y0 + h - curl + 2} L${x0 + 4},${y0 + h + 8} Q${cx - hw * 0.5},${y0 + h + 14} ${cx},${spineBot + 8} Q${cx + hw * 0.5},${y0 + h + 14} ${x0 + w - 4},${y0 + h + 8} L${x0 + w - 4},${y0 + h - curl + 2
  • Network accessline 79
    <path d={`M${x0 + 4},${y0 + h - curl + 2} L${x0 + 4},${y0 + h + 8} Q${cx - hw * 0.5},${y0 + h + 14} ${cx},${spineBot + 8} Q${cx + hw * 0.5},${y0 + h + 14} ${x0 + w - 4},${y0 + h + 8} L${x0 + w - 4},${y0 + h - curl + 2}`} fill="none" stroke=

examples/rag/shots_src/G3/BUILD_NOTES.md

  • Dangerous shell operationline 64
    - `still.sh` 每次 `npx remotion still` 都会在 `$TMPDIR` 留一份 ~200–340 MB 的 `remotion-webpack-bundle-*`,八组并行时很快写满磁盘(本次 168 份 ≈30 GB,触发 ENOSPC)。建议在脚本末尾追加 `find $TMPDIR -maxdepth 1 -name 'remotion-webpack-bundle-*' -mmin +3 -type d -prune -exec rm -
  • Dangerous shell operationline 88
    - 自检:`npx tsc --noEmit` 通过;tag x34(`rm -rf build_dev_x34` 后重 bundle)出 20 张 still 到 `RAG/stills/X34/G3/`(每处改动 f0+4 / f0+12:1542/1550、1618/1626、1667/1675、1823/1831、1929/1937、2008/2016、2067/2075、2177/2185、2502/2510、2610/2618),Read 核对:中段半透明 + 略

examples/rag/shots_src/G3/Preview.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G3/SC11.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G3/SC12.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G3/SC13.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G3/SC14.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G3/SC15.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G3/g3ui.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G3/index.ts

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G4/BUILD_NOTES.md

  • Dangerous shell operationline 55
    - 旧 bundle 已由主会话统一清除。后续复现 still/测渲请按新规则:`rag/script/still.sh RagG4 <帧> rag/stills/G4 g4`(tag 固定 `g4`,改代码后先 `rm -rf remotion/build_dev_g4`),测渲输出 `/tmp/rag_test_g4` 看完即删;不要直接 `npx remotion still src/index.ts`。
  • Dangerous shell operationline 61
    - `still.sh` 每次 bundle 会在 `$TMPDIR` 留一份 `remotion-webpack-bundle-*`(22–66 MB),本次并行构建累计 105 份 + 各组 `build_dev_*`(每份 ~820 MB)把磁盘写满一次(ENOSPC)。建议 still.sh 末尾加 `find $TMPDIR -maxdepth 1 -name 'remotion-webpack-bundle-*' -mmin +3 -exec rm -rf {} 

examples/rag/shots_src/G4/Preview.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G4/SC16.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G4/SC17.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G4/SC18.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G4/SC19.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G4/SC20.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G4/index.ts

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G4/vspace.ts

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G5/BUILD_NOTES.md

  • Dangerous shell operationline 48
    4. 渲染中途遇到 **磁盘满(ENOSPC)**:`$TMPDIR/remotion-webpack-bundle-*` 累积 6+ GB,已清理(>3 分钟的);各组 `build_dev_*` 也各 0.8 GB,建议主会话定期清理。按主会话新规则:still 只用 `rag/script/still.sh`,tag 固定 `g5`(精简 bundle ≈117 MB),改代码后 `rm -rf remotion/build_dev_g5` 再跑;旧的 `build_d

examples/rag/shots_src/G5/Preview.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G5/SC21.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G5/SC22.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G5/SC23.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G5/SC24.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G5/SC25.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G5/g5util.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G5/index.ts

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G5/vspace.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G6/BUILD_NOTES.md

  • Dangerous shell operationline 40
    - still 规则(主会话 18:57 更新):只用 `still.sh`,tag 固定 `g6`,改代码先 `rm -rf remotion/build_dev_g6`;清盘后用新 bundle 复出 4918/5160/5660 三帧,与此前一致。

examples/rag/shots_src/G6/Preview.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G6/SC26.tsx

  • Executable scriptline 1
    Executable file
  • Network accessline 20
    const T_TRAP_IN = B_TAG + 2; // 灰梯形占位 slideUp const T_PAIR_OUT = 4882; // 配对卡 / 相关分 8 帧淡尽 const NC = 25, CW = 38, CH = 50, PITCH = 41, ROW_Y = 205;
  • Network accessline 21
    const T_PAIR_OUT = 4882; // 配对卡 / 相关分 8 帧淡尽 const NC = 25, CW = 38, CH = 50, PITCH = 41, ROW_Y = 205; const cardCx = (i: number) => 148 + PITCH * i;
  • Network accessline 22
    const NC = 25, CW = 38, CH = 50, PITCH = 41, ROW_Y = 205;

examples/rag/shots_src/G6/SC27.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G6/SC28.tsx

  • Executable scriptline 1
    Executable file
  • Network accessline 44
    const nc = N - T_CTX_IN;
  • Network accessline 62
    <div style={{position: 'absolute', inset: 0, opacity: opAll}}>       {/* ===== 左:上下文条 ===== */}       {nc >= 0 ? (
  • Network accessline 63
    {/* ===== 左:上下文条 ===== */}       {nc >= 0 ? (         <div style={{position: 'absolute', inset: 0, transform: `translateY(${ctxDy.toFixed(2)}px)`, opacity: ctxOp}}>
  • Network accessline 64
    {nc >= 0 ? (

examples/rag/shots_src/G6/SC29.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G6/SC30.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G6/index.ts

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G6/ui.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G7/Preview.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G7/SC31.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G7/SC32.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G7/SC33.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G7/SC34.tsx

  • Executable scriptline 1
    Executable file
  • Network accessline 51
    const nc = N - T_CARD;
  • Network accessline 65
    <AbsoluteFill style={{pointerEvents: 'none', opacity: op}}>       {/* 答复卡 */}       {nc >= 0 ? (
  • Network accessline 66
    {/* 答复卡 */}       {nc >= 0 ? (         <div style={{position: 'absolute', inset: 0, transform: `translateY(${cardDy.toFixed(2)}px)`, opacity: cardOp}}>
  • Network accessline 67
    {nc >= 0 ? (

examples/rag/shots_src/G7/SC35.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G7/SC36.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G7/SC37.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G7/g7ui.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G7/index.ts

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G8/BUILD_NOTES.md

  • Dangerous shell operationline 55
    - 磁盘:构建期间磁盘一度只剩 118 MiB(15 个 build_dev bundle ≈11 GB),已通知主会话。按新规则本组 bundle 固定 tag `g8`(`remotion/build_dev_g8`,精简 bundle ≈110 MB),改码后 `rm -rf remotion/build_dev_g8` 再跑 still.sh;已用新版脚本复验 7600/8148 两帧正常。

examples/rag/shots_src/G8/Preview.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G8/SC38.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G8/SC39.tsx

  • Executable scriptline 1
    Executable file
  • Network accessline 15
    const N = useCurrentFrame() + F0;   const nIcon = N - 7176;   const nc = N - CNT0;
  • Network accessline 16
    const nIcon = N - 7176;   const nc = N - CNT0;   const val = nc < 0 ? 0 : Math.round(1e6 * easeOutCubic(clamp01(nc / CNT_LEN)));
  • Network accessline 17
    const nc = N - CNT0;
  • Network accessline 18
    const val = nc < 0 ? 0 : Math.round(1e6 * easeOutCubic(clamp01(nc / CNT_LEN)));
  • Network accessline 34
    </CText>       </SoftIn>       {nc >= 0 ? (
  • Network accessline 35
    </SoftIn>       {nc >= 0 ? (         <div style={{position: 'absolute', inset: 0, opacity: fadeIn(nc, 10), transform: `translateY(${slideUp(nc, 120).toFixed(2)}px)`}}>
  • Network accessline 36
    {nc >= 0 ? (

examples/rag/shots_src/G8/SC40.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G8/SC41.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G8/SC42.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G8/SC43.tsx

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G8/SC44.tsx

  • Executable scriptline 1
    Executable file
  • Network accessline 16
    export const SC44: React.FC = () => {   const N = useCurrentFrame() + F0;   const nC = N - 8061;
  • Network accessline 17
    const N = useCurrentFrame() + F0;   const nC = N - 8061;   const castleDy = slideUp(nC, 170); // QC v1:Δ300→170,起点城堡底 y≈590 不穿字幕带
  • Network accessline 18
    const nC = N - 8061;
  • Network accessline 24
    return (     <>       {nC >= 0 ? (
  • Network accessline 25
    <>       {nC >= 0 ? (         <svg width={1280} height={720} viewBox="0 0 1280 720" style={{position: 'absolute', left: 0, top: 0, overflow: 'visible', filter: 'drop-shadow(0 0 3px rgba(255,255,255,0.45))', opacity: fadeIn(nC, 10), transfor
  • Network accessline 26
    {nC >= 0 ? (

examples/rag/shots_src/G8/index.ts

  • Executable scriptline 1
    Executable file

examples/rag/shots_src/G8/shared.tsx

  • Executable scriptline 1
    Executable file

examples/rag/ui_rag.tsx

  • Executable scriptline 1
    Executable file

reference/agent-build-rules.md

  • Dangerous shell operationline 51
    - 每个镜头至少出 **6 张 still**:入场首帧+1、入场中段、入场完成、中间关键帧、离场中段、末帧。命令:`<项目根>/scripts/still.sh Gn <帧号,逗号分隔> <输出目录绝对路径> gN`(**tag 固定为本组 gN,一个组只留一个 bundle**;改代码后 `rm -rf <项目根>/build_dev_gN` 再跑;bundle ≈40MB,仍不要堆多个)。**禁止**直接 `npx remotion still src/index.ts

reference/lessons.md

  • Dangerous shell operationline 4
    - `public/` 只放本片资产(模板 18MB,bundle ≈38MB);出 still 只用 `scripts/still.sh`,每组一个固定 tag,改码后 `rm -rf build_dev_<tag>` 再建;不要直接 `npx remotion still src/index.ts …`(会在 $TMPDIR 留临时 bundle,脚本已自动清理)。

template/package.json

  • Executable scriptline 1
    Executable file

template/public/fonts/LICENSE.md

  • Network accessline 6
    | 文件 | 字体 | 版权声明 | |---|---|---| | `NotoSansSC.ttf` | Noto Sans SC | (c) 2014-2021 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'. |
  • Network accessline 7
    |---|---|---| | `NotoSansSC.ttf` | Noto Sans SC | (c) 2014-2021 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'. | | `Orbitron[wght].ttf` | Orbitron | Copyright 2018 The Orbitron Project Authors (https://github.com/theleague
  • Network accessline 8
    | `NotoSansSC.ttf` | Noto Sans SC | (c) 2014-2021 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'. |
  • Network accessline 9
    | `Orbitron[wght].ttf` | Orbitron | Copyright 2018 The Orbitron Project Authors (https://github.com/theleagueof/orbitron), with Reserved Font Name: "Orbitron". |
  • Network accessline 10
    | `Exo2-Italic.ttf` | Exo 2 | Copyright 2013 The Exo 2 Project Authors (https://github.com/googlefonts/Exo-2.0) |
  • Network accessline 19
    This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is copied below, and is also available with a FAQ at: https://openfontlicense.org
  • Network accessline 21
    https://openfontlicense.org

template/remotion.config.ts

  • Executable scriptline 1
    Executable file

template/scripts/frame_metrics.py

  • Executable scriptline 1
    #!/usr/bin/env python3

template/scripts/motion_check.py

  • Executable scriptline 1
    #!/usr/bin/env python3

template/scripts/new_project.sh

  • Executable scriptline 1
    #!/bin/zsh
  • Dangerous shell operationline 16
    # portable in-place edit: `-i.bak` + rm works on both BSD/macOS and GNU/Linux sed
  • Dangerous shell operationline 18
    sed -i.bak "s/slug: 'demo'/slug: '$SLUG'/" "$DEST/src/config.ts" && rm -f "$DEST/src/config.ts.bak"

template/scripts/preview.sh

  • Executable scriptline 1
    #!/bin/zsh
  • Dangerous shell operationline 13
    [ "${SKIP_BUNDLE:-0}" = 1 ] && [ -d build_prev ] || { rm -rf build_prev && npx remotion bundle src/index.ts --out-dir build_prev --log=error; }
  • Dangerous shell operationline 16
    [ "${KEEP_BUNDLE:-0}" = 1 ] || rm -rf build_prev

template/scripts/render.sh

  • Executable scriptline 1
    #!/bin/zsh
  • Dangerous shell operationline 8
    [ "${SKIP_BUNDLE:-0}" = 1 ] && [ -d build_full ] || { rm -rf build_full && npx remotion bundle src/index.ts --out-dir build_full --log=error; }
  • Dangerous shell operationline 11
    rm -rf fin_frames && mkdir -p fin_frames
  • Dangerous shell operationline 15
    [ "${KEEP_BUNDLE:-0}" = 1 ] || rm -rf build_full

template/scripts/render_storyboard.py

  • Executable scriptline 1
    #!/usr/bin/env python3

template/scripts/selfcheck.py

  • Executable scriptline 1
    #!/usr/bin/env python3

template/scripts/sheet.py

  • Executable scriptline 1
    #!/usr/bin/env python3

template/scripts/still.sh

  • Executable scriptline 1
    #!/bin/zsh
  • Dangerous shell operationline 3
    # ⚠ 每个构建组只用一个 tag(如 g3),改代码后 rm -rf build_dev_<tag> 再跑;不要每次换新 tag(每个 bundle ≈40MB)。
  • Dangerous shell operationline 16
    [ "${CLEAN_TMP:-1}" = 1 ] && find "${TMPDIR:-/tmp}" -maxdepth 1 -name 'remotion-webpack-bundle-*' -mmin +240 -exec rm -rf {} + 2>/dev/null

template/scripts/test_render.sh

  • Executable scriptline 1
    #!/bin/zsh
  • Dangerous shell operationline 9
    trap 'rm -rf "$OUT"' EXIT

template/scripts/tts_build.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 43
    [Credential-related source omitted]
  • Access to secretsline 44
    [Credential-related source omitted]
  • Access to secretsline 45
    [Credential-related source omitted]
  • Access to secretsline 46
    [Credential-related source omitted]
  • Access to secretsline 47
    [Credential-related source omitted]
  • Access to secretsline 48
    [Credential-related source omitted]
  • Access to secretsline 51
    [Credential-related source omitted]
  • Access to secretsline 54
    [Credential-related source omitted]
  • Access to secretsline 55
    [Credential-related source omitted]
  • Access to secretsline 56
    [Credential-related source omitted]
  • Access to secretsline 57
    [Credential-related source omitted]
  • Access to secretsline 58
    [Credential-related source omitted]
  • Access to secretsline 79
    [Credential-related source omitted]
  • Access to secretsline 80
    [Credential-related source omitted]
  • Access to secretsline 81
    [Credential-related source omitted]
  • Access to secretsline 83
    [Credential-related source omitted]
  • Access to secretsline 84
    [Credential-related source omitted]
  • Access to secretsline 85
    [Credential-related source omitted]

template/src/Main.tsx

  • Executable scriptline 1
    Executable file

template/src/Root.tsx

  • Executable scriptline 1
    Executable file

template/src/common/DotFieldBg.tsx

  • Executable scriptline 1
    Executable file
  • Network accessline 15
    export const DOT_STEP = 36, DOT_X0 = 24, DOT_Y0 = 18; // 设计坐标网格(frame_metrics.py 用同一组常量还原屏幕坐标) const GRAIN_URL =   "url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence 
  • Network accessline 17
    "url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0

template/src/common/Fog.tsx

  • Executable scriptline 1
    Executable file

template/src/common/Footage.tsx

  • Executable scriptline 1
    Executable file

template/src/common/Glitch.tsx

  • Executable scriptline 1
    Executable file

template/src/common/ProgressBar.tsx

  • Executable scriptline 1
    Executable file

template/src/common/StarField.tsx

  • Executable scriptline 1
    Executable file

template/src/common/Subtitle.tsx

  • Executable scriptline 1
    Executable file

template/src/common/easing.ts

  • Executable scriptline 1
    Executable file

template/src/common/index.ts

  • Executable scriptline 1
    Executable file

template/src/common/lib.tsx

  • Executable scriptline 1
    Executable file

template/src/common/subs.ts

  • Executable scriptline 1
    Executable file

template/src/common/textfit.ts

  • Executable scriptline 1
    Executable file

template/src/common/timeline.ts

  • Executable scriptline 1
    Executable file

template/src/common/types.ts

  • Executable scriptline 1
    Executable file

template/src/config.ts

  • Executable scriptline 1
    Executable file

template/src/fx.tsx

  • Executable scriptline 1
    Executable file

template/src/index.ts

  • Executable scriptline 1
    Executable file

template/src/overlay/Overlay.tsx

  • Executable scriptline 1
    Executable file

template/src/overlay/Preview.tsx

  • Executable scriptline 1
    Executable file

template/src/overlay/index.ts

  • Executable scriptline 1
    Executable file

template/src/shots/G1/Preview.tsx

  • Executable scriptline 1
    Executable file

template/src/shots/G1/index.ts

  • Executable scriptline 1
    Executable file

template/src/shots/G2/Preview.tsx

  • Executable scriptline 1
    Executable file

template/src/shots/G2/index.ts

  • Executable scriptline 1
    Executable file

template/src/shots/G3/Preview.tsx

  • Executable scriptline 1
    Executable file

template/src/shots/G3/index.ts

  • Executable scriptline 1
    Executable file

template/src/shots/G4/Preview.tsx

  • Executable scriptline 1
    Executable file

template/src/shots/G4/index.ts

  • Executable scriptline 1
    Executable file

template/src/shots/G5/Preview.tsx

  • Executable scriptline 1
    Executable file

template/src/shots/G5/index.ts

  • Executable scriptline 1
    Executable file

template/src/shots/G6/Preview.tsx

  • Executable scriptline 1
    Executable file

template/src/shots/G6/index.ts

  • Executable scriptline 1
    Executable file

template/src/shots/G7/Preview.tsx

  • Executable scriptline 1
    Executable file

template/src/shots/G7/index.ts

  • Executable scriptline 1
    Executable file

template/src/shots/G8/Preview.tsx

  • Executable scriptline 1
    Executable file

template/src/shots/G8/index.ts

  • Executable scriptline 1
    Executable file

template/src/ui.tsx

  • Executable scriptline 1
    Executable file

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Declared and executed: 1 fact
Signal confidence: 404 facts

and 354 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.

Explore alternatives and comparisons

Add this badge to your README

It updates every night and links to this page.

Vincentwei1021/anything2explainer: #400 on hotskills, 3.1k stars

[![Vincentwei1021/anything2explainer on hotskills](https://hotskills.dev/badge/vincentwei1021-anything2explainer.svg)](https://hotskills.dev/skill/vincentwei1021-anything2explainer/)