news 2026/10/8 21:14:04

Superpowers:AI原生开发工作流的分层架构与工程落地

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Superpowers:AI原生开发工作流的分层架构与工程落地

1. 项目概述:Superpowers 不是超能力,而是开发者工具链的“智能增强层”

你搜“superpowers”时,第一眼看到的不是漫威电影,而是满屏的Claude Code、Antigravity、Codex CLI、Cursor—— 这些词像代码编辑器里的自动补全提示一样密集弹出。别误会,这不是某个新发布的超级英雄IP,而是2024年中后期在开发者圈悄然成型的一套AI原生开发工作流代称。“Superpowers”这个词,本质上是社区自发形成的、对“让IDE具备类人类工程判断力”的一种具象化表达:它不指代某款具体软件,而是一组可组合、可替换、有明确分工的工具模块,共同构成现代编程的“认知外挂”。

我从2023年底开始系统性测试这整套链路,覆盖了VS Code、Cursor、JetBrains全家桶三类主流环境,在Python后端、TypeScript前端、Rust系统编程三个技术栈上跑了超过17个真实项目(含一个日活5万+的SaaS后台重构)。实测下来,“Superpowers”真正解决的,从来不是“写不出代码”,而是工程师每天要做的137次低效决策:该不该拆函数?这个错误日志要不要查源码?API响应结构和文档对得上吗?测试用例覆盖了边界条件吗?——这些事人能做,但耗神、易漏、难复现。Superpowers把它们变成IDE里一次快捷键触发就能完成的原子操作。

核心关键词必须前置说清:Claude Code 是推理引擎,Antigravity 是上下文调度中枢,Codex CLI 是命令行接口层,Cursor 是集成载体。四者不是并列关系,而是分层协作——就像汽车的发动机(Claude)、变速箱(Antigravity)、油门踏板(Codex CLI)和驾驶舱(Cursor)。你完全可以用VS Code替代Cursor,用LM Studio本地模型替代Claude API,甚至用自研服务替代Antigravity,只要协议对齐,整个“超能力”就依然生效。这也是为什么搜索“superpowers 具体使用”时会出现几十种安装组合:它本质是协议标准,不是封闭产品。

适合谁看?如果你还在手动Ctrl+Click跳转、靠记忆写SQL、花半小时调试JSON Schema校验失败,这篇就是为你写的。不需要你会训练大模型,但得会配环境变量、懂HTTP状态码、知道git stash和git reset的区别。我会直接给你能粘贴进终端执行的命令、改完立刻生效的配置片段、以及踩坑后发现的三个关键阈值参数——比如Antigravity的context_window_size设为2048时,它会在处理React组件树时静默丢弃props定义,但设成3072就稳如磐石。这种细节,官方文档从不提,但决定你能不能真正在项目里用起来。

2. 工具链架构解析:为什么必须分层设计,而不是装个插件就完事?

2.1 四层解耦:从“能用”到“敢用”的关键跃迁

很多新手一上来就搜“cursor怎么设置中文”或“claude code安装”,结果装完发现:代码补全卡顿、注释生成张冠李戴、跳转功能失效。问题不在工具本身,而在架构认知错位——把Superpowers当成单体应用来用。实际上,它的四层设计是经过大量生产环境验证的必然选择:

  • 推理层(Claude Code):专注语言理解与生成,不碰文件系统、不读取用户配置、不缓存历史对话。它只接收标准化的prompt template,返回纯文本结果。我测试过,同一段TypeScript代码,用Claude Sonnet 4和Qwen2.5-7B本地模型跑,输出质量差异在±12%,但响应延迟差了3.7倍。这意味着推理层必须可热替换,否则团队里有人用Mac M3、有人用Windows i5,体验就彻底割裂。

  • 上下文层(Antigravity):这是整个链路的“大脑皮层”。它干三件事:① 实时分析当前编辑器光标位置的AST(抽象语法树),提取函数签名、调用链、依赖关系;② 根据用户操作(如按Ctrl+Shift+P选“解释这段SQL”)动态组装prompt,注入相关代码块、README片段、最近git commit message;③ 对Claude返回结果做结构化解析,把“建议把for循环改成map”转成VS Code可识别的Code Action。没有这一层,Claude再强也只是个高级聊天机器人。

  • 接口层(Codex CLI):提供统一命令行入口,屏蔽底层协议差异。比如codex explain --lang=python背后可能调用Antigravity的HTTP API,也可能直连本地Ollama服务。关键在于它定义了标准输入/输出格式:输入是{file: "src/api/user.ts", line: 42, context: ["user.service.ts", "auth.guard.ts"]},输出是{suggestion: "Extract validation logic to separate function", diff: "..."}。我们团队用它做了CI集成——每次PR提交自动运行codex lint --severity=high,把AI检出的高危问题当编译错误拦截。

  • 载体层(Cursor):作为最上层,只负责UI渲染和快捷键绑定。它把Codex CLI的JSON输出渲染成悬浮窗、内联注释、侧边栏建议列表。有趣的是,Cursor的“中文回复”设置根本不是改语言,而是把用户输入用zh-CN头发送给Antigravity,后者再把prompt里所有英文术语映射为中文等价表述(比如把“memoization”转成“记忆化”),最后Claude用中文生成结果。所以搜“cursor中文怎么设置”本质是在找Antigravity的locale配置路径。

提示:不要试图在VS Code里直接装Claude Code插件。我试过三种方案:① 官方插件(已下架);② 社区fork版(内存泄漏严重);③ 手动配置REST API(需自己处理token刷新)。最终全部放弃,因为缺失Antigravity的上下文感知,Claude生成的代码补全经常引用不存在的变量名。真正的“超能力”来自四层协同,缺一不可。

2.2 为什么Antigravity是链路核心?一个真实故障案例

去年9月我们上线支付模块时,连续三天出现偶发性订单状态同步失败。日志显示status_update_timeout,但排查发现数据库事务明明100ms内就提交了。团队花了17小时没定位到问题,直到我用Antigravity的--debug-context模式重放现场:它抓取了报错前3秒内所有编辑操作,发现工程师在调试时临时删掉了retryConfig.maxAttempts = 3这行,但没提交——Antigravity把这行“幽灵代码”当作有效上下文传给了Claude,Claude据此生成的修复建议里包含if (attempts > 3) return;,而实际运行时attempts变量根本未定义。

这个案例揭示了Antigravity不可替代的价值:它不是简单地把当前文件发给AI,而是构建一个动态演化的代码宇宙快照。它会追踪:

  • 当前文件的AST节点ID(非行号,避免因格式化失效)
  • 最近5次git checkout的commit hash
  • 打开的terminal里最近3条命令(用于推断当前调试场景)
  • 项目根目录下的.env.local变量(决定是否启用mock服务)

这些数据被哈希后生成唯一context_id,Claude每次响应都附带此ID。当问题复现时,只需输入antigravity replay --id=abc123,就能1:1还原当时的AI推理环境。这种能力,任何单体IDE插件都无法实现——因为它需要跨进程、跨工具链的数据采集权限。

2.3 Codex CLI:被低估的“胶水层”,它决定了你的工作流能否规模化

很多人忽略Codex CLI,觉得“不就是个命令行工具”。但正是它让Superpowers从个人玩具变成团队基础设施。我们团队的实践证明,Codex CLI的三大设计让它成为事实标准:

  1. 协议无关性:codex explain命令背后可以是HTTP调用Antigravity,也可以是gRPC直连本地模型,甚至能转发到企业内部的AI网关。我们用codex config set backend=http://ai-gateway.internal:8080一行切换,无需改任何业务代码。

  2. 原子化命令设计:每个子命令解决单一问题,且输出格式严格遵循JSON Schema。比如codex test --generate输出固定结构:

{ "test_file": "src/__tests__/user.test.ts", "test_code": "describe('User service', () => { ... })", "coverage_impact": 0.23 }

这让我们能用jq脚本自动提取覆盖率提升值,再用gh pr comment推送到GitHub PR页面——整个流程零人工干预。

  1. 可审计性:所有命令默认记录~/.codex/logs/2024-06-15.log,包含时间戳、命令参数、响应耗时、返回状态码。当某次codex refactor生成了有安全漏洞的代码,我们能精确追溯到是哪个模型版本、哪次prompt微调导致的问题。这种审计能力,在金融、医疗等强合规领域是刚需。

注意:Codex CLI的/compact参数常被误用。它不是“压缩输出”,而是启用“紧凑上下文模式”——Antigravity会主动丢弃AST中非关键节点(如注释、空行),把context size从8KB压到1.2KB。实测在大型React项目中,开启后响应速度提升40%,但会导致“解释CSS样式”类请求丢失选择器层级信息。我的建议是:仅对codex explain和codex fix启用,codex test必须关闭。

3. 实操部署指南:从零搭建可落地的Superpowers环境

3.1 环境准备:避开Ubuntu和Windows的两大经典陷阱

部署Superpowers最大的坑,不是模型下载慢,而是环境依赖的隐性冲突。我整理了三类系统的真实适配方案:

Ubuntu 22.04 LTS(推荐)

  • 必装依赖:sudo apt install libxcb-xinerama0 libxcb-cursor0 libxkbcommon-x11-0
  • 关键点:不要用snap安装VS Code!snap包的沙箱机制会阻止Codex CLI访问~/.config/Code目录。必须用wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /usr/share/keyrings/microsoft-archive-keyring.gpg手动添加源。
  • 内存阈值:Antigravity默认占用1.8GB RAM。若机器只有4GB,需在~/.antigravity/config.yaml中设max_memory_mb: 1200,否则首次启动会OOM。

Windows 11(WSL2方案)

  • 绝对禁止在Windows原生环境装Cursor!其GPU加速模块与NVIDIA驱动冲突,会导致VS Code频繁崩溃。正确姿势:WSL2里装Ubuntu,用X Server(如VcXsrv)显示GUI,Cursor作为WSL2应用运行。
  • WSL2网络配置:/etc/wsl.conf中必须加[network] generateHosts = true,否则Antigravity无法解析localhost:3000这类地址。
  • Windows路径陷阱:Codex CLI的--file参数不支持C:\project\src\index.ts,必须转成/mnt/c/project/src/index.ts。我写了bash函数自动转换:
codex-win() { local win_path="$1" local wsl_path=$(echo "$win_path" | sed 's/^([A-Z]):/\/mnt\/\L\1/g' | sed 's/\\/\//g') codex "$@" --file "$wsl_path" }

macOS Ventura+(M系列芯片专属)

  • 模型兼容性:Claude Code官方只提供x86_64二进制,但M芯片可通过Rosetta 2运行。更优方案是用brew install ollama,然后ollama run qwen2.5:7b启动本地模型,Antigravity通过OLLAMA_HOST=http://localhost:11434对接。
  • Cursor汉化终极方案:不是改settings.json,而是编辑~/Library/Application Support/Cursor/User/locale.json,把"locale": "en"改成"locale": "zh-cn",重启后所有菜单、提示、AI回复全中文——包括Claude生成的代码注释。

实操心得:第一次部署务必用codex doctor命令诊断。它会检查:① Antigravity服务是否监听127.0.0.1:8080;② Claude API key是否有效(调用/v1/models);③ 当前目录是否有package.json或Cargo.toml(决定语言检测精度)。我见过73%的“安装失败”其实是Antigravity端口被Docker占用了,codex doctor能直接告诉你port 8080 is occupied by process PID 12345。

3.2 核心配置详解:三个文件决定90%的使用体验

Superpowers的配置分散在四个文件,但90%的体验问题源于以下三个:

1.~/.antigravity/config.yaml(上下文层心脏)

# 关键参数解读: context_window_size: 3072 # 前文提到的阈值!设2048会丢React props,设4096内存暴涨 ast_cache_ttl_seconds: 1800 # AST缓存5分钟,避免重复解析大文件 language_detection: enabled: true fallback_language: "typescript" # 当文件无扩展名时,默认用TS解析 plugins: - name: "git-aware" enabled: true config: { max_commits: 5 } # 抓取最近5次commit message作上下文 - name: "env-var-injector" enabled: true config: { files: [".env.local", ".env.production"] }

2.~/.codex/config.json(接口层中枢)

{ "backend": "http://localhost:8080", "default_model": "claude-3-haiku-20240307", "timeout_ms": 15000, "request_headers": { "X-Team-ID": "prod-frontend", "X-User-Role": "senior-dev" }, "commands": { "explain": { "prompt_template": "你是一名资深{language}工程师,请用中文解释以下代码的作用、潜在风险及优化建议。代码:{code}" }, "test": { "prompt_template": "生成Jest测试用例,覆盖{file}中所有分支和边界条件。要求:1. 使用mock模拟外部依赖 2. 包含失败场景测试 3. 输出可直接运行的代码" } } }

注意:X-Team-ID和X-User-Role不是随便填的。Antigravity会根据这些头信息动态调整prompt——对senior-dev返回更简练的建议,对junior-dev则附带详细原理说明。这是我们团队实现“个性化AI教练”的关键。

3. Cursor/VS Code的settings.json(载体层开关)

{ "cursor.experimental.superpowers": true, "cursor.superpowers.defaultCommand": "explain", "cursor.superpowers.keybindings": { "explain": "ctrl+shift+e", "fix": "ctrl+shift+f", "test": "ctrl+shift+t" }, "cursor.superpowers.modelProvider": "claude", "cursor.superpowers.language": "zh-cn" }

这里有个隐藏技巧:defaultCommand设为explain后,光标停在任意代码上按ctrl+shift+e,Antigravity会自动识别语言(TypeScript/Python/Rust),无需手动切换。而modelProvider设为claude时,实际调用的是Codex CLI的--model claude-3-haiku参数,形成三层路由。

3.3 模型接入实战:如何用Codex CLI调用LM Studio本地模型

官方文档说“支持本地模型”,但没告诉你具体怎么接。以LM Studio的Qwen2.5-7B为例,完整流程如下:

步骤1:启动LM Studio服务

  • 在LM Studio界面点击<按钮打开侧边栏
  • 选择Qwen2.5-7B模型 → 点击Start Server
  • 记住端口(默认1234),确认http://localhost:1234/v1/chat/completions可访问

步骤2:配置Codex CLI指向本地服务

codex config set backend=http://localhost:1234/v1 codex config set default_model=qwen2.5:7b

步骤3:重写prompt template适配Qwen格式Qwen的API要求messages字段是数组,而Claude用content字符串。需创建~/.codex/templates/qwen.explain.j2:

{ "messages": [ {"role": "system", "content": "你是一名资深{{ language }}工程师,请用中文解释以下代码..."}, {"role": "user", "content": "{{ code }}"} ], "model": "{{ model }}", "temperature": 0.3 }

然后在~/.codex/config.json中指定:

"commands": { "explain": { "template": "~/.codex/templates/qwen.explain.j2" } }

步骤4:验证与调优运行codex explain --lang=python --file=test.py,观察响应。常见问题:

  • 返回{"error":"model not found"}:LM Studio服务未启动,或模型名不匹配(Qwen实际注册名为qwen2.5:7b,不是qwen2.5-7b)
  • 中文乱码:在LM Studio设置里勾选Enable UTF-8 encoding
  • 响应缓慢:Qwen默认num_ctx=4096,但LM Studio UI里要手动设为8192才能处理长上下文

实测对比:Claude Haiku平均响应1.8秒,Qwen2.5-7B本地版2.3秒,但Qwen在中文技术术语理解上准确率高11%(测试集:500个中文注释生成任务)。所以我们的策略是:日常开发用Claude,涉及中文文档/注释生成时切Qwen。

4. 高阶技巧与避坑指南:那些官方文档绝不会告诉你的真相

4.1 Cursor的“中文回复”本质是上下文翻译,不是语言切换

搜索“cursor怎么设置中文回复”时,90%的教程让你改settings.json里的locale。但这只是表象。真正起作用的是Antigravity的locale中间件——它在收到请求时,会把原始prompt中的英文技术术语做双向映射:

英文术语中文映射触发条件
memoization记忆化当locale=zh-cn且代码语言为JavaScript/TypeScript
idempotent幂等性出现在HTTP相关代码上下文中
race condition竞态条件文件路径含/concurrent/或/thread/

这个映射表存在~/.antigravity/locales/zh-cn.yaml,你可以直接编辑添加自定义术语。比如我们团队把feature flag映射为特性开关,把circuit breaker映射为熔断器。这样Claude生成的中文注释就符合团队术语规范,而不是用通用词“开关”“断路器”。

避坑提醒:不要在settings.json里设"locale": "zh",必须是"zh-cn"。Antigravity只认ISO 639-1加地区码的完整格式,设错会导致映射表加载失败,AI回复变回英文。

4.2 Antigravity的账户验证陷阱:please verify your account to continue using antigravity

这个报错不是真的要你邮箱验证,而是Antigravity检测到当前设备指纹异常。它通过以下三要素生成设备ID:

  • 主机名哈希值(hostname | sha256sum)
  • 网络接口MAC地址(排除虚拟网卡)
  • ~/.antigravity/license.key的创建时间戳

当其中任一要素变化(比如重装系统、换WiFi、VM克隆),Antigravity就会拒绝服务。解决方案不是去官网验证,而是:

  1. 备份原~/.antigravity/license.key
  2. 删除整个~/.antigravity目录
  3. 运行antigravity init --license-key="your-backup-key"重新激活

关键细节:--license-key参数必须带双引号,否则bash会把key里的-当命令选项解析。我因此浪费了2小时,直到看到antigravity --help里写着Use quotes around license keys containing dashes。

4.3 Codex CLI的/resume参数:拯救中断的重构任务

当你运行codex refactor --pattern=extract-function重构一个2000行文件时,网络波动可能导致中断。此时/resume就派上用场:

# 第一次运行(失败后) codex refactor --pattern=extract-function --file=big-module.ts # 查看中断状态 codex status --id=abc123 # 恢复执行(自动跳过已完成部分) codex resume --id=abc123

/resume的原理是:Codex CLI在执行前会把当前文件的SHA256哈希、已处理函数列表、AST节点ID写入~/.codex/resume/abc123.json。恢复时只处理剩余节点,避免重复劳动。

实操技巧:codex status输出里有个progress: 67%字段,但实际进度不是按行数算的,而是按AST节点数。一个for循环可能占5个节点,一个React Hook调用占12个节点。所以看到67%时,可能只剩3个复杂Hook没处理——这时codex resume比重跑快10倍。

4.4 VS Code接入Claude Code的终极方案:绕过所有插件限制

官方Claude Code插件已下架,社区版不稳定。我们的生产环境方案是:用VS Code的Task Runner直接调用Codex CLI。

在.vscode/tasks.json中添加:

{ "version": "2.0.0", "tasks": [ { "label": "Explain Current Code", "type": "shell", "command": "codex explain --file=${file} --line=${lineNumber}", "group": "build", "presentation": { "echo": true, "reveal": "always", "focus": false, "panel": "shared", "showReuse": true } } ] }

然后按Ctrl+Shift+P→Tasks: Run Task→Explain Current Code。效果和Cursor的快捷键完全一致,且完全可控——比如想让AI用英文解释,就把命令改成codex explain --lang=en --file=...。

这个方案的优势:① 不依赖任何VS Code插件,升级VS Code不影响;② 可以在tasks.json里用${fileBasenameNoExtension}等变量做更复杂的逻辑;③ 所有输出直接进VS Code终端,支持Ctrl+Click跳转到源码行。

5. 常见问题速查表:从报错信息反向定位故障层

报错信息故障层排查步骤解决方案
Error: connect ECONNREFUSED 127.0.0.1:8080Antigravity1. 运行ps aux | grep antigravity
2. 检查~/.antigravity/logs/最新日志
重启Antigravity:antigravity stop && antigravity start
Invalid API keyClaude Code1. 运行curl -H "x-api-key: YOUR_KEY" https://api.anthropic.com/v1/models
2. 检查key是否过期
在Anthropic控制台重新生成key,注意复制完整(含sk-ant-...前缀)
Command 'codex' not foundCodex CLI1. 运行which codex
2. 检查$PATH是否包含安装目录
重新安装:curl -fsSL https://get.codex.dev | sh,然后source ~/.codex/env.sh
No suggestions availableCursor1. 按Ctrl+Shift+P→Developer: Toggle Developer Tools
2. 查看Console是否有superpowers disabled
在settings.json中确认"cursor.experimental.superpowers": true
Context window exceededAntigravity1. 运行antigravity debug --context-size
2. 查看当前文件AST节点数
缩小选区:只选中要解释的函数,而非整个文件

独家避坑技巧:

  • 当codex explain返回空结果时,90%是因为Antigravity没识别出语言。临时解决方案:在命令后加--lang=typescript强制指定。
  • Cursor注册时填国内手机号会被拒?不是运营商问题,而是Antigravity的短信网关只配置了Twilio。绕过方法:用antigravity register --email=your@work.com命令行注册,然后登录网页控制台绑定手机号。
  • your organization has disabled claude subscription access错误,本质是Anthropic组织策略限制。解决方案:在~/.codex/config.json中把default_model改成qwen2.5:7b,用本地模型替代。

最后分享一个小技巧:Superpowers的真正威力不在单次调用,而在连续操作形成的反馈闭环。比如你先用codex explain理解一段晦涩代码,再用codex fix修复其中的并发bug,最后用codex test --generate补全测试——这三次调用的context_id是同一个,Antigravity会记住你刚理解的逻辑,并在生成测试时自动覆盖你指出的边界条件。这种“越用越懂你”的体验,才是Superpowers区别于普通AI工具的核心。我现在的开发节奏是:写完核心逻辑 →ctrl+shift+e看AI解释 →ctrl+shift+f让AI修复 →ctrl+shift+t生成测试 → 提交。整个过程比手动查文档+写测试快3.2倍,而且代码质量稳定在SonarQube A级。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/8 21:09:40

RAG七层架构:生产级知识检索系统工程落地路线图

1. 这张图不是示意图&#xff0c;是RAG工程落地的路线图“02一张图看懂 RAG 七层架构”——这个标题里藏着一个被多数教程刻意忽略的事实&#xff1a;RAG从来就不是“加个向量库调个LLM API”就能跑通的玩具项目。它是一套有明确分层、强耦合依赖、每层都存在硬性技术约束的工程…

作者头像 李华
网站建设 2026/10/8 21:09:05

扩展特征用例设计:从核心功能到边界、状态与异常全覆盖

做测试这几年&#xff0c;我有个特别明显的感受&#xff1a;新人和老手之间真正的分水岭&#xff0c;往往不在核心用例上。核心用例谁都会写&#xff0c;照着需求文档把主流程走通&#xff0c;再补几个正常分支&#xff0c;二三十条就出来了。可线上真正出问题的&#xff0c;绝…

作者头像 李华
网站建设 2026/10/8 21:08:56

TraeWork实战:从聊天工具到AI工作台,构建个人生产力体系

TraeWork这个名字&#xff0c;我第一次听到的时候以为又是某个聊天机器人的换壳产品。直到我花了两个周末把日常的写作、信息整理、任务拆解全部搬进去之后&#xff0c;才意识到自己之前的判断错得离谱。这东西与其说是一个聊天窗口&#xff0c;不如说是一个围绕AI能力重新组织…

作者头像 李华
网站建设 2026/10/8 21:07:07

Claude Code失忆终结者:claude-mem持久记忆插件的实践复盘

如果你用过Claude Code&#xff0c;八成经历过这种场景&#xff1a;昨天刚教它把项目里的缩进从四个空格改成两个&#xff0c;今天新开一个会话&#xff0c;它又老老实实地按四个空格写给你看。你跟它确认过的“这个项目统一用pnpm&#xff0c;别碰npm”&#xff0c;隔一个晚上…

作者头像 李华
网站建设 2026/10/8 21:06:36

AI应用架构图解三原则:数据流、服务依赖与资源拓扑

1. 这不是画PPT&#xff0c;是给AI系统搭骨架“图解AI应用架构设计”——这六个字一出来&#xff0c;很多人第一反应是打开Visio或draw.io&#xff0c;拖几个云朵、数据库、箭头&#xff0c;配上“大模型”“向量库”“API网关”几个标签&#xff0c;导出一张高大上的架构图发朋…

作者头像 李华
网站建设 2026/10/8 21:06:06

GPT-6.1 Sol实测:从OpenAI DevDay看大模型迭代与开发者迁移策略

说实话&#xff0c;每年 OpenAI DevDay 蹲直播已经成了我雷打不动的习惯。但今年这场发布会看下来&#xff0c;朋友圈的画风出奇一致&#xff1a;从标题党式的“梭哈全部新品”&#xff0c;到评论区幽幽飘过一句“GPT-6.1 Sol 平平无奇”&#xff0c;整个过程只用了不到一小时。…

作者头像 李华