Your number of active entities sounds painfully low... what exactly is the physics/steering stuff doing? What is your hardware target?
"..painfully low.."

Well, I'm using bullet as physics engine, have a terrain-heightmap collision handler and several hundred static collision objects (cave models) which consist of low-res model (tri-soup, 100-300 tris per model). Each entity will do collision detection only vs a small terrainmap part and only vs 1-3 of the more complex collision objects (cave models), thought the collision detection will atleast always have to handle one of the cave models, because the entity is inside its AABB. Each entity consists only of a sphere or capsule and is steered by forces in combination with one ray-cast test.
Entity vs entity collision is turned off if not one of the colliding objects is the player. For steering behaviour the closest X objects are detected and cached over several frames.
AI is based on a behaviour tree written in lua. The behaviour tree has an update frequency of 0.5 to 5 hz.
My target hardware is 2-4 year old PCs, so powerful enough.
For comparison, X3: Terran Conflict simulates several thousand entities actively across the game universe in realtime, on a commodity PC.
[/quote]
A space game has extremly good collision detection conditions. Objects are seldom in frequently contact to other objects, whereas my game each entity has to check atleast vs terrain and one cave model. I think, that the cave models are the most expensive collision tests.