公司动态
MonkeyCode 长运行任务实践:AI 如何处理跨文件重构和复杂编码
AI 编码任务不是都能在几秒内完成的。跨文件重构、大规模代码迁移、完整的测试套件编写这些任务可能需要 AI 运行数十分钟甚至数小时。在这个过程中网络可能断开、模型可能超时、用户可能想中途介入。MonkeyCode 的任务执行有以下几个设计点来处理长运行场景第一服务端执行任务在服务端环境中运行不依赖客户端连接即使你的浏览器关了任务仍在执行。第二WebSocket 任务流客户端通过 WebSocket 实时接收任务状态更新连接设计中包含重连、去重、排队机制网络中断后重连不会丢失状态更新。第三模型切换任务运行中可以切换模型如果某个模型处理到一半效果不好可以在不丢失上下文的情况下切换每次切换都有完整记录。第四取消和恢复任务可以中途取消取消状态会保留任务记录保留 partial artifacts部分产出可以基于中断点继续工作。假设你需要将一个 Python 项目从 Django 3.2 迁移到 5.0。这个任务涉及修改 settings.py 中的配置项、更新 models.py 中的字段定义、调整 views.py 中的导入语句、修改 urls.py 中的路由模式、更新 requirements.txt、运行测试套件验证。在 MonkeyCode 中你提交这个需求AI 在服务端环境中执行。服务端有完整的代码仓库可以运行构建和测试。如果 AI 用 Claude 处理到一半超时你可以切换到 GPT-5 继续。整个过程中的每一步都有日志。MonkeyCode 要求任务保留以下证据原始需求、base revision、诊断日志、partial artifacts、cancellation state、safe retry path。这意味着团队可以审查 AI 做了什么、为什么做了某个决策、做到哪里停下来的。IDE 内的 AI 编码工具通常处理单文件、短时间任务。MonkeyCode 适合需要服务端环境、多文件操作、长时间运行的任务。两者互补而非替代。GitHub 仓库https://github.com/chaitin/MonkeyCode