@mison/ling 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/.shared/ui-ux-pro-max/data/charts.csv +26 -0
- package/.agents/.shared/ui-ux-pro-max/data/colors.csv +97 -0
- package/.agents/.shared/ui-ux-pro-max/data/icons.csv +101 -0
- package/.agents/.shared/ui-ux-pro-max/data/landing.csv +31 -0
- package/.agents/.shared/ui-ux-pro-max/data/products.csv +97 -0
- package/.agents/.shared/ui-ux-pro-max/data/prompts.csv +24 -0
- package/.agents/.shared/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/.agents/.shared/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/.agents/.shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/.agents/.shared/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/.agents/.shared/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/.agents/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/.agents/.shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/.agents/.shared/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/.agents/.shared/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/.agents/.shared/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/.agents/.shared/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/.agents/.shared/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/.agents/.shared/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/.agents/.shared/ui-ux-pro-max/data/styles.csv +59 -0
- package/.agents/.shared/ui-ux-pro-max/data/typography.csv +58 -0
- package/.agents/.shared/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/.agents/.shared/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/.agents/.shared/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/.agents/.shared/ui-ux-pro-max/scripts/core.py +258 -0
- package/.agents/.shared/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/.agents/.shared/ui-ux-pro-max/scripts/search.py +106 -0
- package/.agents/ARCHITECTURE.md +285 -0
- package/.agents/agents/backend-specialist.md +268 -0
- package/.agents/agents/code-archaeologist.md +106 -0
- package/.agents/agents/database-architect.md +225 -0
- package/.agents/agents/debugger.md +225 -0
- package/.agents/agents/devops-engineer.md +242 -0
- package/.agents/agents/documentation-writer.md +104 -0
- package/.agents/agents/explorer-agent.md +73 -0
- package/.agents/agents/frontend-specialist.md +618 -0
- package/.agents/agents/game-developer.md +162 -0
- package/.agents/agents/mobile-developer.md +382 -0
- package/.agents/agents/orchestrator.md +436 -0
- package/.agents/agents/penetration-tester.md +188 -0
- package/.agents/agents/performance-optimizer.md +187 -0
- package/.agents/agents/product-manager.md +112 -0
- package/.agents/agents/product-owner.md +95 -0
- package/.agents/agents/project-planner.md +405 -0
- package/.agents/agents/qa-automation-engineer.md +103 -0
- package/.agents/agents/security-auditor.md +170 -0
- package/.agents/agents/seo-specialist.md +111 -0
- package/.agents/agents/test-engineer.md +158 -0
- package/.agents/mcp_config.json +22 -0
- package/.agents/rules/GEMINI.md +273 -0
- package/.agents/scripts/auto_preview.py +148 -0
- package/.agents/scripts/checklist.py +217 -0
- package/.agents/scripts/session_manager.py +120 -0
- package/.agents/scripts/verify_all.py +327 -0
- package/.agents/skills/api-patterns/SKILL.md +84 -0
- package/.agents/skills/api-patterns/api-style.md +42 -0
- package/.agents/skills/api-patterns/auth.md +24 -0
- package/.agents/skills/api-patterns/documentation.md +26 -0
- package/.agents/skills/api-patterns/graphql.md +41 -0
- package/.agents/skills/api-patterns/rate-limiting.md +31 -0
- package/.agents/skills/api-patterns/response.md +37 -0
- package/.agents/skills/api-patterns/rest.md +40 -0
- package/.agents/skills/api-patterns/scripts/api_validator.py +211 -0
- package/.agents/skills/api-patterns/security-testing.md +122 -0
- package/.agents/skills/api-patterns/trpc.md +41 -0
- package/.agents/skills/api-patterns/versioning.md +22 -0
- package/.agents/skills/app-builder/SKILL.md +75 -0
- package/.agents/skills/app-builder/agent-coordination.md +74 -0
- package/.agents/skills/app-builder/feature-building.md +53 -0
- package/.agents/skills/app-builder/project-detection.md +34 -0
- package/.agents/skills/app-builder/scaffolding.md +118 -0
- package/.agents/skills/app-builder/tech-stack.md +40 -0
- package/.agents/skills/app-builder/templates/SKILL.md +39 -0
- package/.agents/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/.agents/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/.agents/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/.agents/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/.agents/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/.agents/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/.agents/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/.agents/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -0
- package/.agents/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -0
- package/.agents/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -0
- package/.agents/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -0
- package/.agents/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/.agents/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -0
- package/.agents/skills/architecture/SKILL.md +57 -0
- package/.agents/skills/architecture/context-discovery.md +43 -0
- package/.agents/skills/architecture/examples.md +94 -0
- package/.agents/skills/architecture/pattern-selection.md +68 -0
- package/.agents/skills/architecture/patterns-reference.md +50 -0
- package/.agents/skills/architecture/trade-off-analysis.md +77 -0
- package/.agents/skills/bash-linux/SKILL.md +201 -0
- package/.agents/skills/behavioral-modes/SKILL.md +264 -0
- package/.agents/skills/brainstorming/SKILL.md +164 -0
- package/.agents/skills/brainstorming/dynamic-questioning.md +359 -0
- package/.agents/skills/clean-code/SKILL.md +200 -0
- package/.agents/skills/code-review-checklist/SKILL.md +125 -0
- package/.agents/skills/database-design/SKILL.md +54 -0
- package/.agents/skills/database-design/database-selection.md +43 -0
- package/.agents/skills/database-design/indexing.md +39 -0
- package/.agents/skills/database-design/migrations.md +50 -0
- package/.agents/skills/database-design/optimization.md +36 -0
- package/.agents/skills/database-design/orm-selection.md +30 -0
- package/.agents/skills/database-design/schema-design.md +56 -0
- package/.agents/skills/database-design/scripts/schema_validator.py +172 -0
- package/.agents/skills/deployment-procedures/SKILL.md +241 -0
- package/.agents/skills/doc.md +177 -0
- package/.agents/skills/documentation-templates/SKILL.md +194 -0
- package/.agents/skills/frontend-design/SKILL.md +418 -0
- package/.agents/skills/frontend-design/animation-guide.md +331 -0
- package/.agents/skills/frontend-design/color-system.md +307 -0
- package/.agents/skills/frontend-design/decision-trees.md +418 -0
- package/.agents/skills/frontend-design/motion-graphics.md +306 -0
- package/.agents/skills/frontend-design/scripts/accessibility_checker.py +183 -0
- package/.agents/skills/frontend-design/scripts/ux_audit.py +727 -0
- package/.agents/skills/frontend-design/typography-system.md +345 -0
- package/.agents/skills/frontend-design/ux-psychology.md +1118 -0
- package/.agents/skills/frontend-design/visual-effects.md +383 -0
- package/.agents/skills/game-development/2d-games/SKILL.md +119 -0
- package/.agents/skills/game-development/3d-games/SKILL.md +135 -0
- package/.agents/skills/game-development/SKILL.md +167 -0
- package/.agents/skills/game-development/game-art/SKILL.md +185 -0
- package/.agents/skills/game-development/game-audio/SKILL.md +190 -0
- package/.agents/skills/game-development/game-design/SKILL.md +129 -0
- package/.agents/skills/game-development/mobile-games/SKILL.md +108 -0
- package/.agents/skills/game-development/multiplayer/SKILL.md +132 -0
- package/.agents/skills/game-development/pc-games/SKILL.md +144 -0
- package/.agents/skills/game-development/vr-ar/SKILL.md +123 -0
- package/.agents/skills/game-development/web-games/SKILL.md +150 -0
- package/.agents/skills/geo-fundamentals/SKILL.md +155 -0
- package/.agents/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/.agents/skills/i18n-localization/SKILL.md +154 -0
- package/.agents/skills/i18n-localization/scripts/i18n_checker.py +241 -0
- package/.agents/skills/intelligent-routing/SKILL.md +335 -0
- package/.agents/skills/lint-and-validate/SKILL.md +44 -0
- package/.agents/skills/lint-and-validate/scripts/lint_runner.py +184 -0
- package/.agents/skills/lint-and-validate/scripts/type_coverage.py +173 -0
- package/.agents/skills/mcp-builder/SKILL.md +176 -0
- package/.agents/skills/mobile-design/SKILL.md +394 -0
- package/.agents/skills/mobile-design/decision-trees.md +516 -0
- package/.agents/skills/mobile-design/mobile-backend.md +491 -0
- package/.agents/skills/mobile-design/mobile-color-system.md +420 -0
- package/.agents/skills/mobile-design/mobile-debugging.md +122 -0
- package/.agents/skills/mobile-design/mobile-design-thinking.md +355 -0
- package/.agents/skills/mobile-design/mobile-navigation.md +458 -0
- package/.agents/skills/mobile-design/mobile-performance.md +767 -0
- package/.agents/skills/mobile-design/mobile-testing.md +356 -0
- package/.agents/skills/mobile-design/mobile-typography.md +432 -0
- package/.agents/skills/mobile-design/platform-android.md +666 -0
- package/.agents/skills/mobile-design/platform-ios.md +561 -0
- package/.agents/skills/mobile-design/scripts/mobile_audit.py +670 -0
- package/.agents/skills/mobile-design/touch-psychology.md +537 -0
- package/.agents/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +311 -0
- package/.agents/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +241 -0
- package/.agents/skills/nextjs-react-expert/3-server-server-side-performance.md +489 -0
- package/.agents/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +263 -0
- package/.agents/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -0
- package/.agents/skills/nextjs-react-expert/6-rendering-rendering-performance.md +431 -0
- package/.agents/skills/nextjs-react-expert/7-js-javascript-performance.md +683 -0
- package/.agents/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +149 -0
- package/.agents/skills/nextjs-react-expert/SKILL.md +286 -0
- package/.agents/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
- package/.agents/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
- package/.agents/skills/nodejs-best-practices/SKILL.md +333 -0
- package/.agents/skills/parallel-agents/SKILL.md +193 -0
- package/.agents/skills/performance-profiling/SKILL.md +149 -0
- package/.agents/skills/performance-profiling/scripts/lighthouse_audit.py +120 -0
- package/.agents/skills/plan-writing/SKILL.md +152 -0
- package/.agents/skills/powershell-windows/SKILL.md +166 -0
- package/.agents/skills/python-patterns/SKILL.md +441 -0
- package/.agents/skills/red-team-tactics/SKILL.md +203 -0
- package/.agents/skills/refactoring-patterns/SKILL.md +43 -0
- package/.agents/skills/rust-pro/SKILL.md +190 -0
- package/.agents/skills/seo-fundamentals/SKILL.md +135 -0
- package/.agents/skills/seo-fundamentals/scripts/seo_checker.py +215 -0
- package/.agents/skills/server-management/SKILL.md +161 -0
- package/.agents/skills/systematic-debugging/SKILL.md +114 -0
- package/.agents/skills/tailwind-patterns/SKILL.md +269 -0
- package/.agents/skills/tdd-workflow/SKILL.md +149 -0
- package/.agents/skills/testing-patterns/SKILL.md +178 -0
- package/.agents/skills/testing-patterns/scripts/test_runner.py +219 -0
- package/.agents/skills/vulnerability-scanner/SKILL.md +276 -0
- package/.agents/skills/vulnerability-scanner/checklists.md +131 -0
- package/.agents/skills/vulnerability-scanner/scripts/__pycache__/security_scan.cpython-310.pyc +0 -0
- package/.agents/skills/vulnerability-scanner/scripts/security_scan.py +524 -0
- package/.agents/skills/web-design-guidelines/SKILL.md +57 -0
- package/.agents/skills/webapp-testing/SKILL.md +187 -0
- package/.agents/skills/webapp-testing/scripts/playwright_runner.py +173 -0
- package/.agents/workflows/brainstorm.md +113 -0
- package/.agents/workflows/create.md +59 -0
- package/.agents/workflows/debug.md +103 -0
- package/.agents/workflows/deploy.md +176 -0
- package/.agents/workflows/enhance.md +63 -0
- package/.agents/workflows/orchestrate.md +242 -0
- package/.agents/workflows/plan.md +89 -0
- package/.agents/workflows/preview.md +80 -0
- package/.agents/workflows/restore-localize-compat.md +525 -0
- package/.agents/workflows/status.md +86 -0
- package/.agents/workflows/test.md +144 -0
- package/.agents/workflows/ui-ux-pro-max.md +295 -0
- package/.spec/profiles/codex/AGENTS.spec.md +7 -0
- package/.spec/profiles/codex/ling.spec.rules.md +4 -0
- package/.spec/profiles/gemini/GEMINI.spec.md +5 -0
- package/.spec/references/README.md +36 -0
- package/.spec/references/cse-quickstart.md +96 -0
- package/.spec/references/gda-framework.md +394 -0
- package/.spec/references/harness-engineering-digest.md +93 -0
- package/.spec/skills/cybernetic-systems-engineering/SKILL.md +792 -0
- package/.spec/skills/cybernetic-systems-engineering/agents/openai.yaml +5 -0
- package/.spec/skills/cybernetic-systems-engineering/assets/quickstart.md +96 -0
- package/.spec/skills/cybernetic-systems-engineering/references/README.md +36 -0
- package/.spec/skills/cybernetic-systems-engineering/references/gda-framework.md +394 -0
- package/.spec/skills/cybernetic-systems-engineering/scripts/issues.csv +20 -0
- package/.spec/skills/harness-engineering/SKILL.md +100 -0
- package/.spec/skills/harness-engineering/agents/openai.yaml +4 -0
- package/.spec/skills/harness-engineering/references/harness-engineering-digest.md +93 -0
- package/.spec/templates/driver-prompt.md +7 -0
- package/.spec/templates/handoff.md +9 -0
- package/.spec/templates/issues.template.csv +2 -0
- package/.spec/templates/phase-acceptance.md +9 -0
- package/.spec/templates/review-report.md +9 -0
- package/AGENT_FLOW.md +609 -0
- package/CHANGELOG.md +43 -0
- package/LICENSE +21 -0
- package/README.md +359 -0
- package/bin/adapters/base.js +63 -0
- package/bin/adapters/codex.js +421 -0
- package/bin/adapters/gemini.js +157 -0
- package/bin/ag-kit.js +2266 -0
- package/bin/core/builder.js +80 -0
- package/bin/core/generator.js +59 -0
- package/bin/core/resource-loader.js +64 -0
- package/bin/core/transformer.js +208 -0
- package/bin/interactive.js +65 -0
- package/bin/ling.js +3 -0
- package/bin/utils/atomic-writer.js +97 -0
- package/bin/utils/git-helper.js +68 -0
- package/bin/utils/managed-block.js +65 -0
- package/bin/utils/manifest.js +244 -0
- package/bin/utils.js +89 -0
- package/docs/PLAN.md +54 -0
- package/docs/TECH.md +191 -0
- package/package.json +56 -0
- package/scripts/ci-verify.js +110 -0
- package/scripts/clean.js +123 -0
- package/scripts/health-check.js +143 -0
- package/scripts/health-check.sh +6 -0
- package/scripts/postinstall-check.js +112 -0
- package/scripts/run-tests.js +49 -0
- package/tests/atomic-writer.test.js +47 -0
- package/tests/clean-script.test.js +77 -0
- package/tests/cli-smoke.test.js +479 -0
- package/tests/codex-adapter.test.js +132 -0
- package/tests/doctor.test.js +94 -0
- package/tests/gemini-adapter.test.js +30 -0
- package/tests/generator.test.js +48 -0
- package/tests/git-helper.test.js +53 -0
- package/tests/global-sync.test.js +133 -0
- package/tests/health-check-script.test.js +34 -0
- package/tests/managed-block.test.js +41 -0
- package/tests/manifest.test.js +97 -0
- package/tests/package-tarball.test.js +33 -0
- package/tests/phase-c.test.js +107 -0
- package/tests/spec-profile.test.js +86 -0
- package/tests/standards-compliance.test.js +303 -0
- package/tests/transformer.test.js +74 -0
- package/tests/versioning.test.js +51 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Quickstart
|
|
2
|
+
|
|
3
|
+
## 什么时候用
|
|
4
|
+
|
|
5
|
+
适合:
|
|
6
|
+
|
|
7
|
+
- bugfix
|
|
8
|
+
- feature
|
|
9
|
+
- refactor
|
|
10
|
+
- 性能优化
|
|
11
|
+
- 测试补强
|
|
12
|
+
- 事故复盘
|
|
13
|
+
- 架构审计
|
|
14
|
+
- gate / handoff
|
|
15
|
+
|
|
16
|
+
尤其适合:
|
|
17
|
+
|
|
18
|
+
- “问题复杂、不能只看单个文件”
|
|
19
|
+
- “离线通过但真实环境失败”
|
|
20
|
+
- “需要最小可验证变更”
|
|
21
|
+
- “需要系统级收口,不只是修一行代码”
|
|
22
|
+
|
|
23
|
+
## 最短使用姿势
|
|
24
|
+
|
|
25
|
+
在提示词里显式写:
|
|
26
|
+
|
|
27
|
+
- `$cybernetic-systems-engineering`
|
|
28
|
+
|
|
29
|
+
如果任务会持续多轮、需要检查点和恢复,建议同时写:
|
|
30
|
+
|
|
31
|
+
- `$harness`
|
|
32
|
+
|
|
33
|
+
## 最小可用控制模板 v2
|
|
34
|
+
|
|
35
|
+
### Control Contract v2
|
|
36
|
+
|
|
37
|
+
- Primary Setpoint:
|
|
38
|
+
- Acceptance:
|
|
39
|
+
- Guardrail Metrics:
|
|
40
|
+
- Sampling Plan:
|
|
41
|
+
- Known Delays / Delay Budget:
|
|
42
|
+
- Recovery Target:
|
|
43
|
+
- Rollback Trigger:
|
|
44
|
+
- Constraints:
|
|
45
|
+
- Boundary:
|
|
46
|
+
- Coupling Notes:
|
|
47
|
+
- Approximation Validity:
|
|
48
|
+
- Actuator Budget:
|
|
49
|
+
- Risks:
|
|
50
|
+
|
|
51
|
+
### State Estimate
|
|
52
|
+
|
|
53
|
+
- Entry:
|
|
54
|
+
- Key state:
|
|
55
|
+
- Key invariants:
|
|
56
|
+
- Current error:
|
|
57
|
+
|
|
58
|
+
### Plan
|
|
59
|
+
|
|
60
|
+
1. 先测量
|
|
61
|
+
2. 再最小修复
|
|
62
|
+
3. 分层验证
|
|
63
|
+
4. 记录 residual risk
|
|
64
|
+
|
|
65
|
+
## 一个典型例子
|
|
66
|
+
|
|
67
|
+
### 用户问题
|
|
68
|
+
|
|
69
|
+
“本地 `cargo test` 全绿,但真实 Windows + VPN 环境下 `PG_CH` 回测炸了。请定位原因并补离线测试。”
|
|
70
|
+
|
|
71
|
+
### 这个 skill 会做什么
|
|
72
|
+
|
|
73
|
+
1. 先建立控制合同
|
|
74
|
+
2. 区分:
|
|
75
|
+
- 语义层测试
|
|
76
|
+
- schema 契约层测试
|
|
77
|
+
- 真实环境 gate
|
|
78
|
+
3. 把问题从“单个 bugfix”升级成:
|
|
79
|
+
- 根因定位
|
|
80
|
+
- 测试缺口审计
|
|
81
|
+
- 最小修复
|
|
82
|
+
- 离线回归矩阵
|
|
83
|
+
- gate handoff
|
|
84
|
+
|
|
85
|
+
## 记住
|
|
86
|
+
|
|
87
|
+
这个 skill 的核心不是:
|
|
88
|
+
|
|
89
|
+
- 用更多术语
|
|
90
|
+
- 画更复杂的图
|
|
91
|
+
|
|
92
|
+
而是:
|
|
93
|
+
|
|
94
|
+
- 更快得到可信误差信号
|
|
95
|
+
- 更小地改动
|
|
96
|
+
- 更清楚地区分“已验证”与“尚未验证”
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# References
|
|
2
|
+
|
|
3
|
+
## 使用顺序
|
|
4
|
+
|
|
5
|
+
1. 先读 `SKILL.md`
|
|
6
|
+
- 获取触发条件、执行骨架、控制合同、验证分层
|
|
7
|
+
2. 需要更完整理论与设计视角时,再读:
|
|
8
|
+
- `gda-framework.md`
|
|
9
|
+
|
|
10
|
+
## 文件说明
|
|
11
|
+
|
|
12
|
+
### `gda-framework.md`
|
|
13
|
+
|
|
14
|
+
包含:
|
|
15
|
+
|
|
16
|
+
- 五大维度:
|
|
17
|
+
- 第一性原理
|
|
18
|
+
- 公理化思维
|
|
19
|
+
- 多模型思维
|
|
20
|
+
- 类比迁移
|
|
21
|
+
- 反馈与验证
|
|
22
|
+
- GDA 四步法:
|
|
23
|
+
- Axiom & Boundary
|
|
24
|
+
- Multi-model Construction
|
|
25
|
+
- Cybernetic Control
|
|
26
|
+
- Closed-loop Observability
|
|
27
|
+
- 面向资深 SWE / 架构师的架构与测试设计启示
|
|
28
|
+
|
|
29
|
+
## 读取建议
|
|
30
|
+
|
|
31
|
+
只有在以下场景才需要读取 `gda-framework.md`:
|
|
32
|
+
|
|
33
|
+
- 任务复杂、跨模块、跨语言、跨环境
|
|
34
|
+
- 需要做系统级审计或总体设计
|
|
35
|
+
- 需要给出测试分层、门禁、handoff、长期演进建议
|
|
36
|
+
- 需要解释“为什么要这样设计”,而不是只给 patch
|
|
@@ -0,0 +1,394 @@
|
|
|
1
|
+
# GDA Framework
|
|
2
|
+
|
|
3
|
+
## 1. 为什么这个 skill 需要总体设计视角
|
|
4
|
+
|
|
5
|
+
从工程实践看:
|
|
6
|
+
|
|
7
|
+
- 初级工程师关注语法和框架
|
|
8
|
+
- 中级工程师关注算法和模式
|
|
9
|
+
- 高级工程师真正解决的是:**如何控制复杂性**
|
|
10
|
+
|
|
11
|
+
这个 skill 的理论底座来自两个方向:
|
|
12
|
+
|
|
13
|
+
1. **系统工程**
|
|
14
|
+
- 关注总体目标、边界、分解、集成、组织
|
|
15
|
+
2. **工程控制论**
|
|
16
|
+
- 关注反馈、稳定性、时滞、噪声、鲁棒性、调节策略
|
|
17
|
+
|
|
18
|
+
把它们映射到软件工程,核心不是数学推导,而是:
|
|
19
|
+
|
|
20
|
+
- 把软件系统当作可观测、可控制、会受扰动、会振荡的复杂系统
|
|
21
|
+
|
|
22
|
+
## 2. 五大维度
|
|
23
|
+
|
|
24
|
+
### 2.1 第一性原理
|
|
25
|
+
|
|
26
|
+
先问:
|
|
27
|
+
|
|
28
|
+
- 业务真正目标是什么
|
|
29
|
+
- 物理极限是什么
|
|
30
|
+
- 什么是不变量
|
|
31
|
+
- 什么是绝对不能妥协的约束
|
|
32
|
+
|
|
33
|
+
软件中的等价问题:
|
|
34
|
+
|
|
35
|
+
- 吞吐 vs 一致性
|
|
36
|
+
- 延迟预算
|
|
37
|
+
- 网络 RTT
|
|
38
|
+
- 磁盘 IOPS
|
|
39
|
+
- 内存 / 缓存边界
|
|
40
|
+
|
|
41
|
+
对应方法:
|
|
42
|
+
|
|
43
|
+
- 约束驱动设计
|
|
44
|
+
|
|
45
|
+
### 2.2 公理化思维
|
|
46
|
+
|
|
47
|
+
系统必须建立在少数不可推翻的契约上:
|
|
48
|
+
|
|
49
|
+
- API 契约
|
|
50
|
+
- schema 契约
|
|
51
|
+
- 状态机合法跃迁
|
|
52
|
+
- 事件语义
|
|
53
|
+
|
|
54
|
+
软件中的反面典型:
|
|
55
|
+
|
|
56
|
+
- 模块越权访问
|
|
57
|
+
- 影子实现
|
|
58
|
+
- 同一状态有两套解释
|
|
59
|
+
|
|
60
|
+
对应方法:
|
|
61
|
+
|
|
62
|
+
- 定义即防御
|
|
63
|
+
- 契约优先于实现
|
|
64
|
+
|
|
65
|
+
### 2.3 多模型思维
|
|
66
|
+
|
|
67
|
+
复杂系统不能只用一种图来理解。
|
|
68
|
+
|
|
69
|
+
至少应切换三种模型:
|
|
70
|
+
|
|
71
|
+
1. 数据流模型
|
|
72
|
+
2. 状态机模型
|
|
73
|
+
3. 时序 / 并发 / 排队模型
|
|
74
|
+
|
|
75
|
+
软件中的典型价值:
|
|
76
|
+
|
|
77
|
+
- 同步 RPC 看不清的问题,换成事件流模型会更清楚
|
|
78
|
+
- OOP 卡住的高并发状态流转,换成 Actor / 队列模型更稳定
|
|
79
|
+
- 代码 profiler 看不清的延迟问题,用排队模型更直观
|
|
80
|
+
|
|
81
|
+
对应方法:
|
|
82
|
+
|
|
83
|
+
- 正交投影建模法
|
|
84
|
+
|
|
85
|
+
### 2.4 类比迁移能力
|
|
86
|
+
|
|
87
|
+
软件系统没有物理形体,但可以寻找物理同构:
|
|
88
|
+
|
|
89
|
+
- 限流 / 降级 -> 漏桶 / 令牌桶
|
|
90
|
+
- 自动扩缩容 -> PID
|
|
91
|
+
- 消息队列 -> 水库 / 缓冲池
|
|
92
|
+
- 熔断 -> 自动断路器
|
|
93
|
+
|
|
94
|
+
当系统出现:
|
|
95
|
+
|
|
96
|
+
- 拥堵
|
|
97
|
+
- 雪崩
|
|
98
|
+
- 震荡
|
|
99
|
+
- 超调
|
|
100
|
+
|
|
101
|
+
就应该主动寻找物理世界中的成熟控制经验。
|
|
102
|
+
|
|
103
|
+
### 2.5 反馈与验证能力
|
|
104
|
+
|
|
105
|
+
没有反馈回路的系统,等价于盲飞。
|
|
106
|
+
|
|
107
|
+
必须有:
|
|
108
|
+
|
|
109
|
+
- metrics
|
|
110
|
+
- logs
|
|
111
|
+
- traces
|
|
112
|
+
- replay / repro
|
|
113
|
+
- tests / benchmarks / gate
|
|
114
|
+
|
|
115
|
+
尤其要关注:
|
|
116
|
+
|
|
117
|
+
- 时滞
|
|
118
|
+
- 非线性
|
|
119
|
+
- 噪声
|
|
120
|
+
- 偶然通过的测试
|
|
121
|
+
|
|
122
|
+
## 3. GDA 四步法
|
|
123
|
+
|
|
124
|
+
### Step 1: Axiom & Boundary
|
|
125
|
+
|
|
126
|
+
执行动作:
|
|
127
|
+
|
|
128
|
+
1. 明确系统最终目标
|
|
129
|
+
2. 写出不变量
|
|
130
|
+
3. 列出硬约束
|
|
131
|
+
4. 算清物理边界
|
|
132
|
+
|
|
133
|
+
产物:
|
|
134
|
+
|
|
135
|
+
- 控制合同(Control Contract)
|
|
136
|
+
- 边界清单
|
|
137
|
+
- 风险清单
|
|
138
|
+
|
|
139
|
+
### Step 2: Multi-model Construction
|
|
140
|
+
|
|
141
|
+
执行动作:
|
|
142
|
+
|
|
143
|
+
1. 建立静态契约域
|
|
144
|
+
- API
|
|
145
|
+
- schema
|
|
146
|
+
- 配置
|
|
147
|
+
- 事件格式
|
|
148
|
+
2. 建立动态状态域
|
|
149
|
+
- 状态机
|
|
150
|
+
- 生命周期
|
|
151
|
+
- 状态收口
|
|
152
|
+
3. 建立容量与排队域
|
|
153
|
+
- 队列
|
|
154
|
+
- 缓冲
|
|
155
|
+
- 背压
|
|
156
|
+
- 瓶颈
|
|
157
|
+
|
|
158
|
+
产物:
|
|
159
|
+
|
|
160
|
+
- 最小系统图
|
|
161
|
+
- 状态机图或文字版
|
|
162
|
+
- 容量/时滞估计
|
|
163
|
+
|
|
164
|
+
### Step 3: Cybernetic Control
|
|
165
|
+
|
|
166
|
+
执行动作:
|
|
167
|
+
|
|
168
|
+
1. 识别主要误差
|
|
169
|
+
2. 选择最小控制输入
|
|
170
|
+
3. 一次只改一类问题
|
|
171
|
+
4. 防止振荡
|
|
172
|
+
|
|
173
|
+
典型控制动作:
|
|
174
|
+
|
|
175
|
+
- 缩小改动范围
|
|
176
|
+
- 加强可观测点
|
|
177
|
+
- 从大修退回最小修复
|
|
178
|
+
- 从“改实现”切换到“补测试/补契约/修接口”
|
|
179
|
+
|
|
180
|
+
### Step 4: Closed-loop Observability
|
|
181
|
+
|
|
182
|
+
执行动作:
|
|
183
|
+
|
|
184
|
+
1. 分层验证
|
|
185
|
+
- L0:快回路
|
|
186
|
+
- L1:中回路
|
|
187
|
+
- L2:慢回路
|
|
188
|
+
2. 明确什么只能在真实环境验证
|
|
189
|
+
3. 沉淀 review / gate / handoff 文档
|
|
190
|
+
|
|
191
|
+
产物:
|
|
192
|
+
|
|
193
|
+
- 测试矩阵
|
|
194
|
+
- 审计报告
|
|
195
|
+
- gate 文档
|
|
196
|
+
- handoff
|
|
197
|
+
|
|
198
|
+
## 4. 对软件架构师的直接启示
|
|
199
|
+
|
|
200
|
+
### 4.1 不是先选技术,而是先选控制目标
|
|
201
|
+
|
|
202
|
+
错误问题:
|
|
203
|
+
|
|
204
|
+
- 用什么数据库?
|
|
205
|
+
- 上不上微服务?
|
|
206
|
+
|
|
207
|
+
正确问题:
|
|
208
|
+
|
|
209
|
+
- 哪个指标必须优先满足?
|
|
210
|
+
- 哪个不变量绝不能破?
|
|
211
|
+
- 哪个失败模式必须被优先吸收?
|
|
212
|
+
|
|
213
|
+
### 4.2 不是先加抽象,而是先界定契约
|
|
214
|
+
|
|
215
|
+
错误问题:
|
|
216
|
+
|
|
217
|
+
- 如何把实现写得更“通用”?
|
|
218
|
+
|
|
219
|
+
正确问题:
|
|
220
|
+
|
|
221
|
+
- 什么应该是 public?
|
|
222
|
+
- 什么只是测试方便,不该变成公共 API?
|
|
223
|
+
- 什么是模块的业务区位?
|
|
224
|
+
|
|
225
|
+
### 4.3 不是所有“通过测试”都等于问题解决
|
|
226
|
+
|
|
227
|
+
必须区分:
|
|
228
|
+
|
|
229
|
+
- 语义测试
|
|
230
|
+
- schema 契约测试
|
|
231
|
+
- 主链测试
|
|
232
|
+
- 真实环境 gate
|
|
233
|
+
|
|
234
|
+
这是本 skill 最关键的现实原则之一。
|
|
235
|
+
|
|
236
|
+
## 5. 使用这个 skill 时的输出风格
|
|
237
|
+
|
|
238
|
+
默认要求输出这些内容中的大部分:
|
|
239
|
+
|
|
240
|
+
1. 当前误差是什么
|
|
241
|
+
2. 当前系统状态估计是什么
|
|
242
|
+
3. 当前改动为什么是最小控制输入
|
|
243
|
+
4. 验证层次是什么
|
|
244
|
+
5. 哪些风险还没被闭环吸收
|
|
245
|
+
|
|
246
|
+
## 6. 常见误区
|
|
247
|
+
|
|
248
|
+
1. 把控制论理解成“堆术语”
|
|
249
|
+
2. 把系统工程理解成“画更多图”
|
|
250
|
+
3. 把离线通过等价为真实环境通过
|
|
251
|
+
4. 把测试便利性凌驾于模块职责之上
|
|
252
|
+
5. 把临时修复变成新的影子事实源
|
|
253
|
+
|
|
254
|
+
## 7. 一页版执行模板
|
|
255
|
+
|
|
256
|
+
### Control Contract
|
|
257
|
+
|
|
258
|
+
- Primary Setpoint:
|
|
259
|
+
- Acceptance:
|
|
260
|
+
- Guardrail Metrics:
|
|
261
|
+
- Sampling Plan:
|
|
262
|
+
- Known Delays / Delay Budget:
|
|
263
|
+
- Recovery Target:
|
|
264
|
+
- Rollback Trigger:
|
|
265
|
+
- Constraints:
|
|
266
|
+
- Boundary:
|
|
267
|
+
- Coupling Notes:
|
|
268
|
+
- Approximation Validity:
|
|
269
|
+
- Actuator Budget:
|
|
270
|
+
- Risks:
|
|
271
|
+
|
|
272
|
+
### State Estimate
|
|
273
|
+
|
|
274
|
+
- Entry:
|
|
275
|
+
- Key state:
|
|
276
|
+
- Key invariants:
|
|
277
|
+
- Current error signal:
|
|
278
|
+
|
|
279
|
+
### Hypotheses
|
|
280
|
+
|
|
281
|
+
1. H1:
|
|
282
|
+
2. H2:
|
|
283
|
+
3. H3:
|
|
284
|
+
|
|
285
|
+
### Experiment Plan
|
|
286
|
+
|
|
287
|
+
- E1:
|
|
288
|
+
- E2:
|
|
289
|
+
- E3:
|
|
290
|
+
|
|
291
|
+
### Patch Plan
|
|
292
|
+
|
|
293
|
+
- Step 1:
|
|
294
|
+
- Step 2:
|
|
295
|
+
- Step 3:
|
|
296
|
+
|
|
297
|
+
### Verification
|
|
298
|
+
|
|
299
|
+
- L0:
|
|
300
|
+
- L1:
|
|
301
|
+
- L2:
|
|
302
|
+
|
|
303
|
+
### Recovery Evidence
|
|
304
|
+
|
|
305
|
+
- Trigger:
|
|
306
|
+
- Recovery time:
|
|
307
|
+
- Rollback / restart:
|
|
308
|
+
|
|
309
|
+
### Observability Evidence
|
|
310
|
+
|
|
311
|
+
- Metrics / traces:
|
|
312
|
+
- Profiling baseline:
|
|
313
|
+
- Before vs after:
|
|
314
|
+
|
|
315
|
+
### Residual Risks
|
|
316
|
+
|
|
317
|
+
- Risk 1:
|
|
318
|
+
- Risk 2:
|
|
319
|
+
|
|
320
|
+
## 8. 现代映射附录
|
|
321
|
+
|
|
322
|
+
这一节不是重复主 skill,而是把《论系统工程》《工程控制论》的经典问题,映射到云原生、分布式和 AI 原生工程语境。
|
|
323
|
+
|
|
324
|
+
### 8.1 系统工程总体设计 -> 云原生总体控制结构
|
|
325
|
+
|
|
326
|
+
- 经典问题:
|
|
327
|
+
- 如何为一个大系统建立总体设计部,统一目标、边界、分工与集成
|
|
328
|
+
- 现代映射:
|
|
329
|
+
- 平台团队、架构委员会、共享边界 owner、发布治理和统一门禁
|
|
330
|
+
- 典型例子:
|
|
331
|
+
- 微服务拆分后,团队不再只管“自己的服务”,还要定义共享 API、共享 schema、mesh 策略和发布窗口
|
|
332
|
+
|
|
333
|
+
### 8.2 时滞 -> 异步传播、CI 排队、缓存刷新与灰度延迟
|
|
334
|
+
|
|
335
|
+
- 经典问题:
|
|
336
|
+
- 时间延迟会让原本稳定的系统出现低频振荡
|
|
337
|
+
- 现代映射:
|
|
338
|
+
- 异步队列传播、CDN 或缓存刷新、控制面配置下发、CI 队列、灰度生效延迟
|
|
339
|
+
- 典型例子:
|
|
340
|
+
- 你刚调了限流参数,dashboard 还没刷新,第二次调参就已经把系统推过头了
|
|
341
|
+
|
|
342
|
+
### 8.3 采样 -> 监控抓取周期、批量上报与窗口聚合
|
|
343
|
+
|
|
344
|
+
- 经典问题:
|
|
345
|
+
- 离散采样会带来别名和误判
|
|
346
|
+
- 现代映射:
|
|
347
|
+
- metrics 抓取周期、日志批量上传、trace 采样率、profiling 采样窗口
|
|
348
|
+
- 典型例子:
|
|
349
|
+
- 用 1 分钟粒度看 5 秒一个周期的抖动,会把真实震荡看成偶发现象
|
|
350
|
+
|
|
351
|
+
### 8.4 反馈 -> 自动扩缩容、重试、熔断、回滚控制器
|
|
352
|
+
|
|
353
|
+
- 经典问题:
|
|
354
|
+
- 反馈能增强稳定性,但错误反馈也会放大震荡
|
|
355
|
+
- 现代映射:
|
|
356
|
+
- HPA、队列消费调度、自动回滚、熔断半开、重试预算控制
|
|
357
|
+
- 典型例子:
|
|
358
|
+
- HPA、应用内重试和网关重试同时工作时,系统不再是单控制器,而是耦合反馈系统
|
|
359
|
+
|
|
360
|
+
### 8.5 解耦 -> 输入输出影响矩阵与平台边界
|
|
361
|
+
|
|
362
|
+
- 经典问题:
|
|
363
|
+
- 多变量系统要先解耦,否则一个输入会同时打坏多个输出
|
|
364
|
+
- 现代映射:
|
|
365
|
+
- 限流参数、缓存策略、连接池、批量大小、并发度这些高耦合 knob 的影响矩阵
|
|
366
|
+
- 典型例子:
|
|
367
|
+
- 调大重试可能抬高成功率,但也会同时抬高延迟、成本和队列长度
|
|
368
|
+
|
|
369
|
+
### 8.6 噪声 -> flake、监控抖动、依赖 brownout
|
|
370
|
+
|
|
371
|
+
- 经典问题:
|
|
372
|
+
- 噪声会污染观测,使错误控制建立在伪信号上
|
|
373
|
+
- 现代映射:
|
|
374
|
+
- flaky test、监控抖动、短时网络毛刺、依赖 brownout、缓存击穿带来的尖峰
|
|
375
|
+
- 典型例子:
|
|
376
|
+
- 把短时 brownout 当成永久故障,会触发错误的扩容、回滚或切流
|
|
377
|
+
|
|
378
|
+
### 8.7 自适应 -> 在线调参、搜索、学习型控制
|
|
379
|
+
|
|
380
|
+
- 经典问题:
|
|
381
|
+
- 当环境持续变化时,固定控制律会失效
|
|
382
|
+
- 现代映射:
|
|
383
|
+
- 自适应限流、动态并发、在线容量预测、带反馈的调参系统、AI agent 的在线策略更新
|
|
384
|
+
- 典型例子:
|
|
385
|
+
- AI 原生系统中,固定 prompt 路由和固定超时很快会老化,必须让策略能根据观测在线修正
|
|
386
|
+
|
|
387
|
+
### 8.8 冗余 -> 多副本、双写、影子链路与容错恢复
|
|
388
|
+
|
|
389
|
+
- 经典问题:
|
|
390
|
+
- 用不可靠部件构造可靠系统,要靠冗余、仲裁和恢复
|
|
391
|
+
- 现代映射:
|
|
392
|
+
- 多副本部署、跨可用区、双写双读、shadow 流量、冷备热备、幂等恢复
|
|
393
|
+
- 典型例子:
|
|
394
|
+
- 双写不是“多一份保险”,而是引入了新的对账、顺序和一致性问题,必须被当成状态面控制问题
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
ID,Title (任务标题),Content (详细内容),Acceptance Criteria (测试验收要求),Review Requirements (Review要求),State (状态),Labels (标签)
|
|
2
|
+
CSE-001,补项目级控制拓扑骨架,"在 `cybernetic-systems-engineering/SKILL.md` 新增“项目级控制拓扑”章节,明确 CSE 不只是任务级闭环,还要定义项目级控制结构、控制边界与跨模块协调入口。","1) `SKILL.md` 新增“项目级控制拓扑”标题;2) 章节明确区分任务级闭环与项目级控制;3) 文本中显式出现总体设计部、控制结构、跨模块协调三个概念;4) 不删除现有 Control Contract 与 GDA 主骨架。","回读新增章节,确认没有把项目级协议写成抽象口号;review+rewind 检查现有章节是否仍可独立阅读。",已完成,技能更新
|
|
3
|
+
CSE-002,补总体设计部与 owner matrix,"在项目级控制拓扑章节中补总体设计部协议,定义 owner matrix、决策升级路径、接口冻结条件与跨模块协调职责。","1) `SKILL.md` 明确写出 owner matrix;2) 明确至少一条升级路径规则;3) 明确接口冻结或变更审批条件;4) 说明跨模块变更由谁裁决。","检查职责边界是否清晰,避免出现“所有人都能改所有东西”的模糊协议;review+rewind 确认没有遗漏升级条件。",已完成,技能更新
|
|
4
|
+
CSE-003,补控制面数据面状态面划分,"在 `SKILL.md` 的项目级控制拓扑内补控制面、数据面、状态面三分法,要求 agent 在复杂任务开始前先识别复杂性放置位置。","1) `SKILL.md` 出现控制面/数据面/状态面三个术语;2) 每个术语至少有一句软件工程语义定义;3) 文本要求复杂任务先做三分法识别;4) 说明至少一个复杂性转移示例。","检查三分法是否和现有 Plant/Controller/Sensors/Actuators 定义兼容;review+rewind 确认没有概念冲突。",已完成,技能更新
|
|
5
|
+
CSE-004,升级 Control Contract 为 v2,"把 `SKILL.md` 现有 Control Contract 扩成 v2,增加 Primary Setpoint、Guardrail Metrics、Sampling Plan、Known Delays、Recovery Target、Rollback Trigger、Coupling Notes、Approximation Validity、Actuator Budget。","1) `SKILL.md` 的 Control Contract 字段完整包含新增 9 项;2) 字段命名在同一节内统一;3) 每个字段都有一句用途说明;4) 不再仅停留在 Goal/Acceptance/Constraints/Boundary/Risks 五项。","逐项回读字段,确认没有漏项或重名;review+rewind 检查字段是否可直接复制使用。",已完成,技能更新
|
|
6
|
+
CSE-005,补动态控制病之采样与观测新鲜度,"在 `SKILL.md` 传感器工程后新增“动态控制病”章节之一,覆盖采样周期、观测新鲜度、采样别名、陈旧指标与观测盲区。","1) `SKILL.md` 新增“动态控制病”标题;2) 文本明确包含采样周期、观测新鲜度、采样别名、陈旧指标四项;3) 每项都给出至少一个工程后果;4) 至少一条规则要求性能/稳定性问题先审查观测质量。","检查内容是否是可执行规则而不是概念堆砌;review+rewind 确认与“先测量”原则衔接自然。",已完成,技能更新
|
|
7
|
+
CSE-006,补动态控制病之去抖退避冷却,"继续扩充 `SKILL.md` 的动态控制病章节,增加告警去抖、滞回区间、退避策略、控制冷却时间,避免系统阈值抖动和频繁调参。","1) 文本显式包含告警去抖、滞回区间、退避策略、冷却时间四项;2) 每项至少给出一个何时启用的触发条件;3) 明确禁止连续重复同类控制动作不带冷却窗口。","回读规则,确认具备执行条件和停止条件;review+rewind 检查是否仍符合最小控制输入原则。",已完成,技能更新
|
|
8
|
+
CSE-007,补动态控制病之 anti-chatter 与 anti-windup,"在 `SKILL.md` 动态控制病章节补 anti-chatter、anti-windup、控制器打架、阈值抖动等现代分布式控制反模式。","1) 文本显式包含 anti-chatter、anti-windup、控制器冲突三个术语;2) 至少说明一个重试风暴或扩缩容超调场景;3) 给出至少一条防止多个 controller 同时改同一 knob 的规则。","检查术语解释是否贴近 SWE 场景;review+rewind 确认没有把 anti-windup 写成纯理论描述。",已完成,技能更新
|
|
9
|
+
CSE-008,新增机制优于策略原则,"在 `SKILL.md` 新增“机制优于策略”原则,吸收 The Bitter Lesson,明确何时禁止硬编码 timeout、retry、熔断阈值、连接池大小、扩缩容阈值。","1) `SKILL.md` 新增该原则的明确标题或小节;2) 文本显式禁止把上述阈值默认写死成人工经验;3) 明确至少两类优先机制,如自适应控制、反馈回路、搜索或在线学习;4) 至少给出一条例外条件。","检查是否给出‘何时允许静态策略’的边界,避免绝对化空话;review+rewind 确认与现有最小修改原则不冲突。",已完成,技能更新
|
|
10
|
+
CSE-009,新增 MTTR-first 与 crash-only 协议,"把 `SKILL.md` 从正确性优先扩展到 MTTR-first,补 crash-only、快速恢复、自动回滚、重启语义、故障注入、恢复预算。","1) `SKILL.md` 明确写出 MTTR 优先于 MTBF 的裁决语句;2) 至少包含 crash-only、自动回滚、故障注入三个概念;3) Verification 或 Contract 中出现恢复时间预算;4) 至少一条规则要求不可恢复状态优先显式失败而非静默维持。","检查协议是否与全局‘不静默兜底’基线一致;review+rewind 确认没有引入假恢复路径。",已完成,技能更新
|
|
11
|
+
CSE-010,补黑盒传递函数与耦合矩阵,"在 `SKILL.md` 或 `gda-framework.md` 增加黑盒输入输出、控制输入到输出影响矩阵、解耦矩阵的说明,要求改动前先分析 knob 对 output 的影响。","1) 至少一个文件新增传递函数或输入输出影响矩阵内容;2) 文本明确要求复杂任务先列控制输入、输出、影响方向与外溢风险;3) 明确至少一个多变量耦合示例。","检查矩阵描述是否足够具体,可直接用于 code review 或方案审计;review+rewind 确认没有停留在比喻层。",已完成,技能更新
|
|
12
|
+
CSE-011,新增抽象审查协议,"在 `SKILL.md` 决策准则附近新增抽象审查协议,强调允许 WET、优先物理解耦、按共变关系而不是代码相似度做抽象。","1) 文本显式出现允许 WET、物理解耦、共变关系三个原则;2) 至少列出一个‘代码相似但不应抽象’的判定标准;3) 至少一条规则要求评估未来是否同时变化。","检查协议是否足以约束过早抽象;review+rewind 确认没有把 DRY 全盘否定成另一个极端。",已完成,技能更新
|
|
13
|
+
CSE-012,新增复杂性转移账本,"在 `SKILL.md` 新增“复杂性转移账本”,记录复杂性被下沉、上浮或转移后新增的成本、依赖和失效模式。","1) `SKILL.md` 新增复杂性转移账本标题;2) 模板至少包含复杂性原位置、新位置、收益、新成本、失效模式五项;3) 至少给出 mesh、存储外包或异步补偿中的一个示例。","检查账本是否真的描述转移而不是重复风险清单;review+rewind 确认与项目级控制拓扑相互引用。",已完成,技能更新
|
|
14
|
+
CSE-013,新增演进式架构与可逆决策协议,"在 `SKILL.md` 新增演进式架构章节,覆盖 Gall’s Law、two-way door / one-way door、迁移桥接期、shadow/canary、契约先稳后扩。","1) `SKILL.md` 明确出现 two-way door 与 one-way door;2) 明确桥接期或迁移过渡策略;3) 至少包含 shadow 或 canary 一项;4) 明确先长出简单可用系统再演化的原则。","检查是否把‘可逆’落成判定规则,而不是口号;review+rewind 确认与实战剧本能互相印证。",已完成,技能更新
|
|
15
|
+
CSE-014,补无观测不优化协议,"强化 `SKILL.md` 与 `quickstart.md` 的可观测性要求,规定性能和稳定性问题必须先看 trace、flame graph、profiling baseline、golden signals、对照实验。","1) `SKILL.md` 或 `quickstart.md` 明确写出‘无观测,不优化’;2) 至少列出 trace、flame graph、profiling baseline、golden signals 四项;3) 文本要求性能/稳定性问题先做观测基线再改代码。","检查是否给出‘观测不足时先补观测’的明确动作;review+rewind 确认没有把 profiling 变成可选建议。",已完成,技能更新
|
|
16
|
+
CSE-015,扩交付格式为恢复证据与观测证据,"把 `SKILL.md` 的交付格式扩成现代控制版,新增 Recovery Evidence 与 Observability Evidence。","1) `SKILL.md` 交付格式新增 Recovery Evidence;2) 同时新增 Observability Evidence;3) 文本要求交付‘怎么恢复、多久恢复、依据什么判断’;4) 原有 Summary、State Estimate、Changes、Verification、Residual Risks 结构仍保留。","回读交付格式,确认新字段不是孤立存在,能和 Control Contract v2 对上;review+rewind 检查术语前后一致。",已完成,技能更新
|
|
17
|
+
CSE-016,扩实战剧本到现代高风险场景,"把 `SKILL.md` 实战剧本扩成至少 8 类,覆盖性能退化、异步队列背压、迁移 cutover、部分故障或依赖 brownout、配置回滚、flake triage、成本失控、SLO 漂移。","1) `SKILL.md` 实战剧本总数不少于 8 类;2) 明确包含上述 8 类关键词;3) 每类剧本都有最小步骤骨架;4) 不删除原有 bugfix、测试补强、架构收口剧本。","检查每类剧本是否可执行且边界清晰;review+rewind 确认没有把多个场景混成一类大杂烩。",已完成,技能更新
|
|
18
|
+
CSE-017,给 gda-framework 补现代映射附录,"在 `cybernetic-systems-engineering/references/gda-framework.md` 增加现代映射附录,把《论系统工程》《工程控制论》映射到云原生、分布式、AI 原生工程语境。","1) `gda-framework.md` 新增现代映射附录标题;2) 附录至少覆盖系统工程总体设计、时滞、采样、反馈、解耦、噪声、自适应、冗余这些映射;3) 至少列出一个云原生或 AI 原生例子。","检查附录是否承担‘理论扩展’职责,而不是把主 skill 内容重复一遍;review+rewind 确认主文与附录分工清晰。",已完成,技能更新
|
|
19
|
+
CSE-018,给 quickstart 增加最小控制模板 v2,"在 `cybernetic-systems-engineering/assets/quickstart.md` 增加可直接复制的最小控制模板 v2,带 setpoint、guardrail、sampling、rollback、recovery、coupling 等字段。","1) `quickstart.md` 新增模板 v2 标题;2) 模板包含 Primary Setpoint、Guardrail Metrics、Sampling Plan、Delay Budget、Recovery Target、Rollback Trigger、Coupling Notes、Approximation Validity;3) 模板可直接复制使用。","检查 quickstart 模板字段名是否与 `SKILL.md` 一致;review+rewind 确认初次使用者不读主文也能理解模板。",已完成,技能更新
|
|
20
|
+
CSE-019,做跨文件一致性回扫,"在上述内容补齐后,对 `SKILL.md`、`gda-framework.md`、`quickstart.md` 做一次一致性回扫,清理术语冲突、重复定义和漏同步字段。","1) 三个文件中的关键字段命名一致;2) 交叉引用路径有效;3) 不存在同一概念多套定义;4) 回扫结论能明确列出已闭环项与残余风险。","用全文搜索核对关键术语;review+rewind 确认没有新增影子事实源。",已完成,技能更新
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: harness-engineering
|
|
3
|
+
description: 将复杂开发任务放入“harness 优先”的执行框架,规范代理在真实工具链中的自主执行、人机协作与主动求助。用于需要在代码库中持续迭代并以测试/日志/CI 为证据交付的场景,尤其适合长链路排障、跨模块修复、权限受限环境、CI 失败修复和需要明确“何时请求人工决策”的任务。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Harness Collaboration Skill
|
|
7
|
+
|
|
8
|
+
## 核心目标
|
|
9
|
+
|
|
10
|
+
- 把任务放进可执行 harness,而不是只依赖提示词。
|
|
11
|
+
- 用可观测证据驱动迭代:工具输出、测试结果、日志、CI 状态。
|
|
12
|
+
- 降低人机来回拉扯:让代理先跑,达到阈值再请求人工决策。
|
|
13
|
+
- 在求助时提供结构化选项,而不是只汇报失败。
|
|
14
|
+
|
|
15
|
+
## 执行流程
|
|
16
|
+
|
|
17
|
+
### 1) 先定义成功与边界
|
|
18
|
+
|
|
19
|
+
- 明确交付物、验收标准、约束条件、不可改动范围。
|
|
20
|
+
- 把任务拆成 3-6 个可验证里程碑,每步都能用命令或文件证据判定完成。
|
|
21
|
+
- 在开始前写明失败可接受范围(例如允许重试次数、最长探索时间)。
|
|
22
|
+
|
|
23
|
+
### 2) 优先完善 harness,再让代理执行
|
|
24
|
+
|
|
25
|
+
- 按最小权限逐级放开能力,不一次性给最高权限:
|
|
26
|
+
- L1: 只读代码与文档
|
|
27
|
+
- L2: 可运行测试与静态检查
|
|
28
|
+
- L3: 可修改代码并回归
|
|
29
|
+
- L4: 可执行需要授权的外部操作(发布、生产变更)
|
|
30
|
+
- 在每一级都定义“升级条件”和“回滚条件”。
|
|
31
|
+
- 缺少关键工具时先补工具链,再做深度优化。
|
|
32
|
+
|
|
33
|
+
### 3) 给代理自主探索预算,避免每步打断
|
|
34
|
+
|
|
35
|
+
- 设定时间预算和尝试预算(例如单问题最多 20 分钟或 3 次同类尝试)。
|
|
36
|
+
- 要求每轮迭代都产出证据:做了什么、结果如何、下一步假设是什么。
|
|
37
|
+
- 禁止“无证据重试”:同样手段失败后,必须换策略或请求人工输入。
|
|
38
|
+
|
|
39
|
+
### 4) 按阈值触发主动求助
|
|
40
|
+
|
|
41
|
+
- 任一条件满足即主动请求人工决策:
|
|
42
|
+
- 同类失败连续 2-3 次,且误差模式一致;
|
|
43
|
+
- 缺少关键上下文(需求口径、环境变量、数据权限);
|
|
44
|
+
- 需要越过安全边界或执行高风险变更;
|
|
45
|
+
- 出现多解分支且成本/风险显著不同。
|
|
46
|
+
- 求助时一次性提供:
|
|
47
|
+
- 已尝试动作与证据;
|
|
48
|
+
- 根因假设与不确定点;
|
|
49
|
+
- 2-3 个可选方案(收益、风险、时间成本)。
|
|
50
|
+
|
|
51
|
+
### 5) 用“选项型提问”提升协作效率
|
|
52
|
+
|
|
53
|
+
- 采用封闭式选项,减少往返:
|
|
54
|
+
- 选项 A(推荐):低风险、耗时短、覆盖 80% 场景
|
|
55
|
+
- 选项 B:中风险、改动较大、收益更高
|
|
56
|
+
- 选项 C:高风险、仅在强需求时采用
|
|
57
|
+
- 每次提问只聚焦一个决策点,避免在一个消息中混入多个问题。
|
|
58
|
+
|
|
59
|
+
### 6) 以“可追溯交付”收束
|
|
60
|
+
|
|
61
|
+
- 交付内容必须包含:
|
|
62
|
+
- 变更清单(文件与关键行为);
|
|
63
|
+
- 验证证据(命令、结果、失败与修复过程);
|
|
64
|
+
- 已知风险与边界(明确未覆盖项)。
|
|
65
|
+
- 严禁静默降级、伪成功路径、隐藏失败。
|
|
66
|
+
|
|
67
|
+
## 主动协作消息模板
|
|
68
|
+
|
|
69
|
+
在触发求助阈值后,使用以下模板:
|
|
70
|
+
|
|
71
|
+
```text
|
|
72
|
+
当前阻塞: <一句话描述>
|
|
73
|
+
已验证事实:
|
|
74
|
+
1) <证据1>
|
|
75
|
+
2) <证据2>
|
|
76
|
+
3) <证据3>
|
|
77
|
+
|
|
78
|
+
根因假设:
|
|
79
|
+
- H1: <假设 + 置信度>
|
|
80
|
+
- H2: <假设 + 置信度>
|
|
81
|
+
|
|
82
|
+
可选决策:
|
|
83
|
+
- A(推荐): <方案> | 成本 <x> | 风险 <y> | 预计耗时 <z>
|
|
84
|
+
- B: <方案> | 成本 <x> | 风险 <y> | 预计耗时 <z>
|
|
85
|
+
- C: <方案> | 成本 <x> | 风险 <y> | 预计耗时 <z>
|
|
86
|
+
|
|
87
|
+
需要你确认: <仅一个决策问题>
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## 反模式
|
|
91
|
+
|
|
92
|
+
- 过早求助:尚未形成证据就请求人工接管。
|
|
93
|
+
- 无界重试:重复同一命令但不改变假设。
|
|
94
|
+
- 静默绕过:用兜底路径掩盖真实失败。
|
|
95
|
+
- 只报问题不报选项:把决策压力全部转移给人工。
|
|
96
|
+
- 完成后无证据:缺少可复现实验与验证记录。
|
|
97
|
+
|
|
98
|
+
## 参考资料
|
|
99
|
+
|
|
100
|
+
- 读取 `references/harness-engineering-digest.md` 获取文章蒸馏与落地检查清单。
|