Programowanie agentowe – kolejny poziom abstrakcji programowania, wyższy od abstrakcji programowania obiektowego. Polega on na tworzeniu agentów (ang. Software Agent).
Programowanie agentowe różni się od obiektowego tym, że każdy agent musi być przygotowany na otrzymanie błędnych danych od innego agenta, lub nieotrzymanie ich w ogóle. W programowaniu obiektowym zakłada się, że każdy obiekt zwróci poprawne dane. W programowaniu agentowym normalną i pożądaną sytuacją jest, żeby kilka agentów wykonywało to samo obliczenie, na wypadek, gdyby niektóre z nich zwróciły błąd. W programowaniu obiektowym tylko jeden obiekt wykonuje dane obliczenie, a dublowanie obliczeń to marnowanie mocy procesora. System agentowy często zwraca wynik przybliżony lub obarczony prawdopodobieństwem błędu. Rozmaite techniki mają na celu eliminację tego stanu rzeczy. W programowaniu obiektowym czyni się założenie, że wszystkie wyniki są poprawne, a za ich dokładność odpowiadają inne elementy systemu komputerowego (np. sprzęt).