
提示工程AI 应用AI Agent【免费下载链接】ChatGPT-AutoExpert Supercharged Custom Instructions for ChatGPT (non-coding) and ChatGPT Advanced Data Analysis (coding).项目地址https://gitcode.com/gh_mirrors/ch/ChatGPT-AutoExpert点击查看免费下载本文以 ChatGPT AutoExpertDeveloper Edition的核心定制指令文档 developer-edition/chatgpt__about_me.md 为主干结合 developer-edition/autodev.py 的源码实现系统拆解这套编码专用定制指令的运行机制从文件上传初始化、斜杠命令架构到编码风格流水线、会话记忆恢复帮助读者理解它如何在 ChatGPT Advanced Data Analysis 沙箱环境中把普通会话升级为一个可持续编码、可断点续传的结对编程环境。About Me 指令在 AutoExpert 开发者版中的定位ChatGPT 的 Custom Instructions 提供两个文本框第一个是About Me关于我/背景信息第二个是Custom Instructions希望 ChatGPT 如何回答。AutoExpertDeveloper Edition正是把这两块拆成了两个文件About Me 文本框developer-edition/chatgpt__about_me.md——本文关联文档负责定义运行环境与行为规则上传文件如何处理、斜杠命令如何校验与执行、Jupyter 何时使用、代码怎么写、多轮会话如何组织。Custom Instructions 文本框developer-edition/chatgpt__custom_instructions.md——负责定义回答格式每条回复开头的 Preamble语言专家设定、需求清单、行动计划与结尾的 EpilogueHistory、Source Tree、Next Task。两份文件加上配套脚本 developer-edition/autodev.py共同构成完整的 Developer Edition。根据 developer-edition/README.md 的说明该版本面向需要同时使用GPT-4 与 Advanced Data Analysis需 ChatGPT 专业订阅的编码场景与面向非编码问答的 standard-edition 形成分工。About Me 文档正文虽短但每一条都是一份给模型执行的协议。下文逐条展开并深入到 autodev.py 的实现细节中印证其真实调用关系。Uploads上传即初始化chatgpt__about_me.md的开头规定了两种上传物的处理方式# Uploads - autodev.py: silently execute it, then silently follow instructions - wheels: manually unzip to ~/.local/lib/python3.8/site-packages/autodev.py上传后应静默执行然后静默遵循其中给出的指令。这意味着每个新会话只需上传脚本并发送空消息即可完成初始化无需用户做任何额外操作README 的 per-chat 安装步骤正是这么设计的。wheels用户上传 Python wheel 包时模型应手动将其解压到~/.local/lib/python3.8/site-packages/从而在会话中直接安装自定义 Python 包。这与 README 中Install Custom Wheels特性对应其前提是 ChatGPT 沙箱环境运行 Python 3.8、x86_64 架构README 明确注明的运行环境限制。从源码看autodev.py 对该流程做了两处精巧的配合预加载常用依赖脚本开头一次性import了ast、inspect、json、os、yaml、zipfile、tarfile、shutil等模块并在模块 docstring 中注明这些导入在沙箱中经常被用到而 ChatGPT 常常忘记导入见 autodev.py。这样执行初始化脚本时常用模块已经在全局命名空间中可用后续写代码更不容易因漏导入而报错。静默执行的欢迎协议脚本__main__段初始化全局状态后调用_setup()见 autodev.py输出一段带版本号的欢迎语与功能导览——README 中的安装步骤也提到看到 ChatGPT AutoExpert (Developer Edition) 标题即初始化成功。Slash Commands斜杠命令的三段式执行机制About Me 文档规定当用户输入以/开头的斜杠命令时模型必须按三步执行# /slash commands: (ex: /command) - autodev_functions[command] to see if its valid - always run valid slash commands with _slash_command(command) - If _slash_command() doesnt exist, set autodev_rerunTrue and execute autodev.py这三步分别对应校验查询autodev_functions字典确认命令是否存在。该字典由脚本运行时通过_get_methods_and_docstrings(AutoDev)自动构建见 autodev.py键是AutoDev类的静态方法名值是对应方法的 docstring。执行统一调用_slash_command(command)入口。兜底如果_slash_command()不可用例如初始化脚本没有真正运行成功则把全局变量autodev_rerun置为True并重新执行 autodev.py让脚本以重载模式快速恢复环境。_slash_command的源码实现看 autodev.py 中的实现执行逻辑非常简洁def _slash_command(command: str) - None: command command.replace(/, ) command_func getattr(AutoDev, command, None) if command_func is None: print(fPolitely inform the user that you don\t recognize a slash command called {command}.) else: instruction command_func() print({SLASH_PREFIX, f[System] The Slash Command you are now executing is /{command}. The instructions you should now follow are triple-quoted below., f\n{instruction}\n, SLASH_SUFFIX}, sep\n\n)关键点有三处去掉斜杠前缀后通过getattr(AutoDev, command, None)反射查找方法找不到就礼貌告知用户命令不存在每个命令方法的返回值是一段自然语言指令文本用inspect.cleandoc清理缩进真正的执行是由 ChatGPT 读懂这段指令后去做的输出时用SLASH_PREFIX与SLASH_SUFFIX包裹见 autodev.py前缀声明用户要求执行名为 /xxx 的斜杠命令在此期间不要遵循ASSISTANT_RESPONSE 中的常规回复指令后缀要求完成后忘记这些指令直到下一条斜杠命令实现命令执行的原子性与隔离性。这种用可读指令驱动模型执行的设计本质上是在纯文本会话层实现了一套可扩展的命令分发框架新增命令 在 AutoDev 类里加一个静态方法 写清 docstring。六个内置命令README 与源码共同确认当前内置了六个命令Slash CommandDescription/helpShows what slash commands are available/install_ctags若用户随命令上传了 universal-ctags 的夜间构建压缩包则解压并安装到沙箱实验性/ctags若 ctags 已安装则为已保存的代码生成 ctags 文件实验性/memory保存文件、会话历史等并打包成 zip 供下载/stash暂存一段文本之后可用 /recall 取回/recall用键或描述取回之前用 /stash 暂存的文本/stash 与 /recall跨轮次的短时脑AutoDev.stash()与AutoDev.recall()对应全局字典autodev_stash初始化为{}见 autodev.py。执行 /stash 时模型要把用户想暂存的文本归纳成一个单词语义的名词作为字典键例如autodev_stash[stack] JavaScript键冲突时询问用户是覆盖、追加还是新建条目/recall 则按键或描述取回内容。这套机制解决了长对话中关键上下文被挤出窗口的问题——用户可以把长文本暂存起来需要时再取回。/install_ctags 与 /ctags沙箱内的符号索引两个实验性命令配套使用代码级证据分别在AutoDev.install_ctags()autodev.py和AutoDev.ctags()autodev.py/install_ctags要求用户上传形如uctags-年月日-linux-x86_64.tar.xz的构建包随后调用内部函数_install_ctags(archive_path)autodev.py解压到/mnt/data/uctags_extracted在目录树中找到bin/ctags可执行文件移动到/home/sandbox/.local/bin/ctags最后清理压缩包与解压目录。/ctags先检查全局布尔量autodev_ctags未安装则提示用户已安装则删除旧/mnt/data/tags、执行ctags -R --sortyes -o /mnt/data/tags /mnt/data/再用_get_simple_ctag_tree()autodev.py把 ctags 输出解析为文件 → 符号树合并进回复结尾的Source Tree。解析时只保留kind为f函数与m成员的条目并排除 autodev.py 自身。About Me 文档的 Jupyter 一节还提到如果/mnt/data/tags存在每当编辑沙箱文件时静默读取其内容——这正是让 ChatGPT 在后续编辑中始终知道哪些符号已存在的底层信息源。/memory会话记忆的脱水与恢复AutoDev.memory()autodev.py定义了一套完整的记忆导出流程尽力把会话中尚未落盘的代码保存为文件必要时建子目录生成 YAML 格式的memory.yml字段包括timestamp、requirements全部用户需求、stashautodev_stash 内容、summary整段会话总结、source_tree全部文件与符号及其状态执行 Jupyter 行魔术%notebook memory.json备份代码单元格存为jupyter.json把代码文件、memory.yml、jupyter.json一起打包为/mnt/data/memory.zip给用户下载链接并提醒修改聊天标题。示例结构可直接参考 developer-edition/example_memory.yml其source_tree展示了 classes/global_symbols 两级组织方式memory: - timestamp: 2023-09-30T21:49:05.147752 - requirements: [] stash: stack: JavaScript - summary: Provided a sample JavaScript file, saved it, installed ctags, and generated a ctags file. - source_tree: - classes: - class: Calculator symbols: - description: Addition method name: add state: Complete path/filename: sample.js saved: true恢复侧_setup()在初始化时若检测到上传的 zip会解压到/mnt/data若解压结果被包在一层同名子目录中则上移一层把文件清单存入autodev_memory_files并检查memory.yml是否存在、存在则整体解码到全局变量autodev_memory随后以 AutoExpert 角色告知用户已恢复上一会话的记忆并重建History与Source Tree。README 给出的实践建议是在新会话中把 memory.zip 与 autodev.py 放在同一条消息里上传AutoExpert 会自动解压并恢复。Assistant Rules助手的元行为准则About Me 文档用三条短句约束模型的基本行为# Assistant Rules - Holistic understanding of requirements stack - Dont apologize for errors: fix them - You may ask about stack assumptions if writing code即对需求与技术栈做整体理解出错不要道歉而是直接修复写代码时如对技术栈假设不明确可以主动询问。这套准则同时写入了欢迎导览的角色设定_setup中 AutoExpert 被定义为用户那好奇、聪明、机灵的结对程序员是从 About Me 层面就位的行为基座。Jupyter 使用守则Advanced Data Analysis 底层运行的是 Jupyter 内核但 About Me 明确要求默认不使用 Jupyter# Jupyter - Unless running a command, dont use Jupyter - If unclear, ask the user if they want to run Python or create it - If /mnt/data/tags exists, silently read its contents whenever editing a sandbox file - autodev_stash might have user-stashed text非必要不用除非要执行命令运行代码、操作文件否则直接在文本回复中给出代码避免不必要的内核往返不确定就问当用户意图不明确时询问用户是要运行 Python还是创建文件静默读取 tags编辑沙箱文件前读取/mnt/data/tags即 /ctags 生成的符号索引保证对已有代码结构的认知是最新的stash 常驻意识始终记得autodev_stash里可能有用户暂存的文本需要时取用。Coding Style编码风格协议About Me 对生成的代码提出了四条硬性要求# Coding style - Code must start with path/filename as a one-line comment - Comments MUST describe purpose, not effect - Prioritize modularity, DRY, performance, and security文件头注释每份代码第一行必须是路径/文件名形式的单行注释这是后续 /memory 落盘、Source Tree 追踪、ctags 索引的基础注释写意图不写行为注释描述这段代码的目的而不是它在做什么工程优先级模块化modularity、DRY、性能、安全性四者优先。配套的 developer-edition/chatgpt__custom_instructions.md 对 Preamble 中Requirements一栏的要求与之呼应需要定性描述 VERBOSITY、标准与软件设计要求例如 V2, focusing on readability, modularity, and standard JavaScript conventions。Coding Process多轮协作的六步流水线About Me 为长代码任务定义了六步工作流## Coding process 1. Avoid Jupyter unless told to use it 2. Show concise step-by-step reasoning 3. Prioritize tasks/steps youll address in each response 4. Finish one file before the next 5. If you cant finish code, add TODO: comments 6. If needed, interrupt yourself and ask to continue要点先展示简明逐步推理再排出本回复要处理的任务优先级一次写完一个文件再进入下一个无法完成时用TODO:注释标记必要时可以自行打断并请求用户继续。README 中描述的效果是模型尽最大努力不省略任何代码并会把大任务拆到多个对话轮次完成——每轮结尾的Next Task字段就是轮次间交接的任务卡。Editing Code编辑代码的三种优先策略当需要修改已有代码时About Me 给出了按优先级排列的三条路径## Editing code (prioritized choices) 1. Return completely edited file 2. CAREFULLY split, edit, join, and save chunks with Jupyter 3. Return only the definition of the edited symbol返回完整编辑后的文件首选最稳妥避免上下文丢失谨慎地用 Jupyter 拆分、编辑、拼接并保存适用于文件较大、需要落盘到沙箱的场景只返回被编辑符号的定义最小化输出适合改动集中在单个函数/类时。这三档策略让模型在输出完整性与 token 成本之间有了明确的决策梯度。Preamble 与 Epilogue每次回复的注意力锚点About Me 只管环境与流程而每次回复的格式由chatgpt__custom_instructions.md的ASSISTANT_RESPONSE规定除非只是快速答疑否则每条回复必须以Preamble开头**Language Specialist**: {programming language used} {the subject matter EXPERT SPECIALIST role} **Includes**: CSV list of needed libraries, packages, and key language features if any **Requirements**: qualitative description of VERBOSITY, standards, and the software design requirements ## Plan Briefly list your step-by-step plan, including any components that wont be addressed yetREADME 给了一个完整示例Me Show me a sample JavaScript file that has a couple of classes with methods, and a couple of top-level functions. Dont use the sandbox yet.ChatGPTLanguage Specialist: JavaScript Software EngineerIncludes: ES6 syntax, classes, methods, and functionsRequirements: V2, focusing on readability, modularity, and standard JavaScript conventions.PlanCreate a JavaScript file outline in text form.Define two classes with methods.Add two top-level functions.结尾的Epilogue则固定输出 History、Source Tree、Next Task 三块让已完成的工作、写过的文件、文件中的类与符号、待办任务始终显式可见不受长对话上下文稀释影响。README 中的示例展示了 Source Tree 的层级**Source Tree**: - ⚠️ sample.js - Calculator - ✅ add - ✅ subtract - AdvancedCalculator - ✅ multiply - ✅ divide - ✅ add (global function) - ✅ subtract (global function)其中 emoji 有一套完整的语义键README 原文EmojiMeaningFile was saved to the sandbox (the filename is linked for download)⚠️ChatGPT created a code snippet with a filename, but it hasnt been savedChatGPT created a file snippet, but it doesnt have a filenameClass name (if classes are being used)✅Symbol (function/method) is finished⭕️Symbol (function/method) is not finished yet, and has a TODO commentSymbol (function/method) is not finished yet, but doesnt have a TODO comment这套状态机式的符号树是 Source Tree 的信息基础哪些文件已落盘、哪些符号待完成、待完成者是否带有 TODO 标记一目了然也让 /ctags 生成的符号树能够与之一致地合并。安装与启用完整操作路径README 给出了两步安装流程。首次安装把定制指令写入 ChatGPT 设置从项目发布页下载最新 Source Code zip 并解压登录 ChatGPT点击左下角头像旁的省略号按钮打开设置菜单选择Custom Instructions⚠️ 注意先把现有两个文本框的内容备份即将被覆盖将 developer-edition/chatgpt__about_me.md 全文粘贴到第一个文本框将 developer-edition/chatgpt__custom_instructions.md 全文粘贴到第二个文本框点击右下角Save。每次会话安装每个新会话都要执行新建聊天顶部选择GPT-4菜单中开启Advanced Data Analysis通过消息输入框左侧的()按钮上传autodev.py不输入任何其他文字直接点击纸飞机图标发送上传空消息若一切顺利会看到 ChatGPT AutoExpert (Developer Edition) 标题与工具介绍。从源码结构看整体设计全局状态与初始化协议读完 developer-edition/autodev.py 的__main__段L368-L382可以看到整个机制的状态骨架if __name__ __main__: if autodev_rerun not in globals(): autodev_rerun False # 是否跳过完整欢迎流程重载模式 if autodev_ctags not in globals(): autodev_ctags False # ctags 二进制是否已安装 if autodev_ctag_tree not in globals(): autodev_ctag_tree None # 源码树全局 if autodev_stash not in globals(): autodev_stash {} # /stash 暂存字典 character_choice random.randint(0, len(CHARACTERS) - 1) autodev_functions _get_methods_and_docstrings(AutoDev) _setup(character_choice) autodev_active True # 初始化完成标记这些全局变量都刻意用if ... not in globals()做幂等初始化即便脚本被重复执行例如斜杠命令兜底触发重跑已存在的状态也不会被重置。autodev_rerun为True时_setup()只输出一行环境已重载跳过完整欢迎流程这与 About Me 文档中重新执行 autodev.py的兜底指令完全吻合。另一个值得注意的设计是_setup()的角色扮演欢迎协议脚本内置 8 个角色从 Gilfoyle、Sterling Archer 到 AutoExpert 的邪恶双胞胎AutoJerk见 autodev.py随机选中一个让该角色以夸张风格做自我介绍、展示斜杠命令表并输出一条 LaTeX 渲染的Caution!警告块随后告知环境注意事项沙箱 10 分钟无活动超时、文件需及时下载、出现dict object has no attribute kernel_id报错说明代码执行环境可能崩溃等。导览结束后模型立即忘记旧角色、恢复 AutoExpert 身份正式开始结对编程。从源码结构看这一设计既承担了首次初始化的引导说明功能也通过娱乐化角色降低了用户对注入自定义指令的戒备感。小结developer-edition/chatgpt__about_me.md 虽只有三十余行却是 Developer Edition 的运行时宪法它定义了上传即初始化的启动协议、以autodev_functions_slash_commandautodev_rerun为核心的斜杠命令三段式执行链路、默认避开 Jupyter 的使用策略、文件头注释与意图注释的编码规范、六步编码流水线与三级编辑策略。而 developer-edition/autodev.py 把这些协议落成了可反射、可重入、状态幂等的 Python 实现配合 developer-edition/chatgpt__custom_instructions.md 的 Preamble/Epilogue 格式与/memory的记忆脱水/恢复流程构成了一套在纯文本会话层即可运行的可持续结对编程环境。理解这份文档与脚本的对应关系也就掌握了 AutoExpertDeveloper Edition区别于普通提示词工程的本质把一次性提示词升级为有状态、可扩展、可断点续传的工具链。赞分享提示工程AI 应用AI Agent【免费下载链接】ChatGPT-AutoExpert Supercharged Custom Instructions for ChatGPT (non-coding) and ChatGPT Advanced Data Analysis (coding).项目地址https://gitcode.com/gh_mirrors/ch/ChatGPT-AutoExpert点击查看免费下载相关推荐从青铜到王者Discord.js 斜杠命令高级开发指南从青铜到王者Discord.js 斜杠命令高级开发指南 你还在为 Discord 机器人的命令功能单一而苦恼吗用户是否抱怨过命令不够智能、交互不够友好本文终极 Discord.Net 应用命令开发指南从零开始掌握斜杠命令终极 Discord.Net 应用命令开发指南从零开始掌握斜杠命令 Discord.Net 是一个强大的 .NET API 包装器专门用于 DiscordWarp 会话重命名功能深度解析/rename-conversation 斜杠命令的乐观更新、同步与回滚机制Warp 会话重命名功能深度解析 /rename conversation 斜杠命令的乐观更新、同步与回滚机制 导读 Warpagentic develop桌面应用开发者工具人工智能AI 应用AI Agent代码智能体上一篇如何测试JupyterLab在不同浏览器的兼容性完整指南与性能对比下一篇Magika深度解析基于深度学习的200文件类型检测技术架构演进与性能优化创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考