And for more substantial tasks it'd be possible to write an agent in another language and then call it from ruby in some way.