先理解多个 Agent 怎样协作,
再用它们一起找因子,把每次尝试的过程和结果记清楚。
同样的模型、数据和预算:
一个 Agent 反复修改,或多个 Agent 分工审查,你会怎样选?
先选一种,写出你最担心的一个失败原因。课后再回看这个判断。
分开做、同时做、互相检查,分别有什么用。
分清“想试什么”“算出什么”和“别人怎么看”。
知道哪些数据已经用来挑因子、改参数。
擅长回答问题、写文字。要查最新数据或执行操作,还得接上工具。
不只回答,还能用工具做事、记住进度,比如查数据、运行代码。
几个 Agent 分工做事、互相检查。是不是真的比一个好,要看实际效果。
一次性问答、翻译、摘要。
需要工具、实时数据或多步行动。
任务能拆开做,或需要不同专长的人来检查。
主 Agent 把任务交给这些子 Agent。每位只拿到自己需要、也允许使用的资料和工具。
它们能看和操作的地方,比如网页、代码库和数据库。
怎么分任务、传结果?意见不一样时听谁的?
是一个总负责人统一安排,大家直接沟通,还是分几层管理?
先写因子,再计算、看结果。前一步没做完,后一步没法开始。
问题先分类,再交给合适的专家。
趋势、反转、量价可以各自研究,再统一汇总。
大任务拆成小任务,小任务还可以再拆。每层都要说清谁负责。
有人研究趋势,有人研究反转、量价,别让所有人反复想同一招。
让另一位专门找问题,先各自判断,不急着看别人的答案。
多传一次资料、多检查一遍都有成本。人多也可能漏事,甚至一起想错。
A 负责写因子,B 检查 A 的代码,C 根据 B 的结果决定留不留。让三位同时开工,整件事就能更快做完吗?
先自己想 45 秒:说说你的判断,再说一句为什么。
不能。A 还没写好,B 就没代码可查;B 还没查完,C 就没结果可看。互不影响的几个因子可以分头研究,但每个因子内部仍要按顺序来。
研究什么、能用什么、花多少
各自研究一类因子
用程序算,把结果存下来
继续找、修改,或申请定稿
看两份检查意见,也和已有因子比
各自检查,先不看对方怎么写
ResearchDecisionFactorSpecReviewReportPoolDecision把数据字段、计算方法和参数拼成公式,再筛选、重组、改一点继续试。
先说清想法,再写公式或 Python 代码,最后交给程序检验。
假设:价格短期偏离太多,之后可能往回走。
实现:写清用什么数据、看多少天、分数高低代表什么,以及代码在哪。
什么时候要怀疑它:分组结果忽好忽坏、只在某段时间有效,或交易成本太高。
Generator 想因子,Reviewer 找问题,Synthesizer 综合大家的意见。
compute 算因子,analyze 看指标,store 存结果,report 做报告。
检查是不是这项任务、是不是这一版、资料能不能用、预算够不够。
FactorSpec:公式是什么、参数怎么设、代码在哪。
EvaluationReport:按什么标准算,算出了什么,结果在哪。
ReviewReport:思路靠不靠谱,代码有没有错,有没有偷看未来。
PoolDecision / 人工批准:继续找、再检查、定稿或淘汰。
一个 Agent 很擅长想因子,能不能让它顺便检查自己的结果?什么情况下值得再安排一个 Agent 专门检查?
先自己想 45 秒:说说你的判断,再举一个值得分工的情况。
可以先让它自查,但它可能沿着自己的思路检查,漏掉一开始就没想到的问题。任务复杂、试错代价高,或需要另一种专长时,值得再请一位专门挑问题。任务简单、检查规则清楚时,自查加程序检查可能就够了。
如果 Agent 根据这段数据的结果挑因子、改参数,就不能再把它当成没用过的考卷。
比如预测未来 5 天,分界线前的样本也可能用到线后的价格。要删掉这些跨界训练样本,必要时再留一段空档。
找因子、改参数、讨论好坏时,都不要把最后这份数据和结果交给 Agent。
研究什么、能用哪些资料、谁交什么、最多花多少。
检查代码和数据,按约定算指标,把结果存下来。
收齐两份检查报告,再给出留不留的意见。
freeze_ready 不等于通过最后考试;frozen 也不等于可以直接交易。skills.factor_mining 负责安排整个研究流程记录版本,每次研究的文件分开存
谁来做、怎么交接、花多少、何时请人批准
做报告、定稿、准备最后测试
| 层 | 负责什么 | 不负责什么 |
|---|---|---|
compute | 指标、标签与通用 Factor 执行 | 策略专属公式与研究治理 |
analyze | 先检查,再算指标,和已有因子比较 | Agent runtime |
store | 行情数据与研究记录 | 决定因子是否通过 |
report | 用保存的计算结果和记录做报告 | 批准候选 |
strategies/ | 策略专属因子、规则、workflow | 被 skills/ 反向导入 |
ResearchController.handle(CommandRequest) 统一接收流程指令、更新进度。它安排工具干活,不自己算 IC 或跑回测。一个 Agent 没找到合格因子,这次工作就白做了吗?它应该留下什么,才能让其他 Agent 少走弯路?
先自己想 45 秒:说说你的判断,再列出至少两项该留下的信息。
不一定白做。它应该记下试了什么想法、用了哪版公式和数据、怎么算的、结果如何,以及为什么没通过,并留下代码和结果的位置。其他 Agent 才能看懂哪些路试过了,少做重复尝试。只写一句“没效果”不够,也不能凭一次失败就说这个方向永远没用。
挖掘并筛选出 5 个 同时满足以下条件的因子。
保留 5 个通过筛选的因子
IC 的绝对值大于 0.03
ICIR 大于 0.08,不额外年化