Bring a large pot of water to a boil. Cook pasta according to package directions.
Meanwhile, in a skillet, saute onion, bacon and oil for approximately 5 minutes or until bacon is rendered and onions are translucent. Add the asparagus and saute for additional 3-4 minutes, then season with salt and pepper.
Separately, in a large bowl, mix yolks with cheese. Add salt and pepper and set aside.
Drain pasta and toss with bacon and asparagus mixture.
With the heat off, fold the yolk mixture into the pasta and stir vigorously until the yolks thicken up and coat the spaghetti. Serve immediately.