We present an efficient list decoding algorithm in the style of Guruswami-Sudan for algebraic geometry codes. Our decoder can decode any such code using Õps ω µ ω´1 pn `gqq operations in the underlying finite field, where n is the code length, g is the genus of the function field used to construct the code, s is the multiplicity parameter, is the designed list size and µ is the smallest positive element in the Weierstrass semigroup at some chosen place; the "soft-O" notation Õp¨q is similar to the "big-O" notation Op¨q, but ignores logarithmic factors. For the interpolation step, which constitutes the computational bottleneck of our approach, we use known algorithms for univariate polynomial matrices, while the root-finding step is solved using existing algorithms for root-finding over univariate power series.