Faits: Faits: A. M._, née en 1965, a souffert d'une maladie de Hodgkin de type sclérose nodulaire stade IV, traitée par chimiothérapie, puis par radiothérapie. Par décision du 27 novembre 1998, l'Office de l'assurance-invalidité du canton de Vaud lui a alloué, dès le 1er mars 1997, une demi-rente fondée sur un taux d'invalidité de 52 %. Dès le 1er octobre 1997, l'assurée a repris son activité au service de O._ avec un taux d'occupation de 70 %. Selon son employeur, un taux d'occupation de 50 % correspondrait toutefois d'avantage à son état de santé. Ensuite, l'intéressée a travaillé à raison d'un horaire de travail complet au service de différents employeurs durant la période du 1er juin 1999 au 31 mai 2000, date à partir de laquelle elle a réduit son taux d'occupation à 50 % en raison d'une fatigue générale. Le 31 octobre 2000, elle a été licenciée par son employeur pour des motifs économiques. L'office AI a recueilli divers avis médicaux et confié un examen clinique bidisciplinaire au Service médical régional de l'assurance-invalidité (SMR Léman). Après avoir notifié à l'intéressée un projet de décision le 13 novembre 2002, l'office AI a rendu une décision, le 3 décembre suivant, par laquelle il a supprimé le droit à la demi-rente à partir du premier jour du deuxième mois à compter de la notification de ladite décision, motif pris que le taux d'invalidité constatée (20 %) était insuffisant pour ouvrir droit à une telle prestation. L'office AI a recueilli divers avis médicaux et confié un examen clinique bidisciplinaire au Service médical régional de l'assurance-invalidité (SMR Léman). Après avoir notifié à l'intéressée un projet de décision le 13 novembre 2002, l'office AI a rendu une décision, le 3 décembre suivant, par laquelle il a supprimé le droit à la demi-rente à partir du premier jour du deuxième mois à compter de la notification de ladite décision, motif pris que le taux d'invalidité constatée (20 %) était insuffisant pour ouvrir droit à une telle prestation. B. Saisi d'un recours, le Tribunal des assurances du canton de Vaud a annulé cette décision par jugement du 22 décembre 2003. B. Saisi d'un recours, le Tribunal des assurances du canton de Vaud a annulé cette décision par jugement du 22 décembre 2003. C. L'office AI interjette recours de droit administratif contre ce jugement dont il demande l'annulation, en concluant à la confirmation de sa décision du 31 décembre 2002 (recte : 3 décembre 2002). L'intimée conclut au rejet du recours, sous suite de frais et dépens. L'Office fédéral des assurances sociales a renoncé à présenter des déterminations.