Technical notes by KbWen

Notes on AI, machine learning, Python, and data engineering, plus tools I build.

Latest posts

AI Systems

How FlashAttention computes softmax one block at a time

One query's attention scores, split into two blocks and worked through by hand, to see how FlashAttention gets the softmax without having all the scores at once.

2026-11-06 · 6 min read · 1261 words · KbWen · EN
Python

Python 寫了 __eq__ 之後,物件為什麼不能放進去 set

替 class 寫了 __eq__,正常使用卻會出現 unhashable type 的錯誤。來看看 Python 為什麼這樣處理,以及 __hash__ 該怎麼做。

2026-11-06 · 3 min read · 1457 words · KbWen · ZH
AI Systems

Setting effort on Claude Haiku 5.5

A look at the effort levels on Claude Haiku 5.5, and what to check when picking one.

2026-11-06 · 4 min read · 845 words · KbWen · EN
AI Systems

Claude Haiku 5.5 超過 100,000 tokens 的請求怎麼計價

我們來看看 Claude Haiku 5.5 的價格,以及每次請求的差別

2026-11-06 · 3 min read · 1310 words · KbWen · ZH

Latest by category

More posts

Python

Python 出現 attempted relative import with no known parent package 是怎麼回事

同一個檔案直接執行會出現這個錯誤,改用 python -m 執行卻正常,來看看兩次執行差在哪裡。

2026-11-05 · 3 min read · 1304 words · KbWen · ZH
Machine Learning

Why does attention divide by √d_k?

Where the √d_k in the attention formula comes from, and what happens to softmax without it.

2026-11-05 · 5 min read · 920 words · KbWen · EN
Machine Learning

model.eval() and torch.no_grad() in PyTorch

We look at what model.eval() and torch.no_grad() each change when a model runs at test time.

2026-11-02 · 4 min read · 662 words · KbWen · EN
Python

Python [[0]*3]*3 修改其中一格,為什麼三列都跟著變

用乘號建立二維串列,改了一格卻三列一起變,我們來看看這三列到底是什麼。

2026-11-02 · 3 min read · 1114 words · KbWen · ZH
AI Systems

Passing back reasoning items in the OpenAI Responses API

We look at the reasoning items the OpenAI Responses API returns during a tool loop and how to send them back.

2026-11-02 · 3 min read · 564 words · KbWen · EN
AI Systems

OpenAI 的 reasoning tokens 怎麼計費

我們來看看 OpenAI 的 reasoning tokens 是什麼,以及 API 的回傳用量。

2026-11-02 · 2 min read · 875 words · KbWen · ZH