图标结果MCP
基于教科书的多智能体系统架构咨询。
该项目受到皮亚杰认知发展理论的影响,在该理论中,学习是通过 图式的适应.
在行动中看到它
我们将Iconsult指向OpenAI 金融研究代理 --来自他们的代理SDK的5级多代理管道,并要求它评估架构成熟度。

代理的当前架构
金融研究代理人使用 5级顺序流水线 精心策划 FinancialResearchManager.Search是唯一并发的阶段——其他所有内容都按顺序运行,验证器是一个终端死胡同:
flowchart TD
User(["User Query"]) --> Manager["FinancialResearchManager"]
Manager --> Planner["PlannerAgent\no3-mini"]
Planner -->|"FinancialSearchPlan"| FanOut{"Parallel Fan-Out"}
FanOut --> S1["SearchAgent 1"]
FanOut --> S2["SearchAgent 2"]
FanOut --> SN["SearchAgent N"]
S1 --> Collect["Collect Results"]
S2 --> Collect
SN --> Collect
Collect --> Writer["WriterAgent\ngpt-5.4"]
Writer -.->|"as_tool"| Fundamentals["FundamentalsAnalystAgent"]
Writer -.->|"as_tool"| Risk["RiskAnalystAgent"]
Fundamentals -.-> Writer
Risk -.-> Writer
Writer -->|"FinancialReportData"| Verifier["VerifierAgent\ngpt-5.4"]
Verifier --> Output(["Print Report"])Iconsult发现了什么
坚实的基础——以及Iconsult的 知识图谱 遍历确定了7个类别的关键机会:
| 类别 | 评级 | 关键发现 |
|---|---|---|
| 协调与规划 | 已建立 | 坚实的主管+代理作为工具委托 |
| 人机交互 | 新兴 | 代理委托工作;没有HITL检查点 |
| 代理功能 | 新兴 | WebSearchTool+结构化输出到位 |
| 稳健性 | 未开始 | 0%故障链覆盖率;无重试,无超时 |
| 可解释性 | 未开始 | 没有指令锚定或保真度审计 |
| 基础架构 | 未启动 | 无事件系统、无身份验证、无注册表 |
| 持续改进 | 未开始 | 验证仅供参考 |
推荐架构
自然的下一个演变——添加重试逻辑、检查点、共享内存和验证反馈循环:
flowchart TD
User(["User Query"]) --> Manager["FinancialResearchManager"]
Manager --> Planner["PlannerAgent\no3-mini"]
Planner -->|"FinancialSearchPlan"| FanOut{"Parallel Fan-Out"}
FanOut --> S1["SearchAgent 1"]
FanOut --> S2["SearchAgent 2"]
FanOut --> SN["SearchAgent N"]
S1 --> Collect["Collect Results"]
S2 --> Collect
SN --> Collect
FanOut -.-> WD["Watchdog Timeout\nSupervisor"]:::opportunity
S1 -.-> RT["Adaptive Retry\n+ Prompt Mutation"]:::opportunity
S2 -.-> RT
SN -.-> RT
Collect --> CP1["Checkpoint\nSearch Results"]:::opportunity
CP1 --> SharedMem[("Shared Epistemic\nMemory")]:::newpattern
SharedMem --> Writer["WriterAgent\ngpt-5.4"]
Writer -.->|"as_tool"| Fundamentals["FundamentalsAnalystAgent"]
Writer -.->|"as_tool"| Risk["RiskAnalystAgent"]
Fundamentals -.-> Writer
Risk -.-> Writer
Writer -->|"FinancialReportData"| Verifier["VerifierAgent\ngpt-5.4\n+ Scoring Rubric"]:::newpattern
Verifier -->|"Pass"| Output(["Print Report"])
Verifier -->|"Fail + Feedback"| Writer
Verifier -.-> Metrics["Custom Evaluation\nMetrics"]:::opportunity
classDef opportunity fill:none,stroke:#E74C3C,stroke-dasharray:5 5,color:#E74C3C
classDef newpattern fill:#27AE60,stroke:#333,color:white它是如何到达那里的
咨询遵循Iconsult的7步指导工作流程-- 查看可视化工作流→
| 步骤 | 工具 | 发生了什么 |
|---|---|---|
| 1. 读取代码库 | -- | 已提取 manager.py, agents/*.py识别了编排器模式, .as_tool() 代表团,沉默 except Exception: return None以及终端验证器。 |
| 2. 匹配概念 | match_concepts | 嵌入项目描述(OpenAI text-embedding-3-small)并根据余弦相似度对知识图中预先计算的嵌入对所有141个概念进行排名。相同的输入→ 相同的嵌入→ 同样的排名——没有法学硕士的评判。热门:多代理规划、主管架构、代理代理、代理工具、混合规划器+评分器。 |
| 2b。 计划 | plan_consultation | 评估的复杂性为 复杂 (得分86/100——20个概念,关系密度高)。生成了11步自适应计划。复杂性控制遍历深度:简单(3个概念,1跳,8步)→ 中等(5个概念,2个跳跃,添加后续问题+可选评论,10个步骤)→ 复杂(8个概念,2个跳跃,并行子代理,第二轮遍历,强制评论,11个步骤)。 |
| 3. 遍历图 | get_subgraph, log_pattern_assessment, emit_event | 4个并行子代理在两个遍历轮(39个节点,45条边)中探索概念集群。记录了20项模式评估(7项已实施,3项部分,7项缺失,3项不适用)。发射 gap_found 关键机会的事件。 |
| 4. 检索段落 | ask_book | 书籍段落的范围是发现的概念——返回的章节号、页码范围和每条建议的引用。 |
| 5. 覆盖率+分数+压力测试 | consultation_report, score_architecture, generate_failure_scenarios | consultation_report 从记录的步骤中验证4个覆盖维度:概念覆盖(经过或评估的匹配概念/完全匹配)、关系类型覆盖(看到的边缘类型/10种可能)、通道多样性(检索到的章节+部分)和关键边缘检查(requires/conflicts_with 检查)。然后 score_architecture 计算了7类成熟度记分卡 generate_failure_scenarios 针对缺失的模式进行了5次故障演练。 |
| 5b。 批评 | critique_consultation | 无LLM——对固定阈值进行7次基于规则的检查(工作流完整性、遍历深度>=3、评估>=5、覆盖率>=50%、检查关键边缘等)。标记2个问题;回填了6个未探索的概念。 |
| 6. 渲染报告 | render_report | 生成 交互式HTML报告 服务器端——从数据库中提取分数、场景和覆盖率,并与叙事内容合并。 |
| 7. 实施计划 | generate_implementation_plan | 提供逐步分阶段的检查表(机械代码更改与设计决策)。 |
它的作用
将其指向代码库(或描述您的架构),它将运行一个结构化的咨询:匹配概念,遍历 知识图谱 对于先决条件和冲突,根据基于类别的量规(第12章中的7个类别×3个级别)对成熟度进行评分,并使用前后架构图生成交互式HTML审查。
工具(25)
咨询工作流程:
| 工具 | 角色 | 功能 |
|---|---|---|
match_concepts | 入口点 | 嵌入项目描述→ 确定性概念排名+ consultation_id 用于会话跟踪 |
plan_consultation | 规划 | 评估复杂性(简单/中等/复杂)并生成自适应的分步计划 |
get_subgraph | 图遍历 | 基于种子概念的优先级队列BFS——发现替代方案、先决条件、冲突、互补 |
log_pattern_assessment | 评估 | 记录每个模式是否已实施、部分实施、缺失或不适用 |
ask_book | 深度上下文 | RAG搜索书籍——返回包含章节、页码和全文的段落 |
consultation_report | 覆盖率 | 计算概念/关系覆盖率,识别机会,可选地区分两个会话 |
score_architecture | 评分 | 基于类别的成熟度记分卡(7个类别×3个级别),来自记录的模式评估;模式ID别名桥KG↔ 量规ID |
generate_failure_scenarios | 弹性分析 | 每个机会的弹性情景——基于代码或基于书籍,并绘制第7章恢复链图 |
critique_consultation | 质量 | 具有可操作修复建议的结构批评;具有收敛检测的多迭代模式(1-3遍) |
render_report | 报表渲染 | 服务器端HTML渲染——从数据库中提取分数/场景/覆盖率,与叙事内容合并,使用CSS/JS/缩放/工具提示编写完整的HTML |
supervise_consultation | 监督 | 跟踪9个阶段的工作流程进度,使用工具+参数建议下一步行动 |
generate_implementation_plan | 实施 | 咨询结果中的分阶段降价清单;将步骤分为机械或设计决策 |
get_implementation_plan | 实施 | 检索以前生成的带有进度摘要的计划 |
update_plan_step | 实施 | 更新步骤状态(待定/正在进行/已完成/跳过);重新计算摘要 |
协调:
| 工具 | 它做什么 |
|---|---|
write_state / read_state | 遍历过程中子代理协调的共享键值状态 |
assert_fact / query_facts | 黑板知识中心——键入、版本化的事实,带有冲突检测、置信度评分和TTL |
emit_event / get_events | 事件驱动的反应性——发出类似的事件 gap_found,使用过滤器进行投票,获取被动建议 |
质量和效用:
| 工具 | 它做什么 |
|---|---|
rate_consultation | 使用元数据快照记录用户质量分数(1-5)和/或反馈 |
consultation_analytics | 咨询过程中的表面质量趋势(平均评级、覆盖范围、分布) |
list_concepts | 浏览/筛选完整的138概念目录 |
validate_subagent | 子代理响应的模式验证;可选的语义验证 知识图谱 |
health_check | 服务器运行状况+图表统计 |
提示
| 提示 | 它做什么 |
|---|---|
consult | 开始全面的架构咨询——提供您的项目背景并获得指导性的工作流程 |
知识图谱
141 concepts · 786 sections · 462 relationships · 1,248 concept-section mappings关系类型跨度 uses, extends, alternative_to, component_of, requires, enables, complements, specializes, precedes,以及 conflicts_with.
它是如何建造的
该图是使用Claude和OpenAI嵌入分4个阶段从书中提取的:
| 阶段 | 它做什么 | 输出 |
|---|---|---|
| 1a——解析索引 | 从书的索引中提取概念条目(OCR校正) | 138个概念和页面参考 |
| 1b——解析书 | 按标题结构将本书分为几节 | 16章786节 |
| 2--标签概念 | Claude使用索引页码+语义上下文将每个概念映射到相关部分 | 1248个概念部分映射 |
| 3a-显式关系 | Claude确定了每章中概念之间的关系 | 带类型的边(使用、要求、扩展等) |
| 3b——语义对 | OpenAI嵌入在各章节中发现了类似的概念;Claude验证并键入关系 | 跨章节语义边缘 |
| 3c-3e--交叉章节 | 另外三个环节:基于知识的、跨章节的语义和基于摘要的结构关系 | 462个关系,平均置信度为0.695 |
| 4--构建图形 | 去重边,验证置信阈值,根据部分内容计算最终嵌入 | MotherDuck上的生产就绪图 |
看 docs/development.md 了解管道命令和技术细节。
设置
先决条件
数据库访问
这 知识图谱 托管在MotherDuck上并公开共享。服务器会自动检测您是拥有数据库还是需要附加公共共享——不需要额外的配置。只需提供您的MotherDuck令牌,它就可以工作了。
安装可视化解释器(可选)
这 视觉解释器 咨询不再需要技能-- render_report 现在处理服务器端的HTML渲染。然而,它对于协商之外的特设图表仍然有用:
git clone https://github.com/nicobailon/visual-explainer.git ~/.claude/skills/visual-explainer
mkdir -p ~/.claude/commands
cp ~/.claude/skills/visual-explainer/prompts/*.md ~/.claude/commands/安装
pip install git+https://github.com/marcus-waldman/Iconsult_mcp.git发展:
git clone https://github.com/marcus-waldman/Iconsult_mcp.git
cd Iconsult_mcp
pip install -e .环境变量
export MOTHERDUCK_TOKEN="your-token" # Required — database
export OPENAI_API_KEY="sk-..." # Required — embeddings for ask_bookMCP配置
添加到您的Claude桌面配置(claude_desktop_config.json)或克劳德代码设置:
{
"mcpServers": {
"iconsult": {
"command": "iconsult-mcp",
"env": {
"MOTHERDUCK_TOKEN": "your-token",
"OPENAI_API_KEY": "sk-..."
}
}
}
}验证
iconsult-mcp --check许可证
AGPL-3.0——见 许可证 了解详情。
