Trim the asparagus, breaking off and discarding the base of each stalk about here the bright green color fades. Cut each stalk crosswise diagonally into 1 inch pieces, but leave the beautiful tips intact. (You should have about 2 cups.) Heat the oil in a medium saucepan over medium-high heat for 1 minute, and then add the asparagus, shallots, garlic, salt, and pepper. Cook until the shallots and garlic are fragrant and the asparagus is shiny and bright green, 1 to 2 minutes. Add the broth and bring to a boil. In a small bowl, combine the cornstarch and water, stirring it to make a thin, smooth paste. Add it to the soup. Stir the soup well and drizzle in the beaten egg, letting it swirl to form lacy shreds in the hot broth. Add the crabmeat and stir well. Sprinkle in the green onion, remove the soup from the heat, and serve hot or warm