关于 Painel Sintético Concorde
Painel Sintético Concorde 是一项远程 MCP 服务,提供 787 个代表巴西银行消费者的合成人物,用于产品探索。它支持定性焦点小组和方向性调查,由客户端汇总各人物的回答。
主要功能
- 01筛选并抽取人物样本
- 02开展定性焦点小组
- 03准备隔离式人物调查
- 04汇总选择、评分、量表和开放回答
- 05使用可复现的调查随机种子
适用场景
- 01探索消费者对银行产品概念的异议
- 02比较不同人口特征群体的反应
- 03在正式调研前估测方向性偏好
MCP 相关
远程 MCP 服务提供人物筛选与抽样、焦点小组和调查工具。用户问题不会传到服务端;客户端负责汇总人物回答。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://painel.concorde-painel.workers.dev/mcpclaude mcp add --transport http caio-sartoratto-painel-sintetico-concorde https://painel.concorde-painel.workers.dev/mcp{"mcpServers":{"caio-sartoratto-painel-sintetico-concorde":{"type":"http","url":"https://painel.concorde-painel.workers.dev/mcp"}}}在 Cursor 中打开{"servers":{"caio-sartoratto-painel-sintetico-concorde":{"type":"http","url":"https://painel.concorde-painel.workers.dev/mcp"}}}在 VS Code 中打开{"mcpServers":{"caio-sartoratto-painel-sintetico-concorde":{"type":"http","url":"https://painel.concorde-painel.workers.dev/mcp"}}}{"mcpServers":{"caio-sartoratto-painel-sintetico-concorde":{"serverUrl":"https://painel.concorde-painel.workers.dev/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
10此工具无需参数。
详细介绍
Painel Sintético Concorde
远程 MCP 服务,为任何 Claude(桌面版、网页端、移动端)提供一个包含787 位巴西银行业消费者合成人格的面板,用于探索银行和金融科技产品。完全运行在 Cloudflare Workers 免费套餐中。
网站和演示: https://painel.concorde-painel.workers.dev
MCP 官方注册表中的名称: io.github.caio-sartoratto/painel-sintetico-concorde
如何安装/查找
该面板是一个远程 MCP 连接器,无需下载任何内容。
- 在 Claude(桌面版、网页端或移动端)中:Settings → Connectors → Add custom connector
- 粘贴 URL:
https://painel.concorde-painel.workers.dev/mcp - 需要 Claude 付费套餐(免费套餐不包含自定义连接器)
它也已发布在 MCP 官方注册表中,名称为 io.github.caio-sartoratto/painel-sintetico-concorde,因此可能会出现在使用该注册表的 MCP 市场和聚合器中。不过,仍需通过上述 URL 安装(列入注册表不会自动将连接器添加到 Claude)。
面板数据不在此仓库中(数据为专有内容,请参阅许可证)。 此仓库提供引擎:MCP 服务、网站、论坛、配额和遥测。公共服务 使用完整面板运行。
存在的原因
让大模型“模拟 700 个人”,只会反复生成同一个平均受访者,并带有收入/教育程度偏差(Santurkar et al. 2023;Bisbee et al. 2024)。有效的方法是根据真实的社会人口属性对模型进行条件约束(Argyle et al. 2023)。这里的异质性来自结构:每个人格都通过确定性筛选条件(字段 运算符 值)关联到带来源的统计事实,大模型只负责赋予其表达。
两种模式:焦点小组和调研
- 焦点小组(定性探索):
filtrar_personas/sortear_amostra+get_personas。 Claude 会让一小部分筛选出的人格表达观点,供你听取异议并完善假设。 - 方向性调研(测量):
preparar_pesquisa会进行隔离扇出——宿主会为每个人格启动一个任务/子 Agent;每个人格独立回答,不会看到其他回答,然后由本地汇总结果分布。这样可避免在同一上下文中生成的回答出现人为趋同。 格式:escolha(分布)、pontuar(每项属性评分 0-10 → 每个选项的均值和标准差,保留次要偏好)、escala和aberta。默认情况下,seed为随机值,并会在结果中返回以便复现。以下回测正是通过此机制完成的。
隐私从设计上得到保障:用户的问题不会经过服务端。信任边界由 Claude 在本地划分(工具 avaliar_pergunta 只返回评分标准),人格回答则由宿主汇总——服务端只会收到细分筛选条件、人格数量和格式。
验证(与真实调研进行回测)
从面板中随机抽取 100 个人格,以温度 0(可复现)进行分类,并与已发布的调研结果比较。
idwall 2025(按 IBGE 加权的全国样本)
| 消费者态度问题 | idwall | 面板 | 误差 |
|---|---|---|---|
| 计划维持/增加数字银行的使用 | 84,9% | 86,0% | 1,1 pp |
| 注册速度是开户时最重要的因素 | 51,4% | 49,0% | 2,4 pp |
| 家是使用银行服务最安全的地方 | 68,5% | 74,0% | 5,5 pp |
平均绝对误差:3,0 pp——三项结果与基准值的差异都在 6 个百分点以内。
Reclame AQUI 2026(对数字银行的信任危机,n=2.073)
| 消费者态度 | Reclame AQUI | 面板 | 误差 |
|---|---|---|---|
| 担心机构倒闭、钱会打水漂(流动性) | 35% | 39% | 4 个百分点 |
BCG 与 Nubank,《Beyond Access》2023(巴西人口,n=2.000)
研究标题:超过 70% 的巴西人觉得自己在财务方面既不安心,也未被纳入金融体系。面板独立得出的结果为 78%。
基准数据没有按阶层细分,面板独立重现了不安全感的社会梯度(按阶层分层抽样,温度为 0):
| 阶层 | 感到不安全 | 样本 |
|---|---|---|
| A | 5% | n=22 |
| B | 20% | n=30 |
| C | 77% | n=30 |
| D/E | 80% | n=30 |
对照:如果只是大模型呢?
直接向前沿模型提出相同问题,不使用面板、角色设定或网络搜索,温度为 0:
| 问题 | 实际值 | 面板 | Gemini 3.1 Pro | GPT-5.6 |
|---|---|---|---|---|
| 维持或增加数字银行的使用 | 84,9% | 86% | 84% | 85% |
| 注册速度是首要因素 | 51,4% | 49% | 18% | 25% |
| 家里是最安全的访问地点 | 68,5% | 74% | 65% | 90% |
| 担心机构倒闭(流动性) | 35% | 39% | 45% | 65% |
| 平均绝对误差 | 3,3 个百分点 | 12,0 个百分点 | 19,5 个百分点 |
在相同问题上,面板的误差比 Gemini 少 3,7 倍,比 GPT 少 6 倍。对于 BCG 的标题数据:面板为 78%(符合“>70%”),Gemini 为 55%(不符合),GPT 为 60%(不符合)。原始模型给出的数字甚至自相矛盾:Gemini 估计“安心且已被纳入金融体系”的比例为 45%,但“安心”的比例只有 31%,而交集不可能大于其中任一部分。面板不会出现这种错误,因为每个数字都来自逐一统计角色。
透明说明:这些是测试类别中匹配度最高的问题。满意度和自我报告发生率等项目的偏差更大(叙述中已知的校准偏差,正在调整)。这不能替代一手研究或 A/B 测试——这是在此之前成本低廉的一步。
示例
在 Claude 中运行的真实对话记录(角色和事实均来自真实面板):
examples/ — 概念焦点小组、A 类测试和数据核查。
架构
vault Obsidian (fonte da verdade: personas + fatos + vozes + instituições)
│ npm run build-data (compila markdown → JSON)
▼
Cloudflare Worker
├─ /mcp servidor MCP (agents SDK / McpAgent + Durable Object)
│ 10 ferramentas: visao_geral, avaliar_pergunta (rubrica da
│ fronteira p/ classificação LOCAL), filtrar_personas,
│ sortear_amostra, preparar_pesquisa (fan-out isolado),
│ get_personas, buscar_fatos, listar_vozes, get_instituicao,
│ get_distribuicoes
├─ QuotaDO cotas por IP (rajada/dia + teto de fichas: anti-extração)
├─ / site estático server-rendered (zero framework)
├─ /forum fórum anônimo sem moderação prévia (ForumDO) — nunca exposto via MCP
│ (evita prompt injection armazenada em sessões de terceiros)
└─ StatsDO telemetria própria (IPs só como hash; dashboard admin)
值得注意的设计决策:
- 自有筛选 DSL(不使用 eval):
classe_social == 'Classe C' & idade > 30,从知识库到服务端使用相同语法。 - 类型化事实(倾向 / 盛行率 / 构成 / 参考值)——构成是 P(受众|指标),与倾向相反;存在构成时,服务端会在档案卡中插入提示。
- 通过 Durable Object 实施配额,按 IP 限制:没有用户身份验证,就无法实际批量提取面板数据。
- 按规则将论坛排除在 MCP 之外:第三方公开内容绝不会通过工具返回,从而消除存储型 injection 攻击途径。
运行
先决条件:Node 20+、Cloudflare 账户,以及符合预期格式的知识库(frontmatter schema 请参见
scripts/build-data.mjs)。
npm install
VAULT_DIR=/caminho/do/vault npm run build-data # gera src/data/*.json (não versionado)
npm run dev # local em http://localhost:8787
npx wrangler secret put ADMIN_TOKEN # kill switch do fórum + dashboard
npx wrangler secret put HASH_SALT # sal dos hashes de IP
npm run deploy
许可证
代码采用 MIT 许可证。面板数据(角色、事实、声音、机构档案卡和分布)为专有数据,不包含在此存储库中,且未经许可不得再分发。
作者
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。