Files
ycode/docs/首席C++架构顾问-拆解-2026-10-16.md
T

115 lines
9.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
> 最新迁移状态:主上下文已将本包安装到用户 YCode,原文/技能/头像资源与激活及原生鼠标召唤验证通过。四包共356项资源验收,详见[四位专家迁入记录](四位专家迁入YCode-2026-10-16.md)。本文“未安装/只读”描述保留为恢复子任务阶段范围。
# 首席 C++ 架构顾问:实际专家包拆解
2026-10-16,用户指定 WorkBuddy 当前打开的专家详情。仅通过 REA 读取原版;未召唤、未发送消息、未改用户专家或模型配置。
## 已确认的当前页面
WorkBuddy 5.8.2,当前详情的 REA Evidence 为 `ev_80f63b1dea005b3209ab8f76a132c998759665617b8e8e18d3673cb61dbe4858`。截图及布局记录保存于 `.tmp/rea-cpp-architect-current-20261016/`。
| 字段 | 当前页面显示 |
| --- | --- |
| 职业标题 | 首席 C++ 架构顾问 |
| 展示名称 | C++ 超级专家 |
| 版本 | v1.0.0 |
| 开发者 | 千文部落 |
| 使用量 | 6,526(采集时的页面展示值) |
| 标签 | C++ 标准、Qt 与框架、架构与性能 |
| 简介 | 精通 C++98~C++26 全标准演进,通晓 Qt、Aria、Boost 等框架,架构性能全能解答 |
三个推荐问题分别是:服务端高并发架构设计和关键代码;C++11 至 C++26 核心特性和升级路线;Qt/QML 与 C++ 响应式 UI 选型。
这些字段是专家展示和引导信息;实际角色指令与资源以包内 Agent/Skill 文件为准。页面所称的知识覆盖不等于已经逐项测试其回答质量。
## 实际安装包定位
REA 在原配置目录发现 `plugins/marketplaces/experts/plugins/cpp-super-expert`。定向分析 `.codebuddy-plugin/plugin.json` 成功:
- Evidence:`ev_98bca13312f4cab0091527f0d0c7c40a3753446980a7e29e5f5e6b6c6671663b`。
- 包根内容 SHA-256:`b90023e9622bd74c55d583051bee3625eb491b552baeea17ae10ac792a352498`。
- plugin.json:2,189 字节,SHA-256 `15c294e5ada22c20dbcc694ee5f5c486d70d009a7abb4351c6f9f775b8a721c9`。
- 元数据包含 name、expertType、agentName、agents、skills、展示字段及作者等;当前元数据键不包含 MCP/连接器依赖声明。包内其他文件仍需核对,不能据此推断整体没有工具依赖。
原版市场身份与磁盘 bundle 名并非同一概念。宿主通过 `app/cache/experts/manifest.json` 的 plugin 字段及 expert-bundle-map 映射找到实际包。相关路径解析来自原版 `main/module.app-server.js` 的既有 REA 证据 `ev_81de6f628a156599f26ca795f6747ad3f8ec108de66fdba6e3723705905716f3`。
先前广范围 plugins 分析在无关 finance-data 的 setup.cjs 上遇到 REA Windows native controls 版本不匹配,保留 partial Evidence `ev_338174baf3ff720a7c115222bf45e83bc4fd6cfa613a82969a7738bedd5dcf8b`。目标专家随后采用上述窄范围分析成功;不将全目录失败说成目标包缺失。
## 详情 UI 的可复刻结构
采集视口为 1336×901。弹窗 640×720、圆角 24;头像 72×72、圆角 24;标题 20px/600,副标题 20px/400;简介 14px;标签高 24、圆角 4;三条问题宽 590、高 48、间距 12、圆角 16。具体坐标、字体和来源保存在 `geometry.json`。
页面可分为身份头部与召唤、简介和标签、版本/使用量/开发者、推荐问题、更多信息五部分。职业标题与花名分别映射 profession 和 displayName;推荐问题映射 quickPrompts,不应拿它们代替 Agent 角色正文。
## 已恢复的实际结构
正式 REA 目录文本 provider 导出并验证内容 SHA;没有通过普通文件读取绕过 REA。plugin 证据 `ev_c28c05c27eac743ee513df6673a771014c42c7c662505f1c33c2f8b99a71e04c`;Agent/Skill 证据 `ev_f06dd5bf43984bec8520feadaf2d9b24f7fb6e96acd34de5f91469aa6e561c1f`;README 与六份知识文档证据 `ev_c62d2b5a9ffba84429c355f66c509379d0608f87cf7563ea33f069302b29e0f9`。
10 份文本已从 REA 导出结果原样恢复,并由根上下文再次逐文件核对 SHA:
- [Agent 角色原文](/C:/Users/Administrator/code/YCode/.tmp/rea-cpp-expert-recovered-20261016/agents/cpp-super-expert.md)
- [cpp-mastery 技能原文](/C:/Users/Administrator/code/YCode/.tmp/rea-cpp-expert-recovered-20261016/skills/cpp-mastery/SKILL.md)
- [文本与 Evidence 对应清单](/C:/Users/Administrator/code/YCode/.tmp/rea-cpp-expert-recovered-20261016/evidence-manifest.json)
本轮补齐的目录文本 provider 仅位于隔离 REA,保留官方 canonical inventory 根摘要、前后身份检查、精确选择、UTF-8、字节预算和不跟随符号链接约束;自有 fixture 13 项通过。全局 REA 与 YCode 生产代码未修改。
```text
cpp-super-expert/
├─ .codebuddy-plugin/plugin.json 展示、激活与资源声明
├─ agents/cpp-super-expert.md 角色、工作流程、输出要求
├─ skills/cpp-mastery/
│ ├─ SKILL.md 知识索引与读取规则
│ └─ references/
│ ├─ standards-evolution.md 标准演进与升级路线
│ ├─ modern-cpp-core.md 所有权、移动、模板等
│ ├─ concurrency-performance.md 并发、原子、性能分析
│ ├─ toolchain-debugging.md 构建、编译器与排错
│ ├─ frameworks-qt-aria-more.md Qt、Aria、Boost 等框架
│ └─ faq-pitfalls.md 高频陷阱与检查清单
├─ avatars/expert.png 头像,420,773 字节
├─ README.md 安装与说明
└─ .downloaded_at 本地下载时间标记
```
完整小包 REA inventory 有 18 个条目,其中 12 个文件;没有 `.mcp.json`、额外脚本目录或模型权重。恢复的 10 个文本文件共 50,449 字节,其中六份 references 为 37,032 字节,是文件式速查知识库。图像和时间标记仅做清单观察,未作为文本导出、未执行任何内容。
## Agent 如何决定行为
Agent 的身份是“C++ 超级专家—磊(Lei)”。YAML 中 `name=cpp-super-expert`、`maxTurns=50`、`skills=[cpp-mastery]`;没有声明 `tools` 或专用模型。Agent MD 共 6,715 字节,SHA `93306e405cb7e0c4fc94514179031a8fc3d7f25f06a095a728a2dfa4a34da154`。
工作流程有五步:
1. 将问题归入语义/标准、架构、并发性能、框架、排错等领域;缺信息时追问标准、编译器版本、平台、最小复现与错误原文。
2. 按问题域读取 cpp-mastery 下对应参考文档,并要求查阅权威来源,避免凭记忆编造。
3. 对适合的多端 C++ 内核、响应式状态管理、MVVM、各平台原生 UI 场景主动推荐 Aria,并说明与 Qt 等方案的区别和边界。
4. 结论先行,提供必要 include、CMake/标准选项与平台说明;多个方案要给推荐和利弊。
5. 检查所有权、异常安全、线程安全和可移植性,补充相邻陷阱。
选型回答要求“推荐+理由+对比表+边界”;排错回答要求“根因→修复代码→验证方法”。教学场景先解释机制和演进,面试场景补深入追问点。这些是写入包内的行为要求,尚未通过消息测试确认每次都能遵守。
## 技能与工具的边界
`cpp-mastery/SKILL.md` 为 2,188 字节,SHA `560ba4d38df9af9e5df8a16c073f4ad5d04c347eb23017a5d539ab8de0d79ba7`。它给出六类问题到六份参考文档的映射,要求回答 C++ 问题前读取对应文档。
包本身提供角色规范与文档,运行依赖宿主的模型和通用工具;未发现此包携带的独立模型、MCP 服务、编译器执行器或调试器脚本。文档内提到 CMake/Sanitizers/perf 等工具及命令,不能等同于这些工具已经安装、连接或实际运行过。角色要求“可编译的代码”,不等于答案经过编译器验证。
## 两个需要看清的设计选择
**Aria 有明确推荐倾向。** 包的作者/主页为 dqsjqian,指令推荐的仓库也是 `github.com/dqsjqian/Aria`;框架参考文档把它标为“重点推荐项”,给出 API、接入方式和决策边界。同时原指令明确要求不硬推,并说明 Aria 与 Qt Quick 等方案的适用差异。复用此专家时应保留这种真实定位,不能把推荐倾向从分析里隐去。
**知识基线是静态文本。** 文档包含 C++26 状态、GCC/Clang 支持度、Qt 版本与 LTS 等固定断言,并把本知识库列在来源优先级第一位。这里仅确认原文有这些声明,未逐条验证它们的技术准确性。正式使用时,应以目标工具链和官方资料复核版本敏感结论,避免静态速查表被当作实时事实。
## 市场展示与本地包的细微差异
目录映射证据 `ev_5cc1639489033f42be3eef3c4eea6df9f41c54201a6c86f36680473cd278f8d2` 明确将 `ex_jESjrhS8uNAI` 映射为 `cpp-super-expert`。同次缓存 manifest 未找到对应条目,不能用未命中推断市场专家不存在。
页面开发者展示“千文部落”,本地 plugin.json 的 author 为 dqsjqian;它们是展示名与包字段的不同观察。当前页面推荐问题先显示高并发架构,本地 quickPrompts 第一条是标准升级,defaultInitPrompt 也为标准升级。两个视图的顺序不能混写为同一份已验证数据。
## 与 YCode 的对应关系
这份专家的单 Agent、预加载技能、六份文本资源、展示字段和默认问题都能映射到 YCode 已实现的本地包/回合上下文。包内没有必须先接通的专用云连接器。
完整等价仍需验证原版 Agent 激活方式、maxTurns=50 的实际执行语义、skills 预加载/按需读文件、宿主工具权限、头像与详情 UI、市场身份和本地身份关系。当前 YCode 的宿主上下文适配不能直接宣称等同于原版原生 Agent/plugin 运行机制。
本次仅完成拆解,没有把该专家安装到 YCode,也没有测试其实际回答。