codecamp

Qoder Quest Mode - 任务模式详解 🎯

根据 Qoder 官方文档,Quest Mode 是一个专为复杂、长期开发任务设计的AI辅助编程功能。它能够让您用自然语言描述需求,然后将功能开发、bug修复、重构和测试等任务委托给AI执行。

🌟 核心特性

📋 AI辅助规格说明书 (Specs)

  • AI助手分析您的项目并自动生成详细的技术设计文档
  • 确保对任务的共同理解
  • 使AI的执行与您的目标保持一致

🤖 自主执行

  • 规格说明书完成后,AI代理异步执行任务
  • 通过 Action Flow 视图实时监控进度
  • 显示执行计划、正在进行的操作和遇到的问题

📊 AI辅助任务报告

  • 完成后AI生成任务报告
  • 总结变更、测试结果和验证结果
  • 帮助您快速评估工作质量和完整性

🚀 如何创建任务

步骤1:启动任务

  1. 点击 New Task (新建任务)
  2. 选择相关上下文(项目文件或代码片段)
  3. 用自然语言输入任务描述
  4. 点击 Send 或按 Enter 开始

步骤2:选择执行方式

  • 标准模式 - AI先生成详细的技术规格说明书
  • 直接执行 - 选择 "Execute Directly" 跳过设计阶段,立即开始实现

🎨 技术设计阶段

AI在设计阶段会:

  • 📚 审查项目的内存和上下文
  • 🔍 分析代码库结构
  • 📝 生成综合的规格说明书文档

规格说明书管理

  • 自动保存在项目的 .qoder/quest 目录中
  • 可以编辑或与AI一起完善
  • 满意后点击右上角的 Start Now 开始执行

⚡ Action Flow - 执行流程

任务开始后,您将看到 Action Flow 视图,显示:

  • 🗂️ AI的执行计划
  • 📊 实时输出和日志
  • 📈 进度状态和阻塞问题

动态调整

  • 对于简单任务,AI可能跳过详细计划直接实现
  • 运行期间可随时在聊天框中添加新需求
  • AI会调整计划并继续工作

📋 任务报告

任务完成后,系统切换到任务报告视图,AI提供结构化摘要:

报告内容

  • 📝 已实现变更的概述
  • ✅ 测试结果和验证结果
  • 📁 变更文件的详细列表

后续操作

  • 🔍 逐个审查变更 - 详细检查每个修改
  • Accept (接受) - 保留变更并归档任务
  • Discard (丢弃) - 撤销所有变更并结束任务
  • 🔄 继续工作 - 返回 Action Flow 视图发送新消息

💡 使用场景

功能开发

"为用户管理模块添加批量导入功能,支持CSV和Excel格式,包含数据验证和错误处理"

Bug修复

"修复购物车结算页面在移动端显示异常的问题,确保所有设备上的响应式布局正常"

代码重构

"将支付模块重构为微服务架构,分离支付逻辑和订单逻辑,提高系统可维护性"

测试开发

"为API接口编写完整的单元测试和集成测试,覆盖率达到90%以上"

🎯 最佳实践

任务描述技巧

  • 🎯 明确具体 - 详细描述功能需求和验收标准
  • 🔗 提供上下文 - 包含相关的项目文件和代码片段
  • 📊 设定目标 - 明确性能、质量或时间要求

执行监控

  • 👀 定期检查 - 通过 Action Flow 监控进度
  • 💬 及时沟通 - 发现问题及时在聊天中反馈
  • 🔄 动态调整 - 根据进度调整需求和优先级

结果验证

  • 📝 仔细审查 - 详细检查任务报告和变更
  • 🧪 充分测试 - 验证实现的功能是否符合预期
  • 📚 文档更新 - 确保相关文档同步更新

🔧 高级功能

上下文智能选择

  • 自动识别相关项目文件
  • 智能分析代码依赖关系
  • 保持项目架构一致性

增量任务管理

  • 支持在执行过程中添加需求
  • 智能合并相关任务
  • 避免重复工作

质量保证

  • 自动代码风格检查
  • 内置最佳实践验证
  • 自动化测试生成

Quest Mode 的价值:

  • 🚀 效率提升 - 自动化复杂开发任务
  • 🎯 质量保证 - 系统化的设计和验证流程
  • 🔄 灵活调整 - 支持动态需求变更
  • 📊 透明可控 - 全程可视化和可控制

Quest Mode 是 Qoder 中处理复杂开发任务的终极工具,让AI成为您的超级编程伙伴!

Qoder Diff View - 差异预览功能详解 📊
Qoder Repo Wiki - 项目知识库详解
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Qoder 活动

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }