I see two ways to do so:
- Have multiple agent noun affixes, each for a type of agent. For example I feel like Spanish -dor is more often used for someone who's repeatedly doing something, while -nte is someone doing it now.
- Apply the affix not to the base form of the verb, but to a conjugated form, in a way that preserves tense/aspect/mood information.
So, as an example of #2. Let's say your conlang has the verb "lug" (to do), and here's part of its conjugation:
- indicative perfect past - lugene (they did)
- indicative imperfect past - lugavo (they were doing)
- indicative habitual present - lugien (they often do, they typically do)
- indicative progressive present - lug (they're currently doing)
- [etc.]
And your agent suffix is, dunno, -bor. Most languages would apply it into the base form and call it a day, so you'd get "lugbor"; you could instead do something like
- lugenebor - the one who did
- lugavobor - the one who used to do
- lugienbor - the one who often does; like Spanish "hablador" (one who talks often = talkative)
- lugbor - the one actively doing it; like Spanish "hablante" (one who's talking now = speaker)
- etc.
I feel this would go well with an agglutinative language. Just make sure the distinction between adjective and noun is clear, otherwise your conspeakers will conflate the nominalising and adjectivising suffixes.
She's cute until you remember her true vampire form. :D