Compare commits
14 Commits
78d4daeff1
...
12a97f8386
| Author | SHA1 | Date |
|---|---|---|
|
|
12a97f8386 | |
|
|
4ca83d9db1 | |
|
|
3881fd2137 | |
|
|
f9f8e7869e | |
|
|
9714164478 | |
|
|
90db954981 | |
|
|
a64cf5232b | |
|
|
e70e9afc39 | |
|
|
1fc57853dc | |
|
|
b64e45cb12 | |
|
|
0e2864c22a | |
|
|
a03ecfe1eb | |
|
|
45c2778cb5 | |
|
|
57ced330ce |
45
README.md
45
README.md
|
|
@ -31,25 +31,17 @@
|
|||
<!-- 资源直达 - 按重要性分组 -->
|
||||
<!-- 🔴 核心理念 (红色系) -->
|
||||
<p>
|
||||
<a href="./assets/documents/principles/philosophy/README.md"><img src="https://img.shields.io/badge/🔮_哲学方法论-底层协议-purple?style=for-the-badge" alt="哲学与方法论"></a>
|
||||
<a href="./assets/documents/guides/getting-started/Vibe%20Coding%20哲学原理.md"><img src="https://img.shields.io/badge/🧠_核心哲学-必读-crimson?style=for-the-badge" alt="核心哲学"></a>
|
||||
<a href="./assets/documents/principles/fundamentals/胶水编程.md"><img src="https://img.shields.io/badge/🧬_胶水编程-银弹-red?style=for-the-badge" alt="胶水编程"></a>
|
||||
<a href="./assets/documents/guides/playbook/图形化AI协作-Canvas白板驱动开发.md"><img src="https://img.shields.io/badge/🎨_Canvas白板-图形驱动-orange?style=for-the-badge" alt="Canvas白板驱动开发"></a>
|
||||
<a href="./assets/documents/guides/getting-started/README.md"><img src="https://img.shields.io/badge/🚀_从零开始-新手入门-red?style=for-the-badge" alt="从零开始"></a>
|
||||
<a href="./assets/documents/principles/fundamentals/血的教训.md"><img src="https://img.shields.io/badge/🩸_血的教训-必看-red?style=for-the-badge" alt="血的教训"></a>
|
||||
<a href="./assets/documents/principles/fundamentals/语言层要素.md"><img src="https://img.shields.io/badge/📊_语言层要素-12层框架-gold?style=for-the-badge" alt="语言层要素"></a>
|
||||
<a href="./assets/documents/principles/fundamentals/常见坑汇总.md"><img src="https://img.shields.io/badge/🕳️_常见坑-避坑指南-yellow?style=for-the-badge" alt="常见坑汇总"></a>
|
||||
<a href="./assets/documents/principles/fundamentals/强前置条件约束.md"><img src="https://img.shields.io/badge/🚫_硬约束-铁律-darkred?style=for-the-badge" alt="强前置条件约束"></a>
|
||||
<a href="./assets/README.md"><img src="https://img.shields.io/badge/📡_信息源-聚合-teal?style=for-the-badge" alt="信息源聚合"></a>
|
||||
<a href="./assets/documents/principles/fundamentals/A%20Formalization%20of%20Recursive%20Self-Optimizing%20Generative%20Systems.md"><img src="https://img.shields.io/badge/📐_元方法论-递归优化-darkorange?style=for-the-badge" alt="元方法论"></a>
|
||||
<a href="./assets/documents/principles/fundamentals/编程之道.md"><img src="https://img.shields.io/badge/🧭_编程之道-道法术-orange?style=for-the-badge" alt="编程之道"></a>
|
||||
<a href="./assets/documents/case-studies/README.md"><img src="https://img.shields.io/badge/🎬_实战案例-项目实操-orange?style=for-the-badge" alt="实战案例"></a>
|
||||
<a href="./assets/README.md"><img src="https://img.shields.io/badge/🛠️_工具集-速查-teal?style=for-the-badge" alt="工具集"></a>
|
||||
<a href="./assets/prompts/"><img src="https://img.shields.io/badge/💬_提示词-精选-purple?style=for-the-badge" alt="提示词精选"></a>
|
||||
<a href="./assets/documents/principles/philosophy/README.md"><img src="https://img.shields.io/badge/🔮_哲学方法论-底层协议-purple?style=for-the-badge" alt="哲学与方法论"></a>
|
||||
<a href="./assets/documents/principles/philosophy/理解世界、描述变化、整理知识的一套较小框架.md"><img src="https://img.shields.io/badge/🧱_概念框架-必读-purple?style=for-the-badge" alt="概念框架"></a>
|
||||
<a href="./assets/documents/guides/getting-started/Vibe%20Coding%20哲学原理.md"><img src="https://img.shields.io/badge/🧠_核心哲学-必读-crimson?style=for-the-badge" alt="核心哲学"></a>
|
||||
<a href="./assets/documents/guides/getting-started/README.md"><img src="https://img.shields.io/badge/🚀_从零开始-新手入门-red?style=for-the-badge" alt="从零开始"></a>
|
||||
<a href="./assets/documents/principles/fundamentals/问题求解能力.md"><img src="https://img.shields.io/badge/🧩_问题求解-必读-purple?style=for-the-badge" alt="问题求解能力"></a>
|
||||
<a href="./assets/documents/principles/fundamentals/语言层要素.md"><img src="https://img.shields.io/badge/📊_语言层要素-12层框架-gold?style=for-the-badge" alt="语言层要素"></a>
|
||||
<a href="./assets/documents/principles/fundamentals/常见坑汇总.md"><img src="https://img.shields.io/badge/🕳️_常见坑-避坑指南-yellow?style=for-the-badge" alt="常见坑汇总"></a>
|
||||
<a href="./assets/documents/principles/fundamentals/强前置条件约束.md"><img src="https://img.shields.io/badge/🚫_硬约束-铁律-darkred?style=for-the-badge" alt="强前置条件约束"></a>
|
||||
<a href="./assets/README.md"><img src="https://img.shields.io/badge/📡_资源-聚合-teal?style=for-the-badge" alt="资源聚合"></a>
|
||||
<a href="./assets/skills/"><img src="https://img.shields.io/badge/⚡_Skills-技能大全-forestgreen?style=for-the-badge" alt="skills技能大全"></a>
|
||||
<a href="https://docs.google.com/spreadsheets/d/1Ifk_dLF25ULSxcfGem1hXzJsi7_RBUNAki8SBCuvkJA/edit?gid=1254297203#gid=1254297203"><img src="https://img.shields.io/badge/📋_提示词-在线表格-blue?style=for-the-badge" alt="提示词在线表格"></a>
|
||||
<a href="https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools"><img src="https://img.shields.io/badge/🔧_系统提示词-仓库-slateblue?style=for-the-badge" alt="系统提示词仓库"></a>
|
||||
<a href="./assets/repo/chat-vault/README.md"><img src="https://img.shields.io/badge/🔐_Chat_Vault-AI会话库-gold?style=for-the-badge" alt="Chat Vault"></a>
|
||||
</p>
|
||||
|
||||
[📋 工具与资源](#tools)
|
||||
|
|
@ -105,16 +97,17 @@
|
|||
|
||||
### 🚀 从零开始
|
||||
|
||||
> **基础前提(建议先看)**:为了让后续所有“方法/步骤/工作流”可被稳定复用,本项目默认使用一套极简概念骨架来理解世界、描述变化与整理知识:对象 → 状态 → 快照 → 序列 → 过程 → 变换 → 同一/差异 → 关系。
|
||||
> 阅读:[`理解世界、描述变化、整理知识的一套较小骨架`](./assets/documents/principles/philosophy/理解世界、描述变化、整理知识的一套较小骨架.md)
|
||||
> **基础前提(建议先看)**:为了让后续所有“方法/步骤/工作流”可被稳定复用,本项目默认使用一套极简概念框架来理解世界、描述变化与整理知识:对象 → 状态 → 快照 → 序列 → 过程 → 变换 → 同一/差异 → 关系。
|
||||
> 阅读:[`理解世界、描述变化、整理知识的一套较小框架`](./assets/documents/principles/philosophy/理解世界、描述变化、整理知识的一套较小框架.md)
|
||||
|
||||
完全新手?按顺序完成以下步骤:
|
||||
|
||||
0. [Vibe Coding 哲学原理](./assets/documents/guides/getting-started/Vibe%20Coding%20哲学原理.md) - 理解核心理念
|
||||
1. [网络环境配置](./assets/documents/guides/getting-started/网络环境配置.md) - 配置网络访问
|
||||
2. [开发环境搭建](./assets/documents/guides/getting-started/开发环境搭建.md) - 复制提示词给 AI,让 AI 指导你搭建环境
|
||||
3. [IDE配置](./assets/documents/guides/getting-started/IDE配置.md) - 配置 VS Code 编辑器
|
||||
4. [OpenCode-CLI配置](./assets/documents/guides/getting-started/OpenCode-CLI配置.md) - 免费 AI CLI 工具,支持 GLM-4.7/MiniMax M2.1 等模型
|
||||
0. [问题求解能力](./assets/documents/principles/fundamentals/问题求解能力.md) - “目标-现状-差距-标准”与“目标-约束-对象-路径”的极简框架
|
||||
1. [Vibe Coding 哲学原理](./assets/documents/guides/getting-started/Vibe%20Coding%20哲学原理.md) - 理解核心理念
|
||||
2. [网络环境配置](./assets/documents/guides/getting-started/网络环境配置.md) - 配置网络访问
|
||||
3. [开发环境搭建](./assets/documents/guides/getting-started/开发环境搭建.md) - 复制提示词给 AI,让 AI 指导你搭建环境
|
||||
4. [IDE配置](./assets/documents/guides/getting-started/IDE配置.md) - 配置 VS Code 编辑器
|
||||
5. [OpenCode-CLI配置](./assets/documents/guides/getting-started/OpenCode-CLI配置.md) - 免费 AI CLI 工具,支持 GLM-4.7/MiniMax M2.1 等模型
|
||||
|
||||
</details>
|
||||
|
||||
|
|
@ -123,9 +116,9 @@
|
|||
|
||||
## 🧪 实验性方法
|
||||
|
||||
> **基础前提**:本节中的“实验性范式/方法论工具箱”默认共享同一套概念骨架(对象/状态/快照/序列/过程/变换/同一-差异/关系),并默认以 Harness Engineering 的闭环与评估机制作为可靠性来源,否则术语会漂移、实践会失焦。
|
||||
> **基础前提**:本节中的“实验性范式/方法论工具箱”默认共享同一套概念框架(对象/状态/快照/序列/过程/变换/同一-差异/关系),并默认以 Harness Engineering 的闭环与评估机制作为可靠性来源,否则术语会漂移、实践会失焦。
|
||||
> 阅读:[`Harness Engineering 的本质拆解`](./assets/documents/principles/fundamentals/Harness%20Engineering%20的本质拆解.md)
|
||||
> 阅读:[`理解世界、描述变化、整理知识的一套较小骨架`](./assets/documents/principles/philosophy/理解世界、描述变化、整理知识的一套较小骨架.md)
|
||||
> 阅读:[`理解世界、描述变化、整理知识的一套较小框架`](./assets/documents/principles/philosophy/理解世界、描述变化、整理知识的一套较小框架.md)
|
||||
|
||||
> 下面是一些“可能随时推翻重写”的实验性方法与范式:先看一眼,觉得对你有用再深入。
|
||||
|
||||
|
|
|
|||
|
|
@ -9,11 +9,11 @@
|
|||
复制以下提示词,粘贴到任意 AI 对话框(ChatGPT、Claude、Gemini 网页版等):
|
||||
|
||||
```
|
||||
你是一个耐心的网络环境配置助手。我需要配置网络代理,以便能够访问 GitHub、Google、Claude 等国外服务。
|
||||
你是一个耐心的网络环境配置助手。我需要配置网络代理,以便能够访问 GitHub、Google、Claude 等服务。
|
||||
|
||||
我的情况:
|
||||
- 操作系统:[请告诉我你用的是 Windows/macOS/Linux/Android]
|
||||
- 我已经有一个代理服务订阅链接(机场订阅)
|
||||
- 我已经有一个代理服务订阅链接
|
||||
|
||||
请指导我使用 FlClash 客户端配置网络代理:
|
||||
1. 如何下载安装 FlClash(GitHub: https://github.com/chen08209/FlClash/releases)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,116 @@
|
|||
# 问题求解能力
|
||||
|
||||
问题求解能力本质上就是:
|
||||
|
||||
把“当前状态”推进到“目标状态”的能力
|
||||
|
||||
所以,任何复杂能力,往下拆,最后都可以落到这一件事上:
|
||||
|
||||
* 先看清楚问题是什么
|
||||
* 再设计求解路径
|
||||
* 再执行并校正
|
||||
|
||||
## 描述
|
||||
|
||||
### 一、定义问题
|
||||
|
||||
先把问题说清楚,不然根本无从求解
|
||||
|
||||
定义问题,至少要回答:
|
||||
|
||||
* 目标:要达到什么结果
|
||||
* 现状:现在是什么情况
|
||||
* 差距:目标和现状之间差了什么
|
||||
* 判断标准:怎样算解决了
|
||||
|
||||
也就是:
|
||||
|
||||
问题 = 目标状态 - 当前状态
|
||||
|
||||
### 二、求解过程
|
||||
|
||||
你写的这三个词非常关键:
|
||||
|
||||
* 目标
|
||||
* 约束
|
||||
* 对象
|
||||
|
||||
我建议把它扩成一个更完整但仍然极简的求解模型:
|
||||
|
||||
#### 1)目标
|
||||
|
||||
要解决到什么程度
|
||||
是“可用”就行,还是“最优”
|
||||
是短期目标,还是长期目标
|
||||
|
||||
#### 2)约束
|
||||
|
||||
不能忽略的边界条件是什么
|
||||
例如:
|
||||
|
||||
* 时间
|
||||
* 资源
|
||||
* 规则
|
||||
* 风险
|
||||
* 能力上限
|
||||
|
||||
#### 3)对象
|
||||
|
||||
到底在处理什么东西
|
||||
对象可能是:
|
||||
|
||||
* 事
|
||||
* 人
|
||||
* 系统
|
||||
* 信息
|
||||
* 资源
|
||||
* 环境
|
||||
|
||||
#### 4)路径
|
||||
|
||||
用什么方法,从现状走到目标
|
||||
也就是:
|
||||
|
||||
* 拆解
|
||||
* 排序
|
||||
* 试错
|
||||
* 反馈
|
||||
* 修正
|
||||
|
||||
## 一句话总结
|
||||
|
||||
问题求解能力 = 准确定义问题,并在目标、约束、对象之下,设计并执行有效求解路径的能力
|
||||
|
||||
## 这个框架为什么很底层
|
||||
|
||||
因为很多看起来不同的能力,其实只是问题求解能力在不同场景里的表现:
|
||||
|
||||
* 学习能力:解决“如何更快获得有效知识”的问题
|
||||
* 决策能力:解决“在不确定条件下如何选更优方案”的问题
|
||||
* 沟通能力:解决“如何让信息被准确接收并促成行动”的问题
|
||||
* 管理能力:解决“如何通过资源配置达成目标”的问题
|
||||
* 创新能力:解决“旧解法不够用时,如何找到新解法”的问题
|
||||
|
||||
也就是说:
|
||||
|
||||
所谓各种能力,本质上都是问题求解能力的场景化展开
|
||||
|
||||
## 继续压缩
|
||||
|
||||
可以直接压成一个公式:
|
||||
|
||||
问题求解 = 定义问题 × 构造解法 × 验证结果
|
||||
|
||||
再展开就是:
|
||||
|
||||
* 定义问题:目标、现状、差距
|
||||
* 构造解法:对象、约束、路径
|
||||
* 验证结果:反馈、迭代、收敛
|
||||
|
||||
## “原则”版本
|
||||
|
||||
你可以这样说:
|
||||
|
||||
> 人的终极核心能力只有一个:问题求解能力
|
||||
> 所有其他能力,都是这一能力在不同对象、目标与约束条件下的具体表现
|
||||
> 问题求解的前提是定义问题,问题求解的核心是围绕目标、约束与对象构造求解路径,并通过反馈不断修正,直到达成目标
|
||||
|
|
@ -519,7 +519,7 @@ ruff + black + pyright(或 mypy) + pytest + hypothesis + pydantic(msgspec可替
|
|||
| 稳定性 | 排序/去重等操作满足稳定条件 |
|
||||
| 交换/结合 | 满足代数性质的操作应通过 |
|
||||
|
||||
### 建议的项目骨架(最小)
|
||||
### 建议的项目框架(最小)
|
||||
|
||||
```text
|
||||
src/ # 纯逻辑与 I/O 分离
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
对象、状态、快照、序列、过程、变换、同一、差异、关系
|
||||
|
||||
这几个概念,
|
||||
几乎就是我们理解世界、描述变化、整理知识的一套较小骨架
|
||||
几乎就是我们理解世界、描述变化、整理知识的一套较小框架
|
||||
它们不只出现在哲学里
|
||||
数学、物理学、计算机科学、系统科学、语言学、认知科学里,
|
||||
也都离不开它们
|
||||
|
|
@ -604,4 +604,4 @@
|
|||
就是让世界真正可以被理解的条件
|
||||
从这个意义上说,
|
||||
这组概念,
|
||||
几乎就是一切系统性思考的基础语法
|
||||
几乎就是一切系统性思考的基础语法
|
||||
|
|
@ -23,6 +23,7 @@ STEP_MAP = {
|
|||
}
|
||||
|
||||
STEP_FLOW = ["step1", "step2", "step3", "step4", "step5"]
|
||||
MAX_RETRY_COUNT = 3
|
||||
|
||||
|
||||
def load_state() -> dict:
|
||||
|
|
@ -80,6 +81,12 @@ def run_step(step: str, state: dict, input_data: dict = None):
|
|||
"output": f"[MOCK] {step} completed",
|
||||
"timestamp": datetime.now().isoformat()
|
||||
}
|
||||
# 可选:通过环境变量模拟 step4 验证失败,用于本地验证重试/熔断逻辑
|
||||
# 默认不生效,不影响正常使用
|
||||
if step == "step4":
|
||||
mock_verify = os.environ.get("VIBE_WORKFLOW_MOCK_VERIFY_STATUS")
|
||||
if mock_verify in ("success", "failed"):
|
||||
result["verify"] = {"status": mock_verify}
|
||||
# ========================
|
||||
|
||||
# 保存产物
|
||||
|
|
@ -117,79 +124,51 @@ def start_workflow(input_file: str = None):
|
|||
|
||||
print(f"[START] 新工作流 run_id={run_id}")
|
||||
|
||||
# 依次执行 step1 -> step5
|
||||
for step in STEP_FLOW:
|
||||
# 显式状态机:支持 step5 失败回跳 step2,并可多次重试(带熔断)
|
||||
step_idx = 0
|
||||
while step_idx < len(STEP_FLOW):
|
||||
step = STEP_FLOW[step_idx]
|
||||
result = run_step(step, state, input_data)
|
||||
|
||||
|
||||
if not result:
|
||||
state["status"] = "error"
|
||||
save_state(state)
|
||||
return
|
||||
|
||||
|
||||
# step4 后检查验证结果
|
||||
if step == "step4":
|
||||
verify_status = result.get("verify", {}).get("status", "success")
|
||||
state["verify"] = {"status": verify_status}
|
||||
|
||||
# step5 决定下一步
|
||||
|
||||
# step5 决定下一步(回跳/完成)
|
||||
if step == "step5":
|
||||
# 模拟 step5 的决策逻辑
|
||||
if state.get("verify", {}).get("status") == "failed":
|
||||
state["target_step"] = "step2" # 失败回跳
|
||||
state["status"] = "retry"
|
||||
print(f"[RETRY] 验证失败,返回 step2 重规划")
|
||||
else:
|
||||
state["target_step"] = "done"
|
||||
state["status"] = "completed"
|
||||
print(f"[COMPLETE] 工作流完成")
|
||||
|
||||
save_state(state)
|
||||
|
||||
# 如果需要回跳,递归处理(带熔断)
|
||||
if state.get("target_step") == "step2":
|
||||
retry_count = state.get("retry_count", 0) + 1
|
||||
if retry_count > 3:
|
||||
print(f"[FATAL] 超过最大重试次数")
|
||||
state["status"] = "fatal_error"
|
||||
save_state(state)
|
||||
return
|
||||
state["retry_count"] = retry_count
|
||||
print(f"[RETRY {retry_count}/3] 从 step2 重新执行")
|
||||
|
||||
# 递归调用自身,复用完整的验证逻辑
|
||||
state["target_step"] = None # 清除回跳标记
|
||||
save_state(state)
|
||||
|
||||
for retry_step in STEP_FLOW[1:]: # step2 onwards
|
||||
result = run_step(retry_step, state, input_data)
|
||||
if not result:
|
||||
state["status"] = "error"
|
||||
next_retry_count = state.get("retry_count", 0) + 1
|
||||
if next_retry_count > MAX_RETRY_COUNT:
|
||||
print(f"[FATAL] 超过最大重试次数")
|
||||
state["retry_count"] = next_retry_count
|
||||
state["target_step"] = "step2"
|
||||
state["status"] = "fatal_error"
|
||||
save_state(state)
|
||||
return
|
||||
|
||||
# step4 后检查验证结果
|
||||
if retry_step == "step4":
|
||||
verify_status = result.get("verify", {}).get("status", "success")
|
||||
state["verify"] = {"status": verify_status}
|
||||
|
||||
# step5 决定下一步
|
||||
if retry_step == "step5":
|
||||
if state.get("verify", {}).get("status") == "failed":
|
||||
state["target_step"] = "step2"
|
||||
state["status"] = "retry"
|
||||
print(f"[RETRY] 验证仍失败,继续重试")
|
||||
break # 跳出内层循环,触发外层重试检查
|
||||
else:
|
||||
state["target_step"] = "done"
|
||||
state["status"] = "completed"
|
||||
print(f"[COMPLETE] 重试成功,工作流完成")
|
||||
|
||||
|
||||
state["retry_count"] = next_retry_count
|
||||
state["target_step"] = "step2"
|
||||
state["status"] = "retry"
|
||||
save_state(state)
|
||||
|
||||
# 如果 step5 设置了新的回跳目标,继续递归
|
||||
if state.get("target_step") == "step2":
|
||||
continue # 继续外层循环的下一次迭代(实际会被 break 跳出)
|
||||
break
|
||||
|
||||
print(f"[RETRY {next_retry_count}/{MAX_RETRY_COUNT}] 验证失败,返回 step2 重规划")
|
||||
step_idx = STEP_FLOW.index("step2")
|
||||
continue
|
||||
|
||||
state["target_step"] = "done"
|
||||
state["status"] = "completed"
|
||||
save_state(state)
|
||||
print(f"[COMPLETE] 工作流完成")
|
||||
return
|
||||
|
||||
save_state(state)
|
||||
step_idx += 1
|
||||
|
||||
|
||||
def main():
|
||||
|
|
|
|||
Loading…
Reference in New Issue