Having fought in many combat zones, especially since v1.3, it seems that most of the ships using projectile weapons use either frag cannons or railguns, with the railguns mostly being used by Asps. It is really annoying that the AI can infinitely use the frag cannons and can be seen using the frag cannons on both player and npc ships for lengths of time that a player ship would have long run out of ammo. What is worse is that by being able to spam frag cannon rounds with abandon, the NPC ships are using this weapon to take down shields when frag cannons would not be used by players as a primary weapon to take down shields due to ammo limitations. I believe that if you have imposed ammo limitations on a weapon to in part dictate how and when a weapon is used by players, then you should also have the AI coded to take those limitations in mind when using those weapons, otherwise weapons that are geared to work best in specific situations become overpower when used by the AI compared to when used by players.
Example: The Fragment cannon
The fragment cannon has the limitations of small ammunition total, shot spread increasing with range and short effective range to offset its high damage, high hit probability (even when using turrets or gimbal mounts, the frag cannon is less affected by chaff than other weapons due to its large area of effect shotgun like spread), and relatively fast projectile speed. The small ammunition total is the largest of its limitations that dictate how and when the weapon is used by players, as by the time it has taken down the shields of a comparable enemy ship, there will be few rounds remaining to damage the hull. This becomes more pronounced when there are multiple opponents and will generally cause players to only fire this weapon after their current target has lost its shielding. As it currently stands, the AI are able to use this weapon to engage multiple targets with continuous fire and can be more effective against shields than many AI laser weapon loadouts (especially those that are mixed lasers and projectile weapons) as those due conform to the same limitations of energy drain and heat generation that players encounter. Additionally, the ability of the AI to endlessly fire fragment cannons is more immersion breaking than endless railgun usage, as railguns will rapidly deplete weapons capacitors and generate heat which will limit their observed firing to short bursts instead of the more continuous firing of the frag cannon and multicannons. With a total of 33 ammo (3 in cannon, 30 in reserve), the fragment cannon has 11 clips of 3 rounds. This means an AI opponent can only fire 11 volleys (3 rounds fired rapidly followed by longer pause to change clips) before an observant player will notice that the AI is not conforming to ammunition limitations. For battles between large heavy ships (python, imperial clipper, Fer-Der-Lance, Anaconda), those 11 volleys can easily be used in the time until one of the two ships is destroyed if the AI is using nothing but fragment cannons. This makes the AI not being affected by ammunition limitations apparent, especially so when the AI ship was previously engaging other targets.
I can understand the reasons for giving the AI unlimited ammunition (from above discussions in this thread), but I feel the AI needs to in some way be confined in its usage of ammunition using weapons to give the weapons similar usage and utility to that of what a player is constrained to. An AI controlled ship that uses a weapon in a way that a player cannot due to having unlimited ammo is just as frustrating to a player as an enemy never having to pause their firing to change magazines/clips when the player must pause their firing to change their magazine/clip.