  We show that every language in NP has a PCP verifier that tosses $O(\log n)$
random coins, has perfect completeness, and a soundness error of at most
$1/\text{poly}(n)$, while making at most $O(\text{poly}\log\log n)$ queries
into a proof over an alphabet of size at most $n^{1/\text{poly}\log\log n}$.
Previous constructions that obtain $1/\text{poly}(n)$ soundness error used
either $\text{poly}\log n $ queries or an exponential sized alphabet, i.e. of
size $2^{n^c}$ for some $c>0$. Our result is an exponential improvement in both
parameters simultaneously.
  Our result can be phrased as a polynomial-gap hardness for approximate CSPs
with arity $\text{poly}\log\log n$ and alphabet size $n^{1/\text{poly}\log n}$.
The ultimate goal, in this direction, would be to prove polynomial hardness for
CSPs with constant arity and polynomial alphabet size (aka the sliding scale
conjecture for inverse polynomial soundness error).
  Our construction is based on a modular generalization of previous PCP
constructions in this parameter regime, which involves a composition theorem
that uses an extra `consistency' query but maintains the inverse polynomial
relation between the soundness error and the alphabet size.
  Our main technical/conceptual contribution is a new notion of soundness,
which we refer to as {\em distributional soundness}, that replaces the previous
notion of "list decoding soundness", and that allows us to prove a modular
composition theorem with tighter parameters. This new notion of soundness
allows us to invoke composition a super-constant number of times without
incurring a blow-up in the soundness error.
