generator -> agent