docs/features/agents/void_terminal.md
虚空终端是 GPT Academic 中一个独特的智能调度系统。与传统的逐一点击插件按钮的操作方式不同,虚空终端允许您用自然语言直接描述需求,系统会自动理解您的意图并调用相应的功能。这意味着您无需记忆各种插件的名称和操作步骤,只需要像和助手对话一样表达您想做的事情。
虚空终端的设计理念是"用自然语言驾驭所有功能"。它通过语言模型分析您的输入,识别出三类意图,并执行相应的操作:
| 意图类型 | 触发场景 | 系统行为 |
|---|---|---|
| 调用插件 | 描述需要完成的任务 | 自动选择并执行匹配的插件 |
| 修改配置 | 表达配置更改需求 | 修改系统设置并提示重启 |
| 聊天对话 | 提出普通问题 | 像普通聊天一样回答问题 |
举例来说,当您输入"帮我把这篇 Arxiv 论文翻译成中文,论文 ID 是 2301.00234"时,虚空终端会识别这是一个翻译任务,然后自动调用 Arxiv 论文翻译插件,并将论文 ID 作为参数传递给插件执行。整个过程您无需手动查找插件或填写参数。
在界面的函数插件区域找到 虚空终端 按钮并点击。由于虚空终端是一个常用功能,它通常会显示在按钮区的显眼位置。您也可以在插件下拉菜单中找到它。
首次点击时,系统会显示使用说明,介绍虚空终端的能力和使用方法。阅读后,在输入框中输入您的需求再次提交即可开始使用。
使用虚空终端最重要的是清晰地表达您想要做什么。您可以用自然、口语化的方式描述任务,就像在和一个了解这个项目所有功能的助手交流。以下是一些有效的表达方式:
论文翻译类任务
请调用插件翻译这篇 Arxiv 论文,论文 ID 是 1812.10695
帮我把上传的 PDF 论文翻译成中文
代码处理类任务
用插件分析一下这个 Python 项目的代码结构,代码我已经上传了
请解析 /home/user/my_project 这个文件夹里的代码
其他任务
用插件生成一张图片,图中有一片开满鲜花的草地
帮我翻译这个 README 文件,GitHub 地址是 https://github.com/example/repo
为了让虚空终端更准确地理解您的意图,可以在描述中加入一些关键词。系统会优先根据这些关键词判断您的意图类型:
| 意图 | 推荐关键词 | 示例 |
|---|---|---|
| 调用插件 | "用插件"、"调用插件" | "请用插件帮我翻译论文" |
| 修改配置 | "修改配置"、"更换主题" | "修改配置,把主题换成 High-Contrast" |
| 聊天对话 | "请问"、"什么是" | "请问 Transformer 架构的原理是什么" |
当然,即使不使用这些关键词,虚空终端也会尽力理解您的意图。但在使用较弱的模型时,加入关键词可以显著提高识别准确率。
下面通过几个具体场景展示虚空终端的使用方法。
当您需要翻译一篇 Arxiv 上的论文时,只需告诉虚空终端论文的 ID:
把 Arxiv 论文翻译成中文,论文 ID 是 2301.00234,记得用插件!
虚空终端会识别这是一个论文翻译任务,自动调用"Arxiv论文翻译"插件。您可以在对话区看到任务执行的进度,翻译完成后下载区会出现生成的 PDF 文件。
如果您想分析一个代码项目,先将项目打包成 ZIP 文件并上传到文件上传区。上传完成后,输入:
请调用插件解析这个 Python 源代码项目,代码我刚刚打包上传了
虚空终端会找到"解析整个Python项目"插件并执行。分析完成后,您将得到项目的整体架构说明、各文件功能概述,以及文件关系的可视化图表。
当您希望更改 GPT Academic 的界面风格时,可以通过虚空终端用自然语言操作:
修改配置,把主题 THEME 更换为 High-Contrast
系统会识别这是一个配置修改请求,自动更新配置文件并提示您重启应用以使更改生效。
!!! warning "配置修改风险"
配置修改功能默认是关闭的(ALLOW_RESET_CONFIG = False)。如需启用,请在配置文件中设置 ALLOW_RESET_CONFIG = True。启用后请谨慎使用,避免误操作。
如果您只是想问一个问题而不需要调用任何插件,虚空终端同样可以处理:
请问 Attention 机制的计算过程是怎样的?
系统识别到"请问"关键词后,会以普通对话模式回答您的问题,而不会尝试调用任何插件。
虚空终端的强大之处在于它能够自动关联您上传的文件。当您上传文件后,只需要描述想对文件做什么操作,系统会自动将文件路径与任务关联起来。
您也可以在描述中直接指定本地文件或文件夹的路径:
用插件分析 /home/user/projects/my_app 这个目录下的 Python 代码
这种方式适合处理本地已有的项目,无需先打包上传。
选择合适的模型:虚空终端的意图识别能力与所选模型直接相关。GPT-4 级别的模型能够准确理解各种表达方式,而较弱的模型可能会误判意图。如果发现识别不准确,尝试切换到更强的模型,或在描述中使用推荐的关键词。
描述要具体:越具体的描述,系统理解得越准确。比如"帮我翻译论文"不如"用插件把这篇 Arxiv 论文翻译成中文,论文 ID 是 xxxx"来得精确。
善用关键词:在不确定系统能否正确理解时,主动加入"用插件"、"请问"等关键词可以避免误判。
查看插件菜单:如果您不确定某项任务是否有对应的插件,可以先展开插件下拉菜单浏览可用功能。了解项目有哪些能力后,再用自然语言描述需求会更有针对性。
虚空终端的运作分为三个阶段。首先是意图分析:系统使用当前选择的语言模型分析您的输入,判断属于"调用插件"、"修改配置"还是"聊天对话"中的哪一类。对于包含明确关键词(如"用插件")的输入,系统会直接识别意图;对于模糊的表达,则依赖模型的理解能力。
接下来是任务路由:根据识别出的意图类型,系统将请求路由到对应的处理模块。如果是插件调用,系统会进一步分析应该调用哪个具体插件,并提取输入中的参数信息(如论文 ID、文件路径等)。
最后是执行反馈:选定的插件或功能开始执行,执行过程和结果会实时显示在对话区。如果是文件处理类任务,生成的文件会出现在下载区。
???+ question "虚空终端总是无法理解我的意图" 这通常与模型能力有关。请尝试:
1. 切换到更强的模型(如 GPT-4o)
2. 在描述中加入明确的意图关键词
3. 使用更简洁、直接的表达方式
???+ question "我想调用插件,但系统却开始聊天了" 系统可能将您的输入理解为普通问题。解决方法是在描述中明确加入"用插件"或"调用插件"关键词。
???+ question "提示'当前语言模型不能理解您的意图'" 这表示模型无法解析您的输入。可能原因包括:
- 模型能力较弱,无法完成意图分析
- 描述过于复杂或模糊
尝试简化表达或切换到更强的模型。
???+ question "虚空终端和直接点击插件按钮有什么区别?" 功能上没有区别,最终都是执行相同的插件代码。虚空终端的优势在于:
- 无需记忆插件名称和位置
- 可以用自然语言组合多种需求
- 交互方式更符合对话直觉