its-trip 热插拔 Skills 机制实战:只改 Markdown 文件,就能自定义你的交通智能体
2026/9/22 9:22:07 网站建设 项目流程

its-trip 热插拔 Skills 机制实战:只改 Markdown 文件,就能自定义你的交通智能体

【免费下载链接】its-tripits-trip 是 transportation SIG 下的交通大模型智能决策闭环仓库,面向交通事件处置、交通管控决策和交通智能体应用场景,构建“感知—研判—仿真—下发”的闭环智能决策机制。仓库将连接事件理解、知识调取、风险研判、方案生成、仿真验证和管控下发,推动交通大模型从单点问答走向可验证、可执行、可落地的行业应用。项目地址: https://gitcode.com/cann/its-trip

its-trip(TRIP,Transport Reasoning with Intelligence Progression)是 CANN 社区智能交通 SIG 开源的交通大模型智能决策仓库,面向交通事件处置与管控决策场景,打通"事件理解 → 知识调取 → 风险研判 → 方案生成 → 决策下发"五步闭环。其中最贴心的设计是热插拔 Skills 机制:流水线里每个交通智能体的"大脑"都由一个 Markdown 文件定义,你不需要改任何 Python 代码,新建一个.md文件,就能自定义智能体的行为规则。

一、热插拔 Skills:一句话让智能体"换脑" 🧠

its-trip 的核心是一条五智能体流水线(见 README.md):

事件理解 (EventUnderstandingAgent) → 知识调取 (KnowledgeRetrievalAgent) → 风险研判 (RiskAssessmentAgent) → 方案生成 (PlanGenerationAgent) → 决策下发 (DispatchAgent)

每个智能体的"行为手册"就是一个Skill,由 trip_ai/agents/core.py 中的Skill数据类承载,包含三部分:

组成说明
元数据(Metadata)name/description/inputs/outputs,作为全局上下文摘要,省 Token
行动指南(Action Guide)给大模型的"操作规程"正文,Markdown 撰写
资源(Resources)声明可用工具,如 OCR 工具、视觉模型

所谓"热插拔",就是指这份 Skill 既可以硬编码在 Python 里(内置默认技能),也可以放在 skills/ 目录下用 Markdown 文件描述——后者可以随时增删改,甚至在同一条流水线上按智能体挑选不同版本,互不影响。

仓库自带 5 个默认技能文件,覆盖整条流水线:

  • skills/event_understanding.default.md
  • skills/knowledge_retrieval.default.md
  • skills/risk_assessment.default.md
  • skills/plan_generation.default.md
  • skills/dispatch.default.md

二、Skills 文件格式:YAML 头 + Markdown 正文 📝

一个技能文件由两段组成:YAML front matter(元数据)+正文(行动指南)。以默认的风险研判技能 skills/risk_assessment.default.md 为例:

--- name: risk-assessment-default agent: risk-assessment description: 风险研判默认技能:只输出风险等级与原因,不生成处置措施。 inputs: [event_text, incident_extract_draft, constraints_compact] outputs: [risk_assessment_partial] resources: - SiliconFlow chat.completions --- ## Action Guide 1) 输入 `event_text` 与 `incident_extract_draft`。 2) 输出 `RiskAssessment`,但 `suggested_actions` 必须是空数组 `[]`。 3) 严格 JSON 输出;若解析/校验失败,执行一次 JSON 修复后重试。

各字段含义:

字段作用
name技能唯一名称,UI 下拉框里显示的就是它
agent挂载到哪个智能体(5 个键之一)
description一句话描述,会进入全局上下文供其他智能体"知道"你的能力
inputs/outputs声明输入输出产物名,方便链路追踪
resources该技能可能调用的资源

正文(---之后的部分)会被整体作为Action Guide交给大模型执行,因此建议用编号步骤写清楚"做什么、输出什么、失败怎么办"。

三、实战:5 分钟自定义一个"严格模式"风险研判技能 🚀

假设你想让风险研判更保守:置信度低于 0.6 时强制判为UNKNOWN,并列出缺失证据。全程只做一件事——新增一个 Markdown 文件

第 1 步:在skills/下新建risk_assessment.strict.md(不要动默认文件):

--- name: risk-assessment-strict agent: risk-assessment description: 严格模式风险研判:低置信度强制降级为 UNKNOWN,并列出缺失证据。 inputs: [event_text, incident_extract_draft, constraints_compact] outputs: [risk_assessment_partial] resources: - SiliconFlow chat.completions --- ## Action Guide 1) 输入 `event_text` 与 `incident_extract_draft`。 2) 输出 `RiskAssessment`,`suggested_actions` 保持空数组 `[]`。 3) 若置信度 < 0.6:等级强制置为 UNKNOWN,并在 evidence 中逐项列出缺失证据。 4) 严格 JSON 输出;解析失败时修复一次后重试。

第 2 步:启动应用(克隆仓库后按 README.md 准备环境即可):

git clone https://gitcode.com/cann/its-trip.git cd its-trip pip install -r requirements.txt streamlit run app.py

第 3 步:打开侧边栏的"Skills(可热插拔)"区域,风险研判下拉框中会同时出现risk-assessment-defaultrisk-assessment-strict两个选项,选中即对本次运行生效。✅

同一个智能体可以同时存在多个技能版本,随时切换对比效果,这就是"热插拔"的真正含义。

四、加载链路:一个 .md 文件如何生效 🔍

整套机制的实现非常轻,核心链路如下:

  1. 扫描与解析:trip_ai/skill_loader.py 的load_skills()遍历skills/目录下所有*.md(自动跳过README.md),用内置的轻量解析器读取 front matter——刻意不依赖 PyYAML,保持零额外依赖;正文则成为action_guide
  2. 按智能体分组skills_by_agent()依据agent字段把技能归类到 5 个智能体键下。
  3. UI 选择注入:app.py 侧边栏为每个智能体渲染下拉框,选中结果以skills_override字典写入working_memory;某智能体找不到对应技能文件时,UI 会提示"使用内置技能"兜底。
  4. 运行时覆盖:每个智能体(如 trip_ai/agents/risk_assessment.py)在run()开头都会先查skills_override,取到就用新技能,取不到就回退到模块内硬编码的默认Skill常量。
  5. 元数据广播:trip_ai/multi_agent.py 把最终生效的各技能元数据写入GlobalContext.metadata_catalog,让下游智能体知道上游"是谁、能输出什么",实现低 Token 协作。

五、避坑清单与最佳实践 ⚠️

  • agent键必须精确匹配:只能是event-understandingknowledge-retrievalrisk-assessmentplan-generationdispatch五者之一,写错则该文件会被分组逻辑忽略。
  • 列表字段写成单行inputs: [a, b]resources用缩进-列表。front matter 解析器是极简实现,复杂嵌套结构不支持。
  • 没有 front matter 也能兜底name缺省时回退为文件名(不含扩展名),但强烈建议显式声明,保证 UI 显示稳定。
  • 正文就是提示词:Action Guide 会被原样交给大模型,写编号步骤、明确输出契约(如"严格 JSON""suggested_actions必须为空数组")比写抒情段落有效得多。
  • 只加不删:保留默认*.default.md文件,新版本另起文件名,方便 A/B 对比与快速回滚。
  • 配合 traces 调试:每次运行都会在 app.py 的运行历史中保存快照,技能改动后回放AgentTrace能快速验证行为是否符合预期。

总结

its-trip 把"交通智能体如何思考"从代码中彻底解耦成了 skills/ 目录下的 Markdown 文件:改文件即改行为、多版本并存、UI 一键切换、缺失自动兜底。如果你正在做交通大模型落地,这套热插拔 Skills 机制值得直接借鉴——行为策略与工程代码分离,正是智能体应用走向可运维、可演进的关键一步。

【免费下载链接】its-tripits-trip 是 transportation SIG 下的交通大模型智能决策闭环仓库,面向交通事件处置、交通管控决策和交通智能体应用场景,构建“感知—研判—仿真—下发”的闭环智能决策机制。仓库将连接事件理解、知识调取、风险研判、方案生成、仿真验证和管控下发,推动交通大模型从单点问答走向可验证、可执行、可落地的行业应用。项目地址: https://gitcode.com/cann/its-trip

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询