3.1 为什么不用默认的 ThreadPoolExecutor 直接跑 Python的 concurrent.futures.ThreadPoolExecutor 已经很好用,但爬虫场景里有两类问题:一是每个任务可能要切换代理,而代理是全局资源,多个线程同时取同一个代理会导致IP维度过集中;二是Selenium操作共享同一个浏览器时不能并发点击,需要把任务按界面操作和纯网络请求分开。
近期 Codex 的产品线动作挺密集,Linear 那边负责过 Agent 化产品的人被拉去做 Codex 与 ChatGPT 的产品工作,信号很明确:Codex 正在从"补全插件"变成"能读仓库、改文件、跑测试、发 PR 的执行体"。一旦它开始承担这类任务,PR 审查就成了最典型的落地场景,也最快暴露工程问题。