thinking-triz

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

TRIZ 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 TRIZ

The 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 start
IFR 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 start
IFR思考问题:
  • 如果问题可以自行解决会是什么样?
  • 如果有害元素变得有用会怎么样?
  • 如果我们完全不需要有问题的组件会怎么样?
  • 我们想要零成本/零复杂度的结果是什么?

Contradiction Types

矛盾类型

Technical Contradictions

技术矛盾

Improving one parameter worsens another:
ImprovingWorsensExample
SpeedAccuracyFast processing loses precision
SecurityUsabilityStrong auth frustrates users
ReliabilityCostRedundancy is expensive
FeaturesSimplicityMore capability, more complexity
ThroughputLatencyBatching 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

最适用于软件工程的原理

#PrincipleSoftware Application
1SegmentationMicroservices, sharding, pagination, chunked processing
2Taking OutExtract the problematic part; separation of concerns
3Local QualityDifferent configs per environment; adaptive algorithms
5MergingCombine operations (batch), merge services, reduce round-trips
6UniversalityMulti-purpose components, plugins, generic abstractions
10Preliminary ActionPre-computation, caching, lazy loading, warm-up
11Beforehand CushioningCircuit breakers, graceful degradation, fallbacks
13The Other Way RoundPush vs. pull, invert control, event-driven vs. polling
15DynamizationDynamic scaling, feature flags, runtime configuration
17Another DimensionAdd metadata layer, versioning, time dimension (event sourcing)
22Blessing in DisguiseUse errors as signals, leverage constraints, fail-fast
24IntermediaryProxy, adapter, facade, message queue, API gateway
25Self-ServiceAutomation, self-healing, auto-scaling, self-documenting
26CopyingCaching, replication, CDN, read replicas, memoization
28Mechanics SubstitutionReplace polling with webhooks, sync with async
32Color ChangesStatus indicators, logging levels, visual feedback
34Discarding/RecoveringImmutability, event sourcing, garbage collection
35Parameter ChangesFeature flags, A/B testing, configuration over code
37Thermal ExpansionElastic scaling, auto-tuning, adaptive thresholds
40Composite StructuresComposition 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 boundaries
Preliminary Action (#10):
Problem: Complex queries are slow
Contradiction: Need real-time results AND complex aggregations
Apply: Pre-compute during write → Materialized views, denormalization
The 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, WebSockets
Intermediary (#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 mesh

Resolving 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 window

Separation 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 environment

Separation 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 only

Separation 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 contracts

Contradiction 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 bugs

Step 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 retrieval

Step 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 result

Software 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 ranking
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 ranking

Security 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 device
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 device

Consistency 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 transactions
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 transactions

Simplicity 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 available
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 available

Resource Analysis

资源分析

TRIZ teaches using existing resources before adding new ones:
TRIZ倡导在新增资源前先利用现有资源:

Resource Types

资源类型

TypeExamplesSoftware Analog
SubstanceMaterials at handExisting data, unused fields
FieldEnergy sourcesCompute, network, existing events
SpaceUnused volumeMemory, disk, idle cores
TimeIdle periodsOff-peak processing, startup time
InformationAvailable signalsLogs, metrics, existing state
FunctionExisting capabilitiesLibraries, 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 service
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 service

Evolution Patterns

演化模式

TRIZ identifies how systems evolve—use to anticipate future state:
PatternDescriptionSoftware Example
Increasing IdealitySystems evolve toward IFRServerless (no server management)
Uneven DevelopmentParts evolve at different ratesLegacy + modern microservices
Transition to MicroComponents get smallerMonolith → microservices → functions
DynamizationStatic becomes dynamicConfig files → feature flags → ML
Increased ControllabilityMore fine-grained controlManual → 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的强大之处在于创新解决方案是有规律可循的。那些看起来像是创意天才的成果,往往是系统应用了这些跨领域验证了数十年的原理的结果。