Суб'єктно-орієнтоване програмування розширює поняття об'єктів шляхом забезпечення більш уніфікованої і незалежної взаємодії об'єктів. Може бути перехідною стадією між ООП та агентним програмуванням в частині самостійної їх взаємодії.