thinking-triz
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseTRIZ Thinking
TRIZ思维
Overview
概述
TRIZ (Teoriya Resheniya Izobretatelskikh Zadatch) is a systematic innovation methodology developed by Genrich Altshuller from analyzing 200,000+ patents. It provides structured approaches to solve "impossible" problems by identifying and resolving contradictions rather than accepting trade-offs.
Core Principle: Behind every difficult problem lies a contradiction. Resolve the contradiction, solve the problem. Great innovations don't compromise—they transcend.
TRIZ(俄文发明问题解决理论的缩写)是Genrich Altshuller在分析20多万份专利后提出的系统化创新方法论。它提供了结构化的方法来解决“不可能”的问题,核心是识别并解决矛盾,而非接受权衡妥协。
核心原则: 每个难题的背后都存在矛盾,解决矛盾就能解决问题。伟大的创新从不妥协——它们会突破限制。
When to Use
适用场景
- Facing "impossible" trade-offs (fast vs. accurate, secure vs. convenient)
- Stuck choosing between two conflicting requirements
- Need innovation beyond incremental improvement
- Design has hit fundamental constraints
- Competitors all accept the same trade-off you're facing
- Requirements seem mutually exclusive
- Breaking through performance plateaus
Decision flow:
Stuck between trade-offs? → yes → APPLY TRIZ
Requirements seem contradictory? → yes → APPLY TRIZ
Need breakthrough, not compromise? → yes → APPLY TRIZ
All solutions have same weakness? → yes → APPLY TRIZ- 面临“不可能”的权衡(快 vs 准、安全 vs 便捷)
- 卡在两个冲突需求之间无法抉择
- 需要超越渐进式改进的突破性创新
- 设计遇到了根本性约束
- 竞争对手都在接受你正面临的相同权衡
- 需求看起来互斥
- 要突破性能瓶颈
决策流程:
Stuck between trade-offs? → yes → APPLY TRIZ
Requirements seem contradictory? → yes → APPLY TRIZ
Need breakthrough, not compromise? → yes → APPLY TRIZ
All solutions have same weakness? → yes → APPLY TRIZThe Ideal Final Result (IFR)
最终理想解(IFR)
Before solving, envision the ideal outcome—the system that solves itself:
IFR Formula:
"The [component] [achieves the goal] BY ITSELF,
without [cost/complexity/side effects],
while maintaining [all other functions]"Software Examples:
Traditional: "We need a caching layer to improve performance"
IFR: "The system is instantly fast without any cache complexity"
→ Leads to: Data structures that are inherently fast, lazy evaluation,
computation at write-time instead of read-time
Traditional: "We need monitoring to detect failures"
IFR: "The system never fails, or failures instantly self-heal"
→ Leads to: Self-healing architectures, chaos engineering,
designing for failure from the startIFR Questions:
- What if the problem solved itself?
- What if the harmful element became useful?
- What if we needed zero of the problematic component?
- What's the result we want with zero cost/complexity?
在解决问题前,先设想最理想的结果——系统可以自行解决问题:
IFR Formula:
"The [component] [achieves the goal] BY ITSELF,
without [cost/complexity/side effects],
while maintaining [all other functions]"软件领域示例:
Traditional: "We need a caching layer to improve performance"
IFR: "The system is instantly fast without any cache complexity"
→ Leads to: Data structures that are inherently fast, lazy evaluation,
computation at write-time instead of read-time
Traditional: "We need monitoring to detect failures"
IFR: "The system never fails, or failures instantly self-heal"
→ Leads to: Self-healing architectures, chaos engineering,
designing for failure from the startIFR思考问题:
- 如果问题可以自行解决会是什么样?
- 如果有害元素变得有用会怎么样?
- 如果我们完全不需要有问题的组件会怎么样?
- 我们想要零成本/零复杂度的结果是什么?
Contradiction Types
矛盾类型
Technical Contradictions
技术矛盾
Improving one parameter worsens another:
| Improving | Worsens | Example |
|---|---|---|
| Speed | Accuracy | Fast processing loses precision |
| Security | Usability | Strong auth frustrates users |
| Reliability | Cost | Redundancy is expensive |
| Features | Simplicity | More capability, more complexity |
| Throughput | Latency | Batching improves throughput, hurts latency |
优化一个参数会导致另一个参数劣化:
| 提升项 | 劣化项 | 示例 |
|---|---|---|
| 速度 | 准确性 | 快速处理会损失精度 |
| 安全性 | 易用性 | 强认证会让用户感到繁琐 |
| 可靠性 | 成本 | 冗余方案成本很高 |
| 功能丰富度 | 简洁性 | 能力越多复杂度越高 |
| 吞吐量 | 延迟 | 批量处理提升吞吐量,但会增加延迟 |
Physical Contradictions
物理矛盾
Same element must have opposite properties:
"The timeout must be SHORT (for fast failure detection)
AND LONG (to tolerate network variance)"
"The cache must be LARGE (for high hit rate)
AND SMALL (for fast invalidation and low memory)"
"The API must be STABLE (for clients)
AND CHANGING (for evolution)"同一个元素需要具备相反的属性:
"The timeout must be SHORT (for fast failure detection)
AND LONG (to tolerate network variance)"
"The cache must be LARGE (for high hit rate)
AND SMALL (for fast invalidation and low memory)"
"The API must be STABLE (for clients)
AND CHANGING (for evolution)"The 40 Inventive Principles (Software-Adapted)
40个发明原理(适配软件领域)
Most Applicable to Software Engineering
最适用于软件工程的原理
| # | Principle | Software Application |
|---|---|---|
| 1 | Segmentation | Microservices, sharding, pagination, chunked processing |
| 2 | Taking Out | Extract the problematic part; separation of concerns |
| 3 | Local Quality | Different configs per environment; adaptive algorithms |
| 5 | Merging | Combine operations (batch), merge services, reduce round-trips |
| 6 | Universality | Multi-purpose components, plugins, generic abstractions |
| 10 | Preliminary Action | Pre-computation, caching, lazy loading, warm-up |
| 11 | Beforehand Cushioning | Circuit breakers, graceful degradation, fallbacks |
| 13 | The Other Way Round | Push vs. pull, invert control, event-driven vs. polling |
| 15 | Dynamization | Dynamic scaling, feature flags, runtime configuration |
| 17 | Another Dimension | Add metadata layer, versioning, time dimension (event sourcing) |
| 22 | Blessing in Disguise | Use errors as signals, leverage constraints, fail-fast |
| 24 | Intermediary | Proxy, adapter, facade, message queue, API gateway |
| 25 | Self-Service | Automation, self-healing, auto-scaling, self-documenting |
| 26 | Copying | Caching, replication, CDN, read replicas, memoization |
| 28 | Mechanics Substitution | Replace polling with webhooks, sync with async |
| 32 | Color Changes | Status indicators, logging levels, visual feedback |
| 34 | Discarding/Recovering | Immutability, event sourcing, garbage collection |
| 35 | Parameter Changes | Feature flags, A/B testing, configuration over code |
| 37 | Thermal Expansion | Elastic scaling, auto-tuning, adaptive thresholds |
| 40 | Composite Structures | Composition over inheritance, layered architecture |
| 编号 | 原理 | 软件领域应用 |
|---|---|---|
| 1 | 分割 | Microservices、sharding、分页、分块处理 |
| 2 | 抽取 | 提取出问题部分;关注点分离 |
| 3 | 局部质量 | 不同环境配置不同规则;自适应算法 |
| 5 | 合并 | 合并操作(批量处理)、合并服务、减少往返请求 |
| 6 | 通用性 | 多用途组件、插件、通用抽象 |
| 10 | 预先动作 | 预计算、caching、懒加载、预热 |
| 11 | 预先缓冲 | Circuit breakers、优雅降级、兜底方案 |
| 13 | 逆向操作 | 推 vs 拉、控制反转、事件驱动 vs 轮询 |
| 15 | 动态化 | 动态扩缩容、功能开关、运行时配置 |
| 17 | 维度拓展 | 新增元数据层、版本控制、时间维度(事件溯源) |
| 22 | 因祸得福 | 将错误作为信号、利用约束、快速失败 |
| 24 | 中介 | 代理、适配器、外观模式、消息队列、API网关 |
| 25 | 自助服务 | 自动化、自愈、自动扩缩容、自文档化 |
| 26 | 复制 | Caching、副本、CDN、读副本、 memoization |
| 28 | 机制替换 | 用webhooks替换轮询、同步改异步 |
| 32 | 状态标识 | 状态指示器、日志等级、视觉反馈 |
| 34 | 丢弃/恢复 | 不可变性、事件溯源、垃圾回收 |
| 35 | 参数调整 | 功能开关、A/B测试、配置优于硬编码 |
| 37 | 热膨胀 | 弹性扩缩容、自动调优、自适应阈值 |
| 40 | 复合结构 | 组合优于继承、分层架构 |
Principle Application Examples
原理应用示例
Segmentation (#1):
Problem: Monolith is slow to deploy and scale
Contradiction: Need unified system (consistency) AND independent scaling
Apply: Segment by bounded context → Microservices with clear boundariesPreliminary Action (#10):
Problem: Complex queries are slow
Contradiction: Need real-time results AND complex aggregations
Apply: Pre-compute during write → Materialized views, denormalizationThe Other Way Round (#13):
Problem: Polling for updates wastes resources
Contradiction: Need immediate updates AND low server load
Apply: Invert the flow → Webhooks, Server-Sent Events, WebSocketsIntermediary (#24):
Problem: Direct client-service coupling is fragile
Contradiction: Need loose coupling AND reliable communication
Apply: Add intermediary → Message queue, API gateway, service mesh分割(#1):
Problem: Monolith is slow to deploy and scale
Contradiction: Need unified system (consistency) AND independent scaling
Apply: Segment by bounded context → Microservices with clear boundaries预先动作(#10):
Problem: Complex queries are slow
Contradiction: Need real-time results AND complex aggregations
Apply: Pre-compute during write → Materialized views, denormalization逆向操作(#13):
Problem: Polling for updates wastes resources
Contradiction: Need immediate updates AND low server load
Apply: Invert the flow → Webhooks, Server-Sent Events, WebSockets中介(#24):
Problem: Direct client-service coupling is fragile
Contradiction: Need loose coupling AND reliable communication
Apply: Add intermediary → Message queue, API gateway, service meshResolving Physical Contradictions
解决物理矛盾
When the same element needs opposite properties, use separation:
当同一个元素需要相反属性时,使用分离法:
Separation in Time
时间分离
"Cache must be fresh AND cached"
→ Time-based invalidation: cached now, fresh later
→ TTL strategies, cache warming schedules
"System must accept AND reject requests"
→ Rate limiting: accept up to threshold, reject after
→ Token bucket, sliding window"Cache must be fresh AND cached"
→ Time-based invalidation: cached now, fresh later
→ TTL strategies, cache warming schedules
"System must accept AND reject requests"
→ Rate limiting: accept up to threshold, reject after
→ Token bucket, sliding windowSeparation in Space
空间分离
"Data must be local (fast) AND distributed (resilient)"
→ Multi-region with local reads, distributed writes
→ Read replicas, write-through caching
"Logs must be detailed (debugging) AND minimal (performance)"
→ Detailed in dev, minimal in prod
→ Different log levels per environment"Data must be local (fast) AND distributed (resilient)"
→ Multi-region with local reads, distributed writes
→ Read replicas, write-through caching
"Logs must be detailed (debugging) AND minimal (performance)"
→ Detailed in dev, minimal in prod
→ Different log levels per environmentSeparation by Condition
条件分离
"Authentication must be strict AND frictionless"
→ Strict for sensitive operations, frictionless for low-risk
→ Step-up authentication, risk-based auth
"Validation must be thorough AND fast"
→ Thorough for untrusted input, fast for internal
→ Trust boundaries, schema validation at edges only"Authentication must be strict AND frictionless"
→ Strict for sensitive operations, frictionless for low-risk
→ Step-up authentication, risk-based auth
"Validation must be thorough AND fast"
→ Thorough for untrusted input, fast for internal
→ Trust boundaries, schema validation at edges onlySeparation in Scale/Level
层级/规模分离
"API must be stable AND evolving"
→ Stable interface, evolving implementation
→ Versioning, backward compatibility, API contracts"API must be stable AND evolving"
→ Stable interface, evolving implementation
→ Versioning, backward compatibility, API contractsContradiction Analysis Framework
矛盾分析框架
Step 1: State the Contradiction Clearly
步骤1:清晰表述矛盾
Template:
"We need [PARAMETER A] to be [STATE 1] for [BENEFIT 1]
BUT also [STATE 2] for [BENEFIT 2]"
Example:
"We need response time to be FAST for user experience
BUT also processing to be THOROUGH for accuracy"Template:
"We need [PARAMETER A] to be [STATE 1] for [BENEFIT 1]
BUT also [STATE 2] for [BENEFIT 2]"
Example:
"We need response time to be FAST for user experience
BUT also processing to be THOROUGH for accuracy"Step 2: Identify the Conflicting Requirements
步骤2:识别冲突需求
List what each state provides:
FAST processing: THOROUGH processing:
- Better UX - Higher accuracy
- Lower timeout risk - Complete validation
- Reduced server load - Fewer edge case bugs列出每种状态带来的价值:
FAST processing: THOROUGH processing:
- Better UX - Higher accuracy
- Lower timeout risk - Complete validation
- Reduced server load - Fewer edge case bugsStep 3: Apply Separation Principles
步骤3:应用分离原则
Try each separation type:
Time: Can we be fast first, thorough later? (async processing)
Space: Can we be fast here, thorough there? (edge vs. origin)
Condition: Can we be fast sometimes, thorough others? (adaptive)
Scale: Can fast and thorough exist at different levels? (layered validation)尝试每种分离类型:
Time: Can we be fast first, thorough later? (async processing)
Space: Can we be fast here, thorough there? (edge vs. origin)
Condition: Can we be fast sometimes, thorough others? (adaptive)
Scale: Can fast and thorough exist at different levels? (layered validation)Step 4: Apply Inventive Principles
步骤4:应用发明原理
Scan relevant principles:
#1 Segmentation: Break into fast-path and slow-path
#10 Preliminary Action: Pre-compute thorough checks
#13 Other Way Round: Push complexity to write-time
#24 Intermediary: Queue for async thorough processing
#26 Copying: Cache thorough results for fast retrieval筛选相关的发明原理:
#1 Segmentation: Break into fast-path and slow-path
#10 Preliminary Action: Pre-compute thorough checks
#13 Other Way Round: Push complexity to write-time
#24 Intermediary: Queue for async thorough processing
#26 Copying: Cache thorough results for fast retrievalStep 5: Synthesize Solutions
步骤5:整合解决方案
Combine insights into concrete approaches:
Solution: Layered validation with async completion
- Edge: Fast syntactic validation (immediate)
- Queue: Thorough semantic validation (async)
- Response: Immediate acknowledgment, webhook for final result将洞察合并为具体的实现方案:
Solution: Layered validation with async completion
- Edge: Fast syntactic validation (immediate)
- Queue: Thorough semantic validation (async)
- Response: Immediate acknowledgment, webhook for final resultSoftware Engineering Contradiction Patterns
软件工程常见矛盾模式
Speed vs. Accuracy
速度 vs 准确性
Contradiction: Need fast results AND accurate results
TRIZ Solutions:
- #1 Segmentation: Fast approximate first, accurate refinement
- #10 Preliminary Action: Pre-compute accurate, serve cached
- #26 Copying: Cache accurate results, serve instantly
Example: Typeahead with fast fuzzy match, async precise rankingContradiction: Need fast results AND accurate results
TRIZ Solutions:
- #1 Segmentation: Fast approximate first, accurate refinement
- #10 Preliminary Action: Pre-compute accurate, serve cached
- #26 Copying: Cache accurate results, serve instantly
Example: Typeahead with fast fuzzy match, async precise rankingSecurity vs. Usability
安全 vs 易用性
Contradiction: Need strong security AND frictionless UX
TRIZ Solutions:
- Separation by Condition: Risk-based authentication
- #3 Local Quality: Stricter for sensitive operations
- #15 Dynamization: Adaptive security based on context
Example: Passwordless for trusted device, MFA for new deviceContradiction: Need strong security AND frictionless UX
TRIZ Solutions:
- Separation by Condition: Risk-based authentication
- #3 Local Quality: Stricter for sensitive operations
- #15 Dynamization: Adaptive security based on context
Example: Passwordless for trusted device, MFA for new deviceConsistency vs. Availability
一致性 vs 可用性
Contradiction: Need strong consistency AND high availability (CAP)
TRIZ Solutions:
- Separation in Space: Consistent within region, eventually across
- #1 Segmentation: Some data strongly consistent, some eventual
- #17 Another Dimension: Version vectors, conflict resolution
Example: CRDT for collaborative editing, strong consistency for transactionsContradiction: Need strong consistency AND high availability (CAP)
TRIZ Solutions:
- Separation in Space: Consistent within region, eventually across
- #1 Segmentation: Some data strongly consistent, some eventual
- #17 Another Dimension: Version vectors, conflict resolution
Example: CRDT for collaborative editing, strong consistency for transactionsSimplicity vs. Capability
简洁性 vs 功能性
Contradiction: Need powerful features AND simple interface
TRIZ Solutions:
- #1 Segmentation: Progressive disclosure, advanced mode
- #6 Universality: Composable primitives vs. monolithic features
- #24 Intermediary: Abstraction layers hiding complexity
Example: Simple API with sensible defaults, advanced options availableContradiction: Need powerful features AND simple interface
TRIZ Solutions:
- #1 Segmentation: Progressive disclosure, advanced mode
- #6 Universality: Composable primitives vs. monolithic features
- #24 Intermediary: Abstraction layers hiding complexity
Example: Simple API with sensible defaults, advanced options availableResource Analysis
资源分析
TRIZ teaches using existing resources before adding new ones:
TRIZ倡导在新增资源前先利用现有资源:
Resource Types
资源类型
| Type | Examples | Software Analog |
|---|---|---|
| Substance | Materials at hand | Existing data, unused fields |
| Field | Energy sources | Compute, network, existing events |
| Space | Unused volume | Memory, disk, idle cores |
| Time | Idle periods | Off-peak processing, startup time |
| Information | Available signals | Logs, metrics, existing state |
| Function | Existing capabilities | Libraries, services already running |
| 类型 | 示例 | 软件领域类比 |
|---|---|---|
| 物质 | 手头的材料 | 现有数据、未使用的字段 |
| 场 | 能源来源 | 算力、网络、现有事件 |
| 空间 | 未使用的容量 | 内存、磁盘、闲置核心 |
| 时间 | 空闲周期 | 非高峰处理、启动时间 |
| 信息 | 可用信号 | 日志、指标、现有状态 |
| 功能 | 现有能力 | 已运行的库、服务 |
Finding Hidden Resources
寻找隐藏资源
Before: "We need a new service to track user sessions"
Resource Analysis:
- What data already exists? → Auth tokens have user identity
- What's already running? → Load balancer sees all requests
- What's unused? → Request headers have room for session ID
Solution: Encode session in existing auth flow, no new serviceBefore: "We need a new service to track user sessions"
Resource Analysis:
- What data already exists? → Auth tokens have user identity
- What's already running? → Load balancer sees all requests
- What's unused? → Request headers have room for session ID
Solution: Encode session in existing auth flow, no new serviceEvolution Patterns
演化模式
TRIZ identifies how systems evolve—use to anticipate future state:
| Pattern | Description | Software Example |
|---|---|---|
| Increasing Ideality | Systems evolve toward IFR | Serverless (no server management) |
| Uneven Development | Parts evolve at different rates | Legacy + modern microservices |
| Transition to Micro | Components get smaller | Monolith → microservices → functions |
| Dynamization | Static becomes dynamic | Config files → feature flags → ML |
| Increased Controllability | More fine-grained control | Manual → automated → autonomous |
TRIZ总结了系统的演化规律,可以用来预判未来状态:
| 模式 | 描述 | 软件领域示例 |
|---|---|---|
| 理想度提升 | 系统朝着IFR演化 | Serverless(无需管理服务器) |
| 非均衡发展 | 不同部分演化速度不同 | 遗留系统 + 现代microservices并存 |
| 微观化转型 | 组件越来越小 | 单体应用 → microservices → 函数 |
| 动态化 | 静态变动态 | 配置文件 → 功能开关 → 机器学习调优 |
| 可控性提升 | 控制粒度越来越细 | 人工 → 自动化 → 自治 |
Verification Checklist
验证检查清单
- Stated the contradiction explicitly (technical or physical)
- Defined the Ideal Final Result
- Attempted separation (time, space, condition, scale)
- Reviewed applicable inventive principles
- Analyzed available resources before adding new ones
- Solution resolves contradiction, not just compromises
- Considered evolution trajectory of the system
- 已经明确表述了矛盾(技术矛盾或物理矛盾)
- 已经定义了最终理想解
- 尝试了分离法(时间、空间、条件、层级)
- 回顾了适用的发明原理
- 新增资源前已经分析了可用现有资源
- 解决方案是解决矛盾而非仅仅妥协
- 考虑了系统的演化轨迹
Integration with Other Thinking Models
与其他思维模型的整合
- First Principles: Break down assumptions before applying TRIZ
- Inversion: What would make the contradiction worse? Avoid that.
- Systems Thinking: Trace contradiction through feedback loops
- Second-Order: Consider downstream effects of resolving the contradiction
- 第一性原理: 应用TRIZ前先拆解假设
- 逆向思维: 什么会让矛盾更严重?避免这样做
- 系统思维: 通过反馈链路追溯矛盾的根源
- 二阶思维: 考虑解决矛盾带来的下游影响
Key Questions
关键问题
- "What is the exact contradiction I'm facing?"
- "What would the Ideal Final Result look like?"
- "Can I separate the conflicting requirements in time, space, or condition?"
- "What resources already exist that I'm not using?"
- "Which inventive principle fits this contradiction pattern?"
- "Am I truly resolving the contradiction, or just compromising?"
- "我面临的具体矛盾到底是什么?"
- "最终理想解是什么样的?"
- "我可以在时间、空间或者条件上分离冲突需求吗?"
- "有什么我还没用到的现有资源?"
- "哪个发明原理适配这个矛盾模式?"
- "我是真的解决了矛盾,还是只是在做妥协?"
Altshuller's Insight
Altshuller的洞见
"You can wait a hundred years for enlightenment, or you can solve the problem in 15 minutes with these principles."
The power of TRIZ is that inventive solutions follow patterns. What seems like creative genius is often systematic application of principles that have worked across domains for decades.
"你可以等100年等来灵光一现,也可以用这些原理在15分钟内解决问题。"
TRIZ的强大之处在于创新解决方案是有规律可循的。那些看起来像是创意天才的成果,往往是系统应用了这些跨领域验证了数十年的原理的结果。