跳转到主要内容
跳到正文

WRITING · JOURNAL

曾田力的博客

36 POSTS

工程实践、水利、以及散落各处的想法。也是全部写作的聚合门户。

搜索
把存量代码和一柜子文档,做成真能干活的领域 agent:六步正确路径
AI2026-09-012 人看过

把存量代码和一柜子文档,做成真能干活的领域 agent:六步正确路径

手里有 9 个跑了多年的专业算法、一批只有 docx 和 pdf 的领域文档,怎么把它们做成一个真能替你干活的 agent?这篇是照着走就能走通的教程:六步,每步只讲三件事——做什么、怎么知道成了、坑在哪。最贵的一课:验证器自己也会说谎,四轮验收红灯里有三轮错的是门,不是答案。

从零到 TestFlight:一个人做 iPhone app 的完整路径
AI2026-09-013 人看过

从零到 TestFlight:一个人做 iPhone app 的完整路径

这是一篇照着走就能走通的教程:从注册账号到 TestFlight 一共五步,每步只讲三件事——做什么、怎么知道成了、坑在哪。最贵的一课发生在第一步之前:一个不可逆的决定,烧掉了我两个 app 的名字。

为什么他们必须觉得自己是对的
博客2026-08-1611 分钟

为什么他们必须觉得自己是对的

你瘦了十斤,她说那是拍照角度。她不是在评价你,她是在记账——看懂那本账,你会少生很多气,也会知道哪些事你根本改不了。

我给儿子做了个「资产盘面」:83 条家规变成一个会涨跌的账本
博客2026-08-1115 分钟

我给儿子做了个「资产盘面」:83 条家规变成一个会涨跌的账本

贴纸和小红花的问题不是不管用,是攒不住。我把家里那张 83 条的积分条例做成了一个像股票盘面的账本:走势线、历史新高、兑换商店、每笔可查的流水。这篇讲它长什么样、防哪些坑,以及代币制半个多世纪的研究证据和从多邻国、ClassDojo 抄来的几件事。

我给三年级的孩子做了个练习站:题目无限,但每一套都有头有尾
博客2026-08-0913 分钟

我给三年级的孩子做了个练习站:题目无限,但每一套都有头有尾

一份期末卷长出来的练习站。一套 12 题、题号条、错题本记题型不记题目、经验值和勋章墙、每道题都能「再造一道类似的」。这篇把它有什么功能、长什么样、怎么用,一次讲清楚,配图全是真页面截的。

我给孩子做了个「资产盘面」,他每天自己去看涨了多少
博客2026-08-099 分钟

我给孩子做了个「资产盘面」,他每天自己去看涨了多少

贴纸和小红花的问题不是不管用,是攒不住 —— 攒到第十七张就没人记得第一张是为什么给的。所以我把它做成了账本:每一笔加分扣分都有事由、有时间、有当时的余额,总数摆在最上面,像看盘一样。

我能出五万种题,孩子问我这套一共有几道
博客2026-08-0921 分钟

我能出五万种题,孩子问我这套一共有几道

一份三年级期末卷,我给孩子做了个练习站。五天里推翻了四次:无限流、错题重放、生成器当题库、全枚举炸库。每一次推翻的根因都一样——我把「技术上能做到」当成了「产品该长这样」。这篇把构建思路和使用方法一次写完。

我编了六个数,所有的门都是绿的
博客2026-08-0913 分钟

我编了六个数,所有的门都是绿的

把一张纸质规则表变成配置文件,最危险的动作不是算错,是在原文没给数的地方填一个看着合理的数。算错会被测试抓到;编的数不会——它和真的长得一模一样。

把 AI 搬进 Excel:一次被「重新生成」逼出来的工作流迁移
AI2026-08-05

把 AI 搬进 Excel:一次被「重新生成」逼出来的工作流迁移

脚本生成工作簿两次碾掉我手工调好的图之后,我把 AI 从「在外面生成文件」搬进了 Excel 侧栏就地干活——真正难搬的不是工具,是攒了两年的规矩:怎么打包、怎么分层、怎么让一个没有记忆的助手长记性。

我的检查器打了 102 个勾,你打开表是满屏错误
博客2026-08-027 分钟

我的检查器打了 102 个勾,你打开表是满屏错误

我交表时附了一句「机器逐项核过,102 项全对」。对方打开,满屏错误。

我给 AI 助手的配置画了张图 —— TL Harness 说明书
AI2026-07-30

我给 AI 助手的配置画了张图 —— TL Harness 说明书

228 个零件、677 篇笔记,我说不出哪些还在转。名单能告诉你有什么,答不出「删掉这个会断谁」——于是我把关系画成了图,顺带发现 419 篇笔记的类型标错了,而所有计数都是自洽的。

我给自己装了 35 个报警器,最要紧的那个是我自己弄哑的
博客2026-07-288 分钟

我给自己装了 35 个报警器,最要紧的那个是我自己弄哑的

为了让一个报警器少吵一点,我加了一行去重。它从此对这台机器上的所有对话永远沉默。

每次跑都有输出,所以没人发现它漏了 86%
博客2026-07-2815 分钟

每次跑都有输出,所以没人发现它漏了 86%

一个脚本跑了两个月,每次都有输出,每次看都正常。它漏掉了 86% 的短信。而这两个月里,我一直在拿它的输出做判断。

过度乐观,就是悲观
AI2026-07-23

过度乐观,就是悲观

你感受到的从来不是现实本身,是现实减去预期。现实好过预期才有多巴胺,不如预期就只有失望。所以过度乐观就是悲观——预期抬到天上,现实天天让你失望。教条式的乐观和自信,本质是把预期拉满,在批量给自己制造失望。而两千年前的斯多葛给出了另一种乐观:预期压到最坏,接受一切并从中学习——高预期容易 miss,低预期容易 beat。

情绪价值是个强化信号
AI2026-07-22

情绪价值是个强化信号

情绪价值不是有用没用的问题,它是个强化信号——本身没有方向。绑在真实能力上,它是燃料;和能力脱钩,它是高能耗、不稳定、还会把你锁在错误的行为上。而当前这个内卷、下行、上升通道变窄的环境,正在系统性地让它脱钩——所以它的负作用在放大。

靠结构,不靠记性
AI2026-07-22

靠结构,不靠记性

重复的错误不该靠记性解决,该靠结构解决。教训记在笔记里是愿望,写进拦截钩子里才是制度。三个亲身的坑——一个看不见的字体、一次并发提交、一份报错的台账——机制是同一个:只要'做对'还依赖某个人当场不出错,错误就永远有复发的地方。把这个依赖拆掉。

CRITIC 客观赋权:它在奖励什么,什么时候会悄悄失效
博客2026-07-219 分钟

CRITIC 客观赋权:它在奖励什么,什么时候会悄悄失效

CRITIC 号称让数据自己定权重,但它到底在奖励什么?用一个 5 企业 × 3 指标的完整算例拆开:权重 = 区分度 × 冲突性;同一份数据熵权抬的指标 CRITIC 反手砍掉。再给两个几乎没人提的失效条件——指标只剩 2 个时严格退化为标准差赋权,样本不够时权重是摆设。

三家订阅的跑分账:K3 管量、Claude 管质、GPT 管尖
AI2026-07-19

三家订阅的跑分账:K3 管量、Claude 管质、GPT 管尖

Kimi K3 发布放出 14 项对比跑分,我把两张图逐项抄了一遍对照自己用法:K3 五冠全是高频体力活(长程 agentic/联网调研/自动化),Fable 5 六冠全是案头质感活,GPT-5.6 两冠是尖峰脑力活。按任务性格分工:K3 管干活的量,Claude 管成稿的质,GPT 管推理的尖——附五类任务路由表。

三个开源贡献复盘:Raycast · WeChatTweak · Cardinal
博客2026-07-1812 分钟

三个开源贡献复盘:Raycast · WeChatTweak · Cardinal

2026 年给三个上游项目提的 PR——一个 Raycast 扩展、一次微信 4.x 二进制补丁、一个 Rust+Tauri 搜索 app 的持久化历史。三种生态、三种「合并的门槛」,代码本身反而都不是最难的部分。

把活说清楚:一次 AI 协作的完整复盘
AI2026-07-16

把活说清楚:一次 AI 协作的完整复盘

我和 AI 协作完成了一个技术方案,从起草到终稿几十轮。坑不值钱,复盘才值钱:几乎每个坑都指向同一件事——初始条件和边界条件是什么时候、以什么方式说清楚的。开工前一句话,抵得上后面十轮纠错。文末附一份 30 秒交底清单,对 AI 和人类协作者同样适用。

开源了两个 macOS 原生应用:Ask Claude 和水利工具箱
博客2026-07-156 分钟

开源了两个 macOS 原生应用:Ask Claude 和水利工具箱

把自用舰队里的两个 macOS 原生应用整理开源:零 API key 直连 Claude 订阅的 Ask Claude,和 SwiftUI 壳 + Rust 计算核的水利工具箱。附开源前最花功夫的一课——数据脱敏远不止查找替换。

介绍一下这个网站
博客2026-07-155 分钟

介绍一下这个网站

tianli.cyou 刚完成「纸上手册」改版和一次大扫除:砍掉死导航、删掉僵尸服务、把私人入口收敛成一个书签——一篇站点导览,顺带聊聊一个人怎么维护一个站群。

装几块压力表,能把漏点定位到哪条管?——压力指纹法完整推演
博客2026-07-1136 分钟

装几块压力表,能把漏点定位到哪条管?——压力指纹法完整推演

在一张6节点教学演示网上,从Hazen-Williams公式一步步推到装表决策:几块压力表的读数如何变成漏点的概率排名,装几块、装在哪,用一条边际收益曲线回答。

陵阳公样智能辅助设计研究
博客2026-07-0657 分钟

陵阳公样智能辅助设计研究

目的 针对唐代陵阳公样装饰纹样在现代传承中面临的创新性不足与公众参与度低等问题,探索一种基于人工智能的智能辅助设计方法,以实现传统纹样的活态传承与创造性转化。 方法 首先,基于皮尔斯符号学三元理论,从表征、客体和诠释三个维度对陵阳公样进行系统解析,并运用分裂语法对纹样结构进行层级化解构,构建了包含6...

Prompt Caching 架构:为什么 CLAUDE.md 越稳定越省钱
博客2026-07-067 分钟

Prompt Caching 架构:为什么 CLAUDE.md 越稳定越省钱

--- Prompt Caching 是 Claude API 层面的优化机制,核心原理简单直接:缓存按前缀匹配工作。 每次请求发给 Claude 的完整输入大致是这样的结构: 如果两次请求的"前缀"相同——即从第一个 token 开始到某个位置完全一致——第二次请求可以复用缓存,跳过对这段前缀的重...

浙东引水工程受水区降雨趋势与多尺度变率分析
博客2026-07-0613 分钟

浙东引水工程受水区降雨趋势与多尺度变率分析

ZENG Tian-li$^1$, ZUO Xiao-xia$^1$, YANG Yu$^1$, DH$^1$, WU Mu-hong$^2$, ZHONG Lü-bin$^2$, CHEN Shu-yang$^3$ (1. Zhejiang Design Institute of Water Co...

Claude Code 架构 · Layer 1:长期上下文层(CLAUDE.md / Memory)
博客2026-06-1710 分钟

Claude Code 架构 · Layer 1:长期上下文层(CLAUDE.md / Memory)

长期上下文=每次对话自动加载的背景:CLAUDE.md 全局/项目规则 + Memory 跨会话记忆。它是 Claude Code 的地基,写好了 Agent 在任何会话都知道技术栈、规矩、偏好。

水资源承载力评价方法论:AHP-CRITIC-TOPSIS 三级评估实践
博客2026-04-143 分钟

水资源承载力评价方法论:AHP-CRITIC-TOPSIS 三级评估实践

从指标体系构建到组合赋权再到综合排名——一套可复现的水资源承载力评价技术路线,附 Python 实现要点。

如何构建企业级 Claude Code Harness 体系
AI2026-04-13

如何构建企业级 Claude Code Harness 体系

从 43 个 commands 到 14 个 skills,从 hooks 自动化到 MCP 生态集成——一套完整的 LLM 工具链工程化方法论。

MCP 协议实战:从代码检索到 gmail 的 Agent 生态
AI2026-04-12

MCP 协议实战:从代码检索到 gmail 的 Agent 生态

3 个 MCP Server、512+ 会话记录、语义搜索——一套真正用起来的 AI Agent 工具生态是怎么搭的。

月均 $31 运维 28 个线上服务的成本工程
博客2026-04-113 分钟

月均 $31 运维 28 个线上服务的成本工程

一台 $30/月的 VPS + $1/年的域名,承载 24 个 systemd 服务和 4 个 Docker 容器——独立开发者的成本控制方法论。

从 Streamlit 到 Tauri:水利计算工具的桌面化之路
博客2026-04-103 分钟

从 Streamlit 到 Tauri:水利计算工具的桌面化之路

将 12 个 Streamlit Web 应用迁移为 Tauri 桌面端的经验总结——计算引擎分离、React 前端重写、跨平台打包。

44 个脚本的 Raycast 集成之路
博客2026-04-094 分钟

44 个脚本的 Raycast 集成之路

把命令行工具一键封装为 GUI 操作——58 个 Raycast wrappers 的设计思路、踩坑记录和效率提升数据。

一个人的全栈基础设施
博客2026-04-083 分钟

一个人的全栈基础设施

24 个 systemd 服务、4 个 Docker 容器、29 个 GitHub 仓库——独立开发者如何用最小成本构建可靠的生产环境。

浙东引水数字孪生系统:从物理水网到智慧调度的技术实践
博客2025-10-1129 分钟

浙东引水数字孪生系统:从物理水网到智慧调度的技术实践

深入剖析浙江省浙东引水工程数字孪生系统建设,探讨如何利用数字孪生技术实现跨流域大型水网的精准调度与智能管理,为全国数字孪生水网建设提供参考。

欢迎来到我的技术博客
博客2025-01-102 分钟

欢迎来到我的技术博客

这是我的第一篇博客文章。在这里,我将分享水利工程、数据分析、机器学习等领域的技术经验和项目心得。

AI 方法论 · 已同步 2026/9/10 07:36:14 UTC · 11