My understanding was that it is a 3 year deal that can void to a 2 year deal so he's ours for at least 2 years regardless of how this year goes.
Edit; Yes, here is the void detail:
The most interesting piece of the contract, also tied to Taylor's playing time, is a voidable clause. If Taylor plays in over 50 percent of the Bills' plays in either 2015 or 2016, and remains on the roster five days following the 2016 Super Bowl, the third year of the contract voids. This clause would allow, if he received significant playing time in either 2015 or 2016, Taylor to become a free agent for 2017.
http://www.buffalorumblings.com/bills-news-notes/2015/3/18/8236345/tyrod-taylor-contract-details-buffalo-bills-qb-nfl-free-agency-2015