* reformat factor implement process
* move some code to more reasonable place
* fix the bug
* add test function in factor_extract_and_implement.py
* change select factor number to ratio , add some factor implement setting and fix some bug while using knowledgebase
* change evoagent
* add abstract class EvoAgent
* add benchmark workflow
* fix some bug in llm_utils
* run wenjun's code
* fix the knowledgebase instance check
---------
Co-authored-by: xuyang1 <xuyang1@microsoft.com>