Skip to main content
Glama

[PROJECT NAME]

一个通过手势控制的工作台,用于探索 Transformer 中的深度剪枝。浏览器代理可以分析和提出建议,但只有人才能执行提交。

在线访问: https://architecture-mcp.vercel.app

项目名称是占位符。活动 FAQ 建议团队自行选择名称,而不是委托给 AI,因此特意留给人类来填写。

它是什么

Qwen/Qwen2.5-1.5B-Instruct 的 28 层被渲染成一摞你可以伸手触碰的堆叠。用鼠标、键盘或摄像头前的手势拾起一层,把它拖到剪枝托盘上,然后松手。该层被移除,架构会闭合缺口。

浏览器中的代理可以读取该工作区,对最弱的候选层进行排序,以可见的幽灵形式提出一组层,评估你当前持有的层,验证计划,并准备确定性的导出。

它不能移除任何层。这正是关键所在。

Related MCP server: permitd MCP Server

WebMCP 的贡献

注册到浏览器的工具会随用户当前的操作而变化。

注册时机

工具

始终

get_workspace_state, rank_pruning_candidates, preview_pruning_plan, validate_current_plan, prepare_export_plan

当选中某层时

explain_selected_layer, compare_selected_layer

当持有某层时

evaluate_held_layer

注册通过 store 订阅进行协调,每个动态注册的工具对应一个 AbortController。让代理"评估我当前持有的层",它只在该条件成立时才能回答;一旦松手,工具即被注销,任何正在运行的调用都会被取消。

两个选择工具都不接受层 ID,其 schema 也禁止额外属性。它们的对象就是当前可见选中的内容。代理无法在用户查看另一层时报告某一层的情况,而用户无需任何言语即可切换对象。

谁能做什么

边界由 store 强制执行,而非依赖提示词措辞。工具处理器通过一个入口分发,该入口拒绝四操作白名单之外的任何请求,并自行标记操作者,而不是信任调用方。

代理可以:暂存提案、清除提案、打开导出抽屉、关闭导出抽屉。这四个操作在设计上都是可逆的。

任何工具都不能:提交移除、恢复层、撤销、启动摄像头、读取摄像头帧或手部关键点、复制或下载。

每次提交都由人来执行,溯源时间线会记录谁执行了操作、做了什么、使用了哪种输入方式。

证据及其局限

Block Influence 是测量出来的,而非凭空捏造:每个 block 输入与输出隐藏状态之间的 1 - cosine_similarity,在校准 token 上取平均。

  • 模型:Qwen/Qwen2.5-1.5B-Instruct,修订版本 989aa7980e4cf806f80c7fef2b1adb7bc71aa306

  • 校准:PG19 测试集,16 篇文档,每篇 1024 个 token

  • 摘要:be647c5baf85…

测量出的形态与方法预测一致:第 0 层得分为 0.959,第 27 层为 0.558,而两者之间的每个 block 都低于 0.16,低谷出现在第 14 至 16 层,约为 0.038。

这并不能说明什么。 余弦相似度只比较方向,因此 Block Influence 衡量的是 block 将残差流旋转了多少,而非改变了多少——一个只重新缩放而不旋转输入的 block 同样得分很低。它是按层、在隔离状态下、基于单一语料计算的。它只是识别出一个值得评估的候选。它不是移除该层后输出质量得以保持的证据,这里也没有任何内容衡量移除后的困惑度、基准准确率或生成质量。

界面也会说明这一切。每个报告分数的工具结果都带有同样的警示,因为当代理被要求陈述局限时,它应该引用字段,而不是转述文字。

隐私

视频在页面内处理。没有上传、没有多模态 API 调用、也没有远程手势解析。摄像头只能通过点击启动,代理无法访问摄像头、其帧或从中推导出的关键点。

运行

npm install
npm run dev

WebMCP 位于一个 flag 之后。在 Chrome 149 或更高版本中,启用 chrome://flags/#enable-webmcp-testing 并重新启动。Model Context Tool Inspector 扩展会列出已注册的工具,并可以调用它们。

没有该 flag 时页面仍然可用:它会检测到缺失,回退到内存中的替代实现,并在屏幕上如实说明,而不是假装正常。

npm test          # unit and integration tests
npm run build     # type check and production build

自行测量分数

pip install 'transformers>=4.43' datasets torch
python scripts/prepare_calibration.py
python scripts/measure_block_influence.py

语料以流式方式获取,而非下载。分数写入 src/data/scores.json,这是应用程序读取层分数的唯一来源——将占位符替换为测量值属于数据变更,而非代码变更。该文件自带 source 字段,类型契约使得没有摘要的测量证据无法被构造,因此应用在任何状态下都无法声称拥有它并不具备的测量结果。

架构

Human hand, mouse or keyboard
        │  select, hold, commit, cancel, undo
        ▼
   Workspace store  ──────────►  Three.js stage
   (pure reducer,   ──────────►  DOM inspector and provenance timeline
    provenance log) ──────────►  WebMCP tool registry
        ▲
        │  inspect, rank, explain, compare, preview, evaluate, validate, export
   Browser agent

reducer 是纯函数,以墙钟时间作为参数而非读取时钟,因此归约是确定性的,会话可以从其溯源日志重放。状态全程为 readonly:store 是唯一的写入者,直接修改会绕过溯源、版本计数器和权限检查。

许可证

MIT。

Maintenance

ActivityMaintained
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers