IPO Model(SkillHub)
IPO Model(ClawHub)


name: ipo-model
author: 王教成 Wang Jiaocheng (波动几何)
description: >
输入处理输出结构递归嵌套模型 — 万物基元与世界模型。
一切任务均可分解为 输入→处理→输出 的递归嵌套结构,任意层级的任意节点均可继续展开为子IPO。
不使用工具时:用IPO分析问题、生成产物(纯认知输出)。
使用工具时:在IPO分析产物基础上,进一步用IPO生成命令、脚本,调用 Tool / Skill / MCP。
工具调用层级:command → script → Tool → Skill → MCP,由简到繁逐级升级。
此技能是认知世界和改造世界的统一方法论,适用于所有类型的任务。

输入处理输出结构递归嵌套模型

哲学基础

IPO(Input-Process-Output)是万物的基元结构,是世界模型,是认知方法,也是改造方法。

核心主张

  • 一切事物、一切过程、一切系统,均可视为 IPO 的实例或 IPO 的组合
  • IPO 可以递归嵌套:任意层级的 Input、Process、Output 本身都可以是另一个 IPO
  • 人工智能看待世界、分析问题、生成产物、调用工具,均应使用此模型

不是什么

  • 不是某种编程设计模式
  • 不是某个领域的方法论
  • 是跨领域的、元层的、统一的认知与执行框架

模型定义

基本结构

┌─────────────────────────────────────────────────┐
│                    IPO 单元                       │
│                                                   │
│   Input ──→ Process ──→ Output                   │
│     ↑                       │                     │
│     └──── 反馈 ←────────────┘                     │
│                                                   │
│   其中任意节点均可展开为子IPO                        │
└─────────────────────────────────────────────────┘

三要素详解

要素 含义 示例
Input 进入系统的全部条件、数据、约束、上下文 用户需求、文件内容、API返回、前一步Output
Process 对Input执行的全部变换操作 思考推理、计算分析、代码执行、工具调用
Output Process产生的一切结果、产物、副作用 文本回答、代码文件、图表、状态变更、新IPO

递归嵌套

IPO的真正威力在于递归:任意层级的任意节点,都可以继续展开为完整的IPO

IPO (顶层任务)
├── Input
│   └── IPO (收集信息)
│       ├── Input: 用户原始请求
│       ├── Process: 解析意图、识别约束
│       └── Output: 结构化需求描述
├── Process
│   └── IPO (核心执行)
│       ├── Input: 结构化需求描述
│       ├── Process:
│       │   └── IPO (子任务1)
│       │       ├── Input: ...
│       │       ├── Process: ...
│       │       └── Output: ...
│       │   └── IPO (子任务2)
│       │       └── ...
│       └── Output: 中间结果集
└── Output
    └── IPO (产物交付)
        ├── Input: 中间结果集
        ├── Process: 格式化、整合、验证
        └── Output: 最终交付物

嵌套深度无上限,直到某层足够简单,直接执行即可(基元层)。

基元层

递归展开的终止条件——当前IPO已足够简单,可直接执行,无需继续拆解

基元层的Process只有两类:

模式 含义 执行方式
纯认知 大语言模型直接完成 推理、分析、创作,无需工具
工具调用 需要外部工具辅助 生成command/script/Tool/Skill/MCP

执行协议

核心原则

简单任务用单个IPO基元执行;复杂任务递归展开为IPO树,每个节点是一个基元,基元之间构成执行链条。

默认不展示IPO展开细节,用户可要求展示。

两种执行模式

用户任务
    │
    ├─ 不需要工具? ──→ IPO分析 → LLM直接生成Output
    │
    └─ 需要工具? ──→ IPO分析 → LLM生成产物
                           │
                           └─ 产物的IPO进一步展开 →
                               生成 command / script
                               调用 Tool / Skill / MCP

模式A:纯认知执行(不使用工具)

Input:  接收用户需求
Process: 大语言模型直接分析、推理、创作
Output: 生成文本/方案/分析/代码等产物

适用场景:写作、分析、推理、规划、翻译、总结、代码生成等LLM原生能力可覆盖的任务。

模式B:工具增强执行(使用工具)

在模式A的基础上,Output阶段的产物需要通过工具落地时:

Input:   接收用户需求
Process: IPO分析 → 生成产物方案
Output:  产物的IPO → 选择工具层级 → 生成命令/脚本/调用

工具层级(由简到繁):
  command  ← 单条命令行指令,最轻量
  script   ← Python/Shell脚本,需要多步逻辑
  Tool     ← 内置工具(文件读写、搜索、网页等)
  Skill    ← 已安装技能(领域专业知识+工作流)
  MCP      ← 外部MCP服务(连接第三方系统)

工具选择策略

优先级 工具层级 选择条件
1 command 单条指令可解决
2 script 需要多步逻辑、循环、条件判断
3 Tool 内置工具已覆盖该能力
4 Skill 有对应领域技能且需要其专业工作流
5 MCP 需要连接外部系统/服务

降级原则:能低层解决的不升高层——能用command的不写script,能用Tool的不调Skill。


IPO分析工作流

第一步:接收与理解(Input)

Input的IPO:
├── 识别:用户说了什么?真正要什么?
├── 提取:关键约束、期望格式、隐含需求
├── 评估:复杂度判断(单IPO / 多IPO链 / IPO树)
└── Output:结构化任务描述

第二步:分析与规划(Process)

Process的IPO:
├── 判断:是否需要工具?(模式A or 模式B)
├── 若模式A:直接进入生成
├── 若模式B:规划工具调用方案
│   ├── 哪些步骤需要工具?
│   ├── 每步用什么层级?
│   ├── 工具之间有无依赖?
│   └── 生成调用序列
└── Output:执行计划

第三步:执行与交付(Output)

Output的IPO:
├── 模式A:LLM直接生成产物
├── 模式B:
│   ├── 按序列调用工具
│   ├── 每步检查结果
│   ├── 异常时调整计划
│   └── 汇总所有工具输出
├── 整合:格式化、验证、补充
└── Output:最终交付物

实战示例

示例1:纯认知(翻译文章)

IPO (翻译文章)
├── Input: 用户提供的原文 + 目标语言
├── Process: 直接由LLM完成
│   └── 基元层:无需继续拆解
└── Output: 翻译后的文本

示例2:工具增强(批量重命名文件)

IPO (批量重命名)
├── Input:
│   └── IPO (收集信息)
│       ├── Input: 用户描述的规则
│       ├── Process: 解析命名规则、确定目标目录
│       └── Output: 目录路径 + 命名规则 + 文件列表
├── Process:
│   └── IPO (生成脚本)
│       ├── Input: 上一步的Output
│       ├── Process: LLM生成Python重命名脚本
│       └── Output: Python脚本文件
├── Output:
│   └── IPO (执行与验证)
│       ├── Input: Python脚本
│       ├── Process: 执行脚本 → 检查结果 → 如有错误则修复
│       └── Output: 重命名结果报告

工具选择:script层(需要循环+条件判断,单条command不够)

示例3:工具增强+技能调用(生成PPT报告)

IPO (生成PPT报告)
├── Input:
│   └── IPO (数据准备)
│       ├── Input: 用户的报告主题
│       ├── Process: 搜索相关数据、整理素材
│       └── Output: 结构化的报告内容
├── Process:
│   └── IPO (调用pptx技能)
│       ├── Input: 报告内容
│       ├── Process: use_skill "pptx" → 生成PPT文件
│       └── Output: PPT文件路径
├── Output:
│   └── IPO (交付)
│       ├── Input: PPT文件
│       ├── Process: 打开预览/发送给用户
│       └── Output: 交付的PPT

工具选择:Skill层(有pptx技能覆盖,直接调用)

示例4:复杂IPO树(数据分析+可视化+报告)

IPO (数据分析全流程)
├── Input
│   ├── IPO (获取数据)
│   │   ├── Input: 数据源描述
│   │   ├── Process: 调用API/读取文件
│   │   └── Output: 原始数据
│   └── IPO (理解需求)
│       ├── Input: 用户分析目标
│       └── Output: 分析指标清单
├── Process
│   ├── IPO (清洗数据)          → script
│   │   ├── Input: 原始数据
│   │   ├── Process: Python脚本清洗
│   │   └── Output: 干净数据
│   ├── IPO (统计分析)          → 纯认知
│   │   ├── Input: 干净数据
│   │   ├── Process: LLM分析
│   │   └── Output: 分析结论
│   └── IPO (生成图表)          → script
│       ├── Input: 干净数据
│       ├── Process: Python matplotlib
│       └── Output: 图表文件
└── Output
    └── IPO (组装报告)          → Skill
        ├── Input: 分析结论 + 图表
        ├── Process: 调用docx技能生成报告
        └── Output: Word报告文件

展示协议

默认不展示IPO展开细节,直接给出最终结果。用户可通过以下方式触发展开:

触发 行为
“展示IPO” / “展开分析” 展示完整IPO树结构
“展示Process” 只展开处理层的子IPO
“怎么做到的” 展示执行路径和工具选择理由
“用IPO分析” 以IPO框架重新组织分析过程

展示格式(默认使用文本树):

IPO: [任务名]
├── I: [输入描述]
├── P: [处理描述]
│   └── IPO: [子任务1]
│       ├── I: ...
│       ├── P: ... [工具: script]
│       └── O: ...
│   └── IPO: [子任务2]
│       └── ...
└── O: [输出描述]

文件结构

ipo-model/
├── SKILL.md                        🔒 核心(本文件)
└── references/
    └── examples.md                 ✏️ 实战案例积累

SKILL.md 定义模型本身,不变。references/ 积累具体领域的IPO分析案例。


IPO 模型实战案例

按使用场景积累,供后续快速参考。

格式模板

### [场景名称]

**用户需求**:xxx

**IPO分析**:

\`\`\`
IPO: [任务名]
├── I: ...
├── P: ...
└── O: ...
\`\`\`

**工具选择**:xxx
**关键决策**:xxx

案例库

(随使用积累)

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐