infographic-pentagram.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=1080">
  6. <title>AI Memory System Optimization — Pentagram Style</title>
  7. <style>
  8. * { margin: 0; padding: 0; box-sizing: border-box; }
  9. body {
  10. width: 1080px;
  11. height: 1920px;
  12. overflow: hidden;
  13. margin: 0;
  14. background: #FFFFFF;
  15. font-family: 'Helvetica Neue', Arial, sans-serif;
  16. color: #111;
  17. }
  18. .container {
  19. width: 100%;
  20. height: 100%;
  21. padding: 64px 72px;
  22. display: flex;
  23. flex-direction: column;
  24. }
  25. /* Header */
  26. .header {
  27. border-bottom: 6px solid #111;
  28. padding-bottom: 24px;
  29. margin-bottom: 0;
  30. }
  31. .header-label {
  32. font-size: 11px;
  33. font-weight: 700;
  34. letter-spacing: 4px;
  35. text-transform: uppercase;
  36. color: #E63946;
  37. margin-bottom: 12px;
  38. }
  39. .header-title {
  40. font-size: 44px;
  41. font-weight: 900;
  42. line-height: 1.1;
  43. letter-spacing: -1px;
  44. color: #111;
  45. }
  46. .header-subtitle {
  47. font-size: 15px;
  48. font-weight: 400;
  49. color: #999;
  50. margin-top: 8px;
  51. }
  52. /* Hero Numbers Section */
  53. .hero-section {
  54. display: flex;
  55. align-items: baseline;
  56. justify-content: center;
  57. padding: 48px 0 20px 0;
  58. border-bottom: 2px solid #111;
  59. gap: 0;
  60. }
  61. .hero-num {
  62. font-weight: 900;
  63. font-size: 200px;
  64. line-height: 0.85;
  65. letter-spacing: -8px;
  66. color: #111;
  67. }
  68. .hero-unit {
  69. font-size: 36px;
  70. font-weight: 500;
  71. color: #111;
  72. margin-left: 4px;
  73. align-self: flex-end;
  74. margin-bottom: 18px;
  75. }
  76. .hero-arrow-container {
  77. display: flex;
  78. flex-direction: column;
  79. align-items: center;
  80. margin: 0 28px;
  81. align-self: center;
  82. }
  83. .hero-arrow-label {
  84. font-size: 12px;
  85. font-weight: 700;
  86. letter-spacing: 3px;
  87. text-transform: uppercase;
  88. color: #E63946;
  89. margin-bottom: 6px;
  90. }
  91. .hero-num-accent {
  92. font-weight: 900;
  93. font-size: 200px;
  94. line-height: 0.85;
  95. letter-spacing: -8px;
  96. color: #E63946;
  97. }
  98. .hero-meta {
  99. display: flex;
  100. justify-content: space-between;
  101. padding: 14px 0;
  102. border-bottom: 6px solid #111;
  103. }
  104. .hero-meta-item {
  105. font-size: 12px;
  106. font-weight: 500;
  107. color: #999;
  108. letter-spacing: 1px;
  109. }
  110. .hero-meta-item strong {
  111. color: #111;
  112. font-weight: 900;
  113. }
  114. /* Sections */
  115. .section {
  116. padding: 32px 0 0 0;
  117. }
  118. .section-header {
  119. display: flex;
  120. align-items: baseline;
  121. gap: 16px;
  122. margin-bottom: 20px;
  123. }
  124. .section-num {
  125. font-size: 48px;
  126. font-weight: 900;
  127. color: #E63946;
  128. line-height: 1;
  129. }
  130. .section-title {
  131. font-size: 22px;
  132. font-weight: 700;
  133. letter-spacing: -0.5px;
  134. color: #111;
  135. line-height: 1;
  136. }
  137. .section-divider {
  138. width: 100%;
  139. height: 2px;
  140. background: #111;
  141. margin-bottom: 20px;
  142. }
  143. /* Data Bars */
  144. .data-bars {
  145. display: flex;
  146. flex-direction: column;
  147. gap: 14px;
  148. }
  149. .data-bar-row {
  150. display: flex;
  151. align-items: center;
  152. gap: 16px;
  153. }
  154. .data-bar-label {
  155. font-size: 13px;
  156. font-weight: 600;
  157. color: #666;
  158. width: 100px;
  159. text-align: right;
  160. flex-shrink: 0;
  161. }
  162. .data-bar-track {
  163. flex: 1;
  164. height: 32px;
  165. background: #F0F0F0;
  166. position: relative;
  167. }
  168. .data-bar-fill {
  169. height: 100%;
  170. background: #111;
  171. }
  172. .data-bar-fill.accent {
  173. background: #E63946;
  174. }
  175. .data-bar-value {
  176. font-size: 14px;
  177. font-weight: 900;
  178. color: #111;
  179. width: 60px;
  180. text-align: left;
  181. flex-shrink: 0;
  182. }
  183. /* Category Grid */
  184. .category-grid {
  185. display: grid;
  186. grid-template-columns: 1fr 1fr;
  187. gap: 2px;
  188. background: #111;
  189. border: 2px solid #111;
  190. }
  191. .category-cell {
  192. background: #fff;
  193. padding: 24px;
  194. display: flex;
  195. flex-direction: column;
  196. gap: 6px;
  197. }
  198. .category-num {
  199. font-size: 11px;
  200. font-weight: 700;
  201. color: #999;
  202. letter-spacing: 2px;
  203. }
  204. .category-name-zh {
  205. font-size: 22px;
  206. font-weight: 900;
  207. color: #111;
  208. line-height: 1.2;
  209. }
  210. .category-name-en {
  211. font-size: 11px;
  212. font-weight: 500;
  213. color: #999;
  214. letter-spacing: 1px;
  215. text-transform: uppercase;
  216. }
  217. .category-desc {
  218. font-size: 12px;
  219. font-weight: 400;
  220. color: #666;
  221. line-height: 1.5;
  222. margin-top: 4px;
  223. }
  224. .category-cell.accent {
  225. background: #E63946;
  226. }
  227. .category-cell.accent .category-num,
  228. .category-cell.accent .category-name-zh,
  229. .category-cell.accent .category-name-en,
  230. .category-cell.accent .category-desc {
  231. color: #fff;
  232. }
  233. /* Section 03: Design Principles */
  234. .principles {
  235. display: flex;
  236. flex-direction: column;
  237. gap: 0;
  238. }
  239. .principle-row {
  240. display: flex;
  241. align-items: stretch;
  242. border-bottom: 1px solid #E8E8E8;
  243. }
  244. .principle-row:last-child {
  245. border-bottom: none;
  246. }
  247. .principle-num {
  248. font-size: 32px;
  249. font-weight: 900;
  250. color: #E63946;
  251. width: 64px;
  252. flex-shrink: 0;
  253. padding: 16px 0;
  254. line-height: 1;
  255. }
  256. .principle-content {
  257. padding: 16px 0 16px 16px;
  258. border-left: 1px solid #E8E8E8;
  259. flex: 1;
  260. }
  261. .principle-name {
  262. font-size: 16px;
  263. font-weight: 900;
  264. color: #111;
  265. margin-bottom: 4px;
  266. }
  267. .principle-desc {
  268. font-size: 13px;
  269. font-weight: 400;
  270. color: #888;
  271. line-height: 1.5;
  272. }
  273. /* Section 04: Results */
  274. .results-grid {
  275. display: grid;
  276. grid-template-columns: 1fr 1fr 1fr;
  277. gap: 0;
  278. }
  279. .result-card {
  280. padding: 32px 24px;
  281. border-right: 1px solid #E8E8E8;
  282. }
  283. .result-card:last-child {
  284. border-right: none;
  285. }
  286. .result-number {
  287. font-size: 64px;
  288. font-weight: 900;
  289. color: #E63946;
  290. line-height: 1;
  291. letter-spacing: -3px;
  292. }
  293. .result-label {
  294. font-size: 11px;
  295. font-weight: 700;
  296. letter-spacing: 2px;
  297. text-transform: uppercase;
  298. color: #999;
  299. margin-top: 8px;
  300. }
  301. /* Insight Quote */
  302. .insight-section {
  303. margin-top: auto;
  304. border-top: 6px solid #111;
  305. padding-top: 24px;
  306. }
  307. .insight-quote {
  308. font-size: 24px;
  309. font-weight: 500;
  310. color: #111;
  311. line-height: 1.4;
  312. letter-spacing: -0.5px;
  313. font-style: italic;
  314. }
  315. .insight-quote .highlight {
  316. color: #E63946;
  317. font-weight: 900;
  318. font-style: normal;
  319. }
  320. .insight-result {
  321. display: flex;
  322. gap: 40px;
  323. margin-top: 18px;
  324. padding-top: 14px;
  325. border-top: 1px solid #DDD;
  326. }
  327. .insight-item {
  328. display: flex;
  329. align-items: center;
  330. gap: 10px;
  331. }
  332. .insight-dot {
  333. width: 8px;
  334. height: 8px;
  335. background: #E63946;
  336. flex-shrink: 0;
  337. }
  338. .insight-text {
  339. font-size: 13px;
  340. font-weight: 600;
  341. color: #666;
  342. }
  343. /* Footer */
  344. .footer {
  345. margin-top: 20px;
  346. display: flex;
  347. justify-content: space-between;
  348. align-items: center;
  349. padding-top: 12px;
  350. border-top: 1px solid #DDD;
  351. }
  352. .footer-text {
  353. font-size: 10px;
  354. font-weight: 500;
  355. color: #CCC;
  356. letter-spacing: 2px;
  357. text-transform: uppercase;
  358. }
  359. </style>
  360. </head>
  361. <body>
  362. <div class="container">
  363. <!-- Header -->
  364. <div class="header">
  365. <div class="header-label">Case Study / System Design</div>
  366. <div class="header-title">AI记忆系统:CLAUDE.md<br>从臃肿到优雅的重构之路</div>
  367. <div class="header-subtitle">A systematic approach to AI memory architecture optimization</div>
  368. </div>
  369. <!-- Hero Numbers -->
  370. <div class="hero-section">
  371. <span class="hero-num">93</span>
  372. <span class="hero-unit">KB</span>
  373. <div class="hero-arrow-container">
  374. <span class="hero-arrow-label">reduced to</span>
  375. <svg width="64" height="24" viewBox="0 0 64 24">
  376. <line x1="0" y1="12" x2="52" y2="12" stroke="#E63946" stroke-width="3"/>
  377. <polygon points="52,4 64,12 52,20" fill="#E63946"/>
  378. </svg>
  379. </div>
  380. <span class="hero-num-accent">22</span>
  381. <span class="hero-unit" style="color:#E63946">KB</span>
  382. </div>
  383. <div class="hero-meta">
  384. <div class="hero-meta-item"><strong>76%</strong> reduction</div>
  385. <div class="hero-meta-item"><strong>2400+</strong> lines before</div>
  386. <div class="hero-meta-item"><strong>1</strong> file to <strong>structured</strong> system</div>
  387. <div class="hero-meta-item"><strong>0</strong> information loss</div>
  388. </div>
  389. <!-- Section 01: Before vs After -->
  390. <div class="section">
  391. <div class="section-header">
  392. <span class="section-num">01</span>
  393. <span class="section-title">Before vs After</span>
  394. </div>
  395. <div class="section-divider"></div>
  396. <div class="data-bars">
  397. <div class="data-bar-row">
  398. <span class="data-bar-label">Before</span>
  399. <div class="data-bar-track">
  400. <div class="data-bar-fill" style="width: 100%;"></div>
  401. </div>
  402. <span class="data-bar-value">93 KB</span>
  403. </div>
  404. <div class="data-bar-row">
  405. <span class="data-bar-label">After</span>
  406. <div class="data-bar-track">
  407. <div class="data-bar-fill accent" style="width: 23.7%;"></div>
  408. </div>
  409. <span class="data-bar-value">22 KB</span>
  410. </div>
  411. </div>
  412. </div>
  413. <!-- Section 02: Memory Architecture -->
  414. <div class="section">
  415. <div class="section-header">
  416. <span class="section-num">02</span>
  417. <span class="section-title">Memory Architecture</span>
  418. </div>
  419. <div class="section-divider"></div>
  420. <div class="category-grid">
  421. <div class="category-cell accent">
  422. <span class="category-num">I</span>
  423. <span class="category-name-zh">核心身份</span>
  424. <span class="category-name-en">Core Identity</span>
  425. <span class="category-desc">Who you are, fundamental traits, immutable facts</span>
  426. </div>
  427. <div class="category-cell">
  428. <span class="category-num">II</span>
  429. <span class="category-name-zh">偏好设置</span>
  430. <span class="category-name-en">Preferences</span>
  431. <span class="category-desc">Style, tools, workflow habits, accumulated over time</span>
  432. </div>
  433. <div class="category-cell">
  434. <span class="category-num">III</span>
  435. <span class="category-name-zh">项目状态</span>
  436. <span class="category-name-en">Project State</span>
  437. <span class="category-desc">Current tasks, deadlines, priorities, progress tracking</span>
  438. </div>
  439. <div class="category-cell">
  440. <span class="category-num">IV</span>
  441. <span class="category-name-zh">日志流水</span>
  442. <span class="category-name-en">Daily Logs</span>
  443. <span class="category-desc">Session-level records, searchable history, never auto-loaded</span>
  444. </div>
  445. </div>
  446. </div>
  447. <!-- Section 03: Design Principles -->
  448. <div class="section">
  449. <div class="section-header">
  450. <span class="section-num">03</span>
  451. <span class="section-title">Design Principles</span>
  452. </div>
  453. <div class="section-divider"></div>
  454. <div class="principles">
  455. <div class="principle-row">
  456. <div class="principle-num">A</div>
  457. <div class="principle-content">
  458. <div class="principle-name">Route, Don't Dump</div>
  459. <div class="principle-desc">Router file dispatches to workspace-specific rules. Never load everything at once.</div>
  460. </div>
  461. </div>
  462. <div class="principle-row">
  463. <div class="principle-num">B</div>
  464. <div class="principle-content">
  465. <div class="principle-name">Structured Hierarchy</div>
  466. <div class="principle-desc">Identity > Preferences > Projects > Logs. Each layer loads on demand.</div>
  467. </div>
  468. </div>
  469. <div class="principle-row">
  470. <div class="principle-num">C</div>
  471. <div class="principle-content">
  472. <div class="principle-name">Write Rules, Not Records</div>
  473. <div class="principle-desc">Store reusable patterns, not one-time instructions. Keep memory under 100 lines.</div>
  474. </div>
  475. </div>
  476. <div class="principle-row">
  477. <div class="principle-num">D</div>
  478. <div class="principle-content">
  479. <div class="principle-name">Silent Operations</div>
  480. <div class="principle-desc">Memory read/write happens silently. Never interrupt the user's task flow.</div>
  481. </div>
  482. </div>
  483. </div>
  484. </div>
  485. <!-- Section 04: Results -->
  486. <div class="section">
  487. <div class="section-header">
  488. <span class="section-num">04</span>
  489. <span class="section-title">Results</span>
  490. </div>
  491. <div class="section-divider"></div>
  492. <div class="results-grid">
  493. <div class="result-card">
  494. <div class="result-number">76%</div>
  495. <div class="result-label">Size Reduction</div>
  496. </div>
  497. <div class="result-card">
  498. <div class="result-number">2.3x</div>
  499. <div class="result-label">Faster Loading</div>
  500. </div>
  501. <div class="result-card">
  502. <div class="result-number">0</div>
  503. <div class="result-label">Data Loss</div>
  504. </div>
  505. </div>
  506. </div>
  507. <!-- Insight -->
  508. <div class="insight-section">
  509. <div class="insight-quote">
  510. "Like <span class="highlight">Marie Kondo</span> for AI memory
  511. — keep only what sparks joy."
  512. </div>
  513. <div class="insight-result">
  514. <div class="insight-item">
  515. <div class="insight-dot"></div>
  516. <span class="insight-text">Faster context loading</span>
  517. </div>
  518. <div class="insight-item">
  519. <div class="insight-dot"></div>
  520. <span class="insight-text">More relevant responses</span>
  521. </div>
  522. <div class="insight-item">
  523. <div class="insight-dot"></div>
  524. <span class="insight-text">Zero information loss</span>
  525. </div>
  526. </div>
  527. </div>
  528. <!-- Footer -->
  529. <div class="footer">
  530. <span class="footer-text">Pentagram Style</span>
  531. <span class="footer-text">CLAUDE.md Optimization</span>
  532. <span class="footer-text">2026</span>
  533. </div>
  534. </div>
  535. </body>
  536. </html>