Devin AI 的结对编程模式打破了传统 AI 辅助工具的局限——它允许你在 AI 执行任务的任何阶段随时叫停、手动调整代码或直接接管终端输入。这不是单向的任务委派,而是一场真正的协同实战:你可以中断终端进程、编辑代码、进行手动交互,接管后还需通过输入指令或发送 /review 命令发起人工复核。需要特别注意的是,前提条件非常明确:必须等到终端显示 "Ready" 状态且文件树高亮标记全部完成,才能开始接管操作。三种接管方式分别对应终端、编辑器和浏览器场景,下面我们逐一详细解析。

你需要持续关注 Web IDE 中代码的变动、终端的执行状态以及网页预览的实时更新,并能够在任意环节暂停 AI 操作,直接上手编辑文件或接管终端——这才是真正意义上的结对编程体验。
进入开发操作区并启动任务
打开 app.devin.ai → 登录 Teams 账户 → 在对话区输入具体需求(例如:“修复 fp-ts-exercises 仓库中 test/02-either.test.ts 第17行的类型错误”)→ 点击发送。
Devin 会自动克隆目标仓库、分析项目依赖、定位问题文件所在。大约 3~8 秒后,左侧文件树展开,中间编辑器加载 src/02-either.ts,下方终端开始执行 npm install。这是任务启动的必经环节,必须等到终端显示 "Ready" 且文件树完成高亮标记,才能进行后续的接管操作。
实时执行中的三种接管方式
方法一:中断当前动作并接管终端
当终端正在运行 vitest --run 且卡在某个测试失败时,点击终端右上角的 ⏹️ 按钮 → 终端立即停止运行 → 光标恢复可输入状态 → 直接键入 npm run build 或 vi src/02-either.ts 手动调试。
方法二:覆盖编辑器中的AI生成代码
AI 已经在中间编辑器里打开 solution.ts 并写入了新的逻辑,但你发现第5行遗漏了 await → 将光标移到该行直接补上 await → 按 Ctrl+S 保存 → Devin 检测到文件内容发生变更,会自动暂停后续步骤,等待你确认是否继续执行。
方法三:右侧浏览器预览页中手动触发交互
AI 正在为项目添加一个 React 预览页面,右侧已加载 http://localhost:3000 → 你点击页面上的“Toggle Debug Mode”按钮 → 页面立即响应并弹出控制台 → Devin 不会干涉此次手动操作,但会在对话区自动追加一条通知消息:“检测到用户手动触发 UI 交互,已暂停自动化流程。”
接管后继续协同的两个关键动作
第一步:在对话区输入明确的指令
例如:“刚才我修改了 src/utils/parse.ts 的第12行,现在请基于新的逻辑重新运行所有测试,只报告失败项。” Devin 会重新读取文件哈希值、跳过已验证的步骤、直接执行 npm test -- --testPathPattern=utils。
第二步:用 /review 命令发起人工复核
AI 完成全部修改并生成 PR 描述后,在对话区单独发送 /review → 界面立即切换为对比视图,左侧显示原始文件,右侧显示 AI 修改后的版本,所有新增和删除的行都带有颜色标记 → 你用鼠标选中某一行 → 点击右键 → 选择“Reject this change” → 该行被撤回,编辑器同步更新。
点击右侧预览页地址栏旁的 “Re-run preview” 按钮。
