核心能力
1. Pattern Extraction
从 Agent 运行轨迹中提取反复出现的操作模式。工厂分析 Agent Runtime 记录的 Experiment 轨迹,识别高频操作序列(例如 "iPL.local_swap → iSTA.incremental → evaluate_hpwl" 出现 12 次)。提取的 pattern 包含:操作的输入输出类型、前条件/后条件、typical 成功率、typical 耗时。
2. Tool Generation
将模式固化为 typed tool contract。工厂自动生成:tool name + description(供 LLM 理解)、typed request/result schema(JSON Schema)、internal adapter(将 tool contract 映射到实际 EDA 工具调用序列)、error taxonomy(定义 tool 可能的失败模式与 Agent 处理方式)。
3. Qualification Gate
三级晋升门禁——coverage test(覆盖 tool 的所有参数组合和边界条件)→ gate check(contract 规范校验——输入/输出 schema 是否完整、error 处理是否完备)→ regression suite(回归测试——新 tool 不影响已有 tool 的行为)。通过全部三级晋升至 production 状态。
4. Version Management
工具版本与生成它的 Agent/Model 版本绑定。每个 tool 的 provenance 记录:source_trajectory(来源轨迹)、generating_model(生成该 tool 的模型版本)、extraction_params(pattern 提取参数)。当底层 EDA 工具或 AI 模型升级时,tool 自动标记为 stale,触发重新 qualification。
5. Rollback
新工具表现不佳时自动降级。工厂持续监控 production tool 的运行时指标(成功率、平均耗时、产生 violation 率)。如果指标在 N 次调用中持续低于阈值,自动降级为 degraded 或回滚到上一 stable 版本。降级事件触发告警并记录在 tool audit log。
Agent 调用方式
Tool Factory 的操作由系统管理员或高级 Agent 触发——pattern extraction 和 tool generation 不是高频操作,而是基础设施的"自进化"机制。
Python SDK
from ieda.factory import ToolFactory factory = ToolFactory("http://localhost:9140") # Step 1: Extract pattern from trajectory pattern = factory.extract( trajectory_ref="traj_7f3a", min_occurrences=5, pattern_type="composite_tool", ) print(pattern.name) # "hotspot_swap" print(pattern.frequency) # 12 print(pattern.operations) # ["iPL.local_swap", "iSTA.incremental", "evaluate_hpwl"] # Step 2: Generate tool from pattern result = factory.generate( pattern_ref=pattern.ref, qualification_level="F2", ) print(result.tool_contract) # typed contract with schema print(result.qualification) # {coverage: "pass", gate: "pass", regression: "pass"} print(result.promotion) # "production"
输入/输出契约
FactoryRequest
| 字段 | 类型 | 必需 | 说明 |
|---|---|---|---|
trajectory_ref | string | 是 | Agent 运行轨迹引用——来自 Agent Runtime 的 Experiment 记录 |
pattern_type | "atomic_tool" | "composite_tool" | "macro_pattern" | 是 | 模式类型——atomic 单工具、composite 工具组合、macro 高级行为模式 |
qualification_level | "F0" | "F2" | "F4" | 是 | 要求达到的 qualification 等级——F0 仅 coverage、F2 加 gate、F4 加 regression |
FactoryResult
| 字段 | 类型 | 说明 |
|---|---|---|
tool_contract | object | 生成的 tool contract:name、description、request_schema、result_schema、adapter_spec |
qualification_report | object | qualification 结果:coverage、gate_check、regression——各阶段 pass/fail 详情 |
promotion_decision | "production" | "staging" | "rejected" | 晋升决定——production 全通过、staging 部分通过、rejected 未通过 |