惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

宝玉的分享
宝玉的分享
T
Threat Research - Cisco Blogs
H
Hacker News: Front Page
N
News and Events Feed by Topic
Know Your Adversary
Know Your Adversary
Cisco Talos Blog
Cisco Talos Blog
SecWiki News
SecWiki News
C
Cisco Blogs
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Tor Project blog
K
Kaspersky official blog
Forbes - Security
Forbes - Security
Webroot Blog
Webroot Blog
Schneier on Security
Schneier on Security
P
Privacy & Cybersecurity Law Blog
H
Heimdal Security Blog
Y
Y Combinator Blog
The GitHub Blog
The GitHub Blog
S
SegmentFault 最新的问题
V
Vulnerabilities – Threatpost
T
Tenable Blog
T
Tailwind CSS Blog
P
Privacy International News Feed
WordPress大学
WordPress大学
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
博客园 - Franky
Hacker News: Ask HN
Hacker News: Ask HN
Jina AI
Jina AI
C
Cybersecurity and Infrastructure Security Agency CISA
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
雷峰网
雷峰网
Vercel News
Vercel News
A
About on SuperTechFans
爱范儿
爱范儿
Simon Willison's Weblog
Simon Willison's Weblog
AWS News Blog
AWS News Blog
The Last Watchdog
The Last Watchdog
Engineering at Meta
Engineering at Meta
Spread Privacy
Spread Privacy
Security Archives - TechRepublic
Security Archives - TechRepublic
博客园 - 司徒正美
量子位
博客园 - 三生石上(FineUI控件)
J
Java Code Geeks
Hacker News - Newest:
Hacker News - Newest: "LLM"
Recorded Future
Recorded Future
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Martin Fowler
Martin Fowler
Project Zero
Project Zero

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理, 企事业单位数字化的业务供需本质 – 人人都是产品经理, 医疗智能体·第1讲——医疗信息化重构:从“辅助软件”到“自主智能体”的范式转移 – 人人都是产品经理, 粉丝量就是空气!!! – 人人都是产品经理, 用户说“薯片碎了”,机器回“要买吗?”:意图识别的翻车与破局 – 人人都是产品经理, RAG召回准确率从75到90 我做对了这三件事 – 人人都是产品经理, AI大事件:Anthropic改收费、OpenAI发安全版、手术机器人纳入医保、阿里发布”秒悟” – 人人都是产品经理, Chrome 推出 Skills 新功能,Agent 重塑上网方式 – 人人都是产品经理, GitHub前创始人拿了a16z的1700万美元,做Agent时代的Git – 人人都是产品经理 拷贝或克隆其他 Flutter OH 项目到本地后无法运行 – 人人都是产品经理, 优惠券设计:优惠券创建 – 人人都是产品经理, 不用死磕文档!AI 助手 1 小时搞定飞书 CLI 安装 + 配置 + 知识库 – 人人都是产品经理, 用小龙虾做竞品分析报告:从2天到20分钟,我是怎么做到的 – 人人都是产品经理 用小龙虾做市场分析报告:搞懂这3个公式,市场规模不再靠猜 – 人人都是产品经理, 你早就在做 Harness 工程,只是不知道它叫这个名字 – 人人都是产品经理, Think Long就够?你可能想多了! – 人人都是产品经理, 货代SRM实战:供应商准入怎么做,才能让资源池不是通讯录而是可交付网络? – 人人都是产品经理, 如何做好用户调研?详解基本技巧 – 人人都是产品经理, 木鸟、途家、美团对打,平台春天行动开“卷” – 人人都是产品经理, 入职才发现公司不靠谱?小红书从业者求职避坑指南 – 人人都是产品经理, 美国 AI 三巨头联手封堵,中国 AI 突围之路在何方 – 人人都是产品经理, 小红书,放在需求对面的镜子 – 人人都是产品经理, AI 会带来大规模失业吗? – 人人都是产品经理, 从出单到补货前,我第一次犹豫:该不该放大? – 人人都是产品经理, Flutter 三方库鸿蒙化适配:5 种高效检查方式,快速判断是否需要适配 – 人人都是产品经理, 从做产品进阶拿结果:医美机构产品经理转岗科室运营经理 – 人人都是产品经理, 阿里HappyHorse,一场关于“Token经济”的阳谋 – 人人都是产品经理, To B AI:客户留存落地的观察与思考 – 人人都是产品经理, AI产品的“生命线”——数据采集、标注、清洗的产品化设计 – 人人都是产品经理, 谈谈AI Agent(二):当“孩子”能自己“体验世界”时,你该学什么? – 人人都是产品经理, UI/UX设计师的3层能力进阶,前两层让你活下来,第三层…才是真正的分水岭 – 人人都是产品经理, 2分钟 → 30秒,效率提升75%:B端产品经理如何用「规则枷锁」驯服AI幻觉? – 人人都是产品经理, 还没来得及学OpenClaw,来了个更猛的:Hermes Agent – 人人都是产品经理, AI日报:宇树机器人跑出10m/s刷新世界纪录 – 人人都是产品经理, 一文说透基金互金如何用情绪价值引导用户决策做转化 – 人人都是产品经理, 当浏览器开始替你”看”网页:AI 浏览器正在亲手拆掉它脚下的那张网 – 人人都是产品经理, 0代码,一天时间我Vibe Coding了个网站 – 人人都是产品经理, Hermes 和 OpenClaw 之争,Agent 的能力应该“装上去”还是“长出来”? – 人人都是产品经理 视频生成的“桌子”,字节Seedance 2掀完,阿里快乐马掀 – 人人都是产品经理, 从听不懂到完全信任:我的 Codex 深度产品体验 – 人人都是产品经理, 当虚拟偶像有了北京户口,与真人偶像还有什么区别? – 人人都是产品经理, 会说,远远比会做更重要 —— 对 SBTI 爆火现象的五层观察 – 人人都是产品经理, AI产品经理必看:当“搭环境”比“选模型”更重要,你的认知还在2024年吗? – 人人都是产品经理, 2026年AI产品商业化核心逻辑:从功能demo到规模化营收的3个必破卡点 – 人人都是产品经理, 京东围绕供应链,卷起裤腿下场的那些事儿 – 人人都是产品经理, SBTI一夜刷屏:它赢在了“太会说人话” – 人人都是产品经理, 折扣零售的真相:不是便宜,而是价值感! – 人人都是产品经理, 和甲方吵了一架,最后加钱做了——我学到的ToB产品经理生存法则 – 人人都是产品经理, 和几位小红书操盘手聊了8小时,干货全在这 – 人人都是产品经理, 智谱GLM-5.1登场,开源模型首超Opus4.6!!! – 人人都是产品经理 Anthropic收入凭什么反超OpenAI,终于有人把这事说清楚了 – 人人都是产品经理, 史上最有故事感的技术报告——Claude最强模型Mythos 7个极其精彩的细节 – 人人都是产品经理, 模型不是壁垒,Harness 也不是 – 人人都是产品经理, 抖音本地生活业务思考21 – 人人都是产品经理, Superpowers:145k Star的AI编码框架,到底是什么来头? Superpowers:145k Star的AI编码框架,到底是什么来头? – 人人都是产品经理, OpenAI 的路走错了,Anthropic Harness 解法启示:模型需要实践专科生 – 人人都是产品经理, 画原型图的前一步:设计站点地图 – 人人都是产品经理, 给 DeepSeek 的最后一封催更信 – 人人都是产品经理, 手把手教你用 Claude Code 搭建 AI 营销团队:5 个 Agent、12 项技能,独立完成研究、写作、设计全流程 – 人人都是产品经理, 你以为大模型在学语言?不,它在重新发明语言学 – 人人都是产品经理 所谓Skill,不过是AI时代的工业垃圾 – 人人都是产品经理, 聊一聊内容传播的几个方法 – 人人都是产品经理, 当平台开始吃掉生态:从 OpenClaw 被封杀,读懂 Anthropic 的这盘棋 – 人人都是产品经理, 你装了 10 个 AI 插件,Obsidian 还是一个文件夹 – 人人都是产品经理 关于AI智能体架构演进的系统性思考:从单体试水到多体协同的重构 – 人人都是产品经理, 当“人”变成Skill,我们又该何去何从? – 人人都是产品经理 Mythos 事件:前沿 AI 治理的意外实验 – 人人都是产品经理, 货代CRM:信用与风险管理怎么做,才能把坏账风险拦在放货之前? – 人人都是产品经理, 从HR收集自拍照到员工自助录入——我见证了园区人脸识别从”不可用”到”真好用”的全过程 – 人人都是产品经理 千问闯关AI混沌期:阿里画靶,吴嘉张弓,马云射箭? – 人人都是产品经理,
AI编程时代,为什么你的代码还是被吐槽?
徐浩楠 · 2025-11-10 · via 人人都是产品经理

AI已经能写代码了,为什么你的代码依然频频“被吐槽”?问题或许不在技术,而在认知。当AI降低了编程门槛,也在悄然抬高对“人”的要求。这篇文章将从协作逻辑、表达方式与工程心智出发,重新定义“好代码”的标准。

引言:AI能写代码,但写不了你的未来

ChatGPT、Copilot、Claude…AI编程工具层出不穷,小白也能一键生成代码。但为什么在大厂,你的代码还是被评审吐槽?为什么同样的功能,有些人的代码看起来像艺术品,而你的却像AI生成的垃圾?

答案很简单:AI能写代码,但写不了你的职业未来。在AI编程时代,代码注释和文档不再是”可有可无”,而是程序员的”生存护城河”。今天,我们就来聊聊如何在AI时代,通过优秀的代码注释和文档,让你的编程之路走得更顺畅。

一、AI编程时代的残酷真相:代码注释是你的生存护城河

1.1 AI能写代码,但写不了可维护的代码

ChatGPT能生成功能代码,但无法理解你的业务逻辑、团队规范和长期维护需求。想象一下:当AI生成的代码需要紧急修复,或者交接给新同事时,没有注释的代码就是一场灾难。

# AI生成的代码(无注释)

def get_chat_completion(prompt, history):

history_string = “\n\n”.join([“\n”.join(turn) for turn in history])

prompt_with_history = f”{history_string}\n\n{prompt}”

completion = client.chat.completions.create(

model=”gpt-3.5-turbo-0125″,

messages=[

{“role”: “system”, “content”: “You are a helpful but terse AI assistant who gets straight to the point.”},

{“role”: “user”, “content”: prompt_with_history},

],

temperature=0.0,

)

return completion.choices[0].message.content

# 人类优化的代码(有注释)

def get_chat_completion(prompt, history):

“””获取带有聊天历史的AI响应

此函数将历史对话记录格式化后与当前问题组合,使AI能够理解上下文,生成更连贯的响应。

参数:

prompt: 当前用户输入的提示词

history: 之前的对话历史记录列表,每个元素为一问一答的元组

返回:

AI生成的响应文本

“””

# 将历史对话记录转换为字符串格式,每个轮次用双换行符分隔

history_string = “\n\n”.join([“\n”.join(turn) for turn in history])

# 将历史记录与当前问题组合,形成完整的上下文提示

prompt_with_history = f”{history_string}\n\n{prompt}”

# 调用OpenAI API获取响应

completion = client.chat.completions.create(

model=”gpt-3.5-turbo-0125″, # 指定使用的模型版本

messages=[

{“role”: “system”, “content”: “You are a helpful but terse AI assistant who gets straight to the point.”},

{“role”: “user”, “content”: prompt_with_history},

],

temperature=0.0, # 温度参数,控制回答的随机性,0.0表示更确定性的回答

)

return completion.choices[0].message.content

1.2 在AI时代,注释是你的不可替代性

当AI能写80%的代码时,你的价值在哪里?答案就在那20%:理解业务、设计架构、编写文档。优秀的代码注释和文档,是AI无法替代的人类价值,是你在AI时代的”不可替代性”。

二、如何写出犀利有用的代码注释

2.1 注释的三要素原则

要素一:解释“为什么”,而非“是什么”

# 不好的注释:只说明是什么

# 将历史记录转换为字符串

history_string = “\n\n”.join([“\n”.join(turn) for turn in history])

# 好的注释:解释为什么这样做

# 将历史对话记录转换为字符串格式,便于AI理解上下文

# 每个对话轮次之间用双换行符分隔,提高可读性

history_string = “\n\n”.join([“\n”.join(turn) for turn in history])

要素二:保持简洁,避免冗余

# 不好的注释:冗余啰嗦

# 这个函数的作用是接收一个提示词,然后调用OpenAI的API,获取AI的响应,最后返回这个响应

def get_llm_response(prompt):

# …

# 好的注释:简洁明了

# 调用OpenAI API获取AI响应并返回

def get_llm_response(prompt):

# …

要素三:使用中文,贴近团队

在国内大厂工作,使用中文注释能更好地与团队沟通。不要为了”国际化”而坚持使用英文,除非你的团队是国际化的。

2.2 注释的黄金位置法则

位置一:函数头部

每个函数都应该有清晰的文档字符串,说明函数的作用、参数和返回值。

def get_chat_completion(prompt, history):

“””此函数接收当前提示词和历史对话记录,生成带有上下文的AI响应。

参数:

prompt: 当前用户输入的提示词

history: 之前的对话历史记录列表

返回:

AI生成的响应文本

“””

# 函数实现…

位置二:复杂逻辑处

对于复杂的算法或业务逻辑,添加注释解释思路。

def get_cat_age(human_age):

if human_age <= 14:

# 对于前14个人类年,我们将其视为猫的前两年

cat_age = human_age / 7

else:

# 对于超过14岁的人类年龄:猫的年龄计算方式不同

cat_age = 2 + (human_age – 14) / 4

return cat_age

位置三:关键参数处

对于重要的参数或配置,解释其含义和选择原因。

completion = client.chat.completions.create(

model=”gpt-3.5-turbo-0125″, # 指定使用的模型版本

messages=[…],

temperature=0.0, # 温度参数,控制回答的随机性,0.0表示更确定性的回答

)

三、代码注释的进阶技巧

3.1 注释与代码的黄金比例

注释不是越多越好,也不是越少越好。一般来说,注释与代码的比例保持在1:3到1:5之间比较合适。关键是要在需要的地方添加有价值的注释,而不是为了注释而注释。

3.2 注释的时效性管理

代码在迭代,注释也需要同步更新。过时的注释比没有注释更糟糕,因为它会误导读者。养成修改代码时同步更新注释的习惯。

3.3 注释的风格统一

在团队中,保持注释风格的一致性非常重要。可以制定团队的注释规范,包括:

  • 使用中文还是英文
  • 注释的格式(如参数说明的格式)
  • 特殊标记的使用(如TODO、FIXME等)

四、从代码注释看职场进阶

4.1 初级程序员:能跑就行

初级程序员往往只关注代码能否实现功能,注释很少或者没有。这种代码在个人项目中可能没问题,但在团队协作中会成为障碍。

4.2 中级程序员:有注释就行

中级程序员知道需要添加注释,但往往注释质量不高,只是简单说明代码做了什么,而没有解释为什么这样做。

4.3 高级程序员:注释即设计

高级程序员通过注释表达设计思路和架构决策,他们的注释不仅解释代码,更是在传递思考过程和经验。

4.4 架构师:注释即影响力

架构师通过注释建立技术规范和最佳实践,他们的注释成为团队的技术指南,影响整个团队的技术方向。

五、实战案例:从糟糕到优秀的注释进化

让我们通过一个实际案例,看看如何将一段代码的注释从糟糕进化到优秀。

5.1 糟糕的注释

import os

import openai

openai.api_key = os.environ.get(“OPENAI_API_KEY”)

client = openai.OpenAI()

def get_llm_response(prompt):

completion = client.chat.completions.create(

model=”gpt-3.5-turbo-0125″,

messages=[

{

“role”: “system”,

“content”: “You are a helpful but terse AI assistant who gets straight to the point.”,

},

{“role”: “user”, “content”: prompt},

],

temperature=0.0,

)

response = completion.choices[0].message.content

return response

5.2 优秀的注释

# 导入必要的库

import os # 导入操作系统相关功能的库

import openai # 导入OpenAI库

# 从环境变量中获取OpenAI API密钥

# 这是一个安全地存储敏感信息的好方法

openai.api_key = os.environ.get(“OPENAI_API_KEY”)

# 初始化OpenAI客户端

# 所有的API调用都将通过这个客户端进行

client = openai.OpenAI()

def get_llm_response(prompt):

“””获取大型语言模型(LLM)的响应

这个函数就像给机器人朋友打电话,问它一个问题,然后拿到它的回答。

它会调用OpenAI的API,发送我们的问题,并返回机器人的回答。

参数:

prompt: 要发送给AI的问题,必须是字符串

返回:

AI生成的回答文本

“””

# 调用OpenAI API创建聊天完成

# 这就是我们打电话给机器人朋友的指令

completion = client.chat.completions.create(

model=”gpt-3.5-turbo-0125″, # 指定要使用的模型版本

messages=[

{

“role”: “system”, # 系统角色,设定AI的行为

“content”: “You are a helpful but terse AI assistant who gets straight to the point.”,

},

{“role”: “user”, “content”: prompt}, # 用户角色,包含用户的问题

],

temperature=0.0, # 温度参数,控制回答的随机性,0.0表示更确定性的回答

)

# 从完成响应中提取机器人的回答内容

# 就像从机器人朋友那里拿到它的回答

response = completion.choices[0].message.content

# 返回机器人的回答

return response

六、AI编程时代的生存法则:文档是你的第二大脑

6.1 .md文件:你的知识外挂

在AI时代,.md文档文件不再是”锦上添花”,而是你的”第二大脑”。它记录你的思考过程、设计决策和业务逻辑,是AI无法替代的知识资产。

# 项目文档示例

## 项目概述

本项目是一个基于OpenAI API的智能问答系统,旨在提供高效、准确的AI对话服务。

## 核心功能

1. 单轮对话:处理独立问题,无需上下文

2. 多轮对话:维护对话历史,提供连贯交流

3. 成本计算:实时监控API调用成本

## 技术架构

– 前端:Gradio界面(可选)

– 后端:Python + OpenAI API

– 数据存储:内存缓存(可扩展至Redis)

## 关键设计决策

1. 为什么选择gpt-3.5-turbo-0125?

– 性价比高,响应速度快

– 适合大多数对话场景

– 成本可控

2. 为什么设置temperature=0.0?

– 确保回答的一致性和可靠性

– 减少随机性,提高可预测性

– 适合生产环境使用

## 使用指南

1. 环境配置:设置OPENAI_API_KEY环境变量

2. 基础调用:使用get_llm_response函数

3. 多轮对话:使用get_chat_completion函数

4. 成本监控:使用calculate_llm_cost函数

## 扩展计划

1. 添加向量数据库支持,实现长期记忆

2. 集成更多AI模型,提供模型选择

3. 开发Web界面,提升用户体验

6.2 文档驱动的开发:AI时代的新常态

在AI编程时代,文档驱动的开发将成为新常态:先写文档,再写代码。文档不仅是给人类看的,也是给AI看的”上下文”,能帮助AI生成更符合需求的代码。

七、结语:AI时代,你的价值在哪里

AI能写代码,但写不了你的思考;AI能生成功能,但生成不了你的价值。在AI编程时代,代码注释和文档不再是”软技能”,而是”硬实力”,是你在AI时代的”生存护城河”。

记住:代码是写给人看的,顺便给机器执行;文档是写给你和AI看的,顺便给团队参考。

当你开始注重代码注释和文档的质量时,你的编程之路将走得更远、更稳。

AI时代的行动建议:

  1. 把文档当作“第一公民”,先写文档再写代码
  2. 为每个函数、每个模块编写清晰的注释和文档
  3. 建立团队的文档规范和注释标准
  4. 使用AI辅助生成文档,但由人类审核和优化
  5. 定期回顾和更新文档,保持与代码同步

AI时代的思考题:

  • 当AI能写80%的代码时,你的价值在哪里?
  • 如何利用AI工具提高文档和注释的质量?
  • 在你的团队中,如何平衡AI生成代码和人工优化?

欢迎在评论区分享你的AI编程经验和思考!

本文由 @徐浩楠 原创发布于人人都是产品经理。未经作者许可,禁止转载

题图来自Unsplash,基于CC0协议