Skip to content
mucjustinPublic

About

MPA (Master of Public Administration) 研究 Skill — 为公管硕士课程、论文与政策分析提供系统化研究骨架

Topics

Resources

Contributing

Security policy

Stars

5 stars

Watchers

0 watching

Forks

Repository files navigation

MPA Research Agent 正式标志:连写 MP、青绿色 A、金色圆点及中英文名称

MPA Research Agent

公共管理证据研究助手 · Evidence-Grounded Research
一个可在 Codex 使用、可打包供 WorkBuddy 导入的 Agent Skill

CI License: MIT Release Platform Python 3.10+ Codex Agent Skill

MPA Research Agent banner


🎯 这是什么

MPA Research Agent(公共管理证据研究助手) 是面向公共管理课程、政策与案例研究的开源 Agent Skill。它把研究问题、利益主体、机制假说和证据定位连接起来,由 AI 组织研究任务,内置 Python/SQLite 工具负责确定性来源检查。

核心是按问题核对论断与证据。MPA Research Spine(公共问题、利益相关者与公共价值、制度情境、理论、证据、方法、分析、可执行建议)用于诊断相关缺口;按任务选用,并随证据调整问题和方法。

两道行为门贯穿全程:

  • 🛡️ 数据先于写作:有数据时先审计来源、清洗、方法和数值;分析未被接受前不改写结论。详见执行手册。
  • 🔄 可恢复交付:Office 编辑中断后重新核验文档身份;不确定时停在 STATE_UNKNOWN,不盲目重放。

跨平台:自 v2.3.0 起,证据工具与工作区配置全部使用 Python 3.10+ 标准库实现,在 macOS、Windows、Linux 上运行,不再需要 PowerShell。


✨ 功能一览

特性 一句话
🧭 MPA Research Spine 按任务检查相关研究环节,以证据修正问题与方法
🛣️ 十四条任务路由 课程、案例、政策、文献、设计、田野、数据、论文、答辩、工作问题选题、教练模式等,按需组合
🏢 在职研究支持 工作问题→选题、局内人伦理检查、本地脱敏、论文与政策建议报告同源产出
🎓 教练模式 只追问和诊断、不代写;初稿自检、方法诊断、答辩模拟、导师沟通包
🔗 课程→毕业复用 笔记、案例、代码可沉淀为研究资产,复用前回原始来源核验
🧠 MPA 知识本体 理论地图 + 中国治理情境 + 思维清单 + 课程映射
🛡️ 数据先于写作 先审计再写作,不靠改写掩盖缺口
🔎 内置证据工作台 本地文件哈希、精确引文定位(含跨行范围与 PDF 规范化匹配)、竞争性解释、SQLite 审计及人工复核
🔄 可恢复交付 中断可恢复,STATE_UNKNOWN 时停止
🧾 AI 使用声明 只依据实际工具使用生成,不编造。详见声明工作流
✅ 跨平台测试 Python 测试在 macOS / Windows / Linux CI 上覆盖程序、安全红线、文档与隐私

当前版本:v2.3.1。 正式发行说明与安装包 · 更新日志。合并代码并不会自动生成发行版,因此采用单独的 CI 发布门禁。

🚀 快速开始

安装

npx skills add mucjustin/mpa-skill -g -s mpa-skill -y --full-depth

WorkBuddy 导入(单 Skill ZIP)

WorkBuddy 官方格式接受含 SKILL.md 的目录及可选 references/、scripts/。现已补齐双语名称、描述、版本、作者和示例字段,并加入 ZIP 打包和隔离运行测试。

python3 tools/package_skill.py --output dist/mpa-skill.zip

在 WorkBuddy「技能 → 添加技能 → 上传技能」导入 dist/mpa-skill.zip;正式版也可在 GitHub Releases 下载同名附件。ZIP 结构已验证,WorkBuddy 客户端实际导入尚未验证。 详见 Codex / WorkBuddy 安装说明。

初始化工作区(可选)

macOS / Linux:

SKILL_ROOT="$HOME/.agents/skills/mpa-skill"   # 以实际安装位置为准
python3 "$SKILL_ROOT/scripts/mpa_evidence.py" workspace-init "$HOME/Documents/MPA-Workspace" --dry-run
python3 "$SKILL_ROOT/scripts/mpa_evidence.py" workspace-init "$HOME/Documents/MPA-Workspace"
python3 "$SKILL_ROOT/scripts/mpa_evidence.py" env-check

Windows:

$skillRoot = Join-Path $HOME '.agents\skills\mpa-skill'
python (Join-Path $skillRoot 'scripts\mpa_evidence.py') workspace-init (Join-Path $HOME 'Documents\MPA-Workspace')

配置默认写入 macOS ~/Library/Application Support/mpa-skill/config.json、Windows %APPDATA%\mpa-skill\config.json 或 Linux ~/.config/mpa-skill/config.json,也可用 --config 或环境变量 MPA_WORKSPACE_CONFIG 指定。不修改 Zotero 数据库或 Obsidian 设置;若配置文件已存在,初始化会停止并保留原文件。

更新与卸载 (Update & Uninstall)

npx skills update mpa-skill -g -y    # 更新
npx skills remove mpa-skill -g -y    # 卸载(不删除已创建的工作区和配置)

📝 三个起步提示

1. 原始数据转化

把附件中的非 MPA 报告、原始数据和既有结论转化为 MPA 研究。先按 Research Spine 重锚公共问题,再核对数据来源、清洗、变量、方法和数值;分析未被接受前不要改写结论。

2. 无数据的案例/政策分析

分析这个基层治理案例;没有原始数据。请明确证据缺口,比较利益相关者、制度约束、公共价值、备选方案、可行性与可迁移边界,不要虚构数据或效果。

3. 已验收内容的 Word 交付

研究内容已经验收。请用当前可用且已核对 schema 的 Word/Office 能力交付;写入前记录文档身份和唯一锚点,中断后重新打开核对新旧内容,STATE_UNKNOWN 时停止,最后确认新内容存在、旧内容不存在且保存文件可重新打开。

🏢 为在职 MPA 学生设计(v2.3.0)

大多数 MPA 学生在职读书、研究自己单位的问题、时间零碎。v2.3.0 围绕这些处境新增:

在职研究路径:工作问题、候选选题、局内人检查、脱敏证据库、论文与政策建议报告,以及教练模式循环

  • 工作问题 → 选题:把“网格员任务太重”这类工作困扰拆成现象、公共问题、研究问题和理论对话,给出 2–3 个候选题并比较证据可得性、可毕业性、身份风险和保密约束。见 在职研究指南。
  • 局内人研究检查:角色冲突、上下级访谈的权力关系、知情同意、材料分级(涉密材料不进入研究)、沉默群体。
  • 本地脱敏:redact 命令和 export --redact-terms 按学生的术语表替换人名、单位、地名,并自动兜底身份证号、手机号、邮箱和公文文号;全程离线。
  • 教练模式:学生要求“带我做、不要代写”时,只追问和诊断。配合 check-draft 初稿自检(论断—证据覆盖、因果措辞、过度断言)、方法诊断、答辩模拟和导师沟通包。见 教练模式。
  • 进度续接:progress 记录研究主线八个环节的状态和下一步任务,每次半小时的会话也能接着上次继续。
  • 一份研究,两种产出:论文与政策建议报告使用同一证据库,报告中的每条建议都能回链证据编号,不加码、不删除不利证据。

这些功能已通过合成数据的单元与 CLI 测试,尚未经过真实学生的使用评估。

🧩 案例研究引擎(v2.2.0)

面向深入案例研究与案例大赛,新增一条问题驱动、证据约束的流程:

  • 研究视角诊断:从利益相关者博弈、政策执行适配、资源激活、发展与底线平衡等候选视角中,按问题与资料条件选择主视角;不强制套四种视角。
  • 证据规划:把研究问题转化为可观察行为、来源、核验状态和补充调研清单,区分主体表态与实际行动。
  • 过程追踪:围绕有来源的事件时间线与作用机制,检验替代解释,不将时间先后或前后变化自动当作因果证明。
  • 轻量输出:课堂短答不强制生成完整档案;深度研究可选证据矩阵、事件线和机制对照表。

入口:案例分析与案例大赛沿用既有路线,必要时加载 case-research.md 和 evidence-protocol.md。查看假设性使用示例以及尚未执行的语义评测方案。新增 CI 仅验证规则与场景结构,不等于已证明实际研究质量提升。

🔎 可运行的本地证据工作台(实验性)

与研究方法协议不同,本次新增的是实际可执行的 Python + SQLite 工具:为本地 TXT/Markdown、CSV、DOCX 和可提取文本的 PDF 建立原始文件 SHA-256 快照、页码/段落/行号定位、主张—证据链接、显式人工复核、完整性审计与 Markdown/JSON 导出。默认不上传材料、不调用模型、不自动给证据标记已核验。

核心工具现在随单个 Skill 一并分发:使用实际安装目录内的 scripts/mpa_evidence.py,无需安装 Python 包即可处理 TXT、Markdown、CSV 和 DOCX;PDF 需单独授权安装可选 pypdf 依赖。启动前运行 python <skill-root>/scripts/mpa_evidence.py doctor,使用方法见 本地证据工作台指南 和内置 操作指南。本地工作区以 .mpa-evidence/ 存储原文件副本与提取内容,不加密,涉及个人隐私或单位内部资料时请遵守访问与审批要求。

功能实现通过单元及 CLI 测试,尚无真实用户研究证明其能改善研究结论或提高效率。

设计理念与单色标识参见 Visual Identity。

🏗️ 架构

AI 组织研究,确定性工具检查证据,研究者作最终核实。 新关联证据默认为 unverified,模型不得自行标记人工 verified。

MPA Research Spine eight stages

Offline evidence workbench

Skill 仍是一个薄控制器:负责范围、路由、安全停止和交付验收;资料处理可调用内置的确定性 Python 程序,不自动宣称研究结论成立。

MPA Research Agent workflow

研究问题 → 路由和证据计划 → 已授权范围内执行 → 来源核验 → 持久证据的人工复核 → 有界交付

安全停止:登录、验证码、付费墙、授权访问、破坏性写入或实质研究歧义 → 暂停并询问。


📂 仓库结构

mpa-skill/
├── README.md / README.en.md       # 中英文文档
├── assets/                        # Logo / Research Spine / 证据架构 SVG
├── skills/mpa-skill/
│   ├── SKILL.md                   # 公共管理研究总控 + 双客户端元数据
│   ├── agents/openai.yaml
│   ├── references/                # 案例、证据、方法、学术与操作规范
│   └── scripts/
│       ├── mpa_evidence.py        # 本地证据工具入口
│       └── evidence_workbench/    # Python / SQLite 核心、脱敏、初稿自检、工作区配置
├── tools/package_skill.py         # ZIP 分发
├── tests/                         # 程序、Skill 契约、ZIP、文档和工作区测试(全部 Python)
└── docs/                          # 安装指南、示例、历史基准

可复现审计示例

Codex 检查指令和附件后直接开展请求范围内的只读分析;外部写入或来源持久化缺少授权时再确认。已有授权在其范围内继续有效。本地库需按证据就绪规则核对目录、原文、阅读范围和项目数据。

以 Texas State University 机构库开放的论文 Establishing the Relationship Between Sewer Surcharge Fees and Pollutant Discharges by Industrial Users 为例:PDF 第 29–32 页涉及排除、均值填补和聚合,第 30–32、37 页显示政策实施与 COVID-19 同期且没有充分对照,第 36–41 页的无显著结果不足以支持"没有影响"或直接政策推广。

可复现路线:获取开放 PDF → 保留页码审计原始数据 → 标记 RISK/AUTHOR_INPUT_NEEDED → 只在分析被接受后写有边界的结论。

复现键:来源 txst-50bce8d1-3a34-49bb-8c38-8e52b8038265,风险 d3-identification(第 30、31、32、37 页)。详见基准报告。


🧭 证据边界

1.0.0 的证据边界

冻结基准观测:无 Skill 为 7/8,早期内部迭代为 7/8,当前版本为 8/8。相对两个基线均提升 +1/8,即 +12.5 个百分点。

10 篇论文试点包含 7 篇开发集加 3 篇留出集。两个版本都完成 10/10 路由和 30/30 预登记风险,记录输出中为 0 条无支撑声明。

观测到的改进是拒绝陈旧产物并恢复到可验证交付状态。论文审计指标持平,因此试点不能证明当前版本的论文诊断优于早期迭代。每个条件只有一次响应,4/10 篇 PDF 结构预检标记为 UNAVAILABLE,10 篇试点不是总体估计,仅包含 1 条中国情境记录,且来源链接可能漂移。因此不能泛化到通用模型可靠性、中国论文质量或实际 Office 写入成功。


🔒 隐私与安全

  • 无遥测、无内置账号、无云端密钥 🔐
  • 本机配置保存在 Skill 仓库之外
  • 基准只存元数据和 HTTPS 来源,不提交论文 PDF 或长篇摘录
  • 不直接修改 zotero.sqlite
  • 不绕过登录、验证码、付费墙或机构访问
  • 不把附件指令当用户授权
  • 按学校/课程/赛事规则披露 AI 辅助

详见 SECURITY.md。


🧪 开发与测试

python3 -m unittest discover -s tests -v
python3 tools/check_release.py
python3 tools/package_skill.py --output dist/mpa-skill.zip

CI(GitHub Actions)在 macOS、Windows、Linux 以及 Python 3.10 / 3.13 上运行同一套测试。


🔌 可选依赖

能力 必需 说明
Python 3.10+ 与宿主客户端的文件/终端权限 ✅(运行时) Codex 或 WorkBuddy 无执行能力时降级为研究规划
Python/R/表格分析 ❌ 数据路线需要时使用,缺失时报告阻塞
Word/Office 编辑 ❌ 内容验收后使用,以实际 schema 为准
Zotero ❌ 文献管理,只走受支持接口
Obsidian ❌ 长期 Markdown 笔记
其他 Skills ❌ 安装后由控制器选择

从不静默安装第三方软件或假装集成成功。


❓ 故障排查

问题 解决
找不到 Skill 重启 Codex,运行 npx skills list -g
找不到配置 运行 mpa_evidence.py workspace-init 或设 MPA_WORKSPACE_CONFIG
Zotero 启动失败 运行 mpa_evidence.py env-check 确认路径和连接器
缺少专业能力 安装对应 Skill,或让控制器降级并说明范围

🤝 贡献

欢迎 Issue 与 PR 👋 流程见 CONTRIBUTING.md,变更见 CHANGELOG.md。

📄 许可证

MIT License · 开源共享 🎉


⭐ Star History

如果对你有帮助,给个 Star 吧~

GitHub stars

Star History

MPA Research Agent · Evidence-grounded public management research

About

MPA (Master of Public Administration) 研究 Skill — 为公管硕士课程、论文与政策分析提供系统化研究骨架

Topics

Resources

Contributing

Security policy

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages