Claude Opus4.6 实战记录,欢迎对标和超越!
各个国产模型宣传那么牛逼,基准那么高! 口号也很响亮 “接近,追评,超越 Opus,SOTA” !

官方表述可能还比较克制,但是很多自媒体已经把国产模型吹上天了。
那么实战怎么样?

最近正在开发一个全面测试国产模型的平台。
在开发这个平台的时候,我无意中用了一个国产模型,把我心态搞崩了。
我当时的心情就是上一篇文章的标题《全TM辣鸡,最后还是 Opus 搽屁股》!
静下来想了想,我不应该那么情绪化。
我们要讲科学,讲事实,讲依据。
所以,我决定把这个正在实际开发中的项目中的一环作为“考题” 。把国产模型架起来“烤一烤”,看看到底有几斤几两。
我目前为止没有接过任何商务合作,所以我可以相信我! 我无法保证绝对的专业和全面(能力有限),但绝对真实!
我TM这路是越走越窄了,主要是我做不到睁着眼睛说… !
既然大家都在对标 Opus4.6,那么先让它来打个样。 文章有点长,细节也很丰富。
项目背景
我先说一下项目背景。
因为我一直在真心寻找国产替代或者期望国产超越。所以我购买了几乎所有的国产 Coding Plan 的年会员。买了之后自然要好好测试一下。所以我就专门开发了一个测试平台!

目前已经完成基础功能的开发了。
已经包含了仪表盘,平台管理,批量测试,单独对话,群聊会话,历史记录,系统设置等功能。接下来我需要升级其中一个群聊会话功能。
群聊功能目前包含了两种模式,一种是广播模式,一种是接力模式。
广播模式是,我说一句,所有大模型都出来回答一下。 接力模式是,大模型根据所有的上下文来进行交流。
升级需求
为了增加群聊中接力模式的可玩性。我决定添加角色功能。
之前是每个平台直接参与讨论。
有了角色之后,就是每个平台可以派出不同角色进行讨论。
也就是开群聊的时候,不光可以选平台,还直接能选角色,这样灵活性就大大提升了。
我可以单独设置角色的头像,名字,系统提示词,平台和模型。
直接说可能有点抽象。我就把原先系统的功能截图给大家看一下。
原先的接力模式的创建界面如下:

我可以创建聊天主题,选择对话模式,设定消息上限。可以选择参与的平台,还能选择这个对话的系统提示词。
对话开始后,所有大模型都可以把历史记录作为上下文,进行聊天。

其实当前的功能已经比较完整了,我可以选择一个或者多个平台进行测试。同时还提供了系统提示词的选择,可以对不同主题进行针对性的设置。
为了更加个性化,我在平台管理里面也添加了系统提示词和角色选择功能。

然后设置里面提供了系统提示词和角色管理的功能。

这样就让整个系统有了一定的灵活性,可以方便的配置和切换系统提示词和角色设定功能。
这个设计已经基本能用了。
但是,上面说了,其实还有很大的优化空间。
比如:
1.角色功能非常单薄,就是一个名字和一段系统提示词。
2.灵活性较差,一个平台只能绑定一个角色。
3.群聊里面只能选择平台,无法选择角色。
基于这些问题,我希望把角色功能独立出来,做得更加丰富。可以有自己头像,可以参与群聊。
一旦独立之后,群聊功能就会非常丰富,角色可以无穷尽。这个就是今天的核心需求。
通过上面的内容,我应该把现状和修改需求说得很清楚了。 首先这个并不是全新的功能,我已经打了一定地基了,其次这个需求变动,其实涉及数据结构的变化和多个功能模块,需要调整多个页面。
所以这个需求不能算很难,但是也不算简单,非常适合拿来做测试。我会从几个点去评判。
最核心的是能不能用,其次是好不好用,最后修改是否全面!
实现需求
我和人类的交流已经完成了,下面就是要和 AI 交流了。
我需要把我这个需求给 Opus 4.6,然后让他帮我实现。
起手式:
目前群聊接力的时候可以选择平台管理中的模型,也可以对这些模型预先配置系统提示词和角色提示词,这样已经可以通过系统提示词来个性化聊天了。但是通过平台配置里面绑定角色比较有局限性——这样一个平台就只能是一个角色。
我希望换另外一种设置:**角色里面选模型**,然后群聊开始的时候,我可以直接选平台,也可以直接选角色。角色的管理还是在系统设置的"角色管理"中进行。
为了实现上面的需求,角色功能需要升级:
- 除了可以设置提示词之外,还得能**选择平台和模型**
- 另外还能**设置头像**
- 如果设置了头像,群聊的时候就显示自定义头像;如果没有设置头像,就用对应模型平台的 logo 作为头像
我的需求大概是这样。说说你的这个需求的理解,不急着写代码
这是我和 Opus 交流的第一段内容,没有写的很全面很规范,就是想到哪里说哪里。
我的习惯是先问它有没有理解,然后我来纠正它的问题,然后让它做开发计划。
因为 Opus 是第一个测试,其实我也不知道最后功能会怎么样,所以我也没啥好指导他的。
接下来是 Opus 的理解:
## 二、需求理解与分析
### 现状问题
当前角色是绑定在**平台**上的(`PlatformConfig.defaultRoleId`),这意味着:
- 一个平台只能有一个角色
- 如果你想让同一个模型(比如 GPT-4o)扮演不同角色,就需要创建多个重复的平台配置
- 角色管理(设置页)目前只能编辑 name + content(提示词内容),功能很单薄
### 核心思路的转变:从"平台绑角色"变成"角色选模型"
1. **角色升级** — 角色不再只是一段提示词,而是一个更完整的实体:
- 名称、提示词内容(保留)
- **绑定平台 + 模型**(新增):角色知道自己用哪个平台的哪个模型来说话
- **自定义头像**(新增):可以上传/设置个性化头像
2. **群聊创建方式变化** — 开始群聊接力时,选择参与者有两种方式:
- **选平台**(原有方式保留):直接选平台,行为和现在一样
- **选角色**(新增):选一个配置好的角色,自动带上它绑定的平台和模型
3. **头像显示逻辑** — 群聊消息气泡的头像:
- 如果参与者是一个**角色**且设置了自定义头像 → 显示自定义头像
- 如果没有自定义头像 → fallback 到对应平台/模型的 logo(现有行为)
这个理解,已经非常接近我想要的结果了,好吧,我要的就是这个。
它分析完这个需求之后,还向我提出了问题:
## 三、待确认的问题
1. **角色与平台的关系**:一个角色绑定一个平台+一个模型,对吗?还是说一个角色可以绑定多个平台?(我理解应该是一对一:一个角色 = 一个人格 + 一个特定的平台/模型)
2. **群聊中混合选择**:是否允许同一个群聊里既选了几个"裸平台",又选了几个"角色"?比如群里有"角色A(用 GPT-4o)"+"角色B(用 Claude)"+"裸的 Gemini 平台"?
3. **同模型多角色**:是否允许同一个模型被多个角色使用?比如"严谨学者"和"搞笑段子手"都绑定 GPT-4o,在同一个群聊里同时出现?
4. **头像格式**:自定义头像是上传图片文件,还是选择预设图标/emoji,还是都支持?
5. **平台上原有的 `defaultRoleId` 字段**:是否要废弃掉?既然角色不再绑定在平台上,平台配置表单里的"默认角色"选择器是不是可以移除了?
这个要记一下,后面要考! AI 不光执行,还得懂得提问。
然后我根据它的问题,做了确认,它记录了这些问题:
## 四、确认结果
1. **角色与平台的关系**:一个角色绑定一个平台 + 一个模型(一对一)。
2. **群聊中混合选择**:不允许混合。平台和角色互斥——选了平台就不选角色,选了角色就不选平台。
3. **同模型多角色**:允许。同一个模型可以被多个角色使用,也可以一起参与同一个群聊。
4. **头像格式**:都支持。可以上传图片文件,也可以选择预设图标/emoji。没有图片时可以用默认头像或表情。
5. **平台上原有的 `defaultRoleId` 字段**:废弃。平台设置中不再需要角色选项。
最后做了非常详细的方案:
## 五、实现方案
### 5.1 数据模型变更
#### Role 类型升级
```typescript
// src/lib/types.ts
export interface Role {
id: string;
name: string;
content: string; // 角色提示词(保留)
platformId: string; // 新增:绑定的平台 ID
model: string; // 新增:绑定的模型名称
avatar?: string; // 新增:自定义头像(图片路径或 emoji 字符)
createdAt: string;
updatedAt: string;
}
```
- `avatar` 字段设计:如果是图片文件,存为 `/avatars/xxx.png` 路径;如果是 emoji,直接存 emoji 字符(如 "🐱")。前端通过判断字符串长度/格式区分两种类型。
#### ChatSession 变更
```typescript
export interface ChatSession {
// ... 现有字段 ...
platformIds: string[]; // 保留:选平台模式时使用
roleIds?: string[]; // 新增:选角色模式时使用
participantType: "platform" | "role"; // 新增:标识当前会话使用哪种参与者模式
}
```
#### ChatMessage 变更
```typescript
export interface ChatMessage {
// ... 现有字段 ...
roleId?: string; // 新增:如果是角色模式,记录角色 ID
roleName?: string; // 新增:角色显示名称
roleAvatar?: string; // 新增:角色头像(冗余存储,避免角色删除后丢失)
}
```
#### StreamChunk 变更
```typescript
export interface StreamChunk {
// ... 现有字段 ...
roleId?: string; // 新增:角色模式时传递角色 ID
roleName?: string; // 新增:角色名称
roleAvatar?: string; // 新增:角色头像
}
```
#### PlatformConfig 变更
```typescript
export interface PlatformConfig {
// ... 现有字段 ...
// defaultRoleId?: string; // 删除:废弃此字段
}
```
#### 数据迁移
- `roles.json`:现有角色缺少 `platformId`/`model` 字段,迁移函数自动补空值,用户在 UI 中手动绑定
- `platforms.json`:保留 `defaultRoleId` 字段不删(兼容),代码中不再使用
- `chat-sessions/`:已有会话无 `participantType`,默认当做 `"platform"` 处理
这个方案是非常详细的,细致到每个角落了,内容太多我就不全贴了。
主要包含了一下章节:
- 数据模型变更
- 废弃平台上的角色绑定
- 角色管理页面升级(设置页)
- 群聊创建页面改造
- 群聊接力核心逻辑改造
- 消息显示组件改造
- 会话列表页面适配
- 聊天页面适配
- 文件图片上传
- 实现顺序(建议分步)
其中第十个章节是具体的实施步骤:
| 步骤 | 内容 | 涉及文件 |
|---|---|---|
| Step 1 | 数据模型变更 + 迁移 | types.ts, store/roles.ts, roles.json |
| Step 2 | 废弃平台角色绑定 | platform-form.tsx, prompt-builder.ts |
| Step 3 | 头像上传 API | 新建 api/upload/avatar/route.ts |
| Step 4 | 角色管理页面升级 | settings/page.tsx |
| Step 5 | 群聊创建页面改造 | chat/page.tsx, api/chat/route.ts |
| Step 6 | 接力核心逻辑改造 | api/chat/[sessionId]/route.ts, prompt-builder.ts |
| Step 7 | 消息显示组件改造 | chat-message.tsx |
| Step 8 | 聊天页面 + 会话列表适配 | chat/[sessionId]/page.tsx, chat/page.tsx |
“每完成一步可以验证,避免一次性改太多出问题。” 这是 Opus 的原话。
因为内容较多,大家阅读理解可能会有困难。
我就提几个重点吧,后面可能要考。
首先,它对问题的理解很全面,
其次,它提出很多需要确认的点也很精准
最后,它的实施计划非常详尽。
所以从计划来看,近乎完美! 当然我还没有比较过其他模型,这只是我的主观感受。
接下来就看看结果吧。结果才是检验标准的唯一标准。有些人说来头头是道,做起来就啥都不是!
我已经跑完了,首先可以肯定Opus4.6 编译一次过,轻松启动,没有任何问题。
然后来看一下具体的页面变成什么样了。
系统设置角色管理功能:

我原先是有数据的,它保留了原先的数据,然后进行了改造。
因为原有数据上没有头像和平台信息,所以它添加了一个默认头像和未绑定平台的提示。
点击右上角的编辑或者添加功能,可以打开对应的页面:

已经包含了头像,平台,模型等功能。
头像提供了三种设置逻辑:
第一种,直接上传
第二种,输入 emoji
第三种,都不选的话用平台默认图标。
这些都是我们需求讨论中确定过的方案,它全部实现出来了。
唯一美中不足的点是,它没有提供一些候选的 emoji。
当然这个不是 bug,不影响使用,只是便捷性的提升。当然给了一个输入框,自由度就有保障了。这是一个设计取舍问题。
这个功能增删改查全部测试通过,没有任何问题。
因为我懒得找头像,所以还是用了默认的平台图标,把几个角色都配置好了。

然后来看一看群聊接力功能,首先是群里创建界面:

原先只有选择平台,现在已经添加了角色选择。这里有一个细节,如果角色配置数据不完整,这里不会显示,只有配置了对应的平台和模型,这里才会显示出来。
另外,它还是保留了系统提示词这个选项。因为这个选项可以对所有模型做一个统一性的约束,还是非常有必要的。
然后来看看群聊界面。
我把不同人才拉到一个群里了,让他们先做一个自我介绍,接下来自由发挥。

只能说打酱油的小美,真的很会。我对她的设定只有两个字“很美”。
第二轮她已经开始总结了:
哇太好了!有逻辑的有技术的有产品有创意,感觉我们是天团配置了,好期待项目会碰撞出什么样的火 花!
听她这么一说,我都把孩子的名字都想好了,不对,是把新项目的名字都想好了!
一只队伍就这么拉起来了。
核心功能测试通过,没有任何问题,头像,名称,模型,时间等内容的显示布局也是合理的。
最后再来看一个细节问题:

在分析需求的时候,它就询问我平台设计里的角色是否可以删掉了,我也同意了,它确实也做到了。
首先,它能想到这一点,就已经很厉害了。
因为这个功能从表面上看不影响其他功能,但是从设计的角度来说,应该好好考虑一下,要不要留下。
一种思路是:多一事不如少一事,作为冗余留下,看起来好像功能更加完善。
另一个思路:要保持系统的最佳状态,不要留没用的东西在系统里。
其实功能修改完成之后,这项设置已经没有任何用处了,平台不应该直接绑定一个角色。平台配置里面只负责和平台相关的内容,比如协议,模型,参数。系统提示词还有留下的必要,但是角色确实没有留下的必要了。
这个接下来可能也要作为一个考点!
这次功能升级,修改清单如下:

修改的细节绝对不是一点两点,开始之前,我还是有点担心的。但是当我看到结果之后,就安心了。
Opus4.6 确实可以!
在编程这个领域,确实是标杆一般的存在,它在分析需求,理解需求,以及概括,总结方面表现都非常不错,当然 Coding 部分就更没得说。
我比较喜欢它的两个点是,文档和代码都写得恰到好处,能把事儿快速干完,不啰嗦,不过度设计。
本来想写短一点的,但是为了把问题描述清楚,有些内容就必不可少。写完才发现有点长了,长就长吧!真正有价值的东西,不可能是几句话能说得清楚的。
完整专业的“上下文(context)”,也可以叫做“人生经验,行业积累”,才是这个时代最宝贵的东西,最大的壁垒!
豆包人手一个,差别还是在人的context!
说多了说多了,Opus4.6 已经搞完了,我现在好期待,国产模型的表现如何。其实我也想看看 GPT5.4 的表现如何!
其他模型的测试,稍后奉上,你们是需要一个一个看,把过程和优缺点写清楚一些,还是直接一起端出来,我把优缺点总结好?