How can STDP fit with reciprocal connectivity? I have rather technical question regarding STDP dynamics. 
I am working on a neural network implementing an STDP learning algorithm, and have noticed that it is extremely anti-reciprocal. When two neurons have bidirectional connectivity between them, the conditions that will strengthen one direction will inevitably weaken the other, as far as I can understand. If B consistently fires immediately following a spike in A, the A->B synapse will strengthen, however the B->A synapse would weaken, as the pre-synapse / post-synapse roles are reverse. 
This wouldn't be much of a problem if it weren't for empirical evidence of high reciprocity in cortical connectivity.  

Am I missing something? Is this a known shortcoming of the model?
Consider that elimination of such a phenomena is not ideal. It's been proposed that actual neuronal networks exist under the tension of synchronous decoupling. 

http://www.sciencedirect.com/science/article/pii/S0896627308001281

To answer your question though, you probably should consider that reciprocal connections might not be between two individual neurons. Rather, axons in the cortex are clumped into minicolumns, each one having 20+ pyramidals in supragranular layers. It's conjecture, but it's possible that the reciprocal connections are between different pyramidals within minicolumns (or even different pyramidals within columns or whatever other macro-structure you want).