思考笔记

李文业的思考笔记


  • 首页

  • 关于

  • 分类

  • 归档

《检视AI生成代码》

发表于 2025/08/29 | 分类于 AIGC
1
特别说明:此文由ChatGPT生成,后续由我本人编辑、修改而成。

副标题:为AI生成代码负全责的35条最佳实践

1983年,美国航空航天局的火星气候探测器在即将进入火星轨道时突然失联。事后调查发现,一个承包商使用英制单位编写了推进器控制软件,而NASA的系统期望的是公制单位。这个价值1.25亿美元的教训告诉我们:代码能运行,不代表它是正确的。

今天,当我们使用Cursor、ChatGPT等AI工具生成代码时,面临着类似的挑战。AI生成的代码往往语法正确、结构工整,但它是否真正理解了我们的业务需求?是否遵循了项目的安全规范?是否覆盖了所有边界情况?

本文整理了35条具体可执行的最佳实践,涵盖开发全过程——从提示编写、代码理解与验证,到调试、测试、重构、部署与维护,特别针对Java Web开发及Web3支付场景。通过这些实践,开发者可以在AI生成方案和代码后真正理解其逻辑,并能够独立评估、验证、调试、改造代码。


第一部分:清晰输入——掌握问题,控制AI输出方向

第1条:明确需求,提供完整上下文

核心原则:在向AI请求代码或方案时,描述越清晰、上下文越完整,AI生成的代码就越可控、越高质量。

1969年阿波罗11号登月时,NASA的任务控制中心有一条铁律:每一条指令都必须包含完整的上下文信息,因为地月通信有3秒延迟,任何误解都可能致命。与AI对话也是如此——AI并不在你的项目现场,它看不到你的数据库表结构,不知道你的团队规范,更不了解支付链路中的安全约束。

AI生成代码的本质是“基于上下文的概率预测”。如果你的提示模糊、缺少背景,AI会自行“脑补”:生成不存在的API、假设你使用了某个你根本没用的框架、忽略关键的安全校验。在支付场景里,这些错误不仅导致bug,还可能直接造成资金风险。

最佳实践:

  • 在Prompt中提供:业务背景 + 技术上下文 + 输出要求
  • 提供现有代码、DTO、数据库表结构作为“范例”
  • 明确性能、安全、日志等硬性约束
  • 使用@文件名引用项目中的代码文件

一句话记忆:“不要让AI猜你的需求,要让它知道你的世界。”


第2条:指定角色和风格,控制AI输出一致性

核心原则:通过在Prompt中明确指定AI的“角色”和“代码风格”,可以大幅提高生成代码的专业性、一致性和可维护性。

如果你雇佣一位新员工,你会给他一份员工手册,告诉他公司的规范和期望。与AI协作也是如此。没有角色设定时,AI倾向生成“最常见”的通用写法,而非你业务所需的专业实现。

不同角色会带来不同的输出倾向:

  • “资深Java后端工程师”:更重视事务边界、异常语义与分层设计
  • “Web3支付专家”:更关注签名算法、重放防护、回调验签、幂等性与合规
  • “代码审查员”:偏向安全与质量清单式检查
  • “系统架构师”:更擅长抽象API边界、模块依赖与数据流

可复用的Prompt模板:

1
2
3
4
5
6
你是一名资深Java后端工程师,熟悉Web3支付、Spring Boot、MyBatis和JJWT。
请严格遵循以下代码规范:
1. 控制器返回统一DTO(与项目现有结构一致)
2. 业务日志使用AuditLogService
3. 异常由GlobalExceptionHandler统一处理
4. Mapper层使用XML,不使用注解SQL

一句话记忆:“指定角色→输出更专业;约定风格→输出更一致。”


第3条:拆解任务,分步交付

核心原则:将复杂需求拆解为可控的小任务,让AI在每个步骤专注于单一目标,从而提升输出的准确性和可维护性。

认知心理学家乔治·米勒发现,人类的工作记忆一次只能处理7±2个信息块。AI也有类似的“注意力窗口”——当上下文过长、目标过多时,它会“遗忘”早先的关键信息,导致输出混乱。

在Java + Web3支付开发中,如果一次让AI写太多内容,模型会填补大量“假设”,导致幻觉API、错误设计或忽略边界条件。更好的做法是将复杂需求拆分为多个小步骤:先让AI生成DAO接口,再生成Service实现,最后编写Controller,而非一口气要求“生成整个模块的所有代码”。

建议的分步思路(以Web3支付接口为例):

  1. 先生成DTO与请求模型:确保参数命名、类型一致
  2. 实现核心加密逻辑:单独让AI生成签名与验签方法
  3. 写控制器层:调用Service逻辑并封装返回DTO
  4. 写Service层:业务逻辑串联,包括调用KYB、更新数据库、写日志
  5. 最后写集成测试:验证整个接口能跑通

一句话记忆:“小任务→小上下文→小风险→大可控。”


第4条:喂给AI示例,让输出对齐风格

核心原则:在Prompt中提供现有项目的示例代码,帮助AI学习并模仿现有风格,从而提升输出的一致性与可维护性。

1906年,巴甫洛夫通过条件反射实验发现,给狗提供正确的“刺激”,就能得到预期的“反应”。与AI协作也遵循类似逻辑——给它正确的示例,它就能模仿出符合你期望的代码。

如果不给AI现有示例,它会按照训练数据中最常见的模式生成代码,这往往与你项目的命名规范、日志格式、异常处理方式不一致。通过提供DTO、Mapper、日志工具类等示例,AI可以“对齐”到你的项目风格,生成的代码能更快落地。

示例的类型:

  • DTO与返回结构:统一命名与字段结构
  • 异常处理:提供GlobalExceptionHandler示例
  • 日志格式:给出AuditLogService调用方式
  • 数据库映射:贴现有MyBatis XML,确保SQL风格一致

一句话记忆:“给例子→模仿→风格统一→少返工。”


第5条:利用Cursor Rules统一AI输出规范

核心原则:通过项目级别的Cursor Rules文件,让AI在每次生成代码时自动遵循团队规范,无需在每次对话中重复说明。

如果每次与AI对话都要重复一遍项目规范,效率会大打折扣。Cursor提供了.cursor/rules/目录,你可以在其中创建规则文件,将编码规范、架构模式、领域约定固化下来。这些规则会在每次AI生成代码时自动应用,就像一位时刻在旁提醒的导师。

适合写入Rules的内容:

  • 架构约定:“Controller只调用Service,不直接访问Repository”
  • 命名规范:“Repository接口命名以Repository结尾”
  • 安全要求:“所有数据库查询必须使用参数绑定,禁止字符串拼接SQL”
  • 日志规范:“敏感字段必须脱敏后才能记录日志”

对于Web3支付项目,可以预设:

1
2
3
4
5
6
7
8
## 安全规范
- 签名算法必须使用官方SDK
- 回调必须验证签名和时间戳
- 私钥禁止出现在日志中

## 代码规范
- 异常统一使用GlobalExceptionHandler处理
- 所有Controller必须有权限注解

将规则文件纳入版本控制,确保所有成员的Cursor都应用相同规则,生成的代码风格就能保持一致。

一句话记忆:“规则写一次,团队受益永久。”


第6条:了解AI的边界,把AI当草稿机

核心原则:AI擅长生成初稿与提供参考,但它并不具备完整的上下文理解与推理能力。将AI的输出视为“可修改的草稿”,而不是“最终答案”,是负责任开发的关键。

2016年,AlphaGo战胜围棋世界冠军李世石时,解说员们惊叹于它的“创造力”。但事后分析表明,AlphaGo并不“理解”围棋——它只是在海量棋谱中学会了模式匹配。今天的代码生成AI也是如此:它能产出看似合理的代码,但不理解你的业务逻辑、安全约束和性能要求。

AI的局限性体现在:

  • 不理解代码:它是基于统计的语言预测器,不具备对业务逻辑的真实理解
  • 缺乏项目上下文:不知道你项目中的特殊规则、内部API和安全约束
  • 知识存在滞后性:训练数据有截止日期,新版框架和SDK可能不熟悉
  • 可能生成“幻觉”:当Prompt不完整时,会编造不存在的API或字段

AI更适合的任务:

  • 生成初稿:快速搭建DTO、Controller、测试用例等样板代码
  • 重构建议:优化可读性、简化逻辑
  • 代码讲解:让AI解释复杂逻辑,辅助理解

需要谨慎的任务:

  • 安全相关实现:如签名算法、权限控制、加密
  • 合规逻辑:KYB/KYC、支付审计、回调验证
  • 高并发性能优化:AI的建议未必适合你的生产场景

一句话记忆:“把AI当草稿机,而不是终稿机;生成交给AI,验证必须靠自己。”


第二部分:方案设计——先对齐思路,再落地实现

第7条:先与AI讨论方案,再让它写实现

核心原则:在让AI写代码之前,先与它讨论设计方案、技术选型和实现思路,确保方向正确,再让AI生成具体实现。

建筑师不会拿起砖头就开始砌墙。他们先画图纸、讨论结构、确认需求,然后才开始施工。软件开发也应如此。

如果直接让AI生成完整实现,它可能默认采用最通用的模式,导致与项目架构或安全要求冲突。更好的做法是采用“两阶段Prompt策略”:

阶段1:方案讨论

  • 目标:设计系统流程、模块边界、核心接口、异常机制
  • 输入:项目上下文、技术栈、日志规范、DTO示例
  • 输出:清晰的分层设计和数据流图

阶段2:实现生成

  • 目标:让AI按方案写实现
  • 输入:确认过的方案、接口签名、字段定义、依赖
  • 输出:可直接跑通的、符合规范的实现代码

在Cursor中,可以使用Plan模式进行方案讨论,确定方案后再切换到Agent模式执行具体实现。这种分离让你在关键决策上保持控制权。

一句话记忆:“先讨论,再实现;先对齐,再落地。”


第8条:区分Agent模式与对话模式的使用场景

核心原则:Cursor提供多种交互模式,不同模式适合不同任务。正确选择模式可以提高效率并降低风险。

2010年,心理学家丹尼尔·卡尼曼在《思考,快与慢》中区分了两种思维模式:系统1(快速直觉)和系统2(慢速推理)。与AI的交互也有类似的“快慢”之分。

Cursor提供了几种主要的交互模式:

  • Chat模式(Cmd+L):适合开放式讨论,让AI解释代码、规划架构、回答问题,其回复不会自动应用到代码
  • Agent模式:AI会自主规划并执行多步操作,适合具体的编码任务
  • Plan模式:只读模式,专门用于设计和讨论,AI不会修改任何文件

在Web3支付开发中的建议:

  • 用Chat模式讨论签名算法选型、安全策略、架构设计
  • 用Plan模式让AI帮你梳理复杂功能的实现步骤
  • 确认方案后,切换到Agent模式让AI执行具体实现
  • Agent模式下要更频繁检查生成结果,因为AI会连续执行多步操作

一句话记忆:“讨论用Chat,规划用Plan,执行用Agent。”


第9条:利用Memories保持跨会话的项目上下文

核心原则:使用Cursor的Memories功能保存重要的项目约定,让AI在后续对话中自动应用这些知识。

人类大脑有短期记忆和长期记忆之分。AI对话默认只有“短期记忆”——每次新对话都从零开始。但Cursor的Memories功能可以帮助AI建立“长期记忆”。

当你在Chat模式中与AI反复讨论某项约定时,Cursor可能会提示提取为Memory。经你确认,这些内容会保存为项目范围的规则,下次开启新对话也能自动应用。你也可以明确要求“请记住XX”,让Cursor主动将其记录。

例如,你曾与AI约定“我们项目使用DDD分层架构,所有数据库操作都通过Repository完成,不在Service编写SQL”。如果将此作为Memory保存,那么以后无论谁请求数据库相关代码,AI都会遵循这一约定。

使用建议:

  • 谨慎添加记忆——不要把随意的对话内容存为记忆
  • 确保记忆条目简洁明确
  • 定期Review它们是否仍适用当前项目

一句话记忆:“项目约定存Memory,跨会话上下文不丢失。”


第三部分:审慎验证——让AI产出可被信任

第10条:拿到代码先读懂,逐行检查逻辑

核心原则:AI生成的代码不是最终答案。无论代码多么完整、格式多么工整,在使用前必须逐行阅读、理解逻辑,确保它符合你的业务需求和安全要求。

1986年,挑战者号航天飞机在发射后73秒爆炸,造成7名宇航员遇难。事后调查发现,工程师们曾警告低温下O型环可能失效,但管理层忽视了这一警告。这个悲剧提醒我们:对关键系统的任何环节都不能盲目信任。

AI生成的代码可能“看似正确”但逻辑错误。它不会验证业务正确性,不知道你项目的特定约束,在Web3支付场景中,一旦实现不当,可能直接导致资金或数据风险。

审查代码的四个重点:

  1. 业务正确性:是否按需求实现了正确的流程
  2. 安全性:是否存在未验证参数、签名漏洞或数据泄露
  3. 性能:是否有低效循环、重复计算或潜在阻塞
  4. 一致性:是否符合团队命名规范、日志规范和异常处理标准

一句话记忆:“AI写得快,但责任在你;逐行读懂,掌握主动权。”


第11条:让AI解释难点,辅助自己掌握

核心原则:当遇到不理解的代码或复杂算法时,让AI充当“代码讲解员”,用自然语言帮你拆解逻辑,但最终理解仍需你自己验证。

费曼学习法的核心是“如果你不能用简单的语言解释一件事,你就没有真正理解它”。AI可以帮你迈出这一步——把复杂的代码转化为易懂的解释。

在Java + Web3支付开发中,业务场景常常涉及签名算法、加密验签、回调处理、异步事务等。如果完全依赖AI生成代码而不理解内部逻辑,一旦出现问题就很难排查。

常用提问模板:

  • “请逐行解释这段Java代码的逻辑,并指出可能的问题”
  • “帮我分析这段签名算法的安全性”
  • “这段Controller的异常处理是否符合最佳实践?”
  • “这个Web3回调接口的流程是否安全?哪里可能需要验签?”

提升理解的技巧:

  • 多角度提问:让AI分别用“初学者模式”和“专家模式”解释逻辑
  • 结合代码注释:让AI直接生成内嵌注释
  • 做小实验验证:根据AI解释,写最小化单元测试验证正确性

一句话记忆:“用AI讲解逻辑,用自己验证结论。”


第12条:手动推演业务流程,确保逻辑闭环

核心原则:无论AI生成的代码多么完善,都需要你手动推演完整的业务流程,验证逻辑是否覆盖所有关键场景。

象棋大师在下棋时,不只看眼前这一步,而是在脑中推演接下来的多步变化。审查AI代码也应如此——不只看单个函数是否正确,而要推演整个业务流程。

AI通常只实现“主干路径”,而很容易忽略异常分支,比如支付失败、签名验证失败、KYB拒绝等。如果某个分支没有收敛到可控状态,比如异常没有回滚、回调未处理幂等性,可能导致数据不一致或资金损失。

Web3支付场景的推演要点:

  1. 支付链路:创建交易→签名→广播→区块确认
  2. 回调验签:是否在回调中校验签名、防止伪造
  3. 幂等性处理:相同交易的重复回调是否安全
  4. 异常分支:余额不足、签名失败、区块回滚、第三方接口超时
  5. 安全边界:是否有重放攻击、API权限控制、私钥泄露风险

一句话记忆:“能跑通不等于没问题,手动推演才能掌控全局。”


第13条:把AI当审查员,进行二次Review

核心原则:不要只让AI生成代码,也要让AI充当“代码审查员”,对生成结果进行多维度的二次检查。

1995年,IBM的深蓝与国际象棋大师卡斯帕罗夫对弈时,开发团队发现了一个有趣的现象:让两个不同版本的程序互相对弈,能发现单个程序无法暴露的漏洞。这就是“对手思维”的价值。

让AI扮演两种不同角色——开发者和审查员——可以换视角发现问题。在生成代码后,用新的Prompt让AI切换到“代码审查员”模式,它会用不同的角度分析实现。

双轮AI审查策略:

  1. 第一轮:功能正确性
    • 检查是否实现了需求
    • 确保逻辑完整
    • 验证数据流与接口约定一致
  2. 第二轮:安全与性能
    • 检查签名、私钥、回调逻辑
    • 查找潜在的高耗时查询
    • 确认幂等性、事务一致性

常用审查Prompt:

  • “请检查这段代码是否符合我们现有的异常处理规范。”
  • “帮我找出下面代码中的潜在安全隐患,尤其是Web3验签逻辑。”
  • “请检查这段Mapper是否存在N+1问题或性能瓶颈。”

一句话记忆:“第一次生成,第二次审查;双轮交互,降低风险。”


第14条:拆解大段代码,逐模块验证

核心原则:当AI一次性生成“大块实现”时,先把代码按职责切分为若干小模块,分别校验与落盘,通过“小步可控”的方式获得对整体逻辑的真正掌控。

乐高积木的魅力在于:每一块积木都很简单,但组合起来可以构建复杂的作品。软件架构也应如此——把大块代码拆成职责单一的小模块。

在Java + Web3支付场景里,AI常会一次生成包含控制器、业务逻辑、签名验签、数据库访问、回调处理在内的“巨型代码块”。直接使用风险极高:难以阅读、难以定位问题、缺少清晰边界。

建议的拆分维度:

  • 表层交互:Controller(鉴权、请求校验、DTO编解码、统一返回)
  • 领域服务:Service(业务编排、事务边界、错误语义)
  • 资源访问:Repository/Mapper(仅做数据读写)
  • 加密与验签:CryptoService(私钥管理、签名算法、防重放)
  • 回调与幂等:CallbackHandler(验签、去重、重试、补偿)
  • DTO/Assembler:对象转换、字段校验

一句话记忆:“先切块,再验证;先定边界,再谈优化。”


第15条:对照官方文档和SDK,防止AI“幻觉”

核心原则:AI生成的代码并不保证正确性。在涉及第三方API、SDK、框架方法时,必须对照官方文档进行验证。

1999年,当年的互联网新贵们相信“如果网上找不到,就不存在”。但今天我们知道,网上的信息未必准确——AI也是如此。它可能凭借统计规律“编造”方法、类、字段,尤其是在Web3 SDK或支付网关的API中。

Web3支付中常见的AI“幻觉”场景:

  • 签名与验签方法名错误:AI常生成signTransaction()或verifySignature()等方法,但不同Web3 SDK的签名API完全不同
  • 交易回调字段缺失:某些支付回调返回status和txHash,AI可能假设存在isPaid字段
  • Spring Boot注解失效:AI可能生成旧版本的配置方式

高效交叉验证的技巧:

  • 在Cursor中,让AI直接生成所需API的官方文档链接
  • 让AI帮你总结官方文档的关键字段和约束条件
  • 如果API复杂,让AI生成最小可运行Demo来测试验证
  • 对于Web3支付SDK,直接下载源码,用IDE定位核心方法

一句话记忆:“AI能写,但文档能证;先查官方,再信AI。”


第16条:利用AI自动审查PR,建立持续防御

核心原则:将AI代码审查集成到开发流程中,通过Bugbot等工具自动分析PR,在代码合并前发现潜在问题。

2009年,Netflix开创了“混沌工程”——故意在生产环境中注入故障,以发现系统弱点。AI代码审查是类似的理念:主动寻找问题,而不是等问题暴露。

Cursor的Bugbot可以自动分析代码差异,指出其中的bug、潜在安全问题和代码风格问题,并直接在PR上留下评论。它不仅检查语法错误,还关注安全和质量方面,例如未处理的异常、资源泄漏等。

配置方法:

  1. 创建.cursor/BUGBOT.md文件
  2. 写入项目特有的检查规则,例如:
    • “确保所有数据库查询使用参数化”
    • “回调处理必须包含签名验证”
    • “禁止在日志中打印私钥或签名原文”

对于个人开发者,也可以在重要改动时主动让AI过一遍:将代码变更贴给Chat,请它以审查员身份挑错。

一句话记忆:“AI审查自动化,问题发现在上线前。”


第四部分:调试排查——用科学方法定位问题

第17条:构造最小可重现场景

核心原则:当AI生成的代码出现异常时,第一步不是盲目调试,而是先构造“最小可重现场景”,用最少的代码重现问题。

爱因斯坦曾说:“一切应该尽可能简单,但不能过于简单。”调试也是如此。在复杂的支付链路中直接调试,日志量大、调用链长,很容易被无关信息掩盖。

构造最小可重现场景的三步法:

  1. 抽离核心逻辑:从大模块中剥离关键代码,比如验签、交易提交、回调解析
  2. 创建最小输入:只保留最少的字段、最短的交易数据
  3. 运行与验证:在本地或沙箱中运行,确保问题稳定复现

Web3支付场景示例:

  • 问题:交易回调偶尔验签失败
  • 最小可重现场景:
    • 独立提取签名算法与验签逻辑
    • 固定输入回调数据包与签名
    • 本地运行对比AI生成的验签逻辑与官方SDK方法

一句话记忆:“先缩小,再排查;小场景,大洞察。”


第18条:用IDE断点调试,掌握真实运行逻辑

核心原则:AI生成的代码看起来正确并不代表它实际能正确运行。通过在IDE中使用断点调试,跟踪真实的变量状态和方法调用链,才能彻底掌握代码的行为。

纸上得来终觉浅,绝知此事要躬行。阅读代码是一回事,看它实际运行是另一回事。即使AI生成的代码在语法层面正确,实际执行时也可能因为上下文、依赖、SDK版本等导致不同的结果。

Web3支付中的断点调试场景:

  • 交易签名:断点验证私钥生成签名是否与SDK一致
  • 回调验签:断点观察回调Payload、签名字段、nonce
  • 幂等控制:调试重复回调时的行为
  • 多线程并发:跟踪异步回调、事件监听和并发事务

在Cursor和IDEA中的结合:

  • Cursor:让AI帮忙定位可疑逻辑,标出建议断点位置
  • IDEA:配合断点查看调用栈、变量值、网络请求
  • 双向反馈:将断点观察到的异常状态反馈给AI,获得优化建议

一句话记忆:“用AI生成,用断点求证;真实状态,尽在掌控。”


第19条:批量插入日志,跟踪数据流

核心原则:在AI生成的代码中,通过批量插入高价值日志,构建可追踪的数据流视图,帮助你快速定位问题。

飞机的黑匣子记录了飞行中的每一个关键数据点,当事故发生时,这些记录就是还原真相的唯一依据。在软件系统中,日志扮演着类似的角色。

AI生成的代码逻辑可能看似正确,但数据在方法、线程、异步回调之间传递时,状态可能早已被篡改或丢失。日志是定位数据错乱、签名失败、交易丢失等问题的唯一全局手段。

Web3支付场景的日志重点:

  1. 交易创建:记录请求参数、交易Hash、预期Gas
  2. 签名计算:只记录算法版本与结果摘要,避免暴露私钥
  3. 回调处理:记录回调Payload、验签结果、幂等锁状态
  4. 异常分支:交易失败、签名不匹配、接口超时要有明确的错误码

日志策略的进阶优化:

  • TraceID/RequestID:给每个交易打上唯一ID,支持跨模块追踪
  • 统一日志规范:固定日志字段,如[traceId] [merchantId] [txHash] [status]
  • 敏感信息脱敏:私钥、签名原文必须脱敏后才能记录

一句话记忆:“日志是运行时的证据;好日志,让问题无处隐藏。”


第20条:用假设验证法缩小问题范围

核心原则:当AI生成的代码报错时,不要盲目大范围调试,而是先提出具体假设,再逐步验证,通过“缩小问题空间”快速定位根因。

1905年,爱因斯坦在研究光电效应时,并没有漫无目的地做实验。他先提出假设——光具有粒子性——然后设计实验验证。科学方法的核心就是“假设-验证”循环。

在复杂支付链路中,全量排查等于“大海捞针”。没有假设直接改代码,很容易在无关模块反复消耗时间。

Web3支付的假设验证示例:

  • 问题:交易回调验签失败
  • 可能假设:
    1. 签名算法不一致:AI生成的签名方法与SDK不兼容
    2. 回调Payload缺字段:回调数据少了nonce或timestamp
    3. 测试网私钥错误:签名私钥与发起交易的账户不一致
  • 验证策略:
    • 单独提取签名方法,对比AI代码与官方SDK结果
    • 打印完整回调Payload,确认字段是否缺失
    • 固定私钥重新签名,验证计算结果

一句话记忆:“不猜测,不乱试;先假设,再验证。”


第21条:结合单元测试与AI生成用例,锁定问题边界

核心原则:通过结合手写关键单元测试与AI自动生成测试用例,构建足够覆盖的验证体系,确保AI生成代码的行为符合预期。

1996年,阿丽亚娜5号火箭在发射37秒后爆炸。原因是一段从阿丽亚娜4号复用的代码——它在新火箭更快的飞行速度下产生了整数溢出。这段代码从未被充分测试。

AI生成的逻辑往往涉及签名、验签、回调、数据库更新等多模块交互。单靠阅读或断点调试很难覆盖所有场景,而结合单元测试与AI生成测试用例,可以系统性验证每条路径的正确性。

Web3支付场景下的测试重点:

  1. 签名与验签:验证生成的签名与官方SDK一致
  2. 回调处理:模拟回调Payload、时间戳、nonce,确保幂等性正确
  3. 交易状态更新:测试成功与失败的事务一致性
  4. 安全性断言:验证日志中是否脱敏敏感字段

在AI中生成测试用例:

1
根据以下签名算法代码,生成JUnit单元测试,覆盖正常、签名失败和异常Payload三种情况。

一句话记忆:“AI写实现,测试定边界;用例越全,Bug越少。”


第22条:让AI分析日志与调用栈,加速故障定位

核心原则:当遇到复杂错误日志或长调用栈时,让AI帮忙解析日志结构、提取关键信息、缩小问题范围。

福尔摩斯之所以能破案,不是因为他看到了别人看不到的线索,而是因为他能从海量信息中筛选出关键证据。AI可以扮演类似的角色——从长长的日志中帮你找到问题根源。

当错误日志成百上千行时,让AI帮你提取关键异常与上下文,避免逐行手工分析。AI能从调用栈中梳理出最重要的触发路径,快速锁定问题模块。

AI辅助日志分析的常用Prompt:

  • “这是交易回调失败的日志,请提取导致验签失败的原因。”
  • “帮我从这段日志中找到第一个抛出异常的方法和模块。”
  • “请分析这段调用栈,按执行顺序列出关键方法。”

提高日志分析效率的技巧:

  • 当日志过长时,先让AI总结日志结构,再深入分析关键段落
  • 将日志关键字段(traceId、txHash、merchantId)放入Prompt,帮助AI精准分析
  • 不要直接把数千行日志一次性喂给AI,分段处理效果更好

一句话记忆:“AI扫雷找关键,你验证定根因。”


第23条:利用AI辅助生成调试脚本,快速验证假设

核心原则:当AI生成的代码存在Bug或不确定性时,让AI帮忙生成最小化的调试脚本,通过快速复现场景、验证假设和定位问题。

科学实验的精髓在于“可重复性”——如果一个现象无法被重复观察,就无法被研究。调试脚本就是帮你创造可重复的实验环境。

传统调试依赖全链路环境,效率低且易被噪音干扰。让AI帮你生成最小可运行调试脚本,可以更高效地验证单点问题。

AI生成调试脚本的Prompt示例:

  • “请基于以下签名逻辑,生成一个最小可运行的Java调试脚本,打印签名计算结果并与官方SDK比对。”
  • “根据下面的回调处理代码,生成本地调试脚本,固定回调Payload和签名。”
  • “请帮我写一个Mock Web3节点的调试脚本,用于本地重现回调异常场景。”

提升验证效率的技巧:

  • 逐步扩展:先验证核心算法,再扩展到完整业务链路
  • 结合AI分析:把脚本运行日志交给AI,让它帮忙解析中间值与异常原因
  • 自动生成更多场景:让AI基于脚本生成多组不同输入的验证用例

一句话记忆:“调试靠最小化,验证靠自动化。”


第24条:在沙箱环境模拟全链路,确保上线安全

核心原则:在上线前,利用沙箱环境完整模拟支付全链路,提前发现潜在问题,避免在生产环境中暴露风险。

航空业有一条铁律:任何新机型在载客飞行前,必须经过成千上万小时的模拟和测试飞行。软件上线也应如此——尤其是涉及资金的支付系统。

AI生成的代码即使局部可运行,也不能直接推到生产环境。通过在沙箱中模拟全链路,可以暴露缺陷、验证安全策略、确认外部依赖是否正常。

Web3支付沙箱测试策略:

  1. 签名与广播:生成Mock私钥与交易Payload,验证签名与SDK一致性
  2. 回调验签:模拟回调请求,测试验签逻辑与防重放机制
  3. 异常路径验证:交易失败、回调超时、区块回滚等场景必须覆盖
  4. 幂等与一致性:模拟重复回调与网络抖动,验证幂等锁和数据库状态
  5. 日志与审计:检查AuditLog是否记录所有关键操作并脱敏敏感数据

一句话记忆:“沙箱先演练,线上才安全。”


第五部分:安全防御——避免AI生成隐性漏洞

第25条:结合AI与安全审计,强化支付链路防御

核心原则:AI生成的代码能跑,但不代表安全。通过结合AI分析、人工安全审计和官方文档交叉验证,对Web3支付链路进行全方位的安全检查。

2014年,黑客利用Heartbleed漏洞窃取了数百万用户的敏感数据。这个漏洞存在于被广泛使用的OpenSSL库中,代码看起来完全正常,但隐藏着致命的安全缺陷。

AI只会生成“最常见”的实现,但支付逻辑往往有独特的安全要求。它容易忽略异常回调、重复调用、非法Payload等安全边界条件。

Web3支付安全审计重点:

  1. 签名与验签:验签逻辑必须使用官方SDK或权威算法,签名计算必须严格固定字段顺序
  2. 防重放与幂等性:检查回调Payload中的timestamp和nonce,在数据库或Redis中存储签名ID
  3. 权限与认证:校验回调来源IP、域名与签名一致性
  4. 敏感数据保护:所有私钥、签名值、JWT Token必须加密存储,日志必须脱敏

一句话记忆:“AI能写代码,人要保安全。”


第26条:统一异常处理与错误码,让AI输出可控

核心原则:在使用AI生成代码时,必须先制定统一的异常处理与错误码策略,并让AI严格遵循。

1999年,Y2K问题让全世界紧张了一整年。问题的根源很简单:程序员们用两位数字表示年份,没有统一的标准。统一规范的重要性由此可见一斑。

如果AI生成的代码没有统一的异常处理策略,可能导致错误信息不可追踪、回调异常无法区分、数据库状态不一致、上游系统收到模糊的返回状态。

Web3支付中的异常策略重点:

  • 签名与验签异常:SIGN_001(签名失败)、SIGN_002(验签失败)
  • 回调处理异常:CALLBACK_001(Payload缺失)、CALLBACK_002(回调重复)
  • 幂等与事务异常:IDEMPOTENT_001(幂等锁失效)、TX_001(事务回滚)
  • 第三方依赖异常:BLOCKCHAIN_001(区块链节点超时)

在Prompt中给AI提供异常体系:

1
根据以下GlobalExceptionHandler代码,帮我在新生成的回调处理逻辑中统一接入异常策略。

一句话记忆:“异常有规范,错误可追踪;AI按规写,系统更可控。”


第27条:用AI生成安全基线检查,防止隐性漏洞

核心原则:借助AI生成安全基线检查清单和自动化测试脚本,确保整个支付链路具备足够的防御能力。

军事上有“纵深防御”的概念——不依赖单一防线,而是建立多层防护。支付安全也应如此:签名验证是一道防线,幂等控制是一道防线,权限校验又是一道防线。

Web3支付安全基线检查重点:

  1. 签名与验签:检查签名算法是否符合官方SDK标准,验证签名字段顺序
  2. 防重放攻击:检查nonce、timestamp是否严格校验,在幂等锁中记录唯一请求ID
  3. 回调幂等性:验证回调请求重复到达时状态是否被正确拦截
  4. 敏感信息保护:所有私钥、JWT必须加密存储,审计日志只记录摘要

AI辅助安全基线的Prompt示例:

  • “请根据以下代码生成一份安全检查清单,重点检查签名、回调、幂等、权限控制。”
  • “帮我分析这段支付回调逻辑,找出缺失的安全校验点,并生成Mock攻击用例。”

一句话记忆:“AI扫风险,人来兜底;安全基线先固化。”


第28条:让AI生成数据库一致性检查与修复脚本

核心原则:借助AI自动生成一致性检查与修复脚本,提前发现数据错乱、幂等失效、回调丢失等问题,避免影响资金结算。

银行每天晚上都要进行“轧账”——核对当天的所有交易记录,确保账实相符。支付系统也需要类似的机制。

当AI生成的逻辑上线后,最常见的隐患是:回调未写库导致状态缺失、交易重复回调导致状态异常、多次更新覆盖真实状态、账实不符导致资金风险。

Web3支付一致性巡检重点:

  1. 回调状态检查:检查已上链交易是否有缺失回调,检查重复回调是否被幂等锁正确处理
  2. 交易状态对账:数据库中的交易状态 vs 链上区块确认状态
  3. 幂等锁验证:检查重复请求是否产生多条相同交易记录
  4. 资金对账:商户余额、链上金额、日志流水三者是否一致

AI辅助生成检查脚本的Prompt示例:

  • “根据以下表结构,生成检测交易表t_tx_record中重复交易的SQL。”
  • “请生成对账脚本,校验交易表中的回调状态与审计日志是否一致。”

一句话记忆:“先检查,再修复;用AI生成SQL,让一致性可控。”


第六部分:性能优化与可维护性

第29条:基于AI生成代码进行可控重构

核心原则:AI生成的代码通常能跑,但未必可维护。在投入生产前,应结合AI辅助与人工审查,对代码进行可控重构。

1972年,大卫·帕纳斯发表了著名的论文《论模块分解的标准》,奠定了软件工程中“模块化”思想的基础。AI生成的代码往往缺乏这种设计感——它可能一次性生成巨型方法或控制器,重构后按职责拆分,后续修改才更安全。

Web3支付代码重构重点:

  1. 签名与验签逻辑:单独抽离CryptoService,避免在控制器或Service中散落加密实现
  2. 回调与幂等性控制:将回调逻辑封装在CallbackHandler中,集中管理重放保护与幂等锁
  3. 事务与一致性:在Service层内实现事务边界,不让控制器直接操作数据库
  4. 日志与审计:用统一的AuditLogService,避免散落的System.out.println

AI辅助重构的策略:

  • 提示AI识别问题:“请找出这段代码中可重构的地方,并列出优先级最高的三个点。”
  • 让AI生成重构方案:“帮我把签名逻辑抽取到独立的CryptoService,保持原有方法签名不变。”
  • 分阶段验证:重构一部分→跑单测→提交→再重构下一部分

一句话记忆:“先锁定行为,再小步重构;让AI出方案,由你定取舍。”


第30条:让AI辅助识别性能瓶颈并优化关键路径

核心原则:利用AI快速分析日志、调用链和SQL执行情况,找出性能瓶颈所在的关键路径。

1995年,亚马逊发现页面加载时间每增加100毫秒,销售额就会下降1%。性能问题从来不是小事。

AI生成的代码未必高效,尤其是Web3支付链路涉及签名计算、链上交互、回调处理、多线程并发,稍有不慎就会出现性能瓶颈。

Web3支付链路中常见性能瓶颈:

  1. 签名/验签耗时:检查是否使用了低效算法或未启用本地缓存
  2. 链上交易广播慢:可能因区块链节点配置不当或Gas估算错误
  3. 回调处理阻塞:如果回调接口同步写数据库,可能导致接口超时
  4. 数据库锁竞争:幂等锁、事务冲突导致高并发下性能骤降
  5. 不必要的串行:缺乏异步化设计,支付状态轮询与回调写数据库串行执行

AI辅助性能优化的示例Prompt:

  • “请帮我分析这段JProfiler调用链,找出最耗时的三个方法。”
  • “根据下面的SQL日志,优化慢查询并推荐合适的索引。”

一句话记忆:“AI找瓶颈,数据定结论,优化靠验证。”


第31条:用AI生成架构图与数据流图,提升全局可控性

核心原则:通过让AI生成可编辑的架构图、时序图、数据流图,帮助你理解代码之间的依赖关系和业务链路。

地图的价值不在于它有多精确,而在于它能帮你看清全局。在复杂的支付系统中,架构图和数据流图就是你的“地图”。

如果没有一份可视化的架构图,很容易陷入“只懂一小块”的状态,导致无法发现逻辑缺口或潜在安全风险。

Web3支付架构图示例:

  1. 高层架构图:Controller→Service→CryptoService→BlockchainSDK→CallbackHandler,标出安全检查点、事务边界和幂等锁
  2. 数据流图:显示交易数据从请求到区块链再到回调的全链路
  3. 时序图:展示支付请求、签名、广播、回调、幂等验证的时间顺序

AI生成可视化图表的Prompt示例:

  • “根据以下服务和方法结构,帮我生成一个Mermaid架构图。”
  • “请根据以下Web3支付链路,生成数据流图。”
  • “根据回调逻辑,画出时序图,标出幂等锁的生效时机与回滚条件。”

一句话记忆:“先画图,再优化;先全局,再局部。”


第32条:利用AI生成代码审查清单,建立可维护性保障

核心原则:通过让AI自动生成高价值的代码审查清单,结合人工检查,确保每一行代码都达到上线要求。

医生在手术前会核对检查清单:患者身份、手术部位、过敏史……这个简单的做法将手术事故率降低了三分之一。代码审查清单也有类似的效果。

AI生成的实现可能可用,但经常存在命名风格不一致、缺少边界条件处理、重复逻辑和长方法、潜在性能瓶颈等问题。

Web3支付场景的审查重点:

  1. 安全性:验签算法是否符合官方SDK标准,回调幂等锁是否正确使用,日志是否脱敏敏感字段
  2. 性能:检查高并发场景下锁竞争是否合理,慢SQL、无必要的全量遍历
  3. 可维护性:控制器是否过重,是否存在重复逻辑
  4. 一致性:错误码、DTO、日志格式是否遵循统一规范

一句话记忆:“AI先审查,人工再把关;清单先固化,未来更高效。”


第33条:利用AI自动生成集成测试,验证跨模块行为

核心原则:在AI生成的代码上线前,必须通过端到端集成测试验证跨模块行为。

1962年,水手1号探测器在发射84秒后被引爆。原因是一行Fortran代码中的一个标点符号错误。单元测试无法发现这个问题,因为错误发生在模块交互时。

AI生成的代码局部可用,但可能遗漏幂等性校验、回调签名验证等全局约束。集成测试能在沙箱中验证区块链SDK、Web3网关、支付回调接口等外部依赖。

Web3支付集成测试的关键场景:

  1. 签名一致性验证:验证AI生成的签名计算与官方SDK输出是否一致
  2. 回调幂等控制:模拟重复回调,检查幂等锁是否正确拦截
  3. 交易状态一致性:模拟链上广播成功和失败两种情况
  4. 异常场景覆盖:模拟回调Payload缺失字段、签名过期、区块链超时

一句话记忆:“AI写代码,集成测闭环;模拟真实链路,确保系统可控。”


第七部分:持续演进——构建AI+人工的闭环体系

第34条:关注AI生成代码的合规与知识产权

核心原则:在使用AI生成代码时,需要关注合规与知识产权问题,确保生成的代码可以安全地用于商业项目。

2023年,多起关于AI生成内容版权的诉讼引发了广泛讨论。虽然法律尚未完全明确,但作为负责任的开发者,我们应该提前考虑这些问题。

需要关注的问题:

  • 隐私模式:开启隐私模式,确保敏感代码不被远端存储
  • 代码相似性:对AI生成的关键算法,验证是否与开源项目高度相似
  • 审计依据:在涉及支付合规的场景,保留AI交互记录作为审计依据
  • 团队规范:建立AI代码使用的内部规范

最佳实践:

  • 对于核心业务逻辑,人工审查后再使用
  • 保留AI对话记录,作为代码来源的追溯依据
  • 对于开源项目,确保AI生成的代码符合许可证要求

一句话记忆:“用AI要合规,代码来源要可溯。”


第35条:建立AI+人工的持续改进闭环,让方案可演进

核心原则:AI生成的方案和代码只是起点,最终落地需要“AI生成→人工验证→数据反馈→Prompt优化→再次生成”的持续改进闭环。

1950年,戴明博士提出了著名的PDCA循环(计划-执行-检查-行动),成为质量管理的基石。AI协作也需要类似的循环:生成是计划,验证是执行,反馈是检查,优化是行动。

没有反馈的AI会在每次生成中重复相同的问题。把人工审查与沙箱测试的结论反哺到Prompt中,下一次生成的代码会更贴近你的要求。

持续改进的四个步骤:

  1. AI驱动:初版方案和代码交给AI快速产出
  2. 人工验证:结合单测、集成测试、沙箱链路和安全审计验证
  3. 数据反馈:把问题点、改进点、失败案例输入AI,优化Prompt
  4. 持续演进:新Prompt + 新上下文→更高质量的输出→逐步积累项目知识库

提升闭环效率的技巧:

  • Prompt模板化:固定AI生成方案的结构:背景→约束条件→成果要求→输出格式
  • 知识库沉淀:把验证过的有效逻辑整理到Wiki或文档
  • 团队共享经验:定期同步AI使用方法、最佳Prompt、已解决问题案例

一句话记忆:“AI产出,人工验证;数据反馈,持续进化。”


总结:让AI生成的代码真正“可控、可懂、可负责”

回到本文开头的火星气候探测器故事。那次事故的教训不是“不要用计算机”,而是“要确保人类理解并验证计算机的输出”。今天,当我们使用AI生成代码时,这个教训同样适用。

AI时代,代码的生产方式正在发生根本性变化。我们不再是“独立写代码的人”,而是与AI共同设计、共同实现的协作者。然而,AI生成的方案和代码只是“起点”,而不是“答案”。如果我们想真正为AI生成的代码负全责,就必须从五个维度构建完整的实践方法论:

一、清晰输入:掌握问题,控制AI输出方向(第1-6条)
好的输出,始于好的输入。你不是在“提问”,而是在“设计AI的工作流”。

二、方案设计:先对齐思路,再落地实现(第7-9条)
设计在前,生成在后;先和AI对齐方案,再进入实现,能避免大规模返工。

三、审慎验证:让AI产出可被信任(第10-16条)
不要盲目信任AI,把它当“初稿助手”,用多重验证手段重建信任。

四、调试排查:用科学方法定位问题(第17-24条)
调试是一门科学,需要假设、验证、最小化重现,AI是你的助手而非替代者。

五、安全防御:避免AI生成隐性漏洞(第25-28条)
AI能写代码,但安全需要我们兜底;AI能扫描风险,但安全闭环要靠人机协作。

六、性能与可维护性:让代码可演进(第29-33条)
性能分析要数据驱动,可维护性要架构保障,AI给线索,人来验证。

七、持续演进:构建AI+人工的闭环体系(第34-35条)
AI是“副驾驶”,不是“自动驾驶”。闭环优化,才能让系统长期健康演进。


如果说AI让我们写代码的效率提升了10倍,那么这35条方法的目标,是确保**“高效”不以“失控”为代价**,让我们既能快,又能对每一行代码、每一次上线、每一次链路安全负全责。

一句话总结:
“AI写得快,人要看得透;建立可控的闭环,让速度与安全并存,让效率与责任共生。”

Cursor AI 编程助手最佳实践

发表于 2025/08/15 | 分类于 AIGC
1
特别说明:此文由ChatGPT生成,后续由我本人编辑、修改而成。

1997年,IBM 的深蓝战胜国际象棋世界冠军卡斯帕罗夫后,卡斯帕罗夫并没有沮丧太久。他很快提出了一个新概念:人机协作棋。在这种模式下,人类棋手与计算机组队比赛,结果令人惊讶——人机组合往往能击败单独的人类高手,也能击败单独的计算机。

今天,我们与 Cursor 的协作正是这一理念在软件开发领域的延续。开发者的经验表明,正确使用 Cursor 后开发效率确实有明显提升,有资深用户甚至反馈它带来了 2 倍以上的提效。但要充分发挥 Cursor 的优势,同时避免潜在风险,我们需要掌握一套协作的艺术。

本文总结了 20 条针对 Java 后端项目的 Cursor 使用建议,分为五个主题:让 AI 理解你的项目、与 AI 高效对话、把控质量与安全、团队协作实践、以及持续进化。

一、让 AI 理解你的项目

1. 启用代码库索引:给 AI 一份项目地图

人类导游在带领游客游览之前,首先需要熟悉整个景区的地图。同样,Cursor 在帮助你编码之前,也需要先“认识”你的项目。

打开项目后,Cursor 会自动扫描文件生成嵌入向量,建立对代码库的整体理解。这个过程就像 AI 在阅读你的代码库,记住每个类、每个方法的位置和作用。索引完成后,当你询问“UserService 在哪里调用了 Repository?”这样的问题时,AI 能够准确回答,而不是凭空猜测。

对于 Spring Boot 等大型 Java 项目,索引可以帮助 AI 理解项目结构——控制层、服务层、仓库层的划分,以及它们之间的调用关系。在设置中开启“自动索引新仓库”选项,让这个过程自动发生。

2. 配置忽略规则:聚焦有效内容

想象你在图书馆找一本书,如果书架上塞满了杂志、报纸和购物小票,你会很难找到真正需要的内容。代码索引也是如此。

使用 .cursorignore 或项目已有的 .gitignore 来忽略不必要的文件。对于 Java 项目,建议忽略 target/、*.class、*.jar 等编译产物——这些内容既不需要 AI 理解,又会极大增加索引规模。如果项目使用 Lombok 等注解处理器,也可以忽略自动生成的源码目录,转而索引生成前的源文件。

精简索引范围可以提高 AI 答复的准确性,就像把图书馆里的杂物清走,让真正的书籍更容易被找到。

3. 定义 Cursor 规则:给 AI 一份行为准则

如果你雇佣一位新员工,你会给他一份员工手册,告诉他公司的规范和期望。Cursor Rules 就是你给 AI 的“员工手册”。

在项目中创建 .cursor/rules/ 目录,将编码规范、架构模式和领域约定写入规则文件。例如:

  • “Repository 接口命名以 Repository 结尾”
  • “Service 层需使用 @Transactional”
  • “Controller 层只调用 Service,不直接访问 Repository”

这些规则会在每次 AI 生成代码时自动应用,就像一位时刻在旁提醒的导师。规则应该精确且可操作——与其说“代码要简洁”,不如说“每个方法不超过 30 行,超过则拆分”。

对于团队项目,将规则文件纳入版本控制,确保所有成员的 Cursor 都应用相同规则,生成的代码风格也就保持一致。

4. 调优编辑器设置:让 AI 建议与项目环境契合

Cursor 本质是 VS Code 的衍生版,可以像配置 VS Code 一样配置它。在 .vscode/settings.json 中设置统一的 JDK 路径、缩进风格(Java 通常是 4 空格)、保存时自动格式化和优化 imports。

良好的编辑器配置能提升 AI 建议与实际项目环境的契合度。Java 项目对缩进、编码、构建有特定要求,预先设置好这些选项可以减少 AI 生成代码与项目规范不符的情况。另外,忽略编译目录的文件监视可以避免编辑器在大型项目中卡顿。

团队使用时,应在项目仓库中提供标准的 VS Code 设置,包括格式化规则、编译和调试命令、推荐安装的插件列表。通过统一配置,团队所有成员的 Cursor 环境将保持一致。

5. 安装必要的 Java 扩展插件

VS Code 本身对 Java 的支持较弱,大部分功能依赖插件来实现。安装官方的 “Extension Pack for Java” 扩展包,它包含 Java 语言支持、Maven/Gradle 工具、调试器等子插件,可一次性满足 Java 开发所需。根据项目需求,还可以安装 Lombok、Spring Boot Tools、Docker 等插件。

这些插件确保 Cursor 能正确识别 Java 语法和项目结构——语法高亮、错误标注、自动导包。如果缺少它们,AI 生成的代码可能因为编辑器无法解析依赖而出现假警告。团队可以利用 extensions.json 推荐列表,让成员打开项目时获得安装提示。

二、与 AI 高效对话

6. 区分 Chat 对话和内联编辑两种模式

1943年,心理学家亚伯拉罕·马斯洛提出了著名的需求层次理论。他观察到,人类的需求是分层的,不同层次需要不同的满足方式。与 AI 的交互也有类似的“层次”——不同的任务需要不同的交互模式。

Cursor 提供两种主要的 AI 交互模式:Chat 模式(Cmd+L)适合开放式讨论,让 AI 解释代码、规划架构、回答问题,其回复不会自动应用到代码;Composer/Inline Edit 模式(Cmd+K)适合具体的代码生成,AI 会直接给出修改方案并高亮预览。

在日常开发中,可以用 Chat 模式让 AI 帮忙梳理业务逻辑:“请解释下为何我的 Spring Bean 没有被注入?”AI 会利用索引过的代码给出推理。而当需要批量修改代码时,可以选中相关代码片段,使用 Inline Edit 执行指令。

将不同任务用合适的模式处理:Chat 模式下反复追问直到答案令人满意,再通过 Composer 应用变更,从而避免不必要的错误修改。

7. 精心设计提示词并将任务拆解

语言学家乔治·莱考夫发现,我们使用的隐喻会影响我们的思维方式。同样,你如何向 AI 表达需求,直接决定了它如何理解和执行。

良好的提示词应该:明确说明需求、提供足够的背景、避免一次性提出过于庞杂的要求。将复杂任务拆分为多个小步骤:先让 AI 生成 DAO 接口,再生成 Service 实现,最后编写 Controller,而非一口气要求“生成整个模块的所有代码”。

研究表明,让模型逐步推理、分段输出往往比一次输出大段代码更可靠。Cursor 擅长小范围的代码重构或生成,例如修改一个函数的逻辑,效果很好;但如果一次涉及过多文件或复杂上下文,AI 可能会“思路混乱”。

团队可以积累常用提示模板(如请求生成单元测试、优化某段代码性能等),在内部分享高质量的 Prompt 案例,整体提升 AI 使用水平。

8. 巧用“@引用”提供上下文

当你向一位同事请教问题时,如果你把相关的代码、文档、背景信息都准备好再去问,他会更快给出准确的答案。与 AI 对话也是如此。

在聊天或指令中使用 @文件名 引用项目中的文件,这会将文件内容纳入 AI 上下文。Cursor 还支持引用 Pull Request 编号、提交哈希等。主动提供所需的上下文,能显著提高 AI 回答的准确度。

例如,在一个大型项目中,询问“函数 X 为什么输出错误结果”时,至少应把函数 X 所在文件和相关的配置文件通过 @ 提供给 AI。否则模型可能由于缺少关键上下文而给出偏颇的答案。

如果请 AI 协助配置 Spring Security,最好 @ 引用安全配置类,AI 才能基于实际配置提出修改建议。合理地使用 @ 引用,相当于把相关资料附在提问中,既减少来回澄清,又让 AI 解答更具依据。

9. 充分利用 Tab 补全加速编码

20世纪初,工业工程师弗雷德里克·泰勒通过研究工人的动作,发现很多时间浪费在了不必要的步骤上。他通过优化动作流程,大幅提高了生产效率。在编程中,Tab 补全就是这样的效率工具。

Cursor 的多行智能补全能根据当前上下文猜测你想写的代码。当需要编写模板化或重复性的代码时,先输入几个字母让 Cursor 猜,如觉得提示合适直接按 Tab 补全。有使用者反馈,大约四分之一的时间 Cursor 几乎能精准预测他们下一步要写什么。

在 Java 后端开发中有大量模板式代码可借助补全:getter/setter、构造函数、日志语句、JUnit 测试样板、Spring 注解等。当你定义了实体类字段后,下一行就可能自动出现 public <Type> get<Field>() {...} 的补全建议。当然,请始终 Review 补全的代码,确保符合预期后再保存提交。

10. 利用 Memories 保持跨会话的上下文

人类大脑有短期记忆和长期记忆之分。AI 对话默认只有“短期记忆”——每次新对话都从零开始。但 Cursor 的 Memories 功能可以帮助 AI 建立“长期记忆”。

当你在 Chat 模式中与 AI 反复讨论某项约定(例如某个变量含义或某种架构决策),Cursor 可能会提示提取为 Memory。经你确认,这些内容会保存为项目范围的规则,下次开启新对话也能自动应用。你也可以明确要求“请记住 XX”,让 Cursor 主动将其记录为 Memory。

例如,你曾与 AI 约定“我们项目使用 DDD 分层架构,所有数据库操作都通过 Repository 完成,不在 Service 编写 SQL”。如果将此作为 Memory 保存,那么以后无论谁请求数据库相关代码,AI 都会遵循这一约定。

请谨慎添加记忆——不要把随意的对话内容存为记忆,以免污染后续回答。确保记忆条目简洁明确,并定期 Review 它们是否仍适用当前项目。

三、把控质量与安全

11. 仔细审核并测试 AI 生成的代码

1986年,挑战者号航天飞机在发射后 73 秒爆炸,造成 7 名宇航员遇难。事后调查发现,工程师们曾警告低温下 O 型环可能失效,但管理层忽视了这一警告。这个悲剧提醒我们:对关键系统的任何环节都不能盲目信任。

AI 代码辅助的本质是一种概率预测模型,有时可能生成不正确或不健全的代码。在多人经验交流中,有人反映 Cursor 对复杂 Java 项目输出的代码甚至无法编译,可能出现低级语法错误。

永远不要直接相信 AI 给出的代码,就算它语法正确,也需经过人工检查和运行测试后再并入主分支。将 AI 编写的代码当作初稿,对其进行 Code Review 和本地调试。特别是核心逻辑,要写单元测试或集成测试加以验证。

在 Java 后端中,更要关注 AI 代码的类型正确性和业务逻辑严谨性。AI 可能会在未充分理解线程安全要求时就给出并发代码,实现上存在竞态条件;或在处理数据库事务时忽略了必要的回滚逻辑。这些问题必须通过测试和代码走查发现。

12. 针对敏感代码启用隐私模式

2017年,Uber 被曝光其员工可以追踪任何用户的实时位置,引发了巨大的隐私争议。这个案例提醒我们:即使是为了便利而收集的数据,也可能带来意想不到的风险。

当处理公司私有代码或敏感项目时,启用 Cursor 的隐私模式。在隐私模式下,你的代码不会被远端存储,每次请求处理完后数据即被删除。这对企业代码尤为重要,可降低泄漏机密的风险。

对于企业 Java 后端项目(包含公司业务逻辑、数据库密码等),强烈建议开启隐私模式。团队可以将隐私模式作为开发规范的一部分,并提醒成员不要在提示中粘贴敏感凭据或个人数据。将 API 密钥、密码等以环境变量或占位符形式与 AI 讨论,避免直接暴露真实机密信息。

13. 始终强调安全和最佳实践

AI 并不天然具备安全意识,除非我们提醒它。如果不加提示,AI 可能会生成直接拼接字符串的 SQL 查询(存在注入隐患)、或忽略对用户输入的校验。

可以编写规则或提示让 AI 注意常见安全问题:“所有输入参数需校验避免 SQL 注入”“敏感操作要有权限检查”。Java 后端涉及大量安全考虑:输入验证、认证授权、敏感数据保护。开发者在运用 AI 时,可以提前提供项目的安全指南给 AI,例如:“我们使用 Spring Security,请确保所有控制器方法都有正确的鉴权注解”。

AI 生成代码后,要特别检查:数据库操作是否使用了参数绑定而非字符串拼接 SQL?多线程代码是否正确加锁避免并发问题?反序列化操作是否存在漏洞?异常处理是否记录了必要日志?团队可制定一张 AI 代码安全检查清单,供每位开发者在接受 AI 代码时逐条对照。

14. 了解 Cursor 在 Java 方面的局限性

任何工具都有其擅长和不擅长的领域。Cursor 基于 VS Code,在 Java 开发体验上与 IntelliJ 等成熟 IDE 存在差距。

具体来说:VS Code 的 Java 语言服务器相较 IntelliJ 有差距,可能无法解析复杂的注解处理器、生成代码或提供高级重构;Cursor 对大型 Java 项目可能出现性能瓶颈或上下文遗漏;某些场景下 AI 给出的代码不符合 Java 规范,需要人工纠正。

如果项目大量使用 Lombok、MapStruct 等注解处理器,建议预先运行构建以生成所需代码,这样 Cursor 才能在索引时看到完整的类型信息。对于超大型的 Java 单体应用,可以考虑将项目拆分成多个子模块分别在 Cursor 中打开。

团队内部应讨论并达成共识:在哪些工作内容上适合用 Cursor,在哪些情况下仍然需要借助 IntelliJ 等传统 IDE。比如,可以约定用 Cursor 编写业务代码,但用 IntelliJ 进行复杂重构和性能分析,以取长补短。

四、高效使用进阶

15. 明智选择模型并关注调用成本

1848年,加利福尼亚发现黄金,引发了著名的淘金热。但历史学家指出,真正发财的不是淘金者,而是卖铲子和牛仔裤的商人。在 AI 时代,模型调用的成本同样值得关注。

Cursor 支持 OpenAI、Anthropic、Google 等多种模型,不同模型在编程任务上的效果和开销差异很大。以 OpenAI API 为例,GPT-4 的效果往往优于 GPT-3.5,但费用也昂贵数倍。

根据任务需要选择合适的模型:对于简单补全任务可用速度快、成本低的模型;如需高准确度可以切换更强大的模型。在编写简单 POJO 类或重复性代码时,可以暂时将模型切换为 GPT-3.5 等经济型模型;在让 AI 优化复杂算法或审查代码时,再切换到 GPT-4 等高性能模型。

Cursor 界面会提示你的用量和剩余额度,请定期检查避免发生超额扣费。“用对模型做对事”,才能既发挥 AI 威力又不致成本失控。

16. 谨慎使用 Max 模式加载超大上下文

普通模式下,Cursor 限制上下文在约 200k Token 的范围。这对于绝大多数文件已经足够,但某些情况下——比如分析庞大的日志、处理多个文件间复杂关系——可能还嫌不够。

Max Mode 会将支持的模型上下文窗口扩展至最大(例如 GPT-4.1 提供超过 20 万 Token 的上下文)。这确保 AI 有尽可能完整的信息来回答问题。但副作用也很明显:响应变慢(因为处理文本量成倍增加),费用变高(因为计费按 Token 计)。

Max 模式像“涡轮增压”——需要时开一下,不要全程一直开。一旦超大文本分析完毕,应关闭 Max 模式恢复正常,以保持 Cursor 运行的经济高效。

17. 借助 AI 快速生成文档和注释

1989年,蒂姆·伯纳斯-李发明了万维网。他后来说,如果当初没有写好文档,可能就没有人会使用他的发明。文档是软件的“说明书”,但大多数开发者都不喜欢写文档。

好消息是,AI 模型擅长语言生成,用于撰写文档和注释再合适不过。当功能编码完成后,可以请 AI 帮忙生成 README、API 文档或关键代码的注释说明。只需一条指令,Cursor 就能分析整个代码库并生成 README,往往一次就能成型。

在 Java 后端项目中,可以请 AI 生成 REST API 的接口文档草稿,根据 Controller 方法和注解来推断每个接口的用途和参数说明;也可以让它撰写 JavaDoc,为公共类和方法补充文档注释。

让 AI 参与文档工作,不仅减轻了负担,还可促进你检查代码——审视 AI 总结是否正确,从而发现代码中的不清晰之处。

18. 用 AI 自动化样板代码,保持人为掌控

很多后端开发工作属于“增量式”机械劳动:为数据库每张新表编写一套增删改查代码、为每个业务对象编写类似的转换函数。这类任务 AI 往往能一次完成。

利用 AI,可在极短时间内产出模板化代码,从而让开发者专注于业务逻辑本身。例如,使用 MyBatis 或 JPA 时,为每个实体创建 DAO 类、写 XML 或 Repository 接口其实格式都类似,你可以通过一句 prompt 让 Cursor 生成这些重复代码的框架。

然而,AI 毕竟对业务细节不了解,可能忽略某些约定(如字段命名特殊规则、异常处理需求)。因此需要人在循环中监督:把 AI 当作劳动力而非决策者。对 AI 自动生成的大段重复代码,人工迅速过目有助于发现有没有遗漏某些字段或不符合特殊要求的地方。

五、团队协作与持续进化

19. 持续关注社区动态和自我提升

达尔文的进化论告诉我们,生存下来的不是最强壮的物种,而是最能适应变化的物种。在 AI 快速发展的今天,这一法则同样适用。

Cursor 作为新兴工具,更新迭代非常快,几乎每隔几周就有新功能或改进。只有保持学习,才能用好新推出的强大功能(如多模态支持、Slack 集成等)。

定期查阅 Cursor 官方博客以了解新特性,浏览社区论坛、Reddit 板块中的经验分享。很多高手会分享自己的 prompt 模板、Cursor Rules 配置、以及踩过的坑。团队可以每隔一段时间收集这些资料,在内部分享“AI 编程助手最佳实践清单”。

对于 Java 开发者,建议特别关注 Cursor 官方文档中的 Java 指南,以及国内技术博客上关于 Cursor 与 Spring、MyBatis 等技术结合的文章。通过持续的社区互动和内部知识沉淀,团队会逐步形成最适合自身业务特点的 AI 开发流程。

20. 将 AI 评审纳入团队流程

在传统的软件开发中,代码评审(Code Review)是保证质量的重要环节。引入 AI 后,我们可以增加一层“AI 预审”。

Cursor 的 Bugbot 可以自动分析代码差异,指出其中的 bug、潜在安全问题和代码风格问题,并直接在 PR 上留下评论解释问题、给出修改建议。它不仅检查语法错误,还关注安全和质量方面,例如未处理的异常、资源泄漏等。

你可以编写 .cursor/BUGBOT.md 文件为 Bugbot 提供更准确的检查规则,例如列出本项目特有的安全关注点、架构规范和常见错误清单。比如注明“确保所有数据库查询使用参数化,禁止字符串拼接 SQL”,则 AI 审查会针对此类改动重点审视。

对于个人开发者,也可以在重要改动时主动让 AI 过一遍:将代码变更贴给 Chat,请它以审查员身份挑错。AI 建议是辅助而非绝对,一切改动最终还需人负责决策。

结语

以上 20 条最佳实践,涵盖了使用 Cursor AI 编程助手提高效率、提升代码质量、保障安全以及面向团队规模化协作的各个方面。

回到开头卡斯帕罗夫的故事。他在输给深蓝后,并没有对抗机器,而是拥抱了人机协作的理念。他发现,一个普通棋手加上一台普通计算机,只要有良好的协作流程,往往能击败一个象棋大师加一台超级计算机。

这个发现对我们同样适用:AI 工具带来了前所未有的生产力提升,但真正的效率来自于良好的协作实践。不是最强的 AI 或最聪明的程序员获胜,而是那些掌握了人机协作艺术的团队获胜。

希望本指南能够帮助你更好地驾驭 Cursor,让 AI 成为真正的编程拍档,在变化的浪潮中立于不败之地。

看书107个月

发表于 2025/08/09 | 分类于 每月报告

1

七月阅读不及预期。原定目标看书350小时,实际读了320.5小时。

冥想还是不理想。七月冥想了24小时,远低于每月平均45小时。前七个月的平均每天冥想时间为1.3小时,明显低于全年目标的每天1.5小时。我在考虑放弃这个全年目标。

这个月唯一做得比较好的是健身。

2

健身渐入佳境。过去一个月,我一共健身了18天。

中间有一段时间,我其实在健身完之后都没做有氧训练。有的时候是身体累,做完力量训练就不想用跑步机爬坡。有的时候是觉得没意思,爬坡很无聊。

我用了两个技巧改善有氧训练。第一,在爬坡的过程中从慢速到中速,再从中速到慢速。也就是说,让速度的变化刺激身体和大脑。

第二,听歌。我听周杰伦的专辑,从2000年的开始听,打算一直听到最近发行的专辑。一张专辑时长大概是40多分钟,刚好是我一次有氧训练的时间。

改善之后,我发现自己不会觉得有氧训练会很无聊。每次做完力量就会做有氧,出完一身汗,整个人都感觉很舒畅,效果能持续24到48小时。

3

这次健身之所以能坚持两个月,归功于阅读带给我的经验。

经验一:先积累量,不寻求快速的质变。

我从2016年开始积累阅读量,一直到2019年才有明显的变化。三年的量变,才能带来质变。所以我在健身这件事上,不会特别着急。能坚持下来,能持续积累次数,就是成功。

经验二:享受过程,避免进入恐慌区。

大部分时间里,我都会挑比较好读的书。每一次阅读的体验都不差,这样容易坚持。我跟健身教练强调,我的首要诉求是让自己不排斥锻炼,所以不要快速加大训练强度。

经验三:敢于投入,不要因小失大。

我买书、买线上课程和买ChatGPT会员,都很舍得花钱。每年花费的金额,都在五位数。无论是健身房的月卡,还是私教课,都对我有很大的好处。所以我会毫不犹豫把钱花在自己身上。

4

要想长久地坚持做一件事情,必须要对未来有愿景。

我现在坚持健身了两个月,身心状态好了很多。

我希望坚持健身两年后,我可以做到每天睡够7.5小时。心率变异度能到50ms以上。体脂率降到20%以下。

我希望坚持健身二十年后,我可以让自己的身体年龄比实际年龄小5到10岁。

5

八月份有事情要忙,所以目标会定得低一些。

截至2025年7月31日,我一共阅读了17929小时。预计会在2026年4月20日,完成第二个10000小时,也就是总共20000小时的阅读目标。

八月份的阅读目标是600个番茄时间,也就是300个小时。

看书106个月

发表于 2025/07/09 | 分类于 每月报告

1

六月份阅读不及预期。原定目标看书360小时,实际读了297小时。上一次单月低于300小时还是在2023年7月,也就是整整两年前。

冥想也不理想。六月份一共才冥想了27.75小时,大幅度低于每月平均45小时。前六个月的平均冥想时间已经低于每天1.5小时,这样下去全年的目标要完不成。

然而,六月份却是我在过去一年里收获最大的一个月。上个月制定的其中一个探索目标有远远超出预期的收益。

2

这个给我惊喜的探索目标是力量训练,也就是健身。

我很不喜欢健身这个词,它给我的感觉就是要练出一副八块腹肌的完美身材才算是达标。我更喜欢力量训练这个说法。

我在6月3号办了卡,连续去了两天健身房。我自己练不明白,看网上的教学视频也摸不着门道。每次待一个小时,举了举铁,用一用跑步机这样。

6月5号开始请私教。乐刻的私教挺便宜的,一节课220元。

以前我听两个有健身经验的同学说,请教练是浪费钱,很多健身教练都不专业,而且会临时换人什么的。因此,在我的刻板印象里,请私教不靠谱。

这次,我却没有遇到这种情况。我感觉教我的这个教练挺专业负责的,并且从来没有换过人,也没有临时无理由迟到或者缺席。

我在6月份一共上了17节私教课,每节课一个小时。私教课以力量训练为主,结束后我都会加练30分钟的有氧,也就是跑步机爬坡。

训练的效果非常好,远远超出我的预期。每次练完,我感觉身心都特别舒畅,能持续一到两天。我的静息心率从原来每分钟77次,下降到66次。我的心率变异度从原来的31ms,上升到42ms。

3

为什么我做力量训练的效果会这么好呢?原因有以下三点:

第一,起点低。从2018年因为跑步导致膝盖受伤开始,我已经有7年时间没有过规律的运动。常年久坐不动的办公室工作已经让我的身体有了很多小毛病。

第二,有人教。健身还是需要知识的。一个动作怎么做才标准,做多少才有效果,需要有专业人士的在场指导。

第三,有人陪。一个人健身真的很无聊,健身教练可以陪着你聊聊天,跟你沟通动作的调整等等,时间会过得快很多。跟教练约定好哪一天要训练,几点要训练,会有一个督促和事前约定的助推效果。

当然,即便乐刻的私教课相对比较便宜,像我这样一周四练的话,一个月要上20节课左右。算下来,一个月要4400块,不是一个小数目。

然而跟健康的重要性相比,我觉得这笔钱花得值。

4

力量训练效果这么好,当然是要继续坚持。接下来的一个月时间,我还要把睡眠调整好,以及把冥想时间提上去。

我要如何坚持力量训练呢?除了继续买课,继续坚持一周上四次课之外,我计划这个月要开始学会如何自己做力量训练。一周自己加练一天,逐渐学会自己训练。

私教课从一个月20节课,可以减少到一个月10节课,减少到一月5节课这样。向“自己练习为主,教练指导为辅”转变。

我要怎么调整好睡眠呢?避免日夜颠倒,半夜醒来就是做冥想,午睡尽可能避免超过30分钟。

我要怎样把冥想时间提上去呢?每天上午至少冥想30分钟,每天中午饭后至少冥想30分钟,每天睡前至少冥想30分钟。在阅读间隙,尽可能穿插5分钟或15分钟的冥想。

做好这些,我的各项身体指标应该还会有一个明显的提升。

5

即便力量训练给我带来那么多的收获,我还是不能把基本盘给丢掉。

月报延迟了一周,阅读和冥想目标都没完成,文章也没写。这些事情都要好好反省一下,把干扰因素都排除掉,把积极因素引进来。

截至2025年6月30日,我一共阅读了17608.5小时。预计会在2026年5月1日,完成第二个10000小时,也就是总共20000小时的阅读目标。

7月份的阅读目标是700个番茄时间,也就是350个小时。

AI专题:如何借助DeepSeek提防AI诈骗

发表于 2025/06/03 | 分类于 AI专题1

1

近期,AI圈的大佬们不断地提醒人们要提防AI的滥用。

获得2024年诺贝尔物理学奖的“AI教父”杰弗里·辛顿,在接受专访时指出,AI引发“人类失控”的概率已经高达10%-20%,深度伪造技术是近期最现实的恶意场景。

OpenAI的CEO山姆·奥尔特曼在出席美国参议院听证会的时候,强调生成式模型可被用于“大规模定向虚假信息、网络攻击与生物威胁设计”,主张建立“全球AI安全机构以及许可证制度”。

发明阿尔法狗的Google DeepMind CEO,获得2024年诺贝尔化学奖的戴密斯·哈萨比斯在2025年5月剑桥大学演讲中发出提醒:AGI可能会在10年内出现,“其积极潜力与恶意滥用都被低估”。

那么,我们普通人从现在开始最应该警惕哪些迫在眉睫的AI滥用场景呢?

2

在日常网络生活中,我们要警惕别有用心的人使用AI来影响我们的想法。

为了验证AI的说服力有多强,康奈尔大学和哈佛大学的研究者找了一群最难被说服的人来做实验。这些人就是阴谋论信徒。他们相信诸如“疫苗里有纳米追踪芯片”之类的阴谋论,身边的人怎么劝都不听。

实验内容是让受试者与AI进行对话,对话一共有两轮。第一轮对话先是受试者自述自己相信的阴谋论,GPT-4罗列官方证据并指出其逻辑错误。第二轮对话是受试者再辩,AI最终回应。

实验结果显示,他们只需要跟GPT-4进行两轮对话,平均用时6分钟,对阴谋论的相信程度就会下降20%。

如果再提供一些对话者的背景信息,GPT-4的说服力会变得更加强大。在另一个辩论实验中,GPT-4让对方改变观点的概率比人类辩手高出82%。AI之所以能达到这么好的效果,是因为它会根据每个人量身定制辩论策略和针对性地找论据。

在美国版百度贴吧Reddit网站上,有人做了一项备受争议的实验。苏黎世大学的研究者注册了多个AI账户,这些账户都预设了虚假人格背景。也就是说,他们用AI来假装人类用户。在说服力排行榜上,这些AI账户进入全站前1%-2%。

在了解到这些研究之后,我们很自然会想到用AI来做“健康习惯教练”,帮助我们养成健康的生活习惯,变得更加自律;我们还可以让孩子们使用AI做“人工智能学习伙伴”,提高他们的学习兴趣,掌握更科学的学习方法。

然而,面对同一个工具,好人会用它做好事,而坏人则会用它做坏事,例如“杀猪盘”诈骗。

3

所谓“杀猪盘”诈骗,就是在网络上以恋爱的名义博得受害者的信任,然后用假投资平台来骗取金钱的诈骗套路。

传统杀猪盘套路分为三步。第一步,引流或放饲料。通过各种社交平台等网络手段跟潜在受害者加上好友。

第二步,养猪。犯罪分子会通过建立虚假的高大上人设和营造暧昧的恋爱氛围,让受害者误以为自己找到了真爱,进而信任对方。

第三步,杀猪。在确保取得了受害者的信任之后,对方会假装不经意地透露自己有一个好的投资渠道,诱使受害者加入,最终骗取金钱。

在AI工具出现之后,坏人对这个套路做了新一轮升级。

首先是剧本自动生成。犯罪分子会使用从暗网购买的AI工具,批量生成情感剧本。以前这样的工作是由专门的“编剧”来做,成本高,效率低。

然后是私人定制剧本。针对特定受害者,犯罪分子会结合他们的画像信息编写提示词,生成专属的情感剧本。以前一个剧本或几个剧本,会用在很多的受害者身上,针对性远远没有私人定制那么强。

最后是半/全自动聊天。在“养猪”过程中,犯罪分子要花大量时间跟受害者聊天,还要记住不同受害者的各种信息,很容易把不同聊天对象的事情弄混。有了AI工具之后,他们会使用半自动聊天,通过复制粘贴把AI生成的回复发给受害者;或者是全自动聊天,让受害者跟AI“直接聊”。

有人可能以为这只是设想,但现实中已经有犯罪分子在实施这样的AI杀猪盘。早在2023年8月份,一份网络威胁分析报告就从受害者提供的截图取得证据,骗子不小心贴出一句典型的系统回复——“As a language model …I don’t have feelings”,直接暴露他们正把AI工具当作聊天脚本生成器。

2024年5月,澳大利亚 ABC 深度报道援引联合国毒罪署和多位业内人士,指出东南亚大型诈骗园区已经开始使用 LLM + 实时翻译。这意味着,诈骗分子现在哪怕完全不懂另一门语言,也可以进行跨语言诈骗。

面对这样严峻的现实,我们除了提高防诈意识之外,还可以使用DeepSeek来保护自己。

如果我们在网络上遇到一个人,产生了“世界上没人比对方更懂我”的想法,这就要引起我们的警觉了。我们可以把自己跟这个人的聊天记录发给DeepSeek,让它来帮我们分析。尤其是涉及金钱转账和现实见面等决定时,一定要听一听DeepSeek的看法和建议。

有人可能会说,我不会在网上找对象,或者我已经结婚了,这类杀猪盘根本骗不到我头上。接下来要揭示的一类骗局,则是每一个人都有可能会上当的。

4

有一种俗称“爷爷奶奶,我出车祸了”的骗局。骗子会打电话给老年人,谎称是其孙子孙女,出了车祸在医院需要立刻转账接受治疗。因为情况紧急,老年人可能会辨识不出对方声音其实一点都不像。哪怕受害者指出这一点,骗子也会假装自己受伤了身体虚弱导致声音变了。

还有一种骗局我自己都遇到过,就是仿冒公司领导,然后让受害者(大多是公司财务人员)转账。几年前,我接到一个电话,对方开口第一句话就是:“李文业,明天来一趟我的办公室。”我愣了一下,然后问:“请问你是谁?”

对方笑了笑说:“你听不出来我是谁吗?”我说:“听不出来。”对方就把电话挂了。

有了AI工具模拟声音之后,骗子已经可以补上声音不像的漏洞。骗子会事先从社交媒体上获取一小段受害者亲属的声音样本,喂给AI后立刻就能模拟出以假乱真的说话声音。

这样的技术并不高深。你现在就可以点击页面最上方的“听全文”。我用公众号后台的工具录了我一段10秒左右的语音,就已经可以模拟得非常像了。

除了声音之外,AI还可以伪造视频。2023年5月,内蒙古包头市警方通报了一起利用AI换脸的惊人诈骗案。一名商人接到自称是朋友的视频通话,请求帮忙垫付投标保证金。他没想到通话中的“朋友”竟然是骗子用AI人脸替换技术假扮的。受害人信以为真,当场转账430万元人民币。事后他联系到朋友本人才发现被骗。

面对这样的骗局,我们可以怎么办呢?一方面,我们可以跟亲友约定safe word“安全词”。在涉及大额转账时,我们要验证对方是否能说出之前约定的某个词或者某句话。哪怕不约定安全词,起码也要问一两个只有你们两个人才知道的小问题。

另一方面,我们要保持冷静,让DeepSeek给我们注入理性。面对紧急情况,我们不免关心则乱。即使自己已经难以分析当前的局面,我们还是可以把现在遇到的问题发给DeepSeek,让它帮助我们分析情况,并且给出建议和处理方案。

5

AI的发展越迅速,AI的滥用就越值得我们警惕。

我们要警惕在网络上看到的信息。以前网络水军可能只是通过调动我们的情绪,来起到带节奏的作用。现在,他们已经在利用AI工具根据我们每一个人的特点,量身定作各种各样的说服言论。

我们要警惕在网络上让我们怦然心动的人。以前杀猪盘只是用一个固定的剧本来骗那些特定的受众,并且因为聊天“养猪”需要花时间和精力,他们更愿意骗那些容易轻信的人。现在,他们已经在利用AI工具私人定制剧本,并且使用半/全自动聊天的方法,让每个人都有可能遭遇“杀猪盘”诈骗。

我们要警惕突然接到的求救、求助语音电话和视频通话。以前的骗局可能只能骗那些老人或者对声音不敏感的人。现在有了AI技术,他们可以轻松模拟任何人的声音和形象。

除了加强防诈骗意识之外,我们还需要更多的工具帮助我们不上当受骗。遇到任何惊喜或者惊吓的异常情形,我们都可以把情况告诉DeepSeek,让它来帮我们分析,给我们出主意。

面对汹涌而来的AI时代,有人会说,“我年纪大了”,或者“我只想躺平”,没必要了解AI,更不需要接触和使用AI。

然而,“害人之心不可有,防人之心不可无”这句话在AI时代同样适用。他们没有想到的是,坏人会用AI做坏事。如果我们不了解AI,对AI没有基本的常识和使用能力,那么就很有可能被坏人钻空子。

看书105个月

发表于 2025/06/01 | 分类于 每月报告

1

五月份的阅读状态不错。原定目标是看书340小时,实际读了340.5小时,目标达成。

冥想却很糟糕。五月份一共才冥想了20.5小时,不仅低于每月平均45小时,甚至还低于上个月的38.5小时。

就像上个月说的那样,冥想的时长现在比阅读量更能反映我的整体状态。接下来跟大家聊聊我打算如何在六月份把自己从低潮期里拉出来。

2

有两个任务要恢复到我的固定日程里。一个是每天要走10000步,另一个是要使用ChatGPT里的每日行程助手。

参考埃隆·马斯克的五步工作法,我前段时间把每天走一万步和规划一天行程从每日任务里面删除。这段日子,我发现这两个任务对我的作用相当大,是不可或缺的。

每天走一万步的作用是让我有足够的基础运动量,以及不要总待在室内。虽然一万步的运动量并不算大,但是这保证了我能晒够太阳,晚上的睡眠也会变好。

规划一天行程的作用是确保我会使用ChatGPT做我的每日行程助手。每天起来做的第一件事就是做一个大概的规划,安排今天的行程。规划做好之后,我会发给ChatGPT,让它跟进我今天一天的行程。一天结束之后,我还能跟它一起做复盘。

总而言之,每天走一万步和规划一天行程是保证我良好状态的基本盘。做到这两点之后,我才会考虑制定更高的目标,以获得成就感。

3

只是完成基本的任务是不够,还需要制定更高的目标来获得成就感。我计划在六月份制定更高的阅读目标和写作目标。阅读目标我会在月报的最后给出,这里先说写作目标。

我最近在做AI专题的写作。不管是写作兴趣,还是写作质量,都保持得不错。唯一让我不够满意的就是产量。

我在五月份一共写了3篇专题文章,平均10天一篇。我打算在六月份写6篇文章,平均5天一篇。

如果六月份能够完成这两个高难度目标的话,六月份的状态就算调整好了。在此之余,我还有探索新目标的打算。

4

这个月制定两个探索目标,分别是力量训练和跑步。

研究表明,一周2到3次的力量训练有助于延缓肌肉流失,还能缓解焦虑和抑郁。我打算去健身房做力量训练。

有些连锁健身房可以办月卡,我打算办一张。就试一个月,效果好就继续,效果不好也损失不大。

我喜欢跑步,但是很久没好好地跑步了。七年前为了减肥,我狠狠地跑了一段时间,结果没把握好强度,把膝盖给跑伤了。最近我的体重又到了警戒线,想要重新跑步试试看。

这个月试着跑20公里到30公里。每周跑3到4次,中间休息的时候就去健身房做力量训练。

5

我非常庆幸自己养成了每个月写月报的习惯。

每个月固定做这么一件事情,其中的仪式感会让我整理好心态,计划好下一个月要做哪些事情。这就像是上学念书的时候,每个学期期末都会告诉自己:这个学期没好好学没关系,下个学期奋发图强就好了。

如果没有这样的仪式感,日子会过得越来越快,快到让人猝不及防。失去了时间感,就可能来不及总结过去,来不及珍惜现在,来不及计划未来。

截至2025年5月31日,我一共阅读了17311.5小时。预计会在2026年5月1日,完成第二个10000小时,也就是总共20000小时的阅读目标。

6月份的阅读目标是720个番茄时间,也就是360个小时。

AI专题:如何借助DeepSeek打造你的“第二大脑”

发表于 2025/05/29 | 分类于 AI专题1

1

随着AI工具的发展和普及,越来越多的人开始用上了AI对话App。然而,很多人觉得并不好用。

有人会把一些生活中的烦恼告诉AI,让AI给出一些建议。AI给出的建议往往很冗长,没有针对性。

有人会让AI帮助自己解决一些工作上的难题,让AI生成一个具体的方案。AI生成的方案总是天马行空,不能落地。

有人会想借助AI辅助学习知识和备战考试,让AI制定一份复习计划。AI制定的计划经常过于琐碎,无法执行。

之所以AI给出的答案不能让我们满意,是因为AI还不够了解我们,无法因人制宜。只有让AI对我们的价值取向、经验积累和知识背景有相当程度的了解,才更有可能让AI给我们提供有针对性的建议、有可行性的方案以及可执行的计划。

如何让AI足够地了解我们?这个问题的终极答案就是打造一个“第二大脑”。AI跟这个“第二大脑”交互,就跟和我们的大脑直接交流没有太大的区别。这样的交互可以让AI快速地读取我们的想法,就能快速地了解我们。

2

打造“第二大脑”无法一蹴而就。这个过程就像是修炼,有三层境界。第一层境界是学会跟DeepSeek进行多轮对话。

一些人在使用DeepSeek时有一个误区,就是急于在一个问答里得到完美的答案。如果DeepSeek给出的第一个回答让自己不满意,他们就不会再继续问下去。

其实还有更好的做法。我们大可以告诉DeepSeek为什么我们觉得这个答案不满意,并且让DeepSeek根据我们的反馈给出一个改进的回答。这就像是老板指挥员工干活,不能因为员工给出的初稿不满意就不让他们继续干了,而是要告诉他们改进方向,让他们改多几次,一直改到自己满意为止。

像这样的多轮对话是一种交流技巧,需要大量练习。最好每天都要跟DeepSeek对话30分钟以上。

我们都会跟人说话。跟AI对话虽然和跟人类对话类似,却有很多不尽相同的地方。因此,我们需要积累跟AI对话的经验。量变导致质变。有了足够的刻意练习,我们才更有可能在更少轮次的对话当中,让AI给出一个让我们满意的回答。

有一类AI通识叫“提示工程”。我建议大家可以找相关的课程听一听,会有一些帮助。然而,我认为提示工程的作用是有限的,真正关键的还是要有多轮对话的意识。

如果你修炼了第一层境界,学会了如何跟DeepSeek进行多轮对话,那么你就很有可能在几轮或者十几轮对话之后得到一个让你满意的答案。但是,如果只修炼到第一层,会有以下两个局限:

局限一,DeepSeek没有全局记忆,每次开始新的对话都要从头开始让AI了解自己。

局限二,即便某些AI对话App有全局记忆,如果我们切换账号或者转移到其他的AI对话App,这些“记忆”都无法迁移。

为了解决这两个问题,我们必须要有更深一层的修炼心法。

3

打造“第二大脑”的第二层境界,就是积累三个笔记本。有了这三个笔记本,就能让AI更快地对我们有一个全面的了解,并且这个过程是可重复的,不用我们每次都从头准备资料。

第一个笔记本是日记本。

日记记录的是重要的经历,以及其中的心路历程。我们认为哪些经历是重要的,还有心里是怎么想的,这些内容就反映了我们的价值取向。

所谓价值取向,就是我们常说的价值观。简单来说,就是判断“什么重要、什么不重要”的标准。

AI读了我们的日记本,就能在价值取向和过往经历这个层面上了解我们,才更可能有针对性地给我们提供建议。

第二个笔记本是作品集。

作品集用来展示我们曾经做成过哪些事情,有哪些作品。一名教师,她的作品集可以是她评过哪些职称,教过多少学生,这些学生考取了什么样的学校。一位工程师,他的作品集可以是他曾经设计过多少个方案,落地了多少个工程,这些工程有哪些突出的优点。一个网络博主,她的作品集可以是她发过哪些图文和视频,接过多少个商单,这些商单的转化率是多少。

这些作品集,展示了我们的经验积累和实践成果。也就是说,我们做过哪些事情,做成过哪些事情。

AI看了我们的作品集,就可以知道我们曾经积累过多少经验、有过怎样的实践成果。在这种情况下,给我们提供的设计方案才更有可执行的可能性。

第三个笔记本是读书笔记。

读书笔记,也就是学习笔记。学习笔记记录的是我们学过的知识,还有哪些地方薄弱、需要加强学习。这些笔记体现了我们的知识积累和学习方向。

AI读了我们的读书笔记,就知道我们都学过了什么,还要学哪些东西,以及有怎样的学习习惯。在此之后,AI给我们制定的学习计划才更有可能被成功执行。

第二层境界修炼成功之后,我们并非从此高枕无忧。因为这三个笔记本非常重要,不仅要做好资料管理,还要关注隐私性和安全性这两大风险点。

为了解决这三个问题,我们还需要修炼最后一层心法。

4

打造“第二大脑”的第三层境界,就是建立一个知识库管理系统,也就是“第二大脑”的最终形态。

第三层境界和第一、第二层境界不一样。前两层境界,都是我们普通人就可以做的,不需要有任何计算机或者人工智能的知识背景。目前市面上并没有提供给大众的“第二大脑”服务,所以我们需要学会使用一定的计算机技能和人工智能知识,才有可能修炼第三层境界。

虽然门槛有点高,但是我们可以看看第三层境界是怎样的。相信以后一定会出现易用便捷的“第二大脑”服务,即无须编程就可以打造专属自己的“第二大脑”。

“第二大脑”是一个知识库管理系统,管理的就是我们的日记本、作品集和读书笔记。它能满足的第一个需求是不需要我们费时费力去整理自己的资料。

我们只需要把每天重要的事情和心里的想法告诉“第二大脑”,它就会整理成一篇又一篇的日记。我们每次有了新的作品,就上传电子文件给“第二大脑”,它就会归纳进我们的作品集。我们在学习的时候,把好奇的问题和答案都传输给“第二大脑”,它就会记录到我们的读书笔记里。

“第二大脑”能满足的第二个需求是隐私性。

在与DeepSeek交互的时候,“第二大脑”不会把所有的资料都传给它,只会把对当前讨论问题有帮助的信息提供出去。其中那些提供出去的信息,“第二大脑”也会做好去隐私化的处理,保证我们的隐私不会被泄露。

“第二大脑”能满足的第三个需求是安全性。

“第二大脑”存储的信息对我们来说极其重要,安全性的要求甚至比银行卡密码还要高。“第二大脑”有完善的加密和防御黑客的功能,保证我们存储在“第二大脑”的重要信息不会被任何人所窃取。

在未来,我们每个人的手机里都会有一个“第二大脑”。在我们与DeepSeek交互的时候,“第二大脑”会帮助我们提供各种各样的附加信息,让我们能更好地使用AI工具。

5

古希腊神庙有一句箴言是“认识你自己”。在AI时代,这句话仍然没有过时。

为了“认识我自己”,我们要学会如何跟DeepSeek进行多轮对话。在对话中提供更多信息的前提,就是我们对自己要有一个足够的了解。

然后,我们要学会积累三个笔记本。日记本是我们的价值取向和过往经历,作品集是我们的经验积累和实践成果,读书笔记是我们的知识背景和学习方向。

最后,我们可以开始打造真正的“第二大脑”。它负责管理我们的重要信息,保障了隐私和安全。

如此这般,我们不仅是在认识自己,还是在创造自己。通过和AI的合作,不断追问和塑造自己的价值取向,积累和演绎我们的经历和经验,巩固和探索我们的知识学习和前沿关注。在不断地创造中,实现自我超越。

AI不会淘汰我们。AI只会帮助那些懂得如何使用AI进行自我超越的人获得竞争优势,去淘汰那些顽固不化和故步自封的人。

AI专题:如何把DeepSeek变成你的AI个人助手

发表于 2025/05/14 | 分类于 AI专题1

1

随着生活的节奏变得越来越快,我们的脑子越来越不够用。

我们要记住的东西很多。要记得健康饮食、规律作息,要记得一天的行程都要做哪些事,要记得另一半的生日、节日和各种纪念日。

我们要同时兼顾的事情很多。工作里往往有多个项目并行,还有各种各样的紧急任务临时插入,以及同事可能随时发来信息或打来电话。

我们还要时刻保持冷静、理性地思考。工作时我们不能情绪化,要塑造专业冷静的形象。与人接触要保持克制,不能随便发脾气。要做的决定很多,需要我们理性地思考,才能做出明智的决策。

认知负担、任务管理和理性决策,逐渐成为现代人大脑最常见的三类日常挑战。为了迎接挑战,DeepSeek等AI工具可以成为我们头脑的新武器。

2

DeepSeek做我们的私人事务助手,可以减轻我们的认知负担。

我们如果想要养成良好的喝水习惯,就跟DeepSeek说:“最近我要多喝水。你记得要提醒我每天至少喝够2500毫升”。

记录饮水量只要跟DeepSeek说一句话,DeepSeek会帮我们做统计。DeepSeek在统计之余,还会告诉我们已经喝了多少,还需要喝多少水,鼓励我们多喝水。

同样地,我们每天一开始就规划好大概要做哪些事情。有哪些新的好习惯要养成,让DeepSeek提醒我们多做;有哪些旧的坏习惯要戒掉,让DeepSeek提醒我们少做。

我们不需要一天到晚都记得这些事情,因为我们根本就记不住。研究表明,我们的工作记忆只能记住3到5件事情。超过这个范围,我们不可能全部记住,很容易丢三落四。

DeepSeek作为我们的私人事务助手,它能轻松记住几十甚至上百件事情,完全可以作为我们的外脑,分担我们的认知负荷。我们把脑子空出来,可以去做更重要的事情,例如专注地做一件事情。

3

在同一时间只做一件事情,对于现代职场人来说是一种奢望。DeepSeek可以做我们的任务管理助手,帮助我们在多项任务之间实现低损耗的切换。

每天开始工作之前,我们可以把今天要完成的任务项和优先级列出来,并告诉DeepSeek:“今天你要做我的任务管理助手。这些是我今天要完成的工作事项”。

完成了一件事项,我们就跟DeepSeek说:“我已经完成了某某事项”。DeepSeek会告诉我们已经从任务列表里面划掉了已完成的事项,并且建议我们在稍作休息之后去做剩余优先级最高的一件事。

如果临时有新的任务插入进来,我们可以跟DeepSeek说:“现在有一个任务插进来,你待会提醒我要完成”。DeepSeek会自动往任务列表里加入新的事项,并且在当前事项完成之后提醒我们。

假如当前事项做到一半就有新的任务插入进来,我们可以跟DeepSeek说:“某某事项我已经完成了65%,现在有一件更紧急的事情要做”。DeepSeek会记住你当前任务的进度,然后在我们完成紧急事项之后提醒我们之前的情况,我们可以从哪里重新开始这个任务。

有了DeepSeek作为我们的任务管理助手,我们不需要自己去管理任务列表,不需要在有新任务插入的时候比较任务的优先级,不需要在任务被打断时自己去记住进度。

我们只需要专注地做好DeepSeek告诉我们当前要做的事情,更少地在多任务切换中损耗我们的认知带宽,更少地被紧急事务和消息通知扰乱我们的情绪。我们可以有一个更稳定的情绪,更冷静地做出每一个理性的决定。

4

现代社会要求我们更多地使用理性来做决定,而不是任由情绪导致我们冲动拍板。

在公司里,我们要决定一个任务是否接手,接手之后又要怎么做。回到家里,我们要决定带爸妈去哪里看病,什么时候跟另一半结婚,以及小孩子该报哪些辅导班。一个人独处的时候,我们还需要决定要不要买一台昂贵的手机,考虑到大学里读个MBA学位,还有是否跳槽到另一家公司。

然而,快节奏生活留给我们的理性空间越来越少,短视频时代的碎片内容不断调动我们的情绪。这就形成了一对矛盾:越来越多的决策需要我们保持理性,避免过多受到情绪影响,但是快节奏生活逼迫我们必须快速做出决定,短视频时代的碎片内容则是片面地刺激和放大我们的情绪,让我们无法保持冷静。

在这种情况下,我们可以把DeepSeek变成我们的私人咨询顾问,帮助我们做出理性的决策。

在需要做决策的时候,我们可以把背景和想法告诉DeepSeek,让它来帮我们做分析。在这个整理决策背景和自身想法的过程,就是在让理性回归,让我们的脑子从情绪陷阱里跳出来。

DeepSeek在帮我们做分析之后,往往能够给我们一些很好的建议,甚至会提醒我们考虑一些之前没有考虑到的地方。在这方面,你的任何一个同事、朋友和亲人都不会做得比DeepSeek要好,因为DeepSeek和你没有利益冲突。

DeepSeek不会嫌我们烦,不会觉得我们的事情是小事、不值得多花精力。DeepSeek不用睡觉和吃饭,随时随地可以为我们服务,而且还是免费的。

在我们需要做出决定的时候,尤其是意识到我们明显受到情绪影响的时候,把自己需要做的决定告诉DeepSeek,让它来帮我们做分析和给建议。在综合考虑DeepSeek的分析和建议之后,我们自己再来做最后的决定。

我建议我们每个人都要训练自己有这么一个意识,以及学会如何跟DeepSeek讨论。这样我们做出的每个决策质量都会高得多,让我们的生活产生巨大的、良性的连锁反应。

5

在《未来简史》中,作者尤瓦尔·赫拉利预言未来每个人都会过度依赖自己的AI助手,个人不会再自己做决定。我并不赞同他的这种说法。

无论是把DeepSeek当作我们的私人事务助手,还是任务管理助手,又或者是私人决策顾问,我们都只是让AI辅助我们做决定。DeepSeek可以帮我们减轻认知负担,更轻松地做任务管理,以及更好地做出理性决策。

诺贝尔经济学奖得主丹尼尔·卡尼曼在《思考·快与慢》里提出了“窄框架”和“宽框架”理论,认为把多个决定放在一起考虑要比分开独立考虑要高效和正确得多。

使用DeepSeek作为我们的AI个人助手,就是把日常行程、任务管理和理性决策放在一个宽框架里面做决定。

这反映了AI时代的一个通用法则:AI来帮我们做琐碎的事情,我们去做更有意义的事情。在思考和决策这件事情上,也是如此。

在DeepSeek横空出世的2025年,我们不是太过依赖AI助手,而是依赖得还远远不够。

AI专题:从被动到主动,如何借助 ChatGPT 打造高效阅读流程

发表于 2025/05/05 | 分类于 AI专题1

1

2023年5月初往前看半年,我在阅读上陷入前所未有的低谷期。

2022年11月从原来的160小时下降到145.5小时,2022年12月再跌到116小时,2023年1月更是猛降到64.5小时。

2023年2月和3月有所好转,回到107小时和106小时。2023年4月跌到谷底,只有64小时。

2023年五一假期,我开始在阅读过程中使用ChatGPT,状态立即有了好转,还有出乎意料的突破。

2023年5月和6月,阅读时间上升到228.5小时和206小时。接下来就是一路上升——7月248.5小时,8月303小时,9月323小时,10月356小时,11月370小时,12月383小时······

使用ChatGPT之前的12个月,我平均每月阅读小时数是135小时。使用ChatGPT之后的12个月,这个数字增加到328小时,增长了143%。

自然有人会问,你是如何使用ChatGPT的,ChatGPT又是怎么帮助你在阅读上取得如此之大的进步?

在回答这个问题之前,我们先来看看我在使用ChatGPT辅助阅读之前的阅读方法是怎样的。

2

在2023年5月份之前,我看书会看三遍。

第一遍,速读。快速把书浏览一遍,判断这本书的质量如何,是否符合我的兴趣。好书留下,烂书扔掉。

第二遍,细读。这一遍会放慢速度,仔细地读。一边读,一边给好的段落和句子做上记号。

第三遍,摘抄。这一遍速度就更慢了,把之前标记的精彩内容摘抄下来。用手抄,抄在纸质笔记本上。

这样的读书方法有以下局限:

  • 摘抄只有输入,没有输出。这就相当于填鸭式学习,阅读效果不好。

  • 不问问题,难以深入理解。阅读过程中,我肯定有不理解的地方,但是没有把不懂的问题给问出来。即便问了问题,也没人给我回答。

  • 复习靠重读,效率低,容易忘。研究表明,重复阅读同一段材料,时间投入产出比非常低。

一开始这样的阅读方法问题还不大,因为我的阅读时间还不算长。后来时间一长,我就会觉得无聊,感觉阅读给我带来的收获抵不上我付出的时间。

因为阅读方法的落后,我在阅读上渐渐少了一些激情,陷入了前所未有的低谷。

3

穷则思变,我在2023年5月初开始使用ChatGPT辅助我阅读。在引入ChatGPT之后,我对原来的阅读方法做了很大的改进。

看书还是看三遍。第一遍没变,还是通过速读来筛选书。

第二遍,细读。新方法不同在于,我会认真寻找任何一个我感兴趣的、想问问题的地方。找到了就会停下来,问ChatGPT。

我在读《埃隆·马斯克传》的时候,问ChatGPT:“在传记里,截至2023年,马斯克都对特朗普充满鄙夷。但是现实中到了2024年,马斯克却对特朗普倾力支持,是什么造成这种变化?”

ChatGPT回答说:“埃隆·马斯克(Elon Musk)对唐纳德·特朗普(Donald Trump)态度的转变,主要发生在2024年7月特朗普遭遇暗杀未遂事件之后。在此之前,马斯克对特朗普持批评态度,但该事件似乎促使他重新评估了立场”。

在问问题的时候,如果我在ChatGPT的回答里看到任何一个我感兴趣的地方,我还会继续追问。它继续回答,我还可能继续追问。这样的连续问答,会一直持续到我没有想问的问题为止。

一本书读下来,我和ChatGPT的问答记录,就是我的读书笔记。我会把这些问答记录从官网导出,整理存储到我的云数据库里。

第三遍,问答复习。在这一遍阅读过程中,我会把之前形成的读书笔记喂给ChatGPT,让它给我出题。

复习《芯片战争》时,ChatGPT给我出了这样一道题:
1965年美国放宽移民规定,芯片公司更倾向于雇用女性劳动力的主要原因是什么?
A. 女性更有技术能力
B. 女性更加可靠
C. 女性工资更低且不易要求改善工作条件
D. 女性人数更多,容易招聘

回答问题的好处是,我可以通过问题来回忆之前阅读的内容以及读书笔记。有研究指出,回答问题的复习效率是重复阅读文字材料的好几倍。

在回答完全部问题之后,我才会再看一遍读书笔记,也就是之前跟ChatGPT的对话记录。

我的复习一共有三轮,三轮复习的题目各不相同。第一轮复习是选择题,第二轮是简答题,第三轮是创意题。

经历过这样的方法改进之后,我的每月阅读时长就从原来的135小时,增长到了328小时。方法更先进,效率更高,自然阅读的兴趣就更浓,阅读的时间也就更长。

4

原来的方法,我称之为被动阅读,因为我只是被动地阅读书里的内容,没有提出自己的问题。改进后的方法,我称之为主动阅读,因为我会根据书里的内容主动地提出感兴趣的问题。

每个人感兴趣的问题不一样,即使问同一个问题,跟ChatGPT的多轮问答也不可能完全一样,因为追问的问题会有所变化。因此,我们还可以把这种阅读方法称之为“个性化阅读”。

那么,这种主动阅读或个性化阅读的阅读方法,对我们的阅读和学习有哪些具体的好处呢?

理解更深。即时的问答可以帮助我们解答任何不明白或者疑惑的地方,可以给我们补充缺失的背景知识,避免似懂非懂。

记忆更牢。回答ChatGPT出的复习问题,能够激活我们的检索神经回路,比反复的重读更有效。

迁移更快。我们在跟ChatGPT讨论的过程中,可以使用类比比较的方法,把不同学科知识之间的底层逻辑打通,连接不同领域的想法。

5

在知识传播领域,有三次重大的革命。

第一次是印刷术的发明,使得知识变得可复制。第二次是互联网的发展,使得知识变得可搜索。第三次是大语言模型对话工具的普及,以ChatGPT为代表的AI工具使得知识变得可对话和可理解。

如何理解AI工具的发展,以及对我们人类的影响呢?

新的AI工具是代替我们去做人类工作当中无聊的、可重复的部分,把创新的、需要想象力和批判性思维的部分留给我们。

阅读和学习也是如此。

ChatGPT把学习流程里重复、枯燥和机械的环节(检索、初步整理、基础答疑)自动化了,我们需要做的是想象、跨学科、跨领域、批判和创造。

AI工具不断发展,我们也要不断更新我们的阅读和学习方法。这是AI时代每个人都必须要做的事情。

看书104个月

发表于 2025/05/01 | 分类于 每月报告

1

四月份的阅读状态还可以。原定目标是看书310小时,实际读了316小时,目标达成。

与此同时,我在这个月冥想了38.5小时,平均每天1小时17分钟。虽然低于年度目标的每天1小时30分钟,但是因为之前冥想时间比较多,所以前四个月平均下来还是超过年度目标的。

跟阅读时长一样,冥想时长也能反映我的状态好坏:时间少状态就差,时间多状态就好。在接下来的五月份,我会想办法增加自己的冥想时间。

接下来,跟大家聊聊为什么我最近会写AI专题的文章。

2

之所以会有写AI专题的想法,是因为我对中文信息源的失望。

因为对AI感兴趣,我买了市面上所有能买到的谈AI的书,订阅了很多个谈AI的公众号,还搜了不少的AI相关博客。这么一轮看下来,我发现整体内容质量偏低,基本都不及格——

第一,对AI工具只有简单的使用介绍,没有深入的经验分享。我想是因为作者自己都没怎么用过这些工具,只是为了赶热点而拼凑出一篇文章或一本书。

第二,对AI前沿技术的跟踪停留在介绍参数阶段,内容基本都是在堆砌技术名词。

第三,关于AI对人类社会产生影响的讨论过于肤浅,甚至可以说是在贩卖焦虑。

因此,我就有了想法:既然我想看的优质内容没有人写,那就由我来写。

3

这次要写AI专题的文章,我会写以下三类文章——

第一类:AI工具深度使用经验分享。

我会从自身积累的丰富使用经验出发,在文章里跟大家分享AI工具使用的技巧和体会。这样的内容比较实用,可以让读者少走弯路,提升AI工具使用的水平。

第二类:AI前沿动态跟踪。

这样的文章可以帮助我们及时关注AI前沿的重大进展,抓住机会,提升我们的竞争力。

第三类:AI对人类社会影响的讨论。

AI会让哪些人先失业,而会让哪些人更具竞争力?AI会让应试教育颠覆吗,抑或让教育分层更加严重?AI会让我们的生活更加舒适、安全和幸福吗,还是说恰恰相反?这样的思考和讨论,会给我们在AI时代的急速变化中提供理性思考的框架,不会被焦虑情绪劫持。

4

我会长期写这个专题。一方面的原因是,我对AI非常感兴趣。

通过写专题文章,可以建立持续观察、思考、沉淀的系统框架,成为我主动学习的一部分。

另一方面的原因是,为未来的竞争做准备。

Google DeepMind的CEO Demis Hassabis,即2024年诺贝尔化学奖得主,最近在接受《新闻60分》专访时提出,“预计5到10年内实现「具有人类通用性且超人速度知识的AGI」;2030年左右,AI将深度嵌入日常生活。”

也就是说,我们的下一份工作很可能跟AI有关;我们的下下一份工作肯定跟AI有关。早点积累一些知识储备,以及AI工具使用经验,可以积攒在未来的竞争优势。

5

总的来说,我之所以会想写AI专题的文章,是因为中文信息源的内容质量实在太差。既然没有人写讨论AI相关话题的优质文章,那就由我来写。

我写的主题有三类:AI工具怎么用,AI发展有哪些重要事件,AI对人类社会有哪些影响。

我会长期写下去,因为我对AI感兴趣,还因为AI很快就会嵌入到我们的日常工作和生活当中。写作不是目的,而是深化思考、锤炼认知的手段。

截至2025年4月30日,我一共阅读了16971小时。预计会在2026年5月20日,完成第二个10000小时,也就是总共20000小时的阅读目标。

5月份的阅读目标是680个番茄时间,也就是340个小时。

上一页1…567…31下一页

305 日志
9 分类
RSS
© 2017 — 2026 李文业
由 Hexo 强力驱动
|
主题 — NexT.Muse
粤ICP备17160932号