当前阅读总时间是:18,228.5小时
你今天还差多少达成目标 | 21小时 |
---|---|
ChatGPT使用时长 | 1494小时 |
冥想时长(本月) | 695.00(2.75)小时 |
你已经读了多少本书 | 3557本 |
八月阅读不及预期。原定目标看书300小时,实际看书267个小时。
阅读目标没有达成的主要原因是我换了个工作。到了新工作单位,一切都要从头开始适应,也就没有那么多空闲时间看书。现在已经适应了大半个月,相信九月会开始步入正轨。
冥想仍旧不理想。上个月冥想21小时,创历史新低。
不过现在重新开始上班,又要面对工作压力,需要冥想的次数会多得多。也就是说,这个月的冥想时间会变多。
接下来,我跟大家分享一下我换了新工作之后的感受。
换了新工作之后,健身还是有坚持下来。
我六月初开始健身。那时候处于gap期间,时间多的是。八月十一号入职,我担心没时间健身,或者坚持不下去了。结果并没有。
整个八月份,我一共健身了25天。比上个月的18天,足足多了7天。上班并没有让我减少健身,反而让我对健身产生了“依赖”。
现在的单位十点上班。我一般会在8点15分到健身房,锻炼一个小时。如果当天有锻炼,一整天上班都不会很累。尤其是工作一段时间之后,站起来走两步,能感受到肌肉的微微酸痛,以及因为酸痛而产生的各种舒缓物质,例如内啡肽、多巴胺等等。
有那么一两天,我没去健身房锻炼。哪怕多睡了一会儿,早上上班还是会犯困,没精神。上班的精力明显不够集中,下班之后会感觉累的多。
我现在已经坚持健身快3个月。直觉告诉自己,我已经进入了“坚持循环”。不需要多费劲,我就能继续坚持下去。重申一次我的中长期愿景——两年后健康状况明显改善,二十年后生理年龄低于实际年龄五岁以上。
到了新公司之后,一个惊喜就是可以用AI辅助编程了。
新公司的电脑是最新款的Macbook Pro,还允许安装ChatGPT和Cursor。我新的工作日常就是用ChatGPT做我的任务管理助手,跟它讨论新需求的设计方案。方案确定之后,就用Cursor的agent模式来做编程。用现在流行的说法,就是Vibe Coding。
Vibe Coding是这样的——
这就好比我有一个下属,我不用自己写代码,活儿都交给他干。我所需要做的就是,做好顶层设计,规划好实现路线,在他写完代码之后做检查和测试,给他提修改建议,确保最后的代码是没问题的。
这让我重新燃起了对编程工作的激情。我现在觉得编程很有意思,很好玩。我会很关心现在大模型的进展,尤其是AI辅助编程方面的改进。
一个行业,越是能让AI介入,就会发展得越快。
我用了十几年的番茄土豆APP,关停了。
番茄土豆APP,我主要是用来统计我的阅读时间。我在半年前就有危机意识,没来由地怕它不运营了,我就没有工具来继续统计看书时长。于是我就在ChatGPT的帮助下,写了一个网页demo来做番茄土豆APP的备胎。
万万没想到,八月中旬这个APP真的就没预兆地停止运营。我用DeepSeek查了一下,番茄土豆APP的所属公司已经注销了。
在Cursor的帮助下,我用了一个晚上来让备胎转正。经过几天的使用和小幅度迭代优化,现在新应用已经完美满足了我对统计看书时间的需求。
在这件事上,我突然多了一点对信息技术的感悟——所谓信息技术,其实也是一种叙事哲学,就是决定哪些有意义的信息,并且记录下来。
这个世界上每时每刻都会产生无数的信息,能保存下来的可能不到百万分之一。就拿我们个人来说,每天遇到那么多人,说了那么多话,碰到那么多事,我们能记住多少呢?我们只能记住,或者说想要记住那些对我们来说有意义的事情。
对我而言,阅读就是最有意义的一件事。记住在什么时候,看过什么书,对我来说非常重要。我会把这些数据集中在一起,在每个月结束的时候,用一篇月报来总结过去一个月的阅读情况。我会在每一年生日的时候,回顾这一年的阅读历程。从2016年到2025年的整整十年时间,我积累了整整十年的数据。
这些数据,不仅仅是数据,还是我的叙事基础。我会根据这些数据,画出一条折线图。线上的每个点,横坐标表示时间,纵坐标表示阅读时长。折线的高低起伏,就是我的状态起伏;折线的每个明显转折,对应着我人生的每个重大时刻。
没有信息技术,没有番茄土豆这个APP,我不可能积累前面十年的数据。没有AI,没有辅助编程技术,我很可能不会在APP关停之后做出新的应用,继续积累后面几十年的数据。
没有这些数据,很可能我就讲述不了这个版本的人生故事。
前面讲的三件事情,其实都跟阅读有关系。
健身给我带来好身体,让我更好地读书。
AI辅助编程让我对程序员的工作重新燃起激情,激发我的学习欲望,也就会有更多的阅读和思考。
也是因为有了AI辅助编程,我会更留意个人生活中对信息技术的需要,选择把哪些信息给保存下来,讲述我的人生故事。要做好这些,我必须继续学习,继续阅读。
截至2025年8月31日,我一共阅读了18196小时。预计会在2026年4月20日,完成第二个10000小时,也就是总共20000小时的阅读目标。
九月份的阅读目标是560个番茄时间,也就是280个小时。
``
特别说明:此文由ChatGPT生成,后续由我本人编辑、修改而成。
``
副标题:为AI生成代码负全责的30条最佳实践
为了在使用 AI 辅助生成代码(如借助 Cursor、ChatGPT、IntelliJ IDEA 等)时依然对代码质量和可行性负全责,以下整理了30条具体可执行的最佳实践,涵盖了开发全过程(提示编写、代码理解与验证、调试、测试、重构、部署与维护),特别针对Java Web开发及 Web3 支付场景。通过这些建议,开发者可以在AI生成方案和代码后真正理解其逻辑,并能够独立评估、验证、调试、改造代码。
核心原则:在向AI(Cursor / ChatGPT)请求代码或方案时,描述越清晰、上下文越完整,AI生成的代码就越可控、越高质量。
这一条是30条实践中最重要的基础,因为它直接决定了 AI输出的可用性、逻辑正确性 和 可维护性。在Java + Web3支付的场景中,尤其如此。
AI生成代码并不是“理解”你的需求,而是通过大语言模型在 “概率空间中预测最合理的续写”。
如果你的提示(Prompt)模糊、缺少上下文,AI会自行“脑补”:
在支付场景里,这些错误不仅导致bug,还可能直接造成 资金风险。
可以用一句话总结:
AI擅长“续写”,不擅长“猜测”。
你提供的上下文质量,决定了AI输出的质量。
具体原因有三点:
当同一个功能有多个子场景(如支付、回调、KYB认证),推荐把Prompt写在一个Markdown文件里,按需复用,提高上下文一致性。
核心观点:
AI输出的上限 = 你输入的下限。
提供的上下文越清晰,AI的答案越接近可用代码。
一句话记忆:
“不要让AI猜你的需求,要让它知道你的世界。”
核心原则:通过在 Prompt 中明确指定 AI 的“角色”和“代码风格”,可以大幅提高生成代码的专业性、一致性和可维护性。
在 Java + Web3 支付的开发场景中,指定角色与风格尤为关键,因为涉及安全、性能与团队规范的严格要求。
让 AI 知道“自己是谁”与“应当如何写”,是在概率模型上为其收敛到正确分布设置“强先验”。
你是一名资深 Java 后端工程师,熟悉 Web3 支付、Spring Boot、MyBatis 和 JJWT。
请严格遵循以下代码规范:
核心观点:
“让 AI 知道它是谁,并按谁的风格写”,是把输出收敛到可用、可维护、可审计范式的关键。
一句话记忆:
“指定角色 → 输出更专业;约定风格 → 输出更一致。”
核心原则:将复杂需求拆解为可控的小任务,让AI在每个步骤专注于单一目标,从而提升输出的准确性、可理解性和可维护性。
在Java + Web3支付开发中,接口逻辑通常涉及加密、签名、回调、数据库操作等环节,如果一次性让AI生成整块业务逻辑,错误概率和返工成本都会非常高。
大任务=多重假设叠加 → 更高错误率
小任务=最小化不确定性 → 更可控
这种分步交付方式,每一环都可单独调试与优化,最终组合成可靠的整体方案。
核心观点:
“拆解任务,让AI聚焦单一目标,才能让输出可控、可验证、可维护。”
一句话记忆:
“小任务 → 小上下文 → 小风险 → 大可控。”
核心原则:在Prompt中提供现有项目的示例代码、数据结构或接口定义,帮助AI学习并模仿现有风格,从而提升输出的一致性与可维护性。
在Java + Web3支付的开发场景中,团队通常已经有现成的DTO、日志格式、异常处理和数据库约定。如果不给AI这些示例,它会“拍脑袋”生成风格不统一的代码,导致返工量增加。
让AI模仿,而不是自由发挥
通过提供示例,将AI的输出从“概率空间中所有可选答案”收敛到“符合你项目风格的子集”。
GlobalExceptionHandler
示例,避免AI乱写try-catchAuditLogService
调用方式,让日志结构保持一致核心观点:
“提供示例让AI模仿,而不是让它自由发挥”,是保证生成代码一致性与可维护性的关键。
一句话记忆:
“给例子 → 模仿 → 风格统一 → 少返工。”
核心原则:AI擅长生成初稿与提供参考,但它并不具备完整的上下文理解与推理能力。将AI的输出视为“可修改的草稿”,而不是“最终答案”,是负责任开发的关键。
在Java + Web3支付开发中,很多接口涉及安全校验、加密算法、合规约束、性能优化等,AI可能无法准确推断这些要求。如果不理解AI的能力边界,就会高估其正确性,导致逻辑错误甚至安全风险。
AI的强项在“生成”,而非“验证”或“决策”。
核心观点:
“AI是生产力工具,而不是决策者。开发者必须保留最终的判断权。”
一句话记忆:
“把AI当草稿机,而不是终稿机;生成交给AI,验证必须靠自己。”
核心原则:在让AI写代码之前,先与它讨论设计方案、技术选型和实现思路,确保方向正确,再让AI生成具体实现,从而降低返工风险、提高代码可控性。
在Java + Web3支付开发中,接口逻辑通常涉及加密签名、回调验证、合规处理、数据库交互等。如果直接让AI生成完整实现,容易导致设计偏差、忽略约束或出现安全隐患。
设计和实现是两个阶段
如果在实现阶段才第一次思考方案,很容易让AI陷入“默认假设”,而不是遵循你的业务约束。
核心观点:
“设计在前,生成在后;先和AI对齐方案,再进入实现,能避免大规模返工与逻辑错误。”
一句话记忆:
“先讨论,再实现;先对齐,再落地。”
核心原则:AI生成的代码不是最终答案。无论代码多么完整、格式多么工整,在使用前必须逐行阅读、理解逻辑,确保它符合你的业务需求、项目约定与安全要求。
在Java + Web3支付的开发中,很多功能涉及加密、签名、回调、事务等。如果不先读懂AI生成的代码,就直接复制到项目里,可能会引入严重漏洞、逻辑错误或安全隐患。
“生成”与“理解”是两个完全不同的任务。
核心观点:
“AI可以生成代码,但你必须理解代码,否则无法为最终实现负责。”
一句话记忆:
“AI写得快,但责任在你;逐行读懂,掌握主动权。”
核心原则:当遇到不理解的代码、复杂的算法或陌生的API时,可以让AI充当“代码讲解员”,用自然语言帮你拆解逻辑,但最终理解仍需你自己验证。
在Java + Web3支付的开发中,业务场景常常涉及签名算法、加密验签、回调处理、异步事务等。如果你完全依赖AI生成代码而不理解内部逻辑,一旦出现问题就很难排查。因此,让AI辅助你掌握代码,是高效学习与负责开发的结合点。
让AI“教”你,而不是“替”你。
核心观点:
“AI是你的助教,不是替代者。通过让AI解释难点,你能更快掌握逻辑,但最终责任仍在你。”
一句话记忆:
“用AI讲解逻辑,用自己验证结论。”
核心原则:无论AI生成的代码多么完善,都需要你手动推演完整的业务流程,验证逻辑是否覆盖所有关键场景,确保没有遗漏、冲突或安全漏洞。
在Java + Web3支付的开发中,接口通常涉及加密签名、回调处理、异常回退、数据库事务等。如果不做全局逻辑推演,就算代码能编译通过,也可能在真实场景中出现严重问题。
AI验证的是语法,而不是业务。
编译通过 ≠ 逻辑正确 ≠ 安全可靠。
核心观点:
“AI写代码,开发者必须验证业务逻辑;手动推演是保证闭环的唯一可靠方法。”
一句话记忆:
“能跑通不等于没问题,手动推演才能掌控全局。”
核心原则:不要只让AI生成代码,也要让AI充当“代码审查员”,对生成结果进行安全、逻辑、风格等多维度的二次检查,帮助你发现潜在问题。
在Java + Web3支付开发中,很多逻辑涉及安全签名、回调幂等性、交易状态校验、异常回退等高风险环节。即使AI生成的代码可以运行,也可能存在逻辑漏洞或安全隐患。通过让AI参与代码审查,可以在早期发现问题,降低返工成本。
让AI扮演两种不同角色:开发者 + 审查员。
核心观点:
“AI既是写代码的助手,也是审查代码的助手。让AI二次Review,是提高代码质量的关键。”
一句话记忆:
“第一次生成,第二次审查;双轮交互,降低风险。”
核心原则:当AI一次性生成“大块实现”时,先把代码按职责切分为若干小模块(控制器、服务、仓储、工具、配置等),分别校验与落盘,通过“小步可控”的方式获得对整体逻辑的真正掌控。
在 Java + Web3 支付场景里,AI常会一次生成包含控制器、业务逻辑、签名/验签、数据库访问、回调处理在内的“巨型代码块”。直接粘贴使用风险极高:难以阅读、难以定位问题、缺少清晰边界,且隐含安全与幂等隐患。
可验证性来自“边界清晰”。
核心原则:AI生成的代码并不保证正确性。在涉及第三方API、SDK、框架方法时,必须对照官方文档、源码或权威资料进行验证,避免因为AI“幻觉”导致的实现错误或安全漏洞。
在 Java + Web3 支付开发中,AI常会生成看似合理但实际不存在的API、字段或方法。例如,AI可能会使用错误的Web3签名方法、调用过时的Spring Boot API,或者假设不存在的MyBatis Mapper接口。如果不进行交叉验证,问题会在后期集成测试或线上环境暴露,代价极高。
AI擅长续写常见模式,但不会实时验证有效性。
signTransaction()
或verifySignature()
等方法,但不同Web3 SDK的签名API完全不同。 status
和txHash
,AI可能假设存在isPaid
字段导致逻辑错误。 timestamp
和nonce
检查常常被AI漏掉。@EnableWebSecurity
配置,而你当前使用的Spring Security 6+版本可能已弃用。核心观点:
“AI生成的写法只是参考,最终以官方文档、源码与SDK为准。”
一句话记忆:
“AI能写,但文档能证;先查官方,再信AI。”
核心原则:当AI生成的代码出现异常、逻辑错误或性能问题时,第一步不是盲目调试,而是先构造“最小可重现场景”,用最少的代码、最小的数据集和最清晰的输入输出重现问题,从而高效定位原因。
在 Java + Web3 支付开发中,业务链路通常涉及签名、交易上链、回调处理、数据库更新、日志落盘等多个步骤。如果不缩小问题范围,直接在大规模真实场景中调试,成本极高且难以定位根因。
缩小问题空间 → 降低排查成本 → 提高定位精度。
问题:交易回调偶尔验签失败
最小可重现场景:
核心观点:
“调试从最小化开始,只有在可控范围内重现问题,才能高效定位根因。”
一句话记忆:
“先缩小,再排查;小场景,大洞察。”
核心原则:AI生成的代码看起来正确并不代表它实际能正确运行。通过在IDE中使用断点调试,跟踪真实的变量状态、数据流与方法调用链,才能彻底掌握AI代码的行为并发现隐藏问题。
在Java + Web3支付开发中,业务逻辑涉及交易签名、KYB验证、回调处理、数据库更新等多环节。仅靠阅读代码或依赖AI解释很容易遗漏真实运行时的状态变化,唯有断点调试才能直观验证每一步是否按预期执行。
AI生成的是“假设”,IDE断点验证“事实”。
核心观点:
“代码是AI写的,行为是运行时验证的;调试是掌握主动权的唯一方式。”
一句话记忆:
“用AI生成,用断点求证;真实状态,尽在掌控。”
核心原则:在AI生成的代码中,通过批量插入高价值日志,构建可追踪的数据流视图,帮助你快速定位问题、验证逻辑,并掌握系统在运行时的真实状态。
在Java + Web3支付开发中,支付链路常常包含交易签名、链上广播、回调处理、数据库更新、幂等控制等环节。如果只依赖断点调试,很难完整跟踪跨线程、跨接口、跨模块的数据流。通过高质量日志策略,配合AI生成的代码,可以高效排查问题和验证设计。
日志 = 行为真相的最小快照。
AuditLogService
),保持日志格式一致 AuditLogService
示例,确保风格与项目一致 [traceId] [merchantId] [txHash] [status]
核心观点:
“日志是可观测性工具链的基石,能帮助你掌握AI生成代码的真实行为和潜在风险。”
一句话记忆:
“日志是运行时的证据;好日志,让问题无处隐藏。”
核心原则:当AI生成的代码报错或行为异常时,不要盲目大范围调试,而是先提出具体假设,再逐步验证,通过“缩小问题空间”快速定位根因。
在Java + Web3支付开发中,业务链路涉及签名、回调、数据库更新、KYB校验等多个模块。如果在出现Bug时不做假设,直接调试全链路,不仅耗时长,还可能陷入无效尝试。假设验证法可以帮助你聚焦问题所在,尤其适合处理AI生成的新逻辑。
缩小问题空间 = 提出假设 + 验证数据 + 排除干扰。
问题:交易回调验签失败
可能假设:
nonce
或timestamp
验证策略:
核心观点:
“复杂问题必须先提假设,再做验证;缩小问题空间才能高效定位根因。”
一句话记忆:
“不猜测,不乱试;先假设,再验证。”
核心原则:通过结合手写关键单元测试与AI自动生成测试用例,构建足够覆盖的验证体系,帮助你快速定位问题边界,确保AI生成代码的行为符合预期。
在Java + Web3支付开发中,AI生成的逻辑往往涉及签名、验签、回调、数据库更新、KYB认证等多模块交互。单靠阅读或断点调试很难覆盖所有场景,而结合单元测试与AI生成测试用例,可以系统性验证每条路径的正确性。
单元测试是“事实验证器”,AI生成代码只是“假设”。
核心观点:
“AI生成代码只是起点,单元测试才是保障代码行为正确性的终点。”
一句话记忆:
“AI写实现,测试定边界;用例越全,Bug越少。”
核心原则:当遇到复杂错误日志或长调用栈时,让AI帮忙解析日志结构、提取关键信息、缩小问题范围,从而更高效地定位故障原因。
在Java + Web3支付开发中,支付链路跨多个系统:交易签名、广播区块链、支付网关回调、数据库更新、日志落盘等。任何一个环节出错都会产生大量日志与调用栈信息。AI可以帮助快速解析这些日志,找到问题根源,尤其适合排查AI生成的新逻辑。
日志分析的本质是噪声过滤
让AI充当“智能筛选器”,从长日志中提取真正有价值的信息。
signature mismatch
或invalid signature
字段 核心观点:
“让AI帮你分析日志与调用栈,它是信息筛选器,不是最终结论。”
一句话记忆:
“AI扫雷找关键,你验证定根因。”
核心原则:当AI生成的代码存在Bug或不确定性时,可以让AI帮忙生成最小化的调试脚本,通过快速复现场景、验证假设和定位问题,缩短故障排查周期。
在Java + Web3支付开发中,交易链路通常涉及签名、验签、回调处理、数据库更新、区块链SDK调用等。传统调试依赖全链路环境,效率低且易被噪音干扰。让AI帮你生成最小可运行调试脚本,可以更高效地验证单点问题。
最小化验证 → 缩短反馈周期 → 加速迭代优化。
问题:回调验签偶尔失败
AI生成调试脚本思路:
核心观点:
“用AI生成调试脚本,把复杂问题拆解为最小可控场景,快速验证假设并锁定问题。”
一句话记忆:
“调试靠最小化,验证靠自动化。”
核心原则:在上线前,利用沙箱环境、Mock数据和AI生成的调试脚本,完整模拟支付全链路,提前发现潜在问题,避免在生产环境中暴露风险。
在Java + Web3支付开发中,支付链路涉及签名、交易广播、区块确认、回调处理、幂等控制、数据库写入等多个系统与环节。AI生成的代码即使局部可运行,也不能直接推到生产环境。通过在沙箱中模拟全链路,结合AI辅助工具,可以大幅降低故障与安全风险。
真实闭环验证 = 模拟真实输入 + 模拟完整交互 + 验证预期输出
核心观点:
“在沙箱中提前完成全链路验证,是将AI生成代码安全推向生产的最后一道保险。”
一句话记忆:
“沙箱先演练,线上才安全。”
核心原则:AI生成的代码通常能跑,但未必可维护。在投入生产前,应结合AI辅助与人工审查,对代码进行可控重构:统一风格、消除冗余、分离职责、提高可测试性,从而确保后续迭代的稳定性与扩展性。
在Java + Web3支付开发中,AI生成的逻辑往往跨越多层,例如签名/验签、回调处理、幂等控制、数据库更新等。如果不经过重构,可能出现方法过长、命名不一致、模块耦合、可测试性差等问题,后期维护成本会急剧升高。
AI代码可运行,但未必可演进;重构的本质是让代码可预测、可维护、可扩展。
CryptoService
,避免在控制器或Service中散落加密实现CallbackHandler
中,集中管理重放保护与幂等锁AuditLogService
,避免散落的System.out.println
核心观点:
“AI能写出可运行的代码,但可维护性需要开发者掌控。通过小步、可控的重构,让代码既能跑,又能演进。”
一句话记忆:
“先锁定行为,再小步重构;让AI出方案,由你定取舍。”
核心原则:利用AI快速分析日志、调用链和SQL执行情况,找出性能瓶颈所在的关键路径,并结合本地调试和监控工具验证结果,从而有针对性地优化Web3支付系统的高耗时环节。
在Java + Web3支付开发中,常见性能瓶颈包括:签名/验签计算耗时过长、链上交易提交延迟、回调处理阻塞、数据库慢查询、幂等锁冲突等。AI可以帮助识别瓶颈位置、分析原因,并生成优化方案。
AI=性能分析助手,而不是最终结论。
核心观点:
“AI可以帮你找到性能瓶颈,但不能替代数据驱动的验证与优化。”
一句话记忆:
“AI找瓶颈,数据定结论,优化靠验证。”
核心原则:AI生成的代码能跑,但不代表安全。通过结合AI分析、人工安全审计和官方文档交叉验证,对Web3支付链路进行全方位的安全检查,避免因实现缺陷导致资金风险或数据泄露。
在Java + Web3支付开发中,签名、验签、回调、幂等性、权限验证是最容易被忽视的高风险点。AI生成的逻辑即使能工作,也可能遗漏关键的安全措施,比如防重放、防篡改、数据脱敏等,因此需要系统化的安全审计。
“功能正确”不等于“安全可靠”。
timestamp
和nonce
核心观点:
“AI写功能快,但安全需要双重把关。让AI辅助安全审查,再用人工确认,才能放心上线。”
一句话记忆:
“AI能写代码,人要保安全。”
核心原则:在使用AI生成代码时,必须先制定统一的异常处理与错误码策略,并让AI严格遵循。这样可以避免异常风暴、日志混乱、返回结构不一致的问题,使Web3支付链路的可观测性和可维护性显著提升。
在Java + Web3支付开发中,支付链路涉及签名、交易、回调、数据库、幂等、KYB/KYC等多个模块。如果AI生成的代码没有统一的异常处理策略,可能导致:
因此,必须提前设计异常策略,让AI生成的代码在异常抛出、日志记录、错误返回等方面保持一致。
异常策略 = 语言 + 契约 + 日志 + 错误码
GlobalExceptionHandler
的示例,让AI生成的代码自动接入全局异常体系 PAY_001
、SIGN_002
、CALLBACK_003
),并附在Prompt中 SIGN_001
(签名失败)、SIGN_002
(验签失败)CALLBACK_001
(回调Payload缺失)、CALLBACK_002
(回调重复)IDEMPOTENT_001
(幂等锁失效)、TX_001
(事务回滚)BLOCKCHAIN_001
(区块链节点超时)、GATEWAY_002
(支付网关不可用)“根据以下
GlobalExceptionHandler
代码,帮我在新生成的回调处理逻辑中统一接入异常策略。”
“根据以下错误码设计规范,帮我为这段支付签名逻辑生成标准的异常返回和日志记录。”
traceId
+merchantId
+txHash
统一标识一笔交易,方便跨模块追踪 核心观点:
“统一异常体系,让AI生成的代码更可控、更安全、更易追踪。”
一句话记忆:
“异常有规范,错误可追踪;AI按规写,系统更可控。”
核心原则:在使用AI生成Web3支付逻辑时,数据库一致性风险极高。借助AI自动生成一致性检查与修复脚本,提前发现数据错乱、幂等失效、回调丢失等问题,并快速修复,避免影响资金结算与交易状态。
在Java + Web3支付开发中,交易链路涉及签名、回调、幂等锁、交易状态更新、日志审计等。当AI生成的逻辑上线后,最常见的隐患是:
通过AI辅助生成的检查与修复脚本,可以在上线前、回归测试和日常巡检中,确保数据一致性。
一致性策略 = 检查 + 校验 + 补偿 + 自动化
t_tx_record
中重复交易的SQL。” t_tx_record
中的回调状态与t_audit_log
中的记录是否一致。” t_idempotent_lock
的脚本,列出未释放的锁记录。”核心观点:
“AI写代码快,但数据一致性必须自己守住底线。让AI生成检查与修复脚本,是降低资金风险的最佳实践。”
一句话记忆:
“先检查,再修复;用AI生成SQL,让一致性可控。”
核心原则:AI生成的代码能跑,但未必符合可维护性、可扩展性和安全性标准。通过让AI自动生成高价值的代码审查(Code Review)清单,结合人工检查,确保每一行代码在性能、安全、可读性、可扩展性等方面都达到上线要求。
在Java + Web3支付开发中,交易签名、回调处理、幂等控制、区块链交互等逻辑复杂,AI生成的实现可能可用,但经常存在:
通过AI辅助生成的审查清单,可以系统化发现这些问题,让团队在上线前建立可维护性保障。
AI = 审查助手 + 规范执行器
核心观点:
“AI可以加速生成代码,也可以加速代码审查;结合人工审查,才能建立高质量的可维护性保障。”
一句话记忆:
“AI先审查,人工再把关;清单先固化,未来更高效。”
核心原则:在Web3支付开发中,AI生成的代码即使功能正确,也可能埋下隐性安全漏洞。借助AI生成安全基线检查清单和自动化测试脚本,结合人工审查,确保整个支付链路具备足够的防御能力。
在Java + Web3支付开发中,签名、验签、回调、幂等性、防重放、权限校验等都是高风险点。如果缺乏系统化的安全检查,AI生成的逻辑可能在测试时表现正常,但在高并发或恶意攻击场景下失效,导致资金损失或数据泄露。
安全设计 = 主动防御 + 自动化检查 + 持续验证
nonce
、timestamp
等字段是否严格校验 核心观点:
“AI写功能快,但安全要靠基线防御。结合AI生成检查清单与人工审查,才能有效避免隐性漏洞。”
一句话记忆:
“AI扫风险,人来兜底;安全基线先固化。”
核心原则:在使用AI生成方案和代码时,不仅要关注单个函数或模块,还必须掌握全局架构与数据流。通过让AI生成可编辑的架构图、时序图、数据流图,帮助你理解代码之间的依赖关系、业务链路和安全边界,从而实现对系统的全局可控。
在Java + Web3支付开发中,AI生成的实现往往跨越多个模块:控制器、服务、回调处理、签名验签、数据库更新、区块链SDK交互等。如果没有一份可视化的架构图和数据流图,很容易陷入“只懂一小块”的状态,导致无法发现逻辑缺口或潜在安全风险。
可视化=全局掌控 + 局部优化的前提。
核心观点:
“全局架构可视化,是掌控AI生成代码质量的关键。图越清晰,Bug越可控。”
一句话记忆:
“先画图,再优化;先全局,再局部。”
核心原则:在AI生成的代码上线前,必须通过端到端集成测试验证跨模块行为。借助AI自动生成高覆盖率的集成测试,确保支付全链路在真实环境中按预期工作,避免逻辑缺陷和安全漏洞。
在Java + Web3支付开发中,支付链路常涉及:交易发起 → 签名计算 → 区块链广播 → 回调处理 → 数据库写入 → 幂等控制 → 日志审计。如果只靠单元测试,难以发现跨模块依赖问题。通过AI生成的集成测试,可以模拟真实链路,验证端到端正确性。
集成测试是验证跨模块协作的唯一有效手段。
核心观点:
“单元测试只能验证局部正确性,集成测试才能验证AI生成代码在全链路的可靠性。”
一句话记忆:
“AI写代码,集成测闭环;模拟真实链路,确保系统可控。”
核心原则:AI生成的方案和代码只是起点,最终落地需要“AI生成 → 人工验证 → 数据反馈 → Prompt优化 → 再次生成”的持续改进闭环。通过构建可迭代的AI协作体系,确保系统在可控、可维护、可扩展的基础上不断演进。
在Java + Web3支付开发中,AI能高效生成设计方案、业务逻辑、测试用例和调试脚本,但AI并不理解你的特定业务背景。只有建立AI+人工双向反馈的机制,才能让生成的代码在质量、安全性、性能和可维护性之间取得平衡。
闭环=生成→验证→优化→再生成
初次生成
人工验证
数据反馈
二次生成
核心观点:
“AI生成只是起点,闭环优化才是长期可演进的关键。把AI当成‘辅助开发者’,而不是‘最终答案’。”
一句话记忆:
“AI产出,人工验证;数据反馈,持续进化。”
在AI时代,代码的生产方式正在发生根本性变化。我们不再是“独立写代码的人”,而是与AI共同设计、共同实现的协作者。然而,AI生成的方案和代码只是“起点”,而不是“答案”。如果我们想真正为AI生成的代码负全责,就必须从 清晰输入 → 审慎验证 → 安全防御 → 性能优化 → 可持续演进 五个维度,构建一套完整的实践方法论。
这三十条最佳实践,正是围绕这五个核心维度展开。
(对应第1~4条)
如果你希望AI帮你生成可用、可控的代码,首先必须从输入做起。
核心结论:
好的输出,始于好的输入。你不是在“提问”,而是在“设计AI的工作流”。
(对应第5~12条)
AI生成的代码“能跑”不等于“正确”,更不等于“可靠”。
核心结论:
不要盲目信任AI,把它当“初稿助手”,再用多重验证手段重建信任。
(对应第23~27条)
在Web3支付场景中,资金链路和敏感数据的安全是底线。
核心结论:
AI能写代码,但安全需要我们兜底;AI能扫描风险,但安全闭环要靠人机协作。
(对应第22、28、29条)
AI生成的逻辑未必是高效的,尤其是Web3支付链路涉及签名计算、链上交互、回调处理、多线程并发,稍有不慎就会出现性能瓶颈。
核心结论:
性能分析要数据驱动,AI给线索,人来验证,闭环才可控。
(对应第26、30条)
最后,我们不仅要让AI生成的代码“能跑”,更要让它“可演进”。
核心结论:
AI是“副驾驶”,不是“自动驾驶”。闭环优化,才能让系统长期健康演进。
这三十条实践不是一份“规定动作”,而是一套可演进的操作系统。
如果说AI让我们写代码的效率提升了10倍,那么这三十条方法的目标,是确保 “高效”不以“失控”为代价,让我们既能快,又能对每一行代码、每一次上线、每一次链路安全 负全责。
一句话总结:
“AI写得快,人要看得透;建立可控的闭环,让速度与安全并存,让效率与责任共生。”
特别说明:此文由ChatGPT生成,后续由我本人编辑、修改而成。
Cursor 作为 AI 驱动的代码编辑器,在正确使用下可以显著提升开发效率和代码质量。开发者的经验表明,使用 Cursor 后开发效率确实有明显提升 ;有资深用户甚至反馈它相较传统工具带来了 2 倍以上的提效 。但要充分发挥 Cursor 的优势,同时避免潜在风险,我们还需要遵循一系列最佳实践。下文总结了 20 条针对 Java 后端项目的 Cursor 使用建议,并对个人与团队场景分别做出说明。
• 操作建议:确保打开项目后让 Cursor 自动索引代码库。初次使用时,Cursor 会扫描项目文件生成嵌入向量,以便后续 AI 更好地理解您的代码 。在设置中开启“自动索引新仓库”的选项,并根据需要调整忽略某些文件的配置(见下一条)。
• 背后理由:通过代码索引,AI 模型对项目的上下文掌握更全面。当您询问代码问题或让 AI 生成代码时,它可以参考已索引的文件内容,从而给出更准确、有针对性的答案 。“让 AI 熟悉代码库”是 Cursor 提效的基础功能之一。
• Java 项目适配:对于 Spring Boot 等大型 Java 项目,索引可以帮助 AI 理解项目结构(如控制层、服务层、仓库层的划分)并回答关于代码的具体问题。个人使用时,可直接依赖 Cursor 自动索引;团队项目中,建议所有成员在各自环境中打开索引,并统一忽略不必要的文件(下一条详述),以避免无关内容干扰 AI 理解。
• 操作建议:充分利用 Cursor Rules 功能,在项目中创建规则文件来约束和指导 AI。将项目的编码规范、架构模式和领域约定写入 .cursor/rules/ 目录下的规则文件中,并在 Cursor 设置中配置必要的全局 User Rules。例如,可以建立规则要求“Repository 接口命名以 Repository 结尾”、“Service 层需使用 @Transactional”等。这些规则都可以在Cursor的帮助下自动生成。
• 背后理由:规则相当于对 AI 的持续性系统提示,能让 AI 在每次生成代码时遵守指定的风格和约束 。通过项目规则可以编码领域特定知识、自动套用项目模板、统一风格和架构决策 。例如,您可以用规则规定领域术语或框架用法,让 AI 明白在您的项目中应遵循的准则。这样减少反复提示同一规范的需要,提高协作一致性。
• Java 项目适配:在个人项目中,您可定义 User Rules 作为自己偏好的编码指南(例如代码风格、日志格式等)。对于团队项目,将规则文件纳入版本控制,使所有成员的 Cursor 都应用相同规则,确保生成代码风格一致。如针对 Spring Boot 项目,可编写规则规范:“Controller 层只调用 Service,不直接访问 Repository”,或 JPA 实体命名规范等,以此来标准化团队代码。请注意将规则聚焦于具体可行的要求,并提供示例,规则应精确且可操作以发挥最大效力。
• 操作建议:当处理公司私有代码或敏感项目时,启用 Cursor 的隐私模式。具体做法是:在设置中将 allowAiService 设为 false、关闭遥测上报等 。隐私模式开启后,每次与 AI 的交互都不会将代码长期存储在云端。
• 背后理由:启用隐私模式可以防止源码片段未经允许上传到远程服务器 。Cursor 官方强调,在隐私模式下,您的代码不会被远端存储,每次请求处理完后数据即被删除 。这对企业代码尤为重要,可降低泄漏机密的风险。需要注意的是,关闭 AI 服务访问可能会禁用某些基于云端模型的功能,因此要在安全与功能之间权衡。
• Java 项目适配:个人开源或练习项目如果不涉及机密,可视情况决定是否打开隐私模式;但对于企业 Java 后端项目(包含公司业务逻辑、数据库密码等),强烈建议开启。在团队场景下,可以将隐私模式作为开发规范的一部分,并提醒成员不要在提示中粘贴敏感凭据或个人数据(即使开启了隐私模式,也应遵循最小披露原则)。将 API 密钥、密码等以环境变量或占位符形式与 AI 讨论,避免直接暴露真实机密信息。
• 操作建议:使用 .cursorignore 或项目已有的 .gitignore 来忽略不必要的文件,避免将日志、大型二进制、依赖库等无关内容纳入索引。Cursor 默认会遵循 .gitignore 中的模式,您也可以在 Cursor 设置的“Indexing & Docs”中查看和调整忽略文件列表。这些规则都可以在Cursor的帮助下自动生成。
• 背后理由:精简索引范围可以提高 AI 答复的准确性 。忽略大型文件或编译输出,可减少向量数据库干扰,让 AI 更专注于源代码本身 。同时这还有利于性能,因为跳过庞大文件意味着索引更快、占用更少资源。
• Java 项目适配:建议忽略 target/、*.class、*.jar 等编译产物目录和文件 (这些内容既不需要AI理解,又可能极大增加索引规模)。如果项目使用 Lombok 等生成代码的库,也可忽略自动生成的源码目录,转而索引生成前的源文件。个人用户可以根据项目情况手动调整;团队应在项目仓库根目录提供统一的忽略配置(例如 .cursorignore 文件),确保大家的 Cursor 索引行为一致。同时注意忽略包含敏感信息的文件(如包含密码的配置文件),以进一步降低泄密风险。
• 操作建议:像配置 VS Code 一样配置 Cursor。设置统一的 JDK 路径、编码风格和性能优化选项。例如,在工作区的 .vscode/settings.json 中指定团队的 JDK 安装路径 (java.jdt.ls.java.home)、缩进为4空格、保存时自动格式化和优化 imports,以及关闭针对生成文件的文件监视等 。同时,提供调试配置 launch.json 方便一键启动 Spring Boot 应用或运行测试。
• 背后理由:良好的编辑器配置能提升 AI 建议与实际项目环境的契合度。Java 项目通常对缩进、编码、构建有特定要求,预先设置好这些选项可减少 AI 生成代码与项目规范不符的情况。另外,Cursor 本质是 VS Code 衍生版,对大型项目的性能取决于配置优化。例如忽略编译目录的文件监视可避免编辑器卡顿 。一位作者指出,影响开发效率的主要因素就是恰当的设置和配置 ——准备好这些有助于 AI 功能流畅发挥。
• Java 项目适配:对于个人开发者,请根据自己项目需要在 Cursor 中配置好 Java 扩展的设置(如 Maven 本地仓库镜像、编码格式UTF-8、行尾处理等)。若网络不佳,可以像常规配置 VS Code 那样更换 Maven 仓库为国内源以提升依赖下载速度 。团队使用时,应在项目仓库中提供标准的 VS Code 设置(如通过 .vscode/ 目录共享 settings.json、launch.json、tasks.json 等) 。这些配置应包含格式化规则、编译和调试命令,以及推荐安装的插件列表 。通过统一配置,团队所有成员的 Cursor 环境将保持一致,从而减少“因环境导致的AI建议差异”,整体提升协作效率和开发体验。
• 操作建议:由于 Cursor 基于 VS Code,许多 Java 功能需要插件支持。安装官方的 “Extension Pack for Java” 扩展包,它包含 Java 语言支持、Maven/Gradle 工具、调试器等 7 个子插件,可一次性满足 Java 开发所需 。根据项目需求,还可以安装 Lombok、Spring Boot Tools、Docker 等插件。若界面语言需要中文,也可安装 VS Code 中文语言包 。
• 背后理由: VS Code 本身对 Java 的支持较弱,大部分功能(如代码补全、重构、调试)依赖语言服务器等扩展来实现 。安装 Java 扩展包能提供与 IntelliJ 类似的基础能力 。这些插件确保 Cursor 能正确识别 Java 语法和项目结构,例如提供 IDE 必要的语法高亮、错误标注、自动导包等。如果缺少它们,AI 生成的代码可能因为编辑器无法解析依赖而出现假警告或不完善的地方。
• Java 项目适配:个人用户第一次使用 Cursor 写 Java 时,务必先装好 Java 扩展包,否则会感觉“什么都不好用”。对于团队,在内部文档或项目 README 中注明Cursor 开发环境的插件要求。可以利用 VS Code 提供的 extensions.json 推荐列表,让团队成员打开项目时获得安装提示 。例如,推荐安装 红帽的 Java 扩展、Debugger for Java、Test Runner for Java 以及 Spring Boot Extension Pack 等。通过统一插件集,保证每个人的 AI 助手都有可靠的基础知识库,减少因为本地环境差异导致的 AI 行为不一致。
• 操作建议:根据场景选择 Cursor 的不同 AI 交互模式:使用 Chat 模式(快捷键 Cmd+L)与 AI 进行对话求解复杂问题;使用 Composer/Inline Edit 模式(快捷键 Cmd+K 或编辑器右键“Insert AI Suggestion”)对现有代码进行定向修改或生成新代码。Chat 窗口中的回复不会自动应用到代码,而 Composer 模式下 AI 生成的代码片段可以直接插入/替换到编辑器 。在 Chat 得到满意答案后,可按 Cmd+I 将提议的代码移动到 Composer 区域进行应用 。
• 背后理由:两种模式各有适用场景:Chat 模式更适合开放式讨论、让 AI 解释代码、规划架构或回答非代码问题,其回复您可以先阅读斟酌,然后决定是否手动采用。而 Inline/Composer 模式适合具体的代码生成功能,如“在此文件插入某方法实现”——AI 会直接给出修改方案并高亮预览,更直观地查看改动效果。将不同任务用合适的模式处理,可以提高效率并降低出错几率。例如,Chat 模式下可以反复追问直到答案令人满意,再通过 Composer 应用变更,从而避免不必要的错误修改。
• Java 项目适配:在日常开发中,可以用 Chat 模式让 AI 帮忙梳理业务逻辑或排查 bug,例如“请解释下为何我的 Spring Bean 没有被注入?”。AI 会利用索引过的代码给出推理,并可能提供解决建议。而当需要批量修改代码(比如重构某个类名、添加日志语句等),可以在编辑器中选中相关代码片段,直接让 Cursor 执行 Inline Edit 指令。个人使用时多练习切换这两种工作流以找到最佳节奏;团队使用时,可以分享对不同模式的使用心得,使新人尽快上手。例如,可以在团队wiki中记录:“使用 Chat 模式做设计讨论,用 Composer 模式做代码生成”,帮助大家充分利用各模式优点。
• 操作建议:练习编写清晰的提示(Prompt)。在向 Cursor 请求帮助时,尽量明确说明需求、提供足够的背景,并避免一次性提出过于庞杂的要求。将复杂任务拆分为多个小步骤,让 AI 分步完成。例如,先让 AI 生成 DAO 接口,再生成 Service 实现,最后编写 Controller,而非一口气要求“生成整个模块的所有代码”。如果 AI 未理解意图,可通过逐步追问或重述来引导。
• 背后理由:良好的提示工程(Prompt Engineering)对充分发挥 Cursor 至关重要 。清晰具体的指令就像给模型指路的线索,使其更容易“猜中”你想要的结果 。研究表明,让模型逐步推理、分段输出往往比一次输出大段代码更可靠。这在实践中也得到验证:有用户发现 Cursor 擅长小范围的代码重构或生成,例如修改一个函数的逻辑,效果很好;但如果一次涉及过多文件或复杂上下文,AI 可能会“思路混乱” 。通过聚焦于单一功能点,AI 可以给出更准确的响应,减少胡乱臆测。
• Java 项目适配:例如,与其让 AI “生成一个完整的Spring MVC三层架构模块”,不如先提问:“在 Spring Boot 中创建一个 Repository 接口,包含根据 email 查找 User 的方法”,待 AI 给出代码后,再继续:“为上一步的 Repository 实现 Service 层逻辑”。这样逐步细化,AI 每次处理的信息量更可控,也更贴近实际开发流程。个人使用时可以积累一些常用提示模板(如请求生成单元测试、优化某段代码性能等);团队则可在内部分享高质量的 Prompt 案例。当同事设计出有效的提示词解决了某类问题时,不妨在团队文档中记录下来,方便他人参考借鉴,从而整体提升 AI 使用水平。
• 操作建议:当询问AI有关某段代码的问题或让其修改代码时,显式引用相关文件或片段。在聊天或指令中使用“@文件名”引用项目中的文件,或在对话中通过“Add Context”按钮添加当前文件,这会将文件内容纳入 AI 上下文。Cursor 还支持用特殊语法引用 Pull Request 编号、提交哈希等(如 @PR123 引用特定PR的diff) 。引用添加后,可直接对AI说“请优化上述代码的性能”,它会基于提供的代码进行分析。
• 背后理由:主动提供所需的上下文,能显著提高 AI 回答的准确度。Cursor 支持通过 @ 符号引用多个文件且不会重复添加已经包含的内容 。这意味着如果您的提问涉及跨模块逻辑,引用相关源文件能让 AI 更全面地理解问题,而不是让模型凭记忆或不完整的信息瞎猜。例如,在一个大型项目中,询问“函数X为什么输出错误结果”时,至少应把函数X所在文件和相关的配置文件通过 @ 提供给 AI。否则模型可能由于缺少关键上下文而给出偏颇的答案。
• Java 项目适配:在个人项目中,这一做法可用来让 AI 理解特定框架设置。比如,如果请 AI 协助配置 Spring Security,最好 @ 引用安全配置类,AI 才能基于实际配置提出修改建议。对于团队协作,Cursor 还能引用 Git 仓库的历史记录帮助回答问题——如通过 @commit哈希 引用某次提交内容。这样当新人问“为什么上月改动后某功能出错”时,AI 可以调取对应PR的改动来分析原因 。合理地使用 @ 引用,相当于把相关资料附在提问中,既减少来回澄清,又让 AI 解答更具依据。
• 操作建议:在编写代码时,留意 Cursor 提示的自动补全(通常以灰色文字显示),并大胆按下 Tab 键接受合理的建议。Cursor 的多行智能补全能根据当前上下文猜测您想写的代码。当需要编写模板化或重复性的代码时,不妨先输入几个字母让 Cursor 猜,如觉得提示合适直接补全。这种按 Tab 驱动的写码方式需要一点练习,但一旦习惯可以大幅提升速度。
• 背后理由: Cursor 的实时补全功能被许多开发者称道,其智能程度经常让人惊叹 。有使用者反馈,大约四分之一时间 Cursor 几乎能精准预测他们下一步要写什么 。当上下文越充分(比如定义了相关变量、导入了库),补全越贴合需求。这种体验就像与一位熟悉项目的搭档共同编程——很多样板代码只需一按 Tab 就自动写好。与其手动敲出重复代码,不如让 AI 来“读你的心思”,帮助填充剩余部分,从而把精力留给更具创造性的工作。
• Java 项目适配:在 Java 后端开发中有大量模板式代码可借助补全:如常见的 getter/setter、构造函数、日志语句、JUnit 测试样板、Spring 注解等。Cursor 往往能根据类名和属性猜出你要生成这些成员。比如,当您定义了实体类字段后,下一行就可能自动出现 public <Type> get<Field>() {…} 的补全建议。再比如,在写 DAO 接口方法时,Cursor 可能会基于方法签名直接补全@Repository注解或 JPQL 查询语句。如果团队内普遍使用 Cursor,大家会发现人肉重复劳动显著减少,代码形成初稿的速度快了许多。当然,请始终Review 补全的代码,确保符合预期后再保存提交。
• 操作建议:永远不要直接相信 AI 给出的代码,就算它语法正确,也需经过人工检查和运行测试后再并入主分支。将 AI 编写的代码当作初稿,对其进行代码审查(Code Review)和本地调试。特别是核心逻辑,要写单元测试或集成测试加以验证。如果 Cursor 提供的代码无法通过编译或测试,及时纠正并反馈给 AI(通过对话澄清要求)或自行修复。
• 背后理由: AI 代码辅助的本质是一种概率预测模型,有时可能生成不正确或不健全的代码。在多人经验交流中,有人反映 Cursor 对复杂 Java 项目输出的代码甚至无法编译,可能出现低级语法错误 。因此,对 AI 产出进行严格的质量控制是必要的。通过测试来检验功能正确性,可以捕获 AI 可能遗漏的边界情况或逻辑漏洞。同时,借助测试结果您还能反过来指导 AI 改进代码(比如将失败的测试描述给 AI,让它修正代码)。正如一篇社区文章总结的那样:AI 工具确实能提高效率和代码质量,但开发者需谨慎使用,避免过度依赖,并结合单元测试和持续学习等手段来保证代码的安全性与完整性 。
• Java 项目适配:在 Java 后端中,更要关注 AI 代码的类型正确性和业务逻辑严谨性。举例来说,AI 可能会在未充分理解线程安全要求时就给出并发代码,实现上存在竞态条件;或在处理数据库事务时忽略了必要的回滚逻辑。这些问题必须通过测试和代码走查发现。个人项目中,应养成对 AI 代码跑通所有单元测试再使用的习惯;团队项目中,更应将AI 代码的Review纳入常规流程。可以规定每个成员在提交 AI 辅助生成的代码前至少运行基本测试,同时鼓励大家对可疑的 AI 产出提出质疑。通过这样的把关,利用 AI 提速的同时也确保代码质量不打折扣。
• 操作建议:认识到当前 Cursor (VS Code 内核) 对 Java 项目支持的不足之处,并采取相应对策加以弥补。具体来说,要留意:① VS Code 的 Java 语言服务器相较 IntelliJ 有差距,可能无法解析复杂的注解处理器、生成代码或提供高级重构;② Cursor 对大型 Java 项目(成千上万行代码)可能出现性能瓶颈或上下文遗漏;③ 某些场景下AI给出的代码不符合 Java 规范,需要人工纠正。针对这些限制,可以选择在需要时配合传统 IDE 使用,或提前为 Cursor 创建必要的“支撑”,如生成源代码、添加类型定义等。
• 背后理由:正如部分资深用户所指出的,Cursor 基于 VS Code,在 Java 开发体验上与 IntelliJ 等成熟IDE存在差距 。例如,Cursor 对项目依赖和引用的理解不如 IntelliJ 深入,有开发者反馈使用 Cursor 时经常需要手动导入包,自动引用功能不完善 。又比如,Cursor 对 Java GUI 或服务器容器(如 Tomcat)的集成不如 IntelliJ 顺滑。认清这些短板可以避免我们对 Cursor 抱有不切实际的期望——它并非万能。当遇到 AI 或编辑器无法解决的问题时,切换回熟悉的工具是务实的选择。
• Java 项目适配:如果您的项目大量使用 Lombok、MapStruct 等注解处理器,建议预先运行构建以生成所需代码,这样 Cursor 才能在索引时看到完整的类型信息。 中提到某用户在 Cursor 中无法使用 MapStruct,就属于这类情况,可以通过在构建过程中让注解处理生成源码来缓解。此外,对于超大型的 Java 单体应用(例如包含数百个类的大项目),Cursor 可能在上下文相关性上力不从心。这种情况下,可以考虑将项目拆分成多个子模块分别在 Cursor 中打开,或利用 multi-root workspace 功能分区索引 。团队内部也应讨论并达成共识:在哪些工作内容上适合用 Cursor,在哪些情况下仍然需要借助 IntelliJ 等传统IDE。比如,可以约定用 Cursor 编写业务代码,但用 IntelliJ 进行复杂重构和性能分析,以取长补短。
• 操作建议:根据任务需要选择合适的 AI 大模型,并留意模型使用的计费和性能差异。Cursor 支持 OpenAI(如 GPT-4)、Anthropic(Claude)、Google 等多种模型,您可以在设置中指定默认模型或使用 “Auto” 模式让 Cursor 自动挑选 。在使用过程中,密切关注编辑器状态栏显示的 token 消耗或费用估算,防止超出预算。对于简单补全任务可用速度快、成本低的模型,如需高准确度可以切换更强大的模型,但要记住更强模型通常意味着更高费用 。
• 背后理由:不同模型在编程任务上的效果和开销差异很大。以 OpenAI API 为例,GPT-4 的效果往往优于 GPT-3.5,但费用也昂贵数倍 。Cursor 的订阅计划中会附带一定额度的 API 调用金额,然后超出部分需要自费 。如果不加以控制,频繁调用复杂模型可能在不知不觉中花费不少。因此需要智慧地分配模型使用:能用小模型解决的就没必要用大的。Cursor 的 “Auto 模式” 虽能根据任务自动切换模型,但它可能为了追求高质量而调用价格高的模型 ,这时开发者要有成本意识。如果发现模型性能过剩,可以手动降级模型以节省费用。
• Java 项目适配:对于个人开发者来说,API 调用的费用是真金白银,应当精打细算。例如,在编写简单 POJO 类或重复性代码时,可以暂时将模型切换为 GPT-3.5 等经济型模型;在让 AI 优化复杂算法或审查代码时,再切换到 GPT-4 等高性能模型,以确保关键场景的质量。Cursor 界面会提示您的用量和剩余额度 ,请定期检查避免发生超额扣费。团队使用时,建议统一模型使用策略:比如免费账户开发者统一使用某模型,重要代码评审统一使用更高级模型等,并提前预估成本。对于预算宽裕的团队,引入 Cursor 时可以将其API费用计入项目成本,并通过内部监控(如每月统计调用量)来优化模型使用。总之,“用对模型做对事”,才能既发挥 AI 威力又不致成本失控。
• 操作建议:当需要 AI 处理超长文件或大段代码时,可考虑启用 Cursor 的 “Max Mode”(上下文扩展模式),但要在必要时才使用。Max Mode 会将支持的模型上下文窗口扩展至最大(例如 GPT-4.1 提供超过20万 Token 的上下文) 。在 Chat 窗口中通过 /max mode 命令或设置面板启用后,可以一次性让 AI 考虑更多文件内容。不过请在完成大任务后及时关闭或恢复默认模式,因为 Max 模式运行速度较慢且每次请求消耗的 Token 量巨大。
• 背后理由:普通模式下,Cursor 限制上下文在约 200k Token(约相当于15,000行代码)的范围 。这对于绝大多数文件已经足够,但某些情况下(比如分析庞大的日志、处理多个文件间复杂关系)可能还嫌不够。Max 模式利用支持特大上下文的前沿模型,将限制放宽到当前模型的极限 。这确保 AI 有尽可能完整的信息来回答问题。但副作用也很明显:响应变慢(因为处理文本量成倍增加),费用变高(因为计费按 Token 计)。因此,Max 模式像“涡轮增压”,需要时开一下,不要全程一直开。
• Java 项目适配:在个人开发中,可能很少需要 Max 模式——除非你要 AI 阅读一个几十万行的日志文件找问题。这种任务下 Max 模式确实方便,因为普通模式下可能截断重要信息。但更可取的办法也许是借助日志分析工具先缩小范围,再让 AI 查看摘要。对团队而言,如果有大型代码审计或跨服务调用链梳理的需求,Max 模式可以派上用场。不过要注意通知同事在使用时段控制请求频率,以免占用过多团队共享的 API 额度。一旦超大文本分析完毕,应关闭 Max 模式恢复正常,以保持 Cursor 运行的经济高效。
• 操作建议:善用 Cursor 的记忆功能(Memories),在需要时将重要信息固化为“记忆”。当您在 Chat 模式中与 AI 反复讨论某项约定(例如某个变量含义或某种架构决策),Cursor 可能会提示提取为 Memory。经您的确认,这些内容会保存为项目范围的规则,下次开启新对话也能自动应用 。您也可以通过在对话中明确要求 “请记住XX”,让 Cursor 主动将其记录为 Memory 。记忆内容可在设置的规则列表中查看和管理。
• 背后理由: Memory 实质上是特殊形式的规则,用于跨会话保持关键背景 。由于大语言模型对话默认不记前情,每次对话上下文需要重新提供。而通过记忆,Cursor 能在每次新对话时自动加载那些持久化的提示,仿佛 AI 已经“知道”之前讨论的结论。这样开发者无需每次重复解释同一件事,提高了效率和一致性。当然,Cursor 设计了人工确认步骤以确保存入记忆的内容正确且必要 。合理使用记忆,可以让 AI 更好地融入您的项目背景,提供更贴合的建议。
• Java 项目适配:举例来说,您曾与 AI 约定“我们项目使用 DDD 分层架构,所有数据库操作都通过 Repository 完成,不在 Service 编写 SQL”。如果将此作为 Memory 保存,那么以后无论谁在 Chat 模式下请求数据库相关代码,AI 都会遵循这一约定答复。在团队环境中,Memory 甚至可以帮助新成员迅速共享团队约定:当多人在同一项目使用 Cursor 时,如果每个人都确认相同的 Memory 文件(经版本控制共享),AI 就像融入团队文化一样工作。不过请谨慎添加记忆——不要把随意的对话内容存为记忆,以免污染后续回答。确保记忆条目简洁明确,并定期Review它们是否仍适用当前项目。
• 操作建议:让 Cursor 不仅为你写代码,也为你写文档。当功能编码完成后,可以请 AI 帮忙生成 README、API 文档或关键代码的注释说明。例如,在 Chat 模式对整个项目说“请根据代码生成一份项目简介和使用说明”,或者在某个类文件中要求 “为此类的公共方法添加详细注释”。Cursor 读取代码后,会给出相应的文档草稿。您可以编辑润色后发布,而不必从零开始撰写。
• 背后理由: AI 模型擅长语言生成,用于撰写文档和注释再合适不过。许多开发者已经体验到这种便利:只需一条指令,Cursor 就能分析整个代码库并生成 README,往往一次就能成型 。相比人工编写,AI 能自动罗列代码的功能点、使用方法,甚至举例说明,节省大量时间。当然,初稿质量取决于代码自描述信息的丰富程度,但总体而言 AI 能捕捉代码结构并输出连贯的文字描述。让 AI 参与文档工作,不仅减轻了负担,还可促进您检查代码(审视AI总结是否正确,从而发现代码中的不清晰之处)。
• Java 项目适配:在 Java 后端项目中,这一技巧有广泛用途:可以请 AI 生成 REST API 的接口文档草稿,根据 Controller 方法和注解来推断每个接口的用途和参数说明;也可以让它撰写 JavaDoc,为公共类和方法补充文档注释。如果项目需要对外提供使用文档,比如 SDK 的 README、部署指南等,AI 也能快速给出初稿。团队合作时,这甚至可以纳入流程:由开发者写完代码后使用 Cursor 生成或更新文档,然后交由技术文档人员或高级工程师review润色。这样确保代码和文档同步演进,又把人力从机械描述中解放出来去关注文档的准确性和易懂性。
• 操作建议:针对样板化、重复性的编码任务,尽量交给 Cursor 处理,例如生成类似的 DAO 实现、重复的 DTO/实体映射代码、或批量的getter/setter。这类任务AI往往能一次完成。但要记住,您仍然是驾驶员——AI 输出后,您需要审查确认,然后再让其正式修改代码或插入结果。对 AI 自动生成的大段重复代码,人工迅速过目有助于发现有没有遗漏某些字段或不符合特殊要求的地方。
• 背后理由:很多后端开发工作属于“增量式”机械劳动,比如为数据库每张新表编写一套增删改查代码、为每个业务对象编写类似的转换函数等。利用 AI,可在极短时间内产出这些模板化代码,从而让开发者专注于业务逻辑本身。然而,AI 毕竟对业务细节不了解,可能忽略某些约定(如字段命名特殊规则、异常处理需求)。因此需要人在循环中监督:把 AI 当作劳动力而非决策者。这样既能保证效率(AI 代劳重复劳动),又能确保质量(人把关调整细节)。
• Java 项目适配: Java 企业开发中充满了模板代码场景。例如,使用 MyBatis 或 JPA 时,为每个实体创建 DAO 类、写 XML 或 Repository 接口其实格式都类似。您可以通过一句 prompt 让 Cursor 生成这些重复代码的框架。在并发处理方面,如果需要为每个任务写类似的线程管理逻辑,也可以让 AI 给出通用方案然后手工调整。团队协作时,AI 的这种批量生成能力还可以用来统一风格:比如统一生成所有 Controller 的基础响应封装,而不是每人手写一套。关键在于,尽管Cursor 批量生成很快,团队也要制定规约,哪些场景下可以直接采用 AI 输出,哪些地方必须人工检查修改,以免集体无意识地引入不合适的代码。
• 操作建议:将安全性放在首位,无论 AI 建议还是人工编写,都要检视代码的安全隐患。使用 Cursor 时,可以编写规则或提示让 AI 注意常见安全问题,例如:“所有输入参数需校验避免SQL注入”“敏感操作要有权限检查”。如果对安全有更高要求,考虑使用 Cursor 的 Bugbot 或类似工具来审查AI生成的代码是否违反安全基线(见下一条)。另外,切勿让 AI 生成或访问您不清楚来源的代码片段,以免引入恶意逻辑。
• 背后理由: AI 并不天然具备安全意识,除非我们提醒它。举例来说,如果不加提示,AI 可能会生成直接拼接字符串的 SQL 查询(存在注入隐患)、或忽略对用户输入的校验。这些都是后端开发中的致命问题。为此,我们需要在提示里明确安全要求,或者借助 Cursor 规则/插件来强化。例如 Cursor 提供的 Bugbot 审查规则示例中,就特别列出了“验证API端点的用户输入”“检查数据库查询的SQL注入漏洞”等重点 。这表明即使 AI 工具官方也意识到安全审查的重要性。我們应该主动把关,将这种最佳实践融入AI使用流程中。
• Java 项目适配: Java 后端涉及大量安全考虑:输入验证、认证授权、敏感数据保护等等。开发者在运用 AI 时,可以提前提供项目的安全指南给 AI,例如:“我们使用 Spring Security,请确保所有控制器方法都有正确的鉴权注解”。同时,AI 生成代码后,要特别检查诸如:数据库操作是否使用了参数绑定(而非字符串拼接SQL)?多线程代码是否正确加锁避免并发问题?反序列化操作是否存在漏洞?异常处理是否记录了必要日志?这些都是 AI 容易疏漏的点。团队可制定一张AI代码安全检查清单,供每位开发者在接受AI代码时逐条对照。当然,养成编写单元测试(尤其是针对边界条件和异常流程)的习惯,也是确保安全稳健的有效手段。
• 操作建议:将 Cursor 当作一门技能,不断从官方文档和开发者社区获取新知。定期查阅 Cursor 官方博客/发布说明以了解新特性,浏览社区论坛、Reddit 板块中的经验分享和问题解答。在团队内部组织分享会或讨论群,交流使用 AI 编程助手的心得教训。针对工作中遇到的复杂问题,不妨搜一下是否有其他开发者提供的解决方案或提示技巧。
• 背后理由:Cursor 作为新兴工具,更新迭代非常快,几乎每隔几周就有新功能或改进 。只有保持学习,才能用好新推出的强大功能(例如近期新增的多模态支持、Slack 集成等)。同时,每个团队、开发者的用法千差万别,在社区中取经可以少走很多弯路。很多高手会分享自己的 prompt 模板、Cursor Rules 配置、以及踩过的坑。例如,您可能从社区帖子中得知如何在 Cursor 上配置某框架的特殊支持,或者看到别人总结的一份“AI 帮助重构中提高成功率的方法”。这些一旦吸收消化,将极大提升您使用 Cursor 的水平。
• Java 项目适配:对于 Java 开发者而言,建议特别关注Cursor 官方文档中的 Java 指南 、以及国内技术博客(如 CSDN、掘金)上关于 Cursor 与 Spring、MyBatis 等技术结合的文章。Stack Overflow 和 Reddit 上关于 “Cursor Java” 的问答也可能提供问题解决思路(比如有人问Cursor对大型Java项目的支持情况,就有 Cursor 开发团队成员亲自回复给予指导 )。团队可以每隔一段时间收集这些资料,在内部分享“AI 编程助手最佳实践清单”(本指南即属于此类文档)。通过持续的社区互动和内部知识沉淀,团队会逐步形成最适合自身业务特点的 AI 开发流程,确保每个人都从 Cursor 中受益并减少踩坑。
• 操作建议:在团队协作中,考虑引入 AI 驱动的代码审查工具(如 Cursor 的 Bugbot)。当有人提交 Pull Request 时,Bugbot 会自动分析代码差异,指出其中的 bug、潜在安全问题和代码风格问题,并直接在 PR 上留下评论解释问题、给出修改建议 。团队管理员只需在 Cursor 仪表盘连接 GitHub 并启用相应仓库即可开始使用 。对于个人开发者,也可以在重要改动时主动让 AI 过一遍:例如将代码变更贴给 Chat GPT-4,请它指出有无明显漏洞或优化空间。
• 背后理由:让 AI 参与 Code Review 可以作为人工审查的有益补充。Bugbot 等工具能够持续监控每次 PR 更新,快速反馈问题 。它不仅检查语法错误,还关注安全和质量方面,例如未处理的异常、资源泄漏等。更棒的是,它可以提供修复提示,节省开发者自己查找改正的时间 。对于新成员提交的代码,AI 审查可以充当第一道筛子,帮助他们及时了解团队规范(比如变量命名不规范、项目禁止使用的 API 等)。值得注意的是,这类服务通常是增值功能,有额外费用 。以 Bugbot 为例,个人版订阅约 $40/月可审查最多200个PR 。团队在引入前需权衡成本,并将其视为工程效率工具投入的一部分。
• Java 项目适配:Java 企业项目往往对代码审查要求严格,在这种场景下 AI 审查尤其适用。您可以编写 .cursor/BUGBOT.md 文件为 Bugbot 提供更准确的检查规则,例如列出本项目特有的安全关注点、架构规范和常见错误清单 。这样 AI 审查会结合这些规则给出更贴切的反馈。举例来说,在 BUGBOT.md 里注明“确保所有数据库查询使用参数化,禁止字符串拼接SQL”,则 AI 将针对此类改动重点审视并提醒开发者遵守。个人开发者在没有团队强制要求的情况下,也可以尝试用 AI 审查提升自己的代码质量——把自己的代码当作PR交给 Cursor Chat,请它以审查员身份挑错,然后自行决定是否采纳。总之,在团队环境中,把 AI 融入 DevOps 工作流是未来趋势之一:从代码编写(AI辅助)到代码审查(AI监督)再到上线监控,AI 可以帮助我们在各环节做得更好。但团队也应明确:AI 建议是辅助而非绝对,一切改动最终还需人负责决策。
结语:以上 20 条最佳实践,涵盖了使用 Cursor AI 编程助手以提高效率、提升代码质量、保障安全以及面向团队规模化协作的各个方面。从个人开发者的角度,善用这些经验能让您的 Java 后端开发如虎添翼;而着眼团队,这些方法又为建立可扩展的 AI 开发流程打下基础。正如我们所见,AI 工具带来了前所未有的生产力提升,但唯有与良好实践相结合,才能将风险降至最低、将收益发挥到最大。希望本指南能够帮助您更好地驾驭 Cursor,在拥抱变化的浪潮中立于不败之地!
七月阅读不及预期。原定目标看书350小时,实际读了320.5小时。
冥想还是不理想。七月冥想了24小时,远低于每月平均45小时。前七个月的平均每天冥想时间为1.3小时,明显低于全年目标的每天1.5小时。我在考虑放弃这个全年目标。
这个月唯一做得比较好的是健身。
健身渐入佳境。过去一个月,我一共健身了18天。
中间有一段时间,我其实在健身完之后都没做有氧训练。有的时候是身体累,做完力量训练就不想用跑步机爬坡。有的时候是觉得没意思,爬坡很无聊。
我用了两个技巧改善有氧训练。第一,在爬坡的过程中从慢速到中速,再从中速到慢速。也就是说,让速度的变化刺激身体和大脑。
第二,听歌。我听周杰伦的专辑,从2000年的开始听,打算一直听到最近发行的专辑。一张专辑时长大概是40多分钟,刚好是我一次有氧训练的时间。
改善之后,我发现自己不会觉得有氧训练会很无聊。每次做完力量就会做有氧,出完一身汗,整个人都感觉很舒畅,效果能持续24到48小时。
这次健身之所以能坚持两个月,归功于阅读带给我的经验。
经验一:先积累量,不寻求快速的质变。
我从2016年开始积累阅读量,一直到2019年才有明显的变化。三年的量变,才能带来质变。所以我在健身这件事上,不会特别着急。能坚持下来,能持续积累次数,就是成功。
经验二:享受过程,避免进入恐慌区。
大部分时间里,我都会挑比较好读的书。每一次阅读的体验都不差,这样容易坚持。我跟健身教练强调,我的首要诉求是让自己不排斥锻炼,所以不要快速加大训练强度。
经验三:敢于投入,不要因小失大。
我买书、买线上课程和买ChatGPT会员,都很舍得花钱。每年花费的金额,都在五位数。无论是健身房的月卡,还是私教课,都对我有很大的好处。所以我会毫不犹豫把钱花在自己身上。
要想长久地坚持做一件事情,必须要对未来有愿景。
我现在坚持健身了两个月,身心状态好了很多。
我希望坚持健身两年后,我可以做到每天睡够7.5小时。心率变异度能到50ms以上。体脂率降到20%以下。
我希望坚持健身二十年后,我可以让自己的身体年龄比实际年龄小5到10岁。
八月份有事情要忙,所以目标会定得低一些。
截至2025年7月31日,我一共阅读了17929小时。预计会在2026年4月20日,完成第二个10000小时,也就是总共20000小时的阅读目标。
八月份的阅读目标是600个番茄时间,也就是300个小时。
六月份阅读不及预期。原定目标看书360小时,实际读了297小时。上一次单月低于300小时还是在2023年7月,也就是整整两年前。
冥想也不理想。六月份一共才冥想了27.75小时,大幅度低于每月平均45小时。前六个月的平均冥想时间已经低于每天1.5小时,这样下去全年的目标要完不成。
然而,六月份却是我在过去一年里收获最大的一个月。上个月制定的其中一个探索目标有远远超出预期的收益。
这个给我惊喜的探索目标是力量训练,也就是健身。
我很不喜欢健身这个词,它给我的感觉就是要练出一副八块腹肌的完美身材才算是达标。我更喜欢力量训练这个说法。
我在6月3号办了卡,连续去了两天健身房。我自己练不明白,看网上的教学视频也摸不着门道。每次待一个小时,举了举铁,用一用跑步机这样。
6月5号开始请私教。乐刻的私教挺便宜的,一节课220元。
以前我听两个有健身经验的同学说,请教练是浪费钱,很多健身教练都不专业,而且会临时换人什么的。因此,在我的刻板印象里,请私教不靠谱。
这次,我却没有遇到这种情况。我感觉教我的这个教练挺专业负责的,并且从来没有换过人,也没有临时无理由迟到或者缺席。
我在6月份一共上了17节私教课,每节课一个小时。私教课以力量训练为主,结束后我都会加练30分钟的有氧,也就是跑步机爬坡。
训练的效果非常好,远远超出我的预期。每次练完,我感觉身心都特别舒畅,能持续一到两天。我的静息心率从原来每分钟77次,下降到66次。我的心率变异度从原来的31ms,上升到42ms。
为什么我做力量训练的效果会这么好呢?原因有以下三点:
第一,起点低。从2018年因为跑步导致膝盖受伤开始,我已经有7年时间没有过规律的运动。常年久坐不动的办公室工作已经让我的身体有了很多小毛病。
第二,有人教。健身还是需要知识的。一个动作怎么做才标准,做多少才有效果,需要有专业人士的在场指导。
第三,有人陪。一个人健身真的很无聊,健身教练可以陪着你聊聊天,跟你沟通动作的调整等等,时间会过得快很多。跟教练约定好哪一天要训练,几点要训练,会有一个督促和事前约定的助推效果。
当然,即便乐刻的私教课相对比较便宜,像我这样一周四练的话,一个月要上20节课左右。算下来,一个月要4400块,不是一个小数目。
然而跟健康的重要性相比,我觉得这笔钱花得值。
力量训练效果这么好,当然是要继续坚持。接下来的一个月时间,我还要把睡眠调整好,以及把冥想时间提上去。
我要如何坚持力量训练呢?除了继续买课,继续坚持一周上四次课之外,我计划这个月要开始学会如何自己做力量训练。一周自己加练一天,逐渐学会自己训练。
私教课从一个月20节课,可以减少到一个月10节课,减少到一月5节课这样。向“自己练习为主,教练指导为辅”转变。
我要怎么调整好睡眠呢?避免日夜颠倒,半夜醒来就是做冥想,午睡尽可能避免超过30分钟。
我要怎样把冥想时间提上去呢?每天上午至少冥想30分钟,每天中午饭后至少冥想30分钟,每天睡前至少冥想30分钟。在阅读间隙,尽可能穿插5分钟或15分钟的冥想。
做好这些,我的各项身体指标应该还会有一个明显的提升。
即便力量训练给我带来那么多的收获,我还是不能把基本盘给丢掉。
月报延迟了一周,阅读和冥想目标都没完成,文章也没写。这些事情都要好好反省一下,把干扰因素都排除掉,把积极因素引进来。
截至2025年6月30日,我一共阅读了17608.5小时。预计会在2026年5月1日,完成第二个10000小时,也就是总共20000小时的阅读目标。
7月份的阅读目标是700个番茄时间,也就是350个小时。
近期,AI圈的大佬们不断地提醒人们要提防AI的滥用。
获得2024年诺贝尔物理学奖的“AI教父”杰弗里·辛顿,在接受专访时指出,AI引发“人类失控”的概率已经高达10%-20%,深度伪造技术是近期最现实的恶意场景。
OpenAI的CEO山姆·奥尔特曼在出席美国参议院听证会的时候,强调生成式模型可被用于“大规模定向虚假信息、网络攻击与生物威胁设计”,主张建立“全球AI安全机构以及许可证制度”。
发明阿尔法狗的Google DeepMind CEO,获得2024年诺贝尔化学奖的戴密斯·哈萨比斯在2025年5月剑桥大学演讲中发出提醒:AGI可能会在10年内出现,“其积极潜力与恶意滥用都被低估”。
那么,我们普通人从现在开始最应该警惕哪些迫在眉睫的AI滥用场景呢?
在日常网络生活中,我们要警惕别有用心的人使用AI来影响我们的想法。
为了验证AI的说服力有多强,康奈尔大学和哈佛大学的研究者找了一群最难被说服的人来做实验。这些人就是阴谋论信徒。他们相信诸如“疫苗里有纳米追踪芯片”之类的阴谋论,身边的人怎么劝都不听。
实验内容是让受试者与AI进行对话,对话一共有两轮。第一轮对话先是受试者自述自己相信的阴谋论,GPT-4罗列官方证据并指出其逻辑错误。第二轮对话是受试者再辩,AI最终回应。
实验结果显示,他们只需要跟GPT-4进行两轮对话,平均用时6分钟,对阴谋论的相信程度就会下降20%。
如果再提供一些对话者的背景信息,GPT-4的说服力会变得更加强大。在另一个辩论实验中,GPT-4让对方改变观点的概率比人类辩手高出82%。AI之所以能达到这么好的效果,是因为它会根据每个人量身定制辩论策略和针对性地找论据。
在美国版百度贴吧Reddit网站上,有人做了一项备受争议的实验。苏黎世大学的研究者注册了多个AI账户,这些账户都预设了虚假人格背景。也就是说,他们用AI来假装人类用户。在说服力排行榜上,这些AI账户进入全站前1%-2%。
在了解到这些研究之后,我们很自然会想到用AI来做“健康习惯教练”,帮助我们养成健康的生活习惯,变得更加自律;我们还可以让孩子们使用AI做“人工智能学习伙伴”,提高他们的学习兴趣,掌握更科学的学习方法。
然而,面对同一个工具,好人会用它做好事,而坏人则会用它做坏事,例如“杀猪盘”诈骗。
所谓“杀猪盘”诈骗,就是在网络上以恋爱的名义博得受害者的信任,然后用假投资平台来骗取金钱的诈骗套路。
传统杀猪盘套路分为三步。第一步,引流或放饲料。通过各种社交平台等网络手段跟潜在受害者加上好友。
第二步,养猪。犯罪分子会通过建立虚假的高大上人设和营造暧昧的恋爱氛围,让受害者误以为自己找到了真爱,进而信任对方。
第三步,杀猪。在确保取得了受害者的信任之后,对方会假装不经意地透露自己有一个好的投资渠道,诱使受害者加入,最终骗取金钱。
在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的看法和建议。
有人可能会说,我不会在网上找对象,或者我已经结婚了,这类杀猪盘根本骗不到我头上。接下来要揭示的一类骗局,则是每一个人都有可能会上当的。
有一种俗称“爷爷奶奶,我出车祸了”的骗局。骗子会打电话给老年人,谎称是其孙子孙女,出了车祸在医院需要立刻转账接受治疗。因为情况紧急,老年人可能会辨识不出对方声音其实一点都不像。哪怕受害者指出这一点,骗子也会假装自己受伤了身体虚弱导致声音变了。
还有一种骗局我自己都遇到过,就是仿冒公司领导,然后让受害者(大多是公司财务人员)转账。几年前,我接到一个电话,对方开口第一句话就是:“李文业,明天来一趟我的办公室。”我愣了一下,然后问:“请问你是谁?”
对方笑了笑说:“你听不出来我是谁吗?”我说:“听不出来。”对方就把电话挂了。
有了AI工具模拟声音之后,骗子已经可以补上声音不像的漏洞。骗子会事先从社交媒体上获取一小段受害者亲属的声音样本,喂给AI后立刻就能模拟出以假乱真的说话声音。
这样的技术并不高深。你现在就可以点击页面最上方的“听全文”。我用公众号后台的工具录了我一段10秒左右的语音,就已经可以模拟得非常像了。
除了声音之外,AI还可以伪造视频。2023年5月,内蒙古包头市警方通报了一起利用AI换脸的惊人诈骗案。一名商人接到自称是朋友的视频通话,请求帮忙垫付投标保证金。他没想到通话中的“朋友”竟然是骗子用AI人脸替换技术假扮的。受害人信以为真,当场转账430万元人民币。事后他联系到朋友本人才发现被骗。
面对这样的骗局,我们可以怎么办呢?一方面,我们可以跟亲友约定safe word“安全词”。在涉及大额转账时,我们要验证对方是否能说出之前约定的某个词或者某句话。哪怕不约定安全词,起码也要问一两个只有你们两个人才知道的小问题。
另一方面,我们要保持冷静,让DeepSeek给我们注入理性。面对紧急情况,我们不免关心则乱。即使自己已经难以分析当前的局面,我们还是可以把现在遇到的问题发给DeepSeek,让它帮助我们分析情况,并且给出建议和处理方案。
AI的发展越迅速,AI的滥用就越值得我们警惕。
我们要警惕在网络上看到的信息。以前网络水军可能只是通过调动我们的情绪,来起到带节奏的作用。现在,他们已经在利用AI工具根据我们每一个人的特点,量身定作各种各样的说服言论。
我们要警惕在网络上让我们怦然心动的人。以前杀猪盘只是用一个固定的剧本来骗那些特定的受众,并且因为聊天“养猪”需要花时间和精力,他们更愿意骗那些容易轻信的人。现在,他们已经在利用AI工具私人定制剧本,并且使用半/全自动聊天的方法,让每个人都有可能遭遇“杀猪盘”诈骗。
我们要警惕突然接到的求救、求助语音电话和视频通话。以前的骗局可能只能骗那些老人或者对声音不敏感的人。现在有了AI技术,他们可以轻松模拟任何人的声音和形象。
除了加强防诈骗意识之外,我们还需要更多的工具帮助我们不上当受骗。遇到任何惊喜或者惊吓的异常情形,我们都可以把情况告诉DeepSeek,让它来帮我们分析,给我们出主意。
面对汹涌而来的AI时代,有人会说,“我年纪大了”,或者“我只想躺平”,没必要了解AI,更不需要接触和使用AI。
然而,“害人之心不可有,防人之心不可无”这句话在AI时代同样适用。他们没有想到的是,坏人会用AI做坏事。如果我们不了解AI,对AI没有基本的常识和使用能力,那么就很有可能被坏人钻空子。
五月份的阅读状态不错。原定目标是看书340小时,实际读了340.5小时,目标达成。
冥想却很糟糕。五月份一共才冥想了20.5小时,不仅低于每月平均45小时,甚至还低于上个月的38.5小时。
就像上个月说的那样,冥想的时长现在比阅读量更能反映我的整体状态。接下来跟大家聊聊我打算如何在六月份把自己从低潮期里拉出来。
有两个任务要恢复到我的固定日程里。一个是每天要走10000步,另一个是要使用ChatGPT里的每日行程助手。
参考埃隆·马斯克的五步工作法,我前段时间把每天走一万步和规划一天行程从每日任务里面删除。这段日子,我发现这两个任务对我的作用相当大,是不可或缺的。
每天走一万步的作用是让我有足够的基础运动量,以及不要总待在室内。虽然一万步的运动量并不算大,但是这保证了我能晒够太阳,晚上的睡眠也会变好。
规划一天行程的作用是确保我会使用ChatGPT做我的每日行程助手。每天起来做的第一件事就是做一个大概的规划,安排今天的行程。规划做好之后,我会发给ChatGPT,让它跟进我今天一天的行程。一天结束之后,我还能跟它一起做复盘。
总而言之,每天走一万步和规划一天行程是保证我良好状态的基本盘。做到这两点之后,我才会考虑制定更高的目标,以获得成就感。
只是完成基本的任务是不够,还需要制定更高的目标来获得成就感。我计划在六月份制定更高的阅读目标和写作目标。阅读目标我会在月报的最后给出,这里先说写作目标。
我最近在做AI专题的写作。不管是写作兴趣,还是写作质量,都保持得不错。唯一让我不够满意的就是产量。
我在五月份一共写了3篇专题文章,平均10天一篇。我打算在六月份写6篇文章,平均5天一篇。
如果六月份能够完成这两个高难度目标的话,六月份的状态就算调整好了。在此之余,我还有探索新目标的打算。
这个月制定两个探索目标,分别是力量训练和跑步。
研究表明,一周2到3次的力量训练有助于延缓肌肉流失,还能缓解焦虑和抑郁。我打算去健身房做力量训练。
有些连锁健身房可以办月卡,我打算办一张。就试一个月,效果好就继续,效果不好也损失不大。
我喜欢跑步,但是很久没好好地跑步了。七年前为了减肥,我狠狠地跑了一段时间,结果没把握好强度,把膝盖给跑伤了。最近我的体重又到了警戒线,想要重新跑步试试看。
这个月试着跑20公里到30公里。每周跑3到4次,中间休息的时候就去健身房做力量训练。
我非常庆幸自己养成了每个月写月报的习惯。
每个月固定做这么一件事情,其中的仪式感会让我整理好心态,计划好下一个月要做哪些事情。这就像是上学念书的时候,每个学期期末都会告诉自己:这个学期没好好学没关系,下个学期奋发图强就好了。
如果没有这样的仪式感,日子会过得越来越快,快到让人猝不及防。失去了时间感,就可能来不及总结过去,来不及珍惜现在,来不及计划未来。
截至2025年5月31日,我一共阅读了17311.5小时。预计会在2026年5月1日,完成第二个10000小时,也就是总共20000小时的阅读目标。
6月份的阅读目标是720个番茄时间,也就是360个小时。
随着AI工具的发展和普及,越来越多的人开始用上了AI对话App。然而,很多人觉得并不好用。
有人会把一些生活中的烦恼告诉AI,让AI给出一些建议。AI给出的建议往往很冗长,没有针对性。
有人会让AI帮助自己解决一些工作上的难题,让AI生成一个具体的方案。AI生成的方案总是天马行空,不能落地。
有人会想借助AI辅助学习知识和备战考试,让AI制定一份复习计划。AI制定的计划经常过于琐碎,无法执行。
之所以AI给出的答案不能让我们满意,是因为AI还不够了解我们,无法因人制宜。只有让AI对我们的价值取向、经验积累和知识背景有相当程度的了解,才更有可能让AI给我们提供有针对性的建议、有可行性的方案以及可执行的计划。
如何让AI足够地了解我们?这个问题的终极答案就是打造一个“第二大脑”。AI跟这个“第二大脑”交互,就跟和我们的大脑直接交流没有太大的区别。这样的交互可以让AI快速地读取我们的想法,就能快速地了解我们。
打造“第二大脑”无法一蹴而就。这个过程就像是修炼,有三层境界。第一层境界是学会跟DeepSeek进行多轮对话。
一些人在使用DeepSeek时有一个误区,就是急于在一个问答里得到完美的答案。如果DeepSeek给出的第一个回答让自己不满意,他们就不会再继续问下去。
其实还有更好的做法。我们大可以告诉DeepSeek为什么我们觉得这个答案不满意,并且让DeepSeek根据我们的反馈给出一个改进的回答。这就像是老板指挥员工干活,不能因为员工给出的初稿不满意就不让他们继续干了,而是要告诉他们改进方向,让他们改多几次,一直改到自己满意为止。
像这样的多轮对话是一种交流技巧,需要大量练习。最好每天都要跟DeepSeek对话30分钟以上。
我们都会跟人说话。跟AI对话虽然和跟人类对话类似,却有很多不尽相同的地方。因此,我们需要积累跟AI对话的经验。量变导致质变。有了足够的刻意练习,我们才更有可能在更少轮次的对话当中,让AI给出一个让我们满意的回答。
有一类AI通识叫“提示工程”。我建议大家可以找相关的课程听一听,会有一些帮助。然而,我认为提示工程的作用是有限的,真正关键的还是要有多轮对话的意识。
如果你修炼了第一层境界,学会了如何跟DeepSeek进行多轮对话,那么你就很有可能在几轮或者十几轮对话之后得到一个让你满意的答案。但是,如果只修炼到第一层,会有以下两个局限:
局限一,DeepSeek没有全局记忆,每次开始新的对话都要从头开始让AI了解自己。
局限二,即便某些AI对话App有全局记忆,如果我们切换账号或者转移到其他的AI对话App,这些“记忆”都无法迁移。
为了解决这两个问题,我们必须要有更深一层的修炼心法。
打造“第二大脑”的第二层境界,就是积累三个笔记本。有了这三个笔记本,就能让AI更快地对我们有一个全面的了解,并且这个过程是可重复的,不用我们每次都从头准备资料。
第一个笔记本是日记本。
日记记录的是重要的经历,以及其中的心路历程。我们认为哪些经历是重要的,还有心里是怎么想的,这些内容就反映了我们的价值取向。
所谓价值取向,就是我们常说的价值观。简单来说,就是判断“什么重要、什么不重要”的标准。
AI读了我们的日记本,就能在价值取向和过往经历这个层面上了解我们,才更可能有针对性地给我们提供建议。
第二个笔记本是作品集。
作品集用来展示我们曾经做成过哪些事情,有哪些作品。一名教师,她的作品集可以是她评过哪些职称,教过多少学生,这些学生考取了什么样的学校。一位工程师,他的作品集可以是他曾经设计过多少个方案,落地了多少个工程,这些工程有哪些突出的优点。一个网络博主,她的作品集可以是她发过哪些图文和视频,接过多少个商单,这些商单的转化率是多少。
这些作品集,展示了我们的经验积累和实践成果。也就是说,我们做过哪些事情,做成过哪些事情。
AI看了我们的作品集,就可以知道我们曾经积累过多少经验、有过怎样的实践成果。在这种情况下,给我们提供的设计方案才更有可执行的可能性。
第三个笔记本是读书笔记。
读书笔记,也就是学习笔记。学习笔记记录的是我们学过的知识,还有哪些地方薄弱、需要加强学习。这些笔记体现了我们的知识积累和学习方向。
AI读了我们的读书笔记,就知道我们都学过了什么,还要学哪些东西,以及有怎样的学习习惯。在此之后,AI给我们制定的学习计划才更有可能被成功执行。
第二层境界修炼成功之后,我们并非从此高枕无忧。因为这三个笔记本非常重要,不仅要做好资料管理,还要关注隐私性和安全性这两大风险点。
为了解决这三个问题,我们还需要修炼最后一层心法。
打造“第二大脑”的第三层境界,就是建立一个知识库管理系统,也就是“第二大脑”的最终形态。
第三层境界和第一、第二层境界不一样。前两层境界,都是我们普通人就可以做的,不需要有任何计算机或者人工智能的知识背景。目前市面上并没有提供给大众的“第二大脑”服务,所以我们需要学会使用一定的计算机技能和人工智能知识,才有可能修炼第三层境界。
虽然门槛有点高,但是我们可以看看第三层境界是怎样的。相信以后一定会出现易用便捷的“第二大脑”服务,即无须编程就可以打造专属自己的“第二大脑”。
“第二大脑”是一个知识库管理系统,管理的就是我们的日记本、作品集和读书笔记。它能满足的第一个需求是不需要我们费时费力去整理自己的资料。
我们只需要把每天重要的事情和心里的想法告诉“第二大脑”,它就会整理成一篇又一篇的日记。我们每次有了新的作品,就上传电子文件给“第二大脑”,它就会归纳进我们的作品集。我们在学习的时候,把好奇的问题和答案都传输给“第二大脑”,它就会记录到我们的读书笔记里。
“第二大脑”能满足的第二个需求是隐私性。
在与DeepSeek交互的时候,“第二大脑”不会把所有的资料都传给它,只会把对当前讨论问题有帮助的信息提供出去。其中那些提供出去的信息,“第二大脑”也会做好去隐私化的处理,保证我们的隐私不会被泄露。
“第二大脑”能满足的第三个需求是安全性。
“第二大脑”存储的信息对我们来说极其重要,安全性的要求甚至比银行卡密码还要高。“第二大脑”有完善的加密和防御黑客的功能,保证我们存储在“第二大脑”的重要信息不会被任何人所窃取。
在未来,我们每个人的手机里都会有一个“第二大脑”。在我们与DeepSeek交互的时候,“第二大脑”会帮助我们提供各种各样的附加信息,让我们能更好地使用AI工具。
古希腊神庙有一句箴言是“认识你自己”。在AI时代,这句话仍然没有过时。
为了“认识我自己”,我们要学会如何跟DeepSeek进行多轮对话。在对话中提供更多信息的前提,就是我们对自己要有一个足够的了解。
然后,我们要学会积累三个笔记本。日记本是我们的价值取向和过往经历,作品集是我们的经验积累和实践成果,读书笔记是我们的知识背景和学习方向。
最后,我们可以开始打造真正的“第二大脑”。它负责管理我们的重要信息,保障了隐私和安全。
如此这般,我们不仅是在认识自己,还是在创造自己。通过和AI的合作,不断追问和塑造自己的价值取向,积累和演绎我们的经历和经验,巩固和探索我们的知识学习和前沿关注。在不断地创造中,实现自我超越。
AI不会淘汰我们。AI只会帮助那些懂得如何使用AI进行自我超越的人获得竞争优势,去淘汰那些顽固不化和故步自封的人。
随着生活的节奏变得越来越快,我们的脑子越来越不够用。
我们要记住的东西很多。要记得健康饮食、规律作息,要记得一天的行程都要做哪些事,要记得另一半的生日、节日和各种纪念日。
我们要同时兼顾的事情很多。工作里往往有多个项目并行,还有各种各样的紧急任务临时插入,以及同事可能随时发来信息或打来电话。
我们还要时刻保持冷静、理性地思考。工作时我们不能情绪化,要塑造专业冷静的形象。与人接触要保持克制,不能随便发脾气。要做的决定很多,需要我们理性地思考,才能做出明智的决策。
认知负担、任务管理和理性决策,逐渐成为现代人大脑最常见的三类日常挑战。为了迎接挑战,DeepSeek等AI工具可以成为我们头脑的新武器。
DeepSeek做我们的私人事务助手,可以减轻我们的认知负担。
我们如果想要养成良好的喝水习惯,就跟DeepSeek说:“最近我要多喝水。你记得要提醒我每天至少喝够2500毫升”。
记录饮水量只要跟DeepSeek说一句话,DeepSeek会帮我们做统计。DeepSeek在统计之余,还会告诉我们已经喝了多少,还需要喝多少水,鼓励我们多喝水。
同样地,我们每天一开始就规划好大概要做哪些事情。有哪些新的好习惯要养成,让DeepSeek提醒我们多做;有哪些旧的坏习惯要戒掉,让DeepSeek提醒我们少做。
我们不需要一天到晚都记得这些事情,因为我们根本就记不住。研究表明,我们的工作记忆只能记住3到5件事情。超过这个范围,我们不可能全部记住,很容易丢三落四。
DeepSeek作为我们的私人事务助手,它能轻松记住几十甚至上百件事情,完全可以作为我们的外脑,分担我们的认知负荷。我们把脑子空出来,可以去做更重要的事情,例如专注地做一件事情。
在同一时间只做一件事情,对于现代职场人来说是一种奢望。DeepSeek可以做我们的任务管理助手,帮助我们在多项任务之间实现低损耗的切换。
每天开始工作之前,我们可以把今天要完成的任务项和优先级列出来,并告诉DeepSeek:“今天你要做我的任务管理助手。这些是我今天要完成的工作事项”。
完成了一件事项,我们就跟DeepSeek说:“我已经完成了某某事项”。DeepSeek会告诉我们已经从任务列表里面划掉了已完成的事项,并且建议我们在稍作休息之后去做剩余优先级最高的一件事。
如果临时有新的任务插入进来,我们可以跟DeepSeek说:“现在有一个任务插进来,你待会提醒我要完成”。DeepSeek会自动往任务列表里加入新的事项,并且在当前事项完成之后提醒我们。
假如当前事项做到一半就有新的任务插入进来,我们可以跟DeepSeek说:“某某事项我已经完成了65%,现在有一件更紧急的事情要做”。DeepSeek会记住你当前任务的进度,然后在我们完成紧急事项之后提醒我们之前的情况,我们可以从哪里重新开始这个任务。
有了DeepSeek作为我们的任务管理助手,我们不需要自己去管理任务列表,不需要在有新任务插入的时候比较任务的优先级,不需要在任务被打断时自己去记住进度。
我们只需要专注地做好DeepSeek告诉我们当前要做的事情,更少地在多任务切换中损耗我们的认知带宽,更少地被紧急事务和消息通知扰乱我们的情绪。我们可以有一个更稳定的情绪,更冷静地做出每一个理性的决定。
现代社会要求我们更多地使用理性来做决定,而不是任由情绪导致我们冲动拍板。
在公司里,我们要决定一个任务是否接手,接手之后又要怎么做。回到家里,我们要决定带爸妈去哪里看病,什么时候跟另一半结婚,以及小孩子该报哪些辅导班。一个人独处的时候,我们还需要决定要不要买一台昂贵的手机,考虑到大学里读个MBA学位,还有是否跳槽到另一家公司。
然而,快节奏生活留给我们的理性空间越来越少,短视频时代的碎片内容不断调动我们的情绪。这就形成了一对矛盾:越来越多的决策需要我们保持理性,避免过多受到情绪影响,但是快节奏生活逼迫我们必须快速做出决定,短视频时代的碎片内容则是片面地刺激和放大我们的情绪,让我们无法保持冷静。
在这种情况下,我们可以把DeepSeek变成我们的私人咨询顾问,帮助我们做出理性的决策。
在需要做决策的时候,我们可以把背景和想法告诉DeepSeek,让它来帮我们做分析。在这个整理决策背景和自身想法的过程,就是在让理性回归,让我们的脑子从情绪陷阱里跳出来。
DeepSeek在帮我们做分析之后,往往能够给我们一些很好的建议,甚至会提醒我们考虑一些之前没有考虑到的地方。在这方面,你的任何一个同事、朋友和亲人都不会做得比DeepSeek要好,因为DeepSeek和你没有利益冲突。
DeepSeek不会嫌我们烦,不会觉得我们的事情是小事、不值得多花精力。DeepSeek不用睡觉和吃饭,随时随地可以为我们服务,而且还是免费的。
在我们需要做出决定的时候,尤其是意识到我们明显受到情绪影响的时候,把自己需要做的决定告诉DeepSeek,让它来帮我们做分析和给建议。在综合考虑DeepSeek的分析和建议之后,我们自己再来做最后的决定。
我建议我们每个人都要训练自己有这么一个意识,以及学会如何跟DeepSeek讨论。这样我们做出的每个决策质量都会高得多,让我们的生活产生巨大的、良性的连锁反应。
在《未来简史》中,作者尤瓦尔·赫拉利预言未来每个人都会过度依赖自己的AI助手,个人不会再自己做决定。我并不赞同他的这种说法。
无论是把DeepSeek当作我们的私人事务助手,还是任务管理助手,又或者是私人决策顾问,我们都只是让AI辅助我们做决定。DeepSeek可以帮我们减轻认知负担,更轻松地做任务管理,以及更好地做出理性决策。
诺贝尔经济学奖得主丹尼尔·卡尼曼在《思考·快与慢》里提出了“窄框架”和“宽框架”理论,认为把多个决定放在一起考虑要比分开独立考虑要高效和正确得多。
使用DeepSeek作为我们的AI个人助手,就是把日常行程、任务管理和理性决策放在一个宽框架里面做决定。
这反映了AI时代的一个通用法则:AI来帮我们做琐碎的事情,我们去做更有意义的事情。在思考和决策这件事情上,也是如此。
在DeepSeek横空出世的2025年,我们不是太过依赖AI助手,而是依赖得还远远不够。