质疑 Jev 被称作概率编程:只是边缘分布不是联合分布
作者认为 Jev 是「State → Dist[B]」的 fan-out,只能给出各问题边缘分布,缺少 bind 与联合分布,因此不是真正的概率编程语言。
I think Jev is a cool API, but it is not probabilistic programming; qualifying it as a Kleisli arrow that I have seen people do here is exaggerating. Claude Code's explanation: Jev gives you the marginals; a decoder gives you the joint Jev's arrow is State → Dist[B] — a Kleisli arrow in the Giry/distribution monad, yes. But asking N questions about one fixed state isn't Kleisli composition; it's a fan-out, ⟨q₁,…,qₙ⟩ : State → Dist[B₁] × ⋯ × Dist[Bₙ]. Note the product is outside the monad: you get n marginals, not a Dist[B₁ × ⋯ × Bₙ]. And marginals don't determine the joint unless the coordinates are independent — which is the precise reason your "low probability at step 1 can win after composition" happens. The jointly-best answer need not be the tuple of marginally-best answers. The two things missing are exactly the two things that turn the monad into a language rather than a classifier: - bind (>=>) — P(c) = Σ_b P(b)·P(c∣b), marginalizing over the intermediate. Jev can't express it because q₂'s distribution is read off the same state, never off q₁'s outcome-as-new-state. - observe / condition — Bayesian update, P(latent ∣ evidence). Jev has no observe; it emits a fixed readout.
这条是引用着另一条写的:x.com/jamespearce/status/2100859300038234473