diff --git a/README.ko.md b/README.ko.md index d97a068..4b839a3 100644 --- a/README.ko.md +++ b/README.ko.md @@ -232,6 +232,11 @@ kramdown이 내용을 그대로 보존해 `\(…\)`로 내보내므로 안전합 - ar5iv 링크: ar5iv는 잃어버린 그림 대신 대체 이미지를 HTTP 200으로 돌려줍니다. `arxiv.org/html/v1/…`를 쓰거나 그림을 `assets/images/`에 복사합니다. +렌더링이 아니라 문체 규칙도 둘 있습니다. scholar-lens가 생성 글에 거는 것과 같습니다. +자연스럽게 읽히지 않는 번역투("보여지는" 같은 이중 피동, "에 있어서는", "학습함에 있어")와 +쌍점으로 끝나는 문장("다음과 같습니다:")을 잡습니다. 제목, 인용, 표, 그림 대체 텍스트, 코드, +참고 문헌 목록은 검사하지 않습니다. + ### 푸시 전에 확인하세요 CI가 돌리는 게이트를 같은 순서로 미리 돌립니다. `_site/`가 아니라 임시 경로로 빌드하는 diff --git a/README.md b/README.md index ac78cf0..11619d0 100644 --- a/README.md +++ b/README.md @@ -244,6 +244,12 @@ rules easiest to trip, each a page that renders wrong with every other gate gree - an ar5iv link: ar5iv now answers a lost figure with a placeholder image and HTTP 200. Use `arxiv.org/html/v1/…`, or copy the figure into `assets/images/`. +Two prose rules are style, not rendering, and match the ones scholar-lens holds +its generated posts to: no translationese with no natural reading (a double +passive like "보여지는", "에 있어서는", "학습함에 있어"), and no sentence ending +in a colon ("다음과 같습니다:"). Headings, quotations, tables, image alt text, +code and the reference list are exempt. + ### Validate before pushing These are the gates CI runs, in the same order. Build to a throwaway diff --git a/_includes/category-posts.html b/_includes/category-posts.html index 7965497..a67a098 100644 --- a/_includes/category-posts.html +++ b/_includes/category-posts.html @@ -11,7 +11,7 @@ {% for post in posts %}
  • - {{ post.title }} + {{ post.title }}
  • diff --git a/_includes/head.html b/_includes/head.html index 34387bc..e530a97 100644 --- a/_includes/head.html +++ b/_includes/head.html @@ -245,13 +245,21 @@ }); // Every formula, not just the ones that scroll now: one that stopped // scrolling on a resize has to lose its Tab stop again. + // Numbered like js/main.js's tables, so a landmark list tells them apart: + // display equations in order, inline ones on a count of their own. + var english = document.documentElement.lang.indexOf('en') === 0; + var shown = 0, inline = 0; document.querySelectorAll('.post-content mjx-container').forEach(function (el) { - var scrolls = (el.hasAttribute('display') || el.classList.contains('is-wide')) && + var display = el.hasAttribute('display'); + var n = display ? ++shown : ++inline; + var scrolls = (display || el.classList.contains('is-wide')) && el.scrollWidth > el.clientWidth; if (scrolls && el.getAttribute('tabindex') !== '0') { el.setAttribute('tabindex', '0'); el.setAttribute('role', 'region'); - el.setAttribute('aria-label', document.documentElement.lang.indexOf('en') === 0 ? 'Equation, scrollable' : '수식, 가로 스크롤'); + el.setAttribute('aria-label', display + ? (english ? 'Equation ' + n + ', scrollable' : '수식 ' + n + ', 가로 스크롤') + : (english ? 'Inline equation ' + n + ', scrollable' : '인라인 수식 ' + n + ', 가로 스크롤')); } else if (!scrolls && el.getAttribute('role') === 'region') { el.removeAttribute('tabindex'); el.removeAttribute('role'); diff --git a/_posts/2025-02-03-deepseek-llm-scaling-open-source-language-models-with-longtermism.md b/_posts/2025-02-03-deepseek-llm-scaling-open-source-language-models-with-longtermism.md index 4434f34..f00ca6a 100644 --- a/_posts/2025-02-03-deepseek-llm-scaling-open-source-language-models-with-longtermism.md +++ b/_posts/2025-02-03-deepseek-llm-scaling-open-source-language-models-with-longtermism.md @@ -60,7 +60,7 @@ DeepSeek LLM의 핵심 목표는 데이터셋의 풍부성과 다양성을 포 필터링 단계에서는 문서 품질을 평가하기 위한 강건한 기준을 개발했습니다. 언어적 평가와 의미론적 평가를 모두 포함하는 상세한 분석을 수행하여, 개별 문서와 전체적인 관점에서 데이터 품질을 평가했습니다. 리믹싱 단계에서는 데이터 불균형 문제를 해결하기 위해 접근 방식을 조정했으며, 특히 과소 대표된 도메인의 비중을 높이는 데 중점을 두었습니다. -토크나이저 구현에 있어서는 Huggingface Team이 개발한 tokenizers 라이브러리를 기반으로 바이트 수준 바이트 페어 인코딩(BBPE) 알고리즘을 구현했습니다. GPT-2와 유사하게, 개행 문자, 문장 부호, 한중일(CJK) 기호와 같은 서로 다른 문자 범주의 토큰이 병합되는 것을 방지하기 위해 사전 토크나이징을 적용했습니다. 또한 LLaMA 모델과 마찬가지로 숫자를 개별 자릿수로 분할하는 방식을 채택했습니다. +토크나이저는 Huggingface Team이 개발한 tokenizers 라이브러리를 기반으로 바이트 수준 바이트 페어 인코딩(BBPE) 알고리즘으로 구현했습니다. GPT-2와 유사하게, 개행 문자, 문장 부호, 한중일(CJK) 기호와 같은 서로 다른 문자 범주의 토큰이 병합되는 것을 방지하기 위해 사전 토크나이징을 적용했습니다. 또한 LLaMA 모델과 마찬가지로 숫자를 개별 자릿수로 분할하는 방식을 채택했습니다. 어휘 크기는 기존 토큰 100,000개로 설정했으며, 여기에 15개의 특수 토큰을 추가하여 최종 어휘 크기는 100,015가 되었습니다. 학습 시 계산 효율성을 고려하고 향후 추가될 수 있는 특수 토큰을 위한 여유 공간을 확보하기 위해 모델의 어휘 크기는 102,400으로 설정했습니다. 토크나이저 학습에는 약 24GB 규모의 다국어 코퍼스가 사용되었습니다. diff --git a/_posts/2025-02-27-mistral-7b.md b/_posts/2025-02-27-mistral-7b.md index 13e9fac..4c383a6 100644 --- a/_posts/2025-02-27-mistral-7b.md +++ b/_posts/2025-02-27-mistral-7b.md @@ -82,7 +82,7 @@ Mistral 7B에서는 윈도우 크기 $$W = 4096$$을 사용하므로, 마지막 롤링 버퍼 캐시는 순환 큐(circular queue) 원리를 적용하는 메모리 최적화 기법입니다. 일반적인 트랜스포머 모델에서는 키($$K$$)와 값($$V$$) 벡터를 모두 캐싱해야 하므로, 시퀀스 길이가 증가할수록 캐시 요구량도 선형적으로 증가합니다. 그러나 슬라이딩 윈도우 어텐션(SWA)에서는 각 토큰이 최대 $$W$$ 개의 이전 토큰만 참조하기 때문에, 윈도우 크기 $$W$$보다 오래된 토큰들의 키와 값은 더 이상 필요하지 않습니다. -이 특성을 활용하여 롤링 버퍼 캐시는 모듈러 연산($$i \bmod W$$)을 통해 새로운 토큰의 정보가 가장 오래된 토큰의 정보를 자연스럽게 덮어쓰도록 합니다. 이러한 메커니즘은 다음과 같이 작동합니다: +이 특성을 활용하여 롤링 버퍼 캐시는 모듈러 연산($$i \bmod W$$)을 통해 새로운 토큰의 정보가 가장 오래된 토큰의 정보를 자연스럽게 덮어쓰도록 합니다. 이 메커니즘은 다음 순서로 작동합니다. 1. 타임스텝 $$i$$에서 생성된 키($$K_i$$)와 값($$V_i$$)은 캐시의 $$(i \bmod W)$$ 위치에 저장됩니다. 2. 시퀀스가 길어져 $$i > W$$가 되면, 새로운 키와 값이 기존 캐시의 값을 덮어씁니다. diff --git a/_posts/2025-02-28-deepseekmath-pushing-the-limits-of-mathematical-reasoning-in-open-language-models.md b/_posts/2025-02-28-deepseekmath-pushing-the-limits-of-mathematical-reasoning-in-open-language-models.md index 7b93dc8..986196e 100644 --- a/_posts/2025-02-28-deepseekmath-pushing-the-limits-of-mathematical-reasoning-in-open-language-models.md +++ b/_posts/2025-02-28-deepseekmath-pushing-the-limits-of-mathematical-reasoning-in-open-language-models.md @@ -85,7 +85,7 @@ DeepSeekMath-Base는 DeepSeek-Coder-Base-v1.5 7B(Guo 등, 2024)로 초기화되 - 사전 학습된 기본 모델인 DeepSeekMath-Base 7B는 Minerva 540B(Lewkowycz 등, 2022a)와 비슷한 성능을 달성하여, 매개변수 수가 수학적 추론 능력의 유일한 핵심 요소가 아님을 보여줍니다. 고품질 데이터로 사전 학습된 더 작은 모델도 강력한 성능을 달성할 수 있습니다. -- 수학 학습 실험에서 얻은 발견을 공유합니다. 수학 학습 전에 코드 학습을 하면 도구 사용 여부와 관계없이 모델의 수학 문제 해결 능력이 향상됩니다. 이는 오랫동안 제기된 질문인 "코드 학습이 추론 능력을 향상시키는가?"에 대한 부분적인 답변을 제공합니다. 저자들은 적어도 수학적 추론에 있어서는 그렇다고 믿습니다. +- 수학 학습 실험에서 얻은 발견을 공유합니다. 수학 학습 전에 코드 학습을 하면 도구 사용 여부와 관계없이 모델의 수학 문제 해결 능력이 향상됩니다. 이는 오랫동안 제기된 질문인 "코드 학습이 추론 능력을 향상시키는가?"에 대한 부분적인 답변을 제공합니다. 저자들은 적어도 수학적 추론에서는 그렇다고 믿습니다. - arXiv 논문에 대한 학습이 특히 많은 수학 관련 논문에서 일반적이지만, 본 논문에서 채택된 모든 수학 벤치마크에서 주목할 만한 개선을 가져오지 않았습니다. diff --git a/_posts/2025-04-04-mixtral-of-experts.md b/_posts/2025-04-04-mixtral-of-experts.md index 12a36d4..8010f75 100644 --- a/_posts/2025-04-04-mixtral-of-experts.md +++ b/_posts/2025-04-04-mixtral-of-experts.md @@ -162,7 +162,7 @@ Mixtral 모델의 성능을 Llama 2 계열과 비교하여 비용-성능 스펙 아래 표에서는 Mixtral 8x7B를 Llama 2 70B 및 GPT-3.5와 비교한 성능을 보고합니다. Mixtral이 두 모델과 비슷하거나 더 나은 성능을 보이는 것을 관찰할 수 있습니다. MMLU에서 Mixtral은 상당히 작은 용량(70B에 비해 47B 토큰)에도 불구하고 더 나은 성능을 얻었습니다. MT Bench의 경우, 가장 최신 GPT-3.5-Turbo 모델인 gpt-3.5-turbo-1106의 성능을 보고합니다. -| | LLaMA 2 70B | GPT-3.5 | Mixtral 8x7B | +| 벤치마크 | LLaMA 2 70B | GPT-3.5 | Mixtral 8x7B | |---|---|---|---| | MMLU(57개 주제의 객관식 문제) | 69.9% | 70.0% | 70.6% | | HellaSwag(10-shot) | 87.1% | 85.5% | 86.7% | @@ -218,7 +218,7 @@ Mixtral 모델의 장거리 컨텍스트 처리 능력을 평가하기 위해, [ 연구팀은 평가 프레임워크를 사용하여 Llama 2와 Mixtral을 BBQ 및 BOLD에서 벤치마킹하고 그 결과를 아래와 같이 보고했습니다. Llama 2와 비교했을 때, Mixtral은 BBQ 벤치마크에서 더 적은 편향성을 보였습니다(56.0% 대 51.5%). BOLD의 각 그룹에 대해, 더 높은 평균 감정 점수는 더 긍정적인 감정을 의미하고, 더 낮은 표준 편차는 그룹 내에서 더 적은 편향을 나타냅니다. 전반적으로, Mixtral은 Llama 2보다 더 긍정적인 감정을 표현하며, 각 그룹 내에서 비슷한 변동성을 보입니다. -| | Llama 2 70B | Mixtral 8x7B | +| 지표 | Llama 2 70B | Mixtral 8x7B | |---|---|---| | BBQ 정확도 | 51.5% | 56.0% | | BOLD 감정 점수 (평균 $$ \pm $$ 표준편차) | | | @@ -278,7 +278,7 @@ MT-Bench에서의 높은 점수와 LMSys 평가에서의 우수한 성능은 Mix ![그림 8: 각 토큰이 첫 번째 전문가 선택으로 색상 처리된 텍스트 샘플. 전문가 선택은 특히 초기 및 최종 층에서 도메인보다는 구문과 더 일치하는 것으로 나타납니다.](https://arxiv.org/html/2401.04088v1/images/routing-sample.png) -| | 첫 번째 선택 층 0 | 첫 번째 선택 층 15 | 첫 번째 선택 층 31 | 첫 번째 또는 두 번째 선택 층 0 | 첫 번째 또는 두 번째 선택 층 15 | 첫 번째 또는 두 번째 선택 층 31 | +| 데이터셋 | 첫 번째 선택 층 0 | 첫 번째 선택 층 15 | 첫 번째 선택 층 31 | 첫 번째 또는 두 번째 선택 층 0 | 첫 번째 또는 두 번째 선택 층 15 | 첫 번째 또는 두 번째 선택 층 31 | | --- | --- | --- | --- | --- | --- | --- | | ArXiv | 14.0% | 27.9% | 22.7% | 46.5% | 62.3% | 52.9% | | DM Mathematics | 14.1% | 28.4% | 19.7% | 44.9% | 67.0% | 44.5% | diff --git a/_posts/2025-10-07-the-llama-3-herd-of-models.md b/_posts/2025-10-07-the-llama-3-herd-of-models.md index d87b7c2..1ea7c3f 100644 --- a/_posts/2025-10-07-the-llama-3-herd-of-models.md +++ b/_posts/2025-10-07-the-llama-3-herd-of-models.md @@ -184,7 +184,7 @@ Llama 3 405B는 126개 레이어, 16,384의 토큰 표현 차원, 128개의 어 ![스케일링 법칙 IsoFLOPs 곡선](/assets/2025-10-07-the-llama-3-herd-of-models/figure-8-4.jpg) -이러한 실험은 그림에서 보여지는 IsoFLOPs 곡선을 생성합니다. 이 곡선의 손실은 별도의 검증 세트에서 측정됩니다. 2차 다항식을 사용하여 측정된 손실 값을 피팅하고 각 포물선의 최솟값을 식별합니다. 포물선의 최솟값을 해당 사전 훈련 계산 예산에서의 계산 최적 모델이라고 합니다. +이러한 실험은 그림의 IsoFLOPs 곡선을 생성합니다. 이 곡선의 손실은 별도의 검증 세트에서 측정됩니다. 2차 다항식을 사용하여 측정된 손실 값을 피팅하고 각 포물선의 최솟값을 식별합니다. 포물선의 최솟값을 해당 사전 훈련 계산 예산에서의 계산 최적 모델이라고 합니다. 이렇게 식별된 계산 최적 모델을 사용하여 특정 계산 예산에 대한 최적 훈련 토큰 수를 예측합니다. 이를 위해 계산 예산 $$C$$와 최적 훈련 토큰 수 $$N^*(C)$$ 사이의 멱법칙 관계를 가정합니다. diff --git a/_posts/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models.md b/_posts/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models.md index 9f2e235..8cfe5cb 100644 --- a/_posts/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models.md +++ b/_posts/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models.md @@ -1162,7 +1162,7 @@ Gemini 모델 패밀리의 개발과 평가를 통해 얻은 주요 성과와 벤치마크에서의 최신 기술 수준 결과를 넘어서, 연구팀이 가장 흥미롭게 생각하는 것은 Gemini 모델이 가능하게 하는 새로운 사용 사례들입니다. 차트나 인포그래픽과 같은 복잡한 이미지를 파싱하고, 이미지, 오디오, 텍스트의 인터리브된 시퀀스에 대해 추론하며, 응답으로 인터리브된 텍스트와 이미지를 생성하는 Gemini 모델의 새로운 능력은 다양한 새로운 애플리케이션을 열어줍니다. -보고서와 부록 전반에 걸쳐 보여진 바와 같이, Gemini 모델은 교육, 일상적 문제 해결, 다국어 의사소통, 정보 요약, 추출, 창의성과 같은 영역에서 새로운 접근법을 가능하게 할 수 있습니다. 이러한 모델의 사용자들이 연구팀이 자체 조사에서 겨우 표면만 긁어본 것에 불과한 모든 종류의 유익한 새로운 용도를 찾을 것으로 기대됩니다. +보고서와 부록 전반에서 보였듯이, Gemini 모델은 교육, 일상적 문제 해결, 다국어 의사소통, 정보 요약, 추출, 창의성과 같은 영역에서 새로운 접근법을 가능하게 할 수 있습니다. 이러한 모델의 사용자들이 연구팀이 자체 조사에서 겨우 표면만 긁어본 것에 불과한 모든 종류의 유익한 새로운 용도를 찾을 것으로 기대됩니다. ### 현재 한계와 도전 과제 diff --git a/_posts/2026-03-31-claude-code-source-map-leak-analysis-en.md b/_posts/2026-03-31-claude-code-source-map-leak-analysis-en.md index 36d0b1b..80aa9ab 100644 --- a/_posts/2026-03-31-claude-code-source-map-leak-analysis-en.md +++ b/_posts/2026-03-31-claude-code-source-map-leak-analysis-en.md @@ -72,7 +72,7 @@ Using React for a terminal app might seem like overkill. But when you look at th ### Official Open Source vs. Leaked Code: The Gap in Numbers -| | Official Repo (`anthropics/claude-code`) | Leaked Code | +| Aspect | Official Repo (`anthropics/claude-code`) | Leaked Code | |---|---|---| | File Count | ~279 (scripts/configs) | **4,600+** (full-stack engine) | | Core Engine | **Not included** | Included | diff --git a/_posts/2026-03-31-claude-code-source-map-leak-analysis.md b/_posts/2026-03-31-claude-code-source-map-leak-analysis.md index 506fa71..42e4eac 100644 --- a/_posts/2026-03-31-claude-code-source-map-leak-analysis.md +++ b/_posts/2026-03-31-claude-code-source-map-leak-analysis.md @@ -69,7 +69,7 @@ Claude Code를 처음 접하면 "API 래퍼 아닌가?"라고 생각하기 쉽 ### 공식 오픈소스 vs 유출 코드: 숫자로 보는 괴리 -| | 공식 저장소 (`anthropics/claude-code`) | 유출 코드 | +| 구분 | 공식 저장소 (`anthropics/claude-code`) | 유출 코드 | | -------------- | -------------------------------------- | -------------------------------------- | | 파일 수 | ~279개 (스크립트/설정 위주) | **4,600개+** (풀스택 엔진) | | 핵심 엔진 | **미포함** | 포함 | diff --git a/_posts/2026-04-05-evolution-of-ai-agentic-patterns-en.md b/_posts/2026-04-05-evolution-of-ai-agentic-patterns-en.md index 294a7e5..10e5adb 100644 --- a/_posts/2026-04-05-evolution-of-ai-agentic-patterns-en.md +++ b/_posts/2026-04-05-evolution-of-ai-agentic-patterns-en.md @@ -99,7 +99,7 @@ Action: Search[Y] ... ``` -![ReAct pattern: combining Reasoning and Acting — Yao et al., 2022](https://ylanglabs.com/static/images/blogs/react-reasoning-and-acting-in-language-models/react-act-reason.png) +![ReAct pattern: combining Reasoning and Acting — Yao et al., 2022](/assets/images/evolution-of-ai-agentic-patterns-react.png) Two key results. First, external tool use **reduces hallucination** — the model can look up what it doesn't know. Second, the reasoning process is transparent — you can trace why it gave a particular answer. A 34% absolute improvement on ALFWorld, 10% on WebShop. **The archetype of the agent was born here.** Every AI agent today — Claude Code, Cursor Agent, GitHub Copilot Coding Agent — is a variation on this Thought-Action-Observation loop. @@ -107,7 +107,7 @@ So far, smooth sailing. The trouble started when people pushed these ideas harde **Tree-of-Thought** — [Yao et al., 2023](https://arxiv.org/abs/2305.10601). In 2023, the push was to expand reasoning's "breadth," not just its depth. -![Tree-of-Thought: tree-search-based reasoning vs. linear CoT — Yao et al., 2023](https://www.promptingguide.ai/_next/image?url=%2F_next%2Fstatic%2Fmedia%2FTOT.3b13bc5e.png&w=1920&q=75) +![Tree-of-Thought: tree-search-based reasoning vs. linear CoT — Yao et al., 2023](/assets/images/evolution-of-ai-agentic-patterns-tree-of-thoughts.png) Where CoT reasons in a straight line, Tree-of-Thought explores multiple reasoning paths simultaneously, backtracking from dead ends. Like reading ahead in chess: "if I play this move... and they respond like this... then I could..." Fascinating, but costs exploded. A single problem required dozens of API calls. The paper's "Future Work" section mentions cost in a one-liner caveat; on a production engineer's AWS bill, it's the first line of a crisis. @@ -385,7 +385,7 @@ Simon Willison's agent definition reads in this same context: "An agent is an LL "Harness" sounds grand, but it's ultimately a collection of mechanisms that catch and correct agent mistakes. Fowler/Böckeler [organized it cleanly](https://martinfowler.com/articles/exploring-gen-ai/harness-engineering.html) in a 2x2 framework. -| | **Feedforward (Pre-guidance)** | **Feedback (Post-correction)** | +| Kind | **Feedforward (Pre-guidance)** | **Feedback (Post-correction)** | |---|---|---| | **Deterministic** | **Guides**: AGENTS.md, `.cursorrules`, coding conventions | **Computational**: Compilers, type checkers, linters | | **Non-deterministic** | **System prompts/instructions**: Role definitions, behavioral constraints, few-shot examples | **Inferential**: LLM-as-judge, semantic code review | diff --git a/_posts/2026-04-05-evolution-of-ai-agentic-patterns.md b/_posts/2026-04-05-evolution-of-ai-agentic-patterns.md index 7f88a96..53ad27e 100644 --- a/_posts/2026-04-05-evolution-of-ai-agentic-patterns.md +++ b/_posts/2026-04-05-evolution-of-ai-agentic-patterns.md @@ -99,7 +99,7 @@ Action: Search[Y] ... ``` -![ReAct 패턴: 추론(Reasoning)과 행동(Acting)의 결합 — Yao et al., 2022](https://ylanglabs.com/static/images/blogs/react-reasoning-and-acting-in-language-models/react-act-reason.png) +![ReAct 패턴: 추론(Reasoning)과 행동(Acting)의 결합 — Yao et al., 2022](/assets/images/evolution-of-ai-agentic-patterns-react.png) 핵심 성과는 두 가지입니다. 첫째, 외부 도구를 사용하므로 **환각이 줄어듭니다** — 모델이 "모르는 것"을 검색으로 해결할 수 있습니다. 둘째, 추론 과정이 투명합니다 — 왜 그런 답을 냈는지 추적할 수 있습니다. ALFWorld 벤치마크에서 34% 절대 향상, WebShop에서 10% 향상. **에이전트의 원형이 여기서 태어났습니다.** 오늘날의 모든 AI 에이전트 — Claude Code, Cursor Agent, GitHub Copilot Coding Agent — 가 이 Thought-Action-Observation 루프의 변형입니다. @@ -107,7 +107,7 @@ Action: Search[Y] **Tree-of-Thought** — [Yao et al., 2023](https://arxiv.org/abs/2305.10601). 2023년에는 추론의 "깊이"가 아닌 "너비"를 확장하려는 시도가 나왔습니다. -![Tree-of-Thought: 일직선(CoT) 대비 트리 탐색 기반 추론 — Yao et al., 2023](https://www.promptingguide.ai/_next/image?url=%2F_next%2Fstatic%2Fmedia%2FTOT.3b13bc5e.png&w=1920&q=75) +![Tree-of-Thought: 일직선(CoT) 대비 트리 탐색 기반 추론 — Yao et al., 2023](/assets/images/evolution-of-ai-agentic-patterns-tree-of-thoughts.png) CoT가 일직선으로 추론한다면, Tree-of-Thought는 여러 가지 추론 경로를 동시에 탐색하고, 막다른 길에 도달하면 백트래킹(되돌아가기)합니다. 체스에서 "이 수를 두면... 상대가 이렇게 나오면... 그럼 내가 이렇게..." 하고 여러 수를 미리 읽는 것과 같은 원리입니다. 매혹적이었지만, 비용이 폭발했습니다. 하나의 문제에 대해 수십 번의 API 호출이 필요합니다. 논문의 "Future Work" 섹션에서는 비용을 한 줄짜리 caveat으로 언급하지만, 프로덕션 엔지니어의 AWS 청구서에서는 그게 첫 줄짜리 위기입니다. @@ -385,7 +385,7 @@ Simon Willison의 에이전트 정의도 이 맥락에서 읽어야 합니다. " "하네스"라고 하면 거창하게 들리지만, 결국 에이전트의 실수를 잡아내고 바로잡는 장치들의 집합입니다. Fowler/Böckeler가 [2×2 분류 체계](https://martinfowler.com/articles/exploring-gen-ai/harness-engineering.html)로 깔끔하게 정리했습니다. -| | **피드포워드 (사전 유도)** | **피드백 (사후 교정)** | +| 구분 | **피드포워드 (사전 유도)** | **피드백 (사후 교정)** | | -------------- | --------------------------------------------------------------- | ----------------------------------------------------------- | | **결정론적** | **가이드(Guides)**: AGENTS.md, `.cursorrules`, 코딩 컨벤션 | **연산적(Computational)**: 컴파일러, 타입 체커, 린터 | | **비결정론적** | **시스템 프롬프트/지시문**: 역할 정의, 행동 제약, few-shot 예시 | **추론적(Inferential)**: LLM-as-a-judge, 의미론적 코드 리뷰 | diff --git a/_posts/2026-07-27-ai-ready-data-semantic-layer-knowledge-graph-en.md b/_posts/2026-07-27-ai-ready-data-semantic-layer-knowledge-graph-en.md index c422b83..2d1a559 100644 --- a/_posts/2026-07-27-ai-ready-data-semantic-layer-knowledge-graph-en.md +++ b/_posts/2026-07-27-ai-ready-data-semantic-layer-knowledge-graph-en.md @@ -42,7 +42,7 @@ So this post narrows to a single claim: **making data AI-ready is translation, n The three look like stages in an evolution, but what they demand of data differs in kind. The dividing line is **where the context lives**. -| | Era | Where context lives | Consumer | +| Kind | Era | Where context lives | Consumer | |------|------|----------------|--------| | Analytics-ready | BI, dashboards | The analyst's **head** | Humans | | ML-ready | Predictive models | **Feature definitions and labels** | Task-specific models | @@ -674,7 +674,7 @@ It isn't only iterative retrieval, either. In the same table, vector RAG with re This evaluation also re-measured the costs from §4.4. Table 4 (on MultiHop-RAG) puts the three approaches' times and volumes side by side. **KG-GraphRAG** in that table puts an entity-relationship graph in place without communities and traverses per query, while **Community-GraphRAG** is §4.2's Microsoft approach, pre-building community summaries. The retrieval latency column is reported at dataset granularity, so it **isn't the time for a single query** (the paper labels the column only *"retrieval latency"*). Read it only as ratios between approaches. -| | Construction time | Retrieval latency | Storage | +| Method | Construction time | Retrieval latency | Storage | |---|---|---|---| | Vector RAG | 135s | 1,724s | 127MB | | KG-GraphRAG | 7,702s (**57x**) | 14,434s (8x) | 117MB | diff --git a/_posts/2026-07-27-ai-ready-data-semantic-layer-knowledge-graph.md b/_posts/2026-07-27-ai-ready-data-semantic-layer-knowledge-graph.md index e370a3f..5ab896b 100644 --- a/_posts/2026-07-27-ai-ready-data-semantic-layer-knowledge-graph.md +++ b/_posts/2026-07-27-ai-ready-data-semantic-layer-knowledge-graph.md @@ -679,7 +679,7 @@ $$\mathrm{score}(d) = \sum_{r} \frac{w_r}{60 + \mathrm{rank}_r(d)}$$ 연구진은 §4.4에서 다룬 비용도 다시 측정했습니다. Table 4(MultiHop-RAG 기준)가 세 방식의 시간과 용량을 나란히 놓습니다. 표에 나오는 **KG-GraphRAG**는 커뮤니티 없이 엔티티·관계 그래프만 놓고 질의마다 순회하는 방식이고, **Community-GraphRAG**는 §4.2의 Microsoft 방식, 즉 커뮤니티 요약을 미리 만들어 두는 쪽입니다. 검색 지연 열은 논문이 데이터셋 단위로 보고한 값이라 **질의 하나에 걸리는 시간이 아닙니다**(논문도 열 이름을 *"retrieval latency"*로만 적습니다). 방식 사이의 비율로만 읽으십시오. -| | 구축 시간 | 검색 지연 | 저장 용량 | +| 방식 | 구축 시간 | 검색 지연 | 저장 용량 | |---|---|---|---| | 벡터 RAG | 135초 | 1,724초 | 127MB | | KG-GraphRAG | 7,702초 (**57배**) | 14,434초 (8배) | 117MB | diff --git a/_sass/_layout.scss b/_sass/_layout.scss index dcb1d34..b480185 100644 --- a/_sass/_layout.scss +++ b/_sass/_layout.scss @@ -911,6 +911,7 @@ blockquote { .navigation, .skip-link, .post-toc, + .rss-subscribe, .share, .post-nav, .related-posts, diff --git a/assets/2025-01-17-from-local-to-global-a-graph-rag-approach-to-query-focused-summarization/0.png b/assets/2025-01-17-from-local-to-global-a-graph-rag-approach-to-query-focused-summarization/0.png index cde909c..71996b5 100644 Binary files a/assets/2025-01-17-from-local-to-global-a-graph-rag-approach-to-query-focused-summarization/0.png and b/assets/2025-01-17-from-local-to-global-a-graph-rag-approach-to-query-focused-summarization/0.png differ diff --git a/assets/2025-01-17-from-local-to-global-a-graph-rag-approach-to-query-focused-summarization/1.png b/assets/2025-01-17-from-local-to-global-a-graph-rag-approach-to-query-focused-summarization/1.png index a179349..cfc252d 100644 Binary files a/assets/2025-01-17-from-local-to-global-a-graph-rag-approach-to-query-focused-summarization/1.png and b/assets/2025-01-17-from-local-to-global-a-graph-rag-approach-to-query-focused-summarization/1.png differ diff --git a/assets/2025-01-17-from-local-to-global-a-graph-rag-approach-to-query-focused-summarization/2.png b/assets/2025-01-17-from-local-to-global-a-graph-rag-approach-to-query-focused-summarization/2.png index 3b73a2a..c38acc0 100644 Binary files a/assets/2025-01-17-from-local-to-global-a-graph-rag-approach-to-query-focused-summarization/2.png and b/assets/2025-01-17-from-local-to-global-a-graph-rag-approach-to-query-focused-summarization/2.png differ diff --git a/assets/2025-10-03-gemma-3-technical-report/0.png b/assets/2025-10-03-gemma-3-technical-report/0.png index 7d5ea3c..f6392e5 100644 Binary files a/assets/2025-10-03-gemma-3-technical-report/0.png and b/assets/2025-10-03-gemma-3-technical-report/0.png differ diff --git a/assets/2025-10-03-gemma-3-technical-report/1.png b/assets/2025-10-03-gemma-3-technical-report/1.png index 8c49c3b..fbcc635 100644 Binary files a/assets/2025-10-03-gemma-3-technical-report/1.png and b/assets/2025-10-03-gemma-3-technical-report/1.png differ diff --git a/assets/2025-10-03-gemma-3-technical-report/2.png b/assets/2025-10-03-gemma-3-technical-report/2.png index 71da270..ae1b7ce 100644 Binary files a/assets/2025-10-03-gemma-3-technical-report/2.png and b/assets/2025-10-03-gemma-3-technical-report/2.png differ diff --git a/assets/2025-10-03-gemma-3-technical-report/3.png b/assets/2025-10-03-gemma-3-technical-report/3.png index 518390b..3f81e37 100644 Binary files a/assets/2025-10-03-gemma-3-technical-report/3.png and b/assets/2025-10-03-gemma-3-technical-report/3.png differ diff --git a/assets/2025-10-03-gemma-3-technical-report/4.png b/assets/2025-10-03-gemma-3-technical-report/4.png index 3f03c19..cca6e5d 100644 Binary files a/assets/2025-10-03-gemma-3-technical-report/4.png and b/assets/2025-10-03-gemma-3-technical-report/4.png differ diff --git a/assets/2025-10-03-gemma-3-technical-report/5.png b/assets/2025-10-03-gemma-3-technical-report/5.png index eefd04c..dcbcedd 100644 Binary files a/assets/2025-10-03-gemma-3-technical-report/5.png and b/assets/2025-10-03-gemma-3-technical-report/5.png differ diff --git a/assets/2025-10-03-gemma-3-technical-report/6.png b/assets/2025-10-03-gemma-3-technical-report/6.png index 1e1c1bd..4e9e284 100644 Binary files a/assets/2025-10-03-gemma-3-technical-report/6.png and b/assets/2025-10-03-gemma-3-technical-report/6.png differ diff --git a/assets/2025-10-03-gemma-3-technical-report/7.png b/assets/2025-10-03-gemma-3-technical-report/7.png index 9d4c211..446273c 100644 Binary files a/assets/2025-10-03-gemma-3-technical-report/7.png and b/assets/2025-10-03-gemma-3-technical-report/7.png differ diff --git a/assets/2025-10-03-gemma-3-technical-report/8.png b/assets/2025-10-03-gemma-3-technical-report/8.png index 8dcb3e7..28bed2d 100644 Binary files a/assets/2025-10-03-gemma-3-technical-report/8.png and b/assets/2025-10-03-gemma-3-technical-report/8.png differ diff --git a/assets/2025-10-06-tulu-3--pushing-frontiers-in-open-language-model-post-training/table-24.png b/assets/2025-10-06-tulu-3--pushing-frontiers-in-open-language-model-post-training/table-24.png index fafd2a3..145f610 100644 Binary files a/assets/2025-10-06-tulu-3--pushing-frontiers-in-open-language-model-post-training/table-24.png and b/assets/2025-10-06-tulu-3--pushing-frontiers-in-open-language-model-post-training/table-24.png differ diff --git a/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/0.png b/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/0.png index 4c28bd0..8705508 100644 Binary files a/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/0.png and b/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/0.png differ diff --git a/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/1.png b/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/1.png index e0209a2..faafacd 100644 Binary files a/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/1.png and b/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/1.png differ diff --git a/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/2.png b/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/2.png index fc4febb..36fc67a 100644 Binary files a/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/2.png and b/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/2.png differ diff --git a/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/22.png b/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/22.png index b6f22c1..0bdb1b4 100644 Binary files a/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/22.png and b/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/22.png differ diff --git a/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/3.png b/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/3.png index 1dfa91e..ec53862 100644 Binary files a/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/3.png and b/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/3.png differ diff --git a/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/4.png b/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/4.png index 3a2165a..3146b5c 100644 Binary files a/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/4.png and b/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/4.png differ diff --git a/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/5.png b/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/5.png index 773783e..db0b792 100644 Binary files a/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/5.png and b/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/5.png differ diff --git a/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/6.png b/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/6.png index d0d370a..6181d80 100644 Binary files a/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/6.png and b/assets/2025-10-11-gemini--a-family-of-highly-capable-multimodal-models/6.png differ diff --git a/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/0.png b/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/0.png index 8f92819..f2650ce 100644 Binary files a/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/0.png and b/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/0.png differ diff --git a/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/1.png b/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/1.png index 1aeb31b..413a15b 100644 Binary files a/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/1.png and b/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/1.png differ diff --git a/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/12.png b/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/12.png index 96c0cc6..316eafa 100644 Binary files a/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/12.png and b/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/12.png differ diff --git a/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/14.png b/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/14.png index 17f4049..ac7f75a 100644 Binary files a/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/14.png and b/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/14.png differ diff --git a/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/17.png b/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/17.png index 8232216..68f0e4a 100644 Binary files a/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/17.png and b/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/17.png differ diff --git a/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/2.png b/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/2.png index 217b4f1..1ec0e15 100644 Binary files a/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/2.png and b/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/2.png differ diff --git a/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/3.png b/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/3.png index e96717c..88a7c50 100644 Binary files a/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/3.png and b/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/3.png differ diff --git a/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/4.png b/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/4.png index 2ab3ee8..f595e0e 100644 Binary files a/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/4.png and b/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/4.png differ diff --git a/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/5.png b/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/5.png index e13fbfe..3633a2d 100644 Binary files a/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/5.png and b/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/5.png differ diff --git a/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/6.png b/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/6.png index d0a0b13..5177897 100644 Binary files a/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/6.png and b/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/6.png differ diff --git a/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/7.png b/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/7.png index df41d09..ee0f3b9 100644 Binary files a/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/7.png and b/assets/2025-10-11-gemini-2.5--pushing-the-frontier-with-advanced-reasoning--multimodality--long-context--and-next-generation-agentic-capabilities/7.png differ diff --git a/assets/icons/android-icon-192x192.png b/assets/icons/android-icon-192x192.png index 89a705c..1ed437f 100644 Binary files a/assets/icons/android-icon-192x192.png and b/assets/icons/android-icon-192x192.png differ diff --git a/assets/icons/apple-icon-180x180.png b/assets/icons/apple-icon-180x180.png index 670efa2..fa41ab1 100644 Binary files a/assets/icons/apple-icon-180x180.png and b/assets/icons/apple-icon-180x180.png differ diff --git a/assets/icons/favicon-32x32.png b/assets/icons/favicon-32x32.png index b7110f9..09507c9 100644 Binary files a/assets/icons/favicon-32x32.png and b/assets/icons/favicon-32x32.png differ diff --git a/assets/images/agentcore-gateway-flow.png b/assets/images/agentcore-gateway-flow.png index 453e4a2..14efb56 100644 Binary files a/assets/images/agentcore-gateway-flow.png and b/assets/images/agentcore-gateway-flow.png differ diff --git a/assets/images/agentcore-harness-mapping.png b/assets/images/agentcore-harness-mapping.png index 38fd1bf..61e4a19 100644 Binary files a/assets/images/agentcore-harness-mapping.png and b/assets/images/agentcore-harness-mapping.png differ diff --git a/assets/images/agentcore-memory-branching.png b/assets/images/agentcore-memory-branching.png index f2b3e9e..4a705be 100644 Binary files a/assets/images/agentcore-memory-branching.png and b/assets/images/agentcore-memory-branching.png differ diff --git a/assets/images/agentic-loop.png b/assets/images/agentic-loop.png index efb52f0..b2069cc 100644 Binary files a/assets/images/agentic-loop.png and b/assets/images/agentic-loop.png differ diff --git a/assets/images/ai-ready-convergence.png b/assets/images/ai-ready-convergence.png index 642dd1b..937761e 100644 Binary files a/assets/images/ai-ready-convergence.png and b/assets/images/ai-ready-convergence.png differ diff --git a/assets/images/architecture-overview.png b/assets/images/architecture-overview.png index 923c821..b3648e9 100644 Binary files a/assets/images/architecture-overview.png and b/assets/images/architecture-overview.png differ diff --git a/assets/images/compaction-layers.png b/assets/images/compaction-layers.png index ec920ae..832ed1b 100644 Binary files a/assets/images/compaction-layers.png and b/assets/images/compaction-layers.png differ diff --git a/assets/images/confused-deputy-defense.png b/assets/images/confused-deputy-defense.png index c58abc1..aecf2e1 100644 Binary files a/assets/images/confused-deputy-defense.png and b/assets/images/confused-deputy-defense.png differ diff --git a/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x1.png b/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x1.png index 5e0434d..383f249 100644 Binary files a/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x1.png and b/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x1.png differ diff --git a/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x11.png b/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x11.png index 1ad0f50..ff97c0e 100644 Binary files a/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x11.png and b/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x11.png differ diff --git a/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x12.png b/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x12.png index cd3e7cb..307667e 100644 Binary files a/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x12.png and b/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x12.png differ diff --git a/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x13.png b/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x13.png index 3fa81db..3fec57c 100644 Binary files a/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x13.png and b/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x13.png differ diff --git a/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x14.png b/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x14.png index 5ea2ef8..9990932 100644 Binary files a/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x14.png and b/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x14.png differ diff --git a/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x15.png b/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x15.png index 39c0750..6cb58cd 100644 Binary files a/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x15.png and b/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x15.png differ diff --git a/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x2.png b/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x2.png index 91dc642..446f877 100644 Binary files a/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x2.png and b/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x2.png differ diff --git a/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x3.png b/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x3.png index 9df2621..1b68ee2 100644 Binary files a/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x3.png and b/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x3.png differ diff --git a/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x5.png b/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x5.png index 6f0032b..64b9912 100644 Binary files a/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x5.png and b/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x5.png differ diff --git a/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x6.png b/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x6.png index afeb577..3992d35 100644 Binary files a/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x6.png and b/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x6.png differ diff --git a/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x7.png b/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x7.png index c6070a3..68694c5 100644 Binary files a/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x7.png and b/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x7.png differ diff --git a/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x8.png b/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x8.png index 462bff6..584b79b 100644 Binary files a/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x8.png and b/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x8.png differ diff --git a/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x9.png b/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x9.png index f88f81a..8ce1259 100644 Binary files a/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x9.png and b/assets/images/constitutional-ai-harmlessness-from-ai-feedback-arxiv-x9.png differ diff --git a/assets/images/evolution-of-ai-agentic-patterns-arxiv-x1.png b/assets/images/evolution-of-ai-agentic-patterns-arxiv-x1.png index 81978a9..7640759 100644 Binary files a/assets/images/evolution-of-ai-agentic-patterns-arxiv-x1.png and b/assets/images/evolution-of-ai-agentic-patterns-arxiv-x1.png differ diff --git a/assets/images/evolution-of-ai-agentic-patterns-react.png b/assets/images/evolution-of-ai-agentic-patterns-react.png new file mode 100644 index 0000000..2da1ddc Binary files /dev/null and b/assets/images/evolution-of-ai-agentic-patterns-react.png differ diff --git a/assets/images/evolution-of-ai-agentic-patterns-tree-of-thoughts.png b/assets/images/evolution-of-ai-agentic-patterns-tree-of-thoughts.png new file mode 100644 index 0000000..bf59f3c Binary files /dev/null and b/assets/images/evolution-of-ai-agentic-patterns-tree-of-thoughts.png differ diff --git a/assets/images/kv-cache-mechanism.png b/assets/images/kv-cache-mechanism.png index 407632e..15cd1c0 100644 Binary files a/assets/images/kv-cache-mechanism.png and b/assets/images/kv-cache-mechanism.png differ diff --git a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x1.png b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x1.png index 463c403..36f9e7d 100644 Binary files a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x1.png and b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x1.png differ diff --git a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x10.png b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x10.png index 94997ca..1c9768d 100644 Binary files a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x10.png and b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x10.png differ diff --git a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x11.png b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x11.png index b087608..8a58690 100644 Binary files a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x11.png and b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x11.png differ diff --git a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x14.png b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x14.png index a0bd15f..b064061 100644 Binary files a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x14.png and b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x14.png differ diff --git a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x15.png b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x15.png index 7be98af..aa5c23b 100644 Binary files a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x15.png and b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x15.png differ diff --git a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x18.png b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x18.png index 04eccf2..b2fdff6 100644 Binary files a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x18.png and b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x18.png differ diff --git a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x19.png b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x19.png index cebfee8..f64e2a0 100644 Binary files a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x19.png and b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x19.png differ diff --git a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x2.png b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x2.png index 3efc934..b7def9c 100644 Binary files a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x2.png and b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x2.png differ diff --git a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x20.png b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x20.png index 2e780c8..fbc8a26 100644 Binary files a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x20.png and b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x20.png differ diff --git a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x23.png b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x23.png index af34086..c4e165a 100644 Binary files a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x23.png and b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x23.png differ diff --git a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x3.png b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x3.png index 3fc5e46..f5c67bd 100644 Binary files a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x3.png and b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x3.png differ diff --git a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x35.png b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x35.png index 78be986..0ac72d3 100644 Binary files a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x35.png and b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x35.png differ diff --git a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x4.png b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x4.png index e4a3f5a..af9f6ba 100644 Binary files a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x4.png and b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x4.png differ diff --git a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x5.png b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x5.png index 52dc8b0..48c52fb 100644 Binary files a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x5.png and b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x5.png differ diff --git a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x8.png b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x8.png index c7cba85..6585ed2 100644 Binary files a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x8.png and b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x8.png differ diff --git a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x9.png b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x9.png index 4dccff3..624657f 100644 Binary files a/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x9.png and b/assets/images/llama-2-open-foundation-and-fine-tuned-chat-models-arxiv-x9.png differ diff --git a/assets/images/llama-open-and-efficient-foundation-language-models-arxiv-x1.png b/assets/images/llama-open-and-efficient-foundation-language-models-arxiv-x1.png index f8bab9a..031f800 100644 Binary files a/assets/images/llama-open-and-efficient-foundation-language-models-arxiv-x1.png and b/assets/images/llama-open-and-efficient-foundation-language-models-arxiv-x1.png differ diff --git a/assets/images/llama-open-and-efficient-foundation-language-models-arxiv-x2.png b/assets/images/llama-open-and-efficient-foundation-language-models-arxiv-x2.png index 464436d..7941906 100644 Binary files a/assets/images/llama-open-and-efficient-foundation-language-models-arxiv-x2.png and b/assets/images/llama-open-and-efficient-foundation-language-models-arxiv-x2.png differ diff --git a/assets/images/mistral-7b-arxiv-x1.png b/assets/images/mistral-7b-arxiv-x1.png index 5d9667f..e090225 100644 Binary files a/assets/images/mistral-7b-arxiv-x1.png and b/assets/images/mistral-7b-arxiv-x1.png differ diff --git a/assets/images/mistral-7b-arxiv-x2.png b/assets/images/mistral-7b-arxiv-x2.png index 431c6a2..b856559 100644 Binary files a/assets/images/mistral-7b-arxiv-x2.png and b/assets/images/mistral-7b-arxiv-x2.png differ diff --git a/assets/images/mistral-7b-arxiv-x3.png b/assets/images/mistral-7b-arxiv-x3.png index 75bd5a3..492a76b 100644 Binary files a/assets/images/mistral-7b-arxiv-x3.png and b/assets/images/mistral-7b-arxiv-x3.png differ diff --git a/assets/images/mixtral-of-experts-arxiv-x1.png b/assets/images/mixtral-of-experts-arxiv-x1.png index 08101b1..3685a88 100644 Binary files a/assets/images/mixtral-of-experts-arxiv-x1.png and b/assets/images/mixtral-of-experts-arxiv-x1.png differ diff --git a/assets/images/qlora-efficient-finetuning-of-quantized-llms-arxiv-x1.png b/assets/images/qlora-efficient-finetuning-of-quantized-llms-arxiv-x1.png index 0ec8982..e011188 100644 Binary files a/assets/images/qlora-efficient-finetuning-of-quantized-llms-arxiv-x1.png and b/assets/images/qlora-efficient-finetuning-of-quantized-llms-arxiv-x1.png differ diff --git a/assets/images/qlora-efficient-finetuning-of-quantized-llms-arxiv-x2.png b/assets/images/qlora-efficient-finetuning-of-quantized-llms-arxiv-x2.png index 01870fa..2ccc883 100644 Binary files a/assets/images/qlora-efficient-finetuning-of-quantized-llms-arxiv-x2.png and b/assets/images/qlora-efficient-finetuning-of-quantized-llms-arxiv-x2.png differ diff --git a/assets/images/qlora-efficient-finetuning-of-quantized-llms-arxiv-x3.png b/assets/images/qlora-efficient-finetuning-of-quantized-llms-arxiv-x3.png index d8a7536..98827b2 100644 Binary files a/assets/images/qlora-efficient-finetuning-of-quantized-llms-arxiv-x3.png and b/assets/images/qlora-efficient-finetuning-of-quantized-llms-arxiv-x3.png differ diff --git a/assets/images/security-layers.png b/assets/images/security-layers.png index 81e53e4..1f74f78 100644 Binary files a/assets/images/security-layers.png and b/assets/images/security-layers.png differ diff --git a/assets/images/semantic-layer-vs-graph.png b/assets/images/semantic-layer-vs-graph.png index c6cf17b..19bb9e7 100644 Binary files a/assets/images/semantic-layer-vs-graph.png and b/assets/images/semantic-layer-vs-graph.png differ diff --git a/assets/images/three-era-timeline.png b/assets/images/three-era-timeline.png index 82ed996..d5cad5b 100644 Binary files a/assets/images/three-era-timeline.png and b/assets/images/three-era-timeline.png differ diff --git a/assets/images/vector-search.jpg b/assets/images/vector-search.jpg deleted file mode 100644 index 0f82d4a..0000000 Binary files a/assets/images/vector-search.jpg and /dev/null differ diff --git a/assets/images/vector-vs-graphrag.png b/assets/images/vector-vs-graphrag.png index a4d59a2..3594c37 100644 Binary files a/assets/images/vector-vs-graphrag.png and b/assets/images/vector-vs-graphrag.png differ diff --git a/assets/my-profile.png b/assets/my-profile.png index 3222b00..ece46b5 100644 Binary files a/assets/my-profile.png and b/assets/my-profile.png differ diff --git a/assets/my_logo.png b/assets/my_logo.png index 76a2d44..1ed437f 100644 Binary files a/assets/my_logo.png and b/assets/my_logo.png differ diff --git a/categories.html b/categories.html index 9ccfec8..d0d6a22 100644 --- a/categories.html +++ b/categories.html @@ -1,4 +1,5 @@ --- +lang: en layout: page title: "Categories" permalink: /categories/ @@ -30,7 +31,7 @@

    {{ cat_display }}

    {% for post in cat_posts %}
  • - {{ post.title }} + {{ post.title }}
  • diff --git a/docs/diagrams/build-pipeline.png b/docs/diagrams/build-pipeline.png index caf543d..79b79f8 100644 Binary files a/docs/diagrams/build-pipeline.png and b/docs/diagrams/build-pipeline.png differ diff --git a/docs/diagrams/category-url-mapping.png b/docs/diagrams/category-url-mapping.png index a09e42f..d10e742 100644 Binary files a/docs/diagrams/category-url-mapping.png and b/docs/diagrams/category-url-mapping.png differ diff --git a/docs/diagrams/math-rendering.png b/docs/diagrams/math-rendering.png index 9a80057..c311d3c 100644 Binary files a/docs/diagrams/math-rendering.png and b/docs/diagrams/math-rendering.png differ diff --git a/docs/tech-doc.md b/docs/tech-doc.md index b2cd3f4..24f1035 100644 --- a/docs/tech-doc.md +++ b/docs/tech-doc.md @@ -401,7 +401,8 @@ Bourbon → base/ → Neat → _layout → _post → _tags → _syntax(Rouge 코 - **글 원본 린트** — `script/lint-posts.rb`가 `_posts`의 원본을 빌드 전에 검사한다. 프런트매터는 `_data/post_conventions.yml`과 대조하고, 본문에서는 빌드된 HTML로는 더 보이지 않는 결함(어긋난 표, 깨지는 수식, Liquid·HTML로 읽히는 텍스트, kramdown이 읽지 못하는 - 코드 펜스)을 잡는다. 규칙마다 주석에 그 규칙이 막는 결함이 적혀 있고, 검사 목록의 정본은 + 코드 펜스)을 잡는다. 문체 규칙 둘(번역투, 쌍점으로 끝나는 문장)도 scholar-lens와 같은 패턴으로 + 검사한다. 규칙마다 주석에 그 규칙이 막는 결함이 적혀 있고, 검사 목록의 정본은 스크립트와 `test/test_lint_posts.rb`다. `_config.yml`의 `future: true`는 정오로 날짜를 적은 당일 글이 한국 오전 머지에서 빠지지 않게 하고, `strict_filters`는 등록되지 않은 필터를 빌드 오류로 만든다. diff --git a/index.html b/index.html index 95d7d0b..ed0bed7 100644 --- a/index.html +++ b/index.html @@ -30,7 +30,7 @@

    {{ site.title }}

    {% for post in paginator.posts %}
  • - {{ post.title }}

    diff --git a/insights.md b/insights.md index 994315b..bbe1603 100644 --- a/insights.md +++ b/insights.md @@ -1,4 +1,5 @@ --- +lang: en layout: page title: Insights permalink: /insights/ diff --git a/js/main.js b/js/main.js index 1ef4f1c..cf28eb6 100644 --- a/js/main.js +++ b/js/main.js @@ -200,9 +200,12 @@ document.addEventListener('DOMContentLoaded', function () { // Spoken, never shown, so in the page's language: a Korean voice reading // "Table, scrollable" is unintelligible. (The visible chrome stays English.) + // Numbered, so a reader's landmark list tells one table from the next. function scrollerLabel(el) { - if (el.tagName === 'PRE') return english ? 'Code block, scrollable' : '코드 블록, 가로 스크롤'; - return english ? 'Table, scrollable' : '표, 가로 스크롤'; + var code = el.tagName === 'PRE'; + var n = Array.prototype.indexOf.call(document.querySelectorAll(code ? '.post-content pre' : '.post-content .table-container'), el) + 1; + if (code) return english ? 'Code block ' + n + ', scrollable' : '코드 블록 ' + n + ', 가로 스크롤'; + return english ? 'Table ' + n + ', scrollable' : '표 ' + n + ', 가로 스크롤'; } // A horizontally scrolling box can only be scrolled by keyboard if it is diff --git a/paper-reviews.md b/paper-reviews.md index 74dd2b4..63c2ea9 100644 --- a/paper-reviews.md +++ b/paper-reviews.md @@ -35,7 +35,7 @@ nav_order: 3 {% if post.categories contains cat %}
  • - {{ post.title }} + {{ post.title }}
  • diff --git a/script/lint-posts.rb b/script/lint-posts.rb index 5eb0aae..27d52b2 100644 --- a/script/lint-posts.rb +++ b/script/lint-posts.rb @@ -45,7 +45,7 @@ def self.check(post, spec) # or endless box. 16 figures in the AI-ready-data pair shipped that way. # Attribute values may hold `>` (a caption "A -> B"), so runs skip quoted text. ATTRS = %q{(?:[^>"']|"[^"]*"|'[^']*')*} - LIGHTBOX = %r{\s*}mi + LIGHTBOX = %r{\s*(?)}mi def self.lightbox(post) # Fenced code keeps its line count, so an example there is neither read nor @@ -54,7 +54,7 @@ def self.lightbox(post) body.to_enum(:scan, LIGHTBOX).filter_map do m = Regexp.last_match href = m[0][/\shref=["']([^"']+)/i, 1] - src = m[0][/]*\ssrc=["']([^"']+)/i, 1] + src = m[:img][/\ssrc=["']([^"']+)/i, 1] next unless href && src && href != src "#{post.body_line + body[0, m.begin(0)].count("\n")}: a glightbox link opens #{href}, not its image; set href to #{src}" @@ -129,8 +129,12 @@ def self.front_matter(post, spec) end # js/citations.js puts it in the request path as is, so a URL, a `doi:` # prefix, or a `?` or `#` in it finds nothing there. - if data.key?("paper_doi") && !data["paper_doi"].to_s.match?(%r{\A10\.\d{4,9}/[^\s?#]+\z}) + # arXiv registers one DOI per paper, without the version (…v2). + doi = data["paper_doi"].to_s + if data.key?("paper_doi") && !doi.match?(%r{\A10\.\d{4,9}/[^\s?#]+\z}) found << "1: paper_doi is a bare DOI (10./), got #{data["paper_doi"].inspect}" + elsif doi.match?(%r{\A10\.48550/.*v\d+\z}i) + found << "1: paper_doi #{doi.inspect} carries an arXiv version; drop the vN" end else paper_types = spec["types"].select { |_, t| t["paper"] }.keys.join(" and ") @@ -205,8 +209,29 @@ def self.strip_code(text) # Elements that mean nothing bare: or