高级功能

Quest 模式 详解

把编程任务"外包"给 AI——你只需用中文描述想要什么,AI 会帮你从头到尾完成。

Editor 模式 vs Quest 模式

Lingma IDE 有两种工作模式,就像"自己开车"和"叫代驾"的区别。

✏️ Editor 模式(自己开车)

你主导,AI 辅助

你一行行地写代码,AI 在旁边实时给建议。就像写文章时开着拼写检查器——主导权在你手里。

  • 写代码时自动弹出补全建议
  • Ctrl+I 随时向 AI 提问
  • 选中代码让 AI 解释或优化
  • 适合:日常练习、小修改
🎯 Quest 模式(叫代驾)

AI 主导,你审查

你告诉 AI 目的地(想做什么),AI 负责开车(写代码)。你只需要看路线对不对,不满意就让它改。

  • 用中文描述你想完成的任务
  • AI 自动创建文件、写代码、安装依赖
  • 你检查结果,满意就接受
  • 适合:创建新项目、复杂功能
💡

文科生建议:刚开始学编程时,建议先用 Editor 模式跟着课程练习,理解代码逻辑。熟悉之后,再用 Quest 模式做作业中的复杂项目。两种模式可以通过左上角按钮随时切换,快捷键 Ctrl+E

三种任务场景

创建 Quest 任务时,可以选择一种场景告诉 AI 你要做什么类型的事。如果不确定,不选也行——AI 会自动判断。

📋

场景一:Spec 驱动(规格说明驱动)

一句话理解:像写论文大纲一样先做计划,再逐步执行。

AI 会先和你确认需求细节(就像和导师讨论论文框架),写出一份"规格说明书"(Spec),你确认后 AI 才开始写代码。这样做的好处是——方向不会跑偏。

📝

工作流程
① AI 提出澄清问题 → ② 双方对齐需求 → ③ 生成 Spec 文档 → ④ 你确认 → ⑤ AI 按 Spec 逐项执行

适合场景:较复杂的作业项目,比如"做一个带数据库的新闻管理系统"。

🌐

场景二:搭建网站

一句话理解:告诉 AI 你想要什么样的网站,它帮你从零搭建。

这是对文科生最友好的模式!你只需要描述网站的功能和外观,AI 会自动生成所有页面。还支持实时预览——边开发边看效果。

# 示例 1:课程作业 帮我做一个介绍中国传统节日的网页, 包含春节、中秋节、端午节三个板块, 每个板块有标题、简介和一张配图, 整体风格简洁大方,使用中文。 # 示例 2:个人作品集 帮我创建一个新闻作品集网站, 首页展示我的个人简介和照片, 作品页面按时间排列展示 10 篇文章摘要, 支持点击查看全文。
🧪

场景三:原型探索

一句话理解:快速验证一个想法,看看能不能跑起来。

当你有一个创意但不确定能不能实现时,用这个模式。AI 会快速做出一个"粗糙但能跑"的原型,你看看效果再决定要不要继续完善。

# 示例:数据可视化 帮我写一个 Python 脚本, 读取 data.csv 文件, 画一个柱状图显示每个月的新闻数量, 图表标题用中文。 # 示例:小工具 写一个 Python 程序, 把文件夹里所有 .txt 文件的内容合并到一个文件里, 每篇之间加一行分隔线。

执行环境

Quest 任务有两种"工作空间",决定 AI 在哪里写代码。初学者选 Local 就好。

💻

Local(本地)← 推荐初学者

AI 直接在你当前打开的项目里改代码。就像在 Word 文档上直接修改——简单直接。

比喻直接在原稿上改
优点即时生效,零等待
缺点改坏了需要撤销
适合简单任务、日常作业
🌿

Worktree(并行工作区)

AI 在一个"副本"里改代码,你的原始代码不受影响。就像先在草稿纸上写,满意了再抄到正式稿上。

比喻先写草稿再定稿
优点安全,原代码不变
缺点需要额外"合并"步骤
适合复杂项目、大改动
💡

初学者建议:选 Local 就好。万一改坏了,可以用 Ctrl+Z 撤销,或者让 AI"把刚才的修改撤回"。Worktree 需要了解 Git 分支概念,等学到 Git 时再用。

Quest 工作流

从创建任务到完成交付的完整流程——每一步都有详细说明。

1

进入 Quest 模式

按键盘上的 Ctrl+E(同时按住 Ctrl 键和 E 键)。界面会切换到 Quest 视图——左侧是任务列表,中间是对话区。

也可以点击界面左上角的 Editor/Quest 切换按钮来切换。

2

创建新任务

点击左侧任务列表顶部的 "新建 Quest" 按钮。然后选择场景(或不选让 AI 自动判断)和执行环境。

3

用中文描述需求

在对话框输入你想让 AI 做什么。关键技巧:描述得越具体,AI 做得越好。

# ✅ 好的描述(具体、清晰) 帮我写一个 Python 程序,实现以下功能: 1. 读取当前目录下的 news.csv 文件 2. 统计每个"分类"列中各类别出现的次数 3. 用 matplotlib 画一个横向柱状图 4. 图表标题为"新闻分类统计",使用中文字体 5. 将图片保存为 chart.png # ❌ 差的描述(模糊、笼统) 帮我分析数据。 # ❌ 也不好(没说用什么技术、数据在哪) 帮我画个图。
4

AI 开始工作

AI 会自动开始执行:

  • 生成待办清单(To-do List):AI 把任务拆解为若干小步骤
  • 创建/修改文件:你会看到 AI 新建了哪些文件、改了哪些代码
  • 运行命令:比如安装需要的库(pip install matplotlib
  • 实时展示进度:对话区会不断更新当前完成到哪一步
📝

在 AI 工作期间,你可以随时查看它做了什么。如果发现方向不对,点击 "暂停" 按钮暂停任务,然后在对话框输入调整意见。

5

审查代码变更

AI 完成后,在右侧的 Changed Files(文件变更)标签页可以看到所有被修改的文件。绿色标记表示新增的代码,红色表示删除的代码。

  • 接受(Accept):对结果满意,应用这些修改
  • 🗑️ 丢弃(Discard):不满意,放弃这些修改
  • 💬 追加需求:直接在对话框告诉 AI 哪里需要改
6

迭代优化

如果结果不完美——这很正常!编程就是不断调试的过程。直接在对话框告诉 AI 你想修改什么:

# 修改颜色 柱状图的颜色改成蓝色渐变 # 添加功能 在每个柱子上面显示具体数字 # 修复问题 中文显示为方框了,帮我修复字体问题

📊 任务状态说明

左侧任务列表中,每个任务会显示当前状态:

状态图标含义你需要做什么
Running🔄AI 正在工作中等待,或查看进度
Action RequiredAI 在等你确认查看提问并回复
Ready任务已完成审查结果并接受/丢弃
Error执行出错了查看错误信息,告诉 AI 修复

文科生实用案例

以下是你在课程中可能遇到的真实作业场景,展示如何用 Quest 模式高效完成。

📊

案例一:数据分析作业

作业要求:分析一份 CSV 格式的媒体数据集,统计各媒体类型的分布并画图。

帮我完成数据分析作业: 1. 读取 data/media_db.csv 文件 2. 用 pandas 统计 "type"(类型)列的频次分布 3. 画一个饼图,显示各类型的占比 4. 在图上标注百分比数字 5. 图表标题:"全球媒体类型分布" 6. 保存为 output/media_chart.png 7. 在终端打印出描述性统计信息
🌐

案例二:制作个人网页

作业要求:用 HTML/CSS 制作一个个人介绍页面。

帮我做一个个人介绍网页: - 标题:我的新媒体作品集 - 页面顶部有导航栏,包含"关于我""作品""联系方式"三个链接 - "关于我"部分:左边放个人照片(暂用占位图),右边写简介 - "作品"部分:用卡片式布局展示 6 个作品 每个卡片有缩略图、标题和一句话描述 - "联系方式"部分:邮箱和微信 - 整体深色主题,现代简约风格 - 页面要适配手机屏幕(响应式设计)
📝

案例三:文本处理脚本

需求:自动分析大量新闻标题的关键词频率。

写一个 Python 程序,实现: 1. 从 news_titles.txt 文件读取所有新闻标题(每行一个) 2. 使用 jieba 分词库对标题进行中文分词 3. 去掉停用词(的、了、在、是 等常见词) 4. 统计词频,取 Top 20 高频词 5. 用 wordcloud 库生成词云图 6. 词云图形状为圆形,背景白色 7. 保存为 wordcloud.png 并显示

使用技巧

让 Quest 模式更高效的实用建议,尤其针对编程初学者。

✍️

像写需求文档一样描述

把任务想象成你在给实习生布置工作:说清楚输入是什么、要做什么、输出是什么。编号列表比一段话好。

📐

先做小任务练手

别一上来就做大项目。先试试"帮我写一个 hello world""帮我画个简单的柱状图",熟悉 AI 的工作方式。

🔄

迭代而非重做

如果结果不完美,追加修改需求比重新创建任务更高效。AI 会在已有基础上优化,而不是从头开始。

🐛

报错别慌

代码报错是正常的!直接把错误信息复制给 AI 说"这里报错了,帮我修复"——这是 AI 最擅长的事。

📖

请 AI 解释代码

AI 写完代码后,你可以说"逐行给我解释一下这段代码"。这是学习编程的绝佳方式,比看教科书生动多了。

📁

多任务并行

可以同时运行多个 Quest 任务。比如一个做数据分析、一个做网页。任务列表按最后交互时间排序。

⚠️

学术诚信提醒:Quest 模式是强大的学习工具,但请记住——理解代码比生成代码更重要。提交作业前,请确保你理解 AI 生成的每一行代码。建议让 AI 解释代码逻辑,真正学会而不是简单复制。