目录

MCP_Description_Smell_Aware_Native_Protocol_Stack

项目核心思想:MCP 协议栈在 tools/list、工具注册、Agent 工具发现阶段,不直接暴露原始工具描述,而是暴露经过异味检测和 SFT 优化后的协议描述,并在上下文预算不足时启用缓存摘要和 top-k 工具发现策略,从而降低 Agent 误选工具、重复调用、无效重传和上下文浪费。

项目成员: 东南大学周雨佳 东南大学薛烁敏 东南大学鲍奕飞

目录结构

.
├── data/
│   ├── dataset_summary.json
│   └── smell_aware_tool_records.jsonl
├── docs/
├── openharmony/
│   └── services/mcp_desc_stack/
├── results/
│   ├── compare_original_sft_rl_zip482_val.json
│   └── smell_aware_stack_benchmark.json
├── scripts/
│   └── benchmark_smell_aware_stack.py
├── src/smell_aware_stack/
│   ├── context_budget.py
│   ├── description_layer.py
│   ├── schema.py
│   └── security.py
└── third_party_refs/mcp_smell_project_core/

已实现内容

  • OpenHarmony native component skeleton:包含 bundle.jsonBUILD.gn、C++ API、demo 和最小测试。
  • MCP 工具描述质量层:读取真实 MCP 工具样本,选择原始描述或优化描述作为协议栈输出。
  • 描述异味维度:Accuracy、Functionality、Information Completeness、Conciseness、Clarity。
  • SFT baseline 对照:在 482 条高质量 teacher 样本上训练 LoRA,验证 SFT 描述优化有效。
  • RL/GRPO smoke test:验证强化学习训练链路可跑通,记录 reward 与 llm_score。
  • 上下文预算策略:支持完整描述、优化描述、缓存 digest、top-k 工具描述四类 registry payload。
  • 安全策略原型:根据敏感性和系统修改类工具生成认证、确认、参数脱敏策略。

关键结果

验证集 before/after 对比:

Metric Original SFT
Accuracy 2.6875 2.8125
Functionality 1.8542 2.6667
Information_Completeness 1.6458 2.2500
Conciseness 3.0000 2.5417
Clarity 2.1875 2.7708
Overall 2.2750 2.6083

SFT 相对原始描述的 Overall 提升为 **14.65%**。Functionality 提升 **43.82%**,Information Completeness 提升 **36.71%**,Clarity 提升 **26.67%**。

RL smoke test 结果:

指标 数值
Exit code 0
Final global step 3
Final validation reward mean@1 0.9349609971
Final llm_score mean@1 0.74

上下文预算 micro-benchmark:

  • 原始完整 registry payload:70,204 bytes
  • 缓存 digest registry payload:31,924 bytes,减少 54.53%
  • smell-aware top-k registry payload:37,569 bytes,减少 46.49%

注意:优化描述比原始描述更完整,因此“完整返回所有优化描述”会增加 payload。本方案的通信优化来自协议栈内置缓存和上下文预算,而不是简单把描述变短。

快速运行

Python benchmark:

cd "/root/autodl-tmp/MCP Description Smell-Aware Native Protocol Stack"
PYTHONPATH=src python scripts/benchmark_smell_aware_stack.py \
  --top-k 64 \
  --output results/smell_aware_stack_benchmark.json

C++ sanity compile:

cd "/root/autodl-tmp/MCP Description Smell-Aware Native Protocol Stack"
g++ -std=c++17 \
  -I openharmony/services/mcp_desc_stack/include \
  openharmony/services/mcp_desc_stack/src/mcp_desc_stack.cpp \
  openharmony/services/mcp_desc_stack/src/mcp_desc_stack_demo.cpp \
  -o /tmp/mcp_desc_stack_demo

/tmp/mcp_desc_stack_demo
关于
500.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号