Interviewed candidates for “AI engineer” roles this week, my god is this really where our industry is going?
So last week I was tinkering with how to change up our technical interview round. For the last few years we’ve been doing a small take home followed by a live coding session where we add a new requirement, minimal AI assistance allowed. However, in our company pretty much everyone is writing 100% of code using Claude now, so although we did used to get good signal from that test, it no longer feels representative of the day to day job developers are doing.
I designed a new assessment which I casually showed to my manager and then suddenly got asked to run it with 3 candidates this week. The scenario is they have to review an agent generated PR that has been flagged as high risk due to it changing critical business logic, and there are bugs in there for them to catch at various levels of severity. We then look at how they drive the fixes and what their workflow is like.
These particular roles we’re currently hiring for are billed as “AI Engineer”. There is something weird going on in my company politically where separate from the tech department that I work in a new “AI native” development team is being spun up to work on internal projects.
What shocked me was that the candidates I interviewed this week are already way beyond the point of reading the code they generate in any capacity. They basically treat it like assembly language, while PRDs and ADRs are their new source of truth for system behaviours, and stuffing the AGENTS.md file with best practices plus some form of agentic review pipeline are the quality control.
Code review is dead for them, they merge their own PRs once the automated checks pass. One person told me that my new interview was still not representative of what the job is now, and another one was pretty much unwilling to even engage in the assignment of reviewing a PR the old fashioned way. These guys were all previously senior and lead full stack engineers btw with a lot of experience prior the LLM revolution.
Don’t get me wrong, I too have adopted AI heavily in my own workflow. Until this week I actually thought I was pretty up to date with things, I use a supervising agent to manage multiple work streams in parallel, have my own local validation pipeline, etc. And to be honest for my personal projects I also don’t bother looking at the code anymore, so I do get the excitement around how fast you can move with this approach. But for serious projects like the large scale, production grade financial software I work on in my day job it still seems insane to me that we’re going to completely move away from human sign off on high risk changes so we can solve the “code review bottleneck”.
Like, I asked one of the candidates if you aren’t looking at your code then how they would approach quality in a safety critical system where there can be no tolerance for serious bugs, and I shit you not he said to me, “well if I was working in healthcare or sending to people into space then I’d definitely be looking closely at the code review skills, maybe I’d even write the skills myself”. That answer sounded utterly ridiculous to me? But then again, I was one of the people that 1 year ago believed the idea we’d stop typing code by hand was ridiculous as well…
I wouldn’t say the way my team does things right now is optimal, we can’t ignore that code review fatigue is a major problem. To try and help I’ve been adding automated risk assessments to PRs in an attempt to highlight where more attention is needed, and review bots do help us catch issues as well. But abandoning the human 4 eyes check just feels like several bridges too far for us at the moment, especially when not everyone is senior engineer, and we still regularly get valuable feedback at this stage. Even if this does mean we’re turning down an order of magnitude increase in short term velocity (does anyone really know yet what happens over multiple years when you have a team of 20 devs spamming PRs all day into a codebase with no one looking at any at it?).
I’m left wondering this weekend, were these guys just cowboys who are only used to working on PoCs and low risk systems, or is my team actually 6-12 months behind the curve and this is the direction everyone is going to move in? I fear that if we don’t embrace this new era of completely surrendering the codebase to the LLMs then this new team of AI devs is going to make us look bad by comparison to the execs and sooner or later we will be forced to adopt their methods as well. And at that point, the leap to having a product person or whoever taking over large parts of my role starts feeling a lot less far fetched…
评论区域 评论区
AI usage disclosure provided by OP, see the reply to this comment.
Think about the whole thing as if you were a manager or an engineer and not a technical craftsperson. 试着以管理者或工程师的视角,而不是技术工匠的视角来审视整件事。
If you hired a bunch of people to build an artificial heart, how would you make sure it was safe? How do you know they built it properly? 如果你雇了一群人制造一颗人造心脏,你如何确保它安全?你如何知道他们制造得没问题?
You can't trust them to get it right, and you can't spend every moment micromanaging them or looking over their shoulder. 你不能指望他们不出错,也不可能每时每刻都对他们进行微观管理或盯着他们的肩膀看。
So what do you do? 那么你该怎么办?
The post-LLM world is that, but with virtual agents instead of human beings. 后大语言模型(LLM)时代就是这样,只不过把人类换成了虚拟智能体。
Civil engineers spend a LOT of time on requirements, design, testing, and certification in compliance with technical regulations. They rely on the trades, vendors, PM's, architects, regulators, and their peers to make sure that they have the minimum set of unknowns into their designs and their designs can be proven correct from the requirements. Then, they ( and their regulator ) do inspections of the construction process to make sure things are done correctly. 土木工程师会在需求、设计、测试和认证方面花费大量时间,以符合技术规范。他们依赖于各工种、供应商、项目经理、建筑师、监管机构和同行,以确保设计中的未知因素降到最低,并确保设计能从需求层面证明是正确的。然后,他们(及其监管者)会对施工过程进行检查,确保工作执行无误。
At the end of the day, they sign off on their work and go to jail if their building has design flaws that kill people or testify when they discovered that the mob had substituted the cheap concrete for what they specified. 归根结底,他们要在工作成果上签字,如果建筑因设计缺陷导致人员伤亡,他们要坐牢;如果发现黑帮将指定的优质混凝土偷换成了劣质品,他们也要出庭作证。
That is where we're heading except the tradespeople are replaced with robots. 这正是我们前进的方向,只不过工匠们被机器人取代了。
From an individual perspective, do we want to be engineers, artists, or craftspeople? 从个人角度来看,我们想成为工程师、艺术家还是工匠?
For many of us, this shift is the long-delayed professionalisation of our discipline but it leaves behind the joyous artists who want to make beautiful things with their friends in wonderful ways. While it's fun and rewarding to write beautiful code, the people paying for it want the best output for the cheapest price they can afford as fast as we can give it to them. 对我们许多人来说,这种转变是我们学科期待已久的职业化进程,但它抛弃了那些想与朋友以美妙方式创造美好事物的快乐艺术家们。虽然编写漂亮的代码既有趣又有成就感,但买单的人只想要以最快的速度、最低的价格获得最好的产出。
Bridges are built by civil contractors who are at fault by not adhering to the specs, not LLM's. The construction is regularly supervised by quality ensurance entities and is built by trained professionals. Civil Engineers don't write a spec and then pass it to claude to build a bridge and test it by sending cars full of civilians over it. 桥梁是由土木承包商建造的,如果不遵守规范,责任在他们,而不是在 LLM。施工过程有质量保证机构定期监督,并由训练有素的专业人员完成。土木工程师不会写一份规范,然后交给 Claude 去建一座桥,再让装满平民的车开过去测试。
Your analogy would work if the builders in this case are contrators that are liable by not following the specs. Those are called programmers and are the people who review code. That's literally the system in place without AI. Someone creates specs, the programmers implement it. If the specs are bad the lead architect is responsible, if the implementation is bad the programming team is responsible. LLM's can be used as a tool to write code sure, but the people handling them should be trained professionals that can understand all the nuance in its outputs and evaluate that against the specs and the laws and best practices the software must adhere to. 你的类比只有在建造者是因不遵守规范而承担责任的承包商时才成立。这些人就是程序员,也是负责审查代码的人。这正是人工智能出现之前的系统。有人创建规范,程序员实现它。如果规范很烂,首席建筑师负责;如果实现很烂,编程团队负责。LLM 当然可以用作编写代码的工具,但操作它们的人应该是训练有素的专业人员,他们能够理解输出中的所有细微差别,并根据软件必须遵守的规范、法律和最佳实践进行评估。
So essentially, you wrote a book of absolute non-sense. 所以本质上,你写了一堆彻头彻尾的废话。
Programming in general is not as safety critical as building bridges, but even a simple SaaS application is handling personal data, billing information and other types of PII that you should have the basic courtesy of being careful of. Not to mention the fact that you should respect your customers enough to at least ensure you are giving them good service by having trained professionals who are legally liable handle what they have to interact with. 编程总体上不像建造桥梁那样关乎安全,但即使是一个简单的 SaaS 应用也在处理个人数据、账单信息和其他类型的个人身份信息(PII),你应该有基本的礼貌去小心处理。更不用说,你应该尊重你的客户,至少通过聘请负有法律责任的专业人员来处理他们交互的内容,以确保你为他们提供了良好的服务。
This is fundamentally a matter of basic human courtesy and respect, it's unfortunate that people like you and C-suite types can't get your head out of the excel spreadsheet. Lots of your type would happily throw houses and bridges at LLM to implement if you could, so that you can make an extra dollar even if it ends up killing someone. 这从根本上是一个基本的人类礼貌和尊重问题,不幸的是,像你和高管层这样的人无法从 Excel 表格中抬起头来。你们这类人如果可以的话,会很乐意把房屋和桥梁交给 LLM 去实现,只为了多赚一美元,哪怕这最终会导致有人丧命。
What an eloquent way to try and normalize the idea that pressuring developers to not review AI slop before merging it is "the long-delayed professionalisation of our industry", and to portray understanding one's code as some of sort of boutique, aesthetic indulgence. 这真是一种雄辩的方式,试图将“向开发人员施压,要求他们在合并 AI 生成的垃圾代码前不要进行审查”美化为“我们行业期待已久的职业化”,并将理解自己的代码描绘成某种精品、审美上的沉溺。
The actual indulgence is developers, managers, directors, and even C-levels using robots to muck about in the codebase without understanding the code, socializing the changes, or even adhering to a coherent product vision. And then having the audacity to claim that it is progressive to do so, and anyone opposing this behavior is essentially a Luddite. 真正的沉溺是开发人员、经理、总监甚至高管使用机器人去乱搞代码库,而不去理解代码、不进行变更沟通,甚至不遵循连贯的产品愿景。然后还厚颜无耻地声称这样做是进步的,任何反对这种行为的人本质上都是卢德分子。
That is the actual reality of what's happening in our industry, and there is nothing professional about it. 这才是我们行业正在发生的真实情况,这其中没有任何专业可言。
This exactly. 正是如此。
Some example from my current job: 我目前工作中的一些例子:
My PM generates jira tickets that are hyper inflated with content that does not make sense because they are asking claude to read the codebase and generate them a ticket based on their ask, instead of talking to us, which often makes the tasks unclear and more confusing to work through. The problem is my PM is new and doesnt know the product well enough to do his job, but that 'shouldnt matter' because he can 'just ask AI' 我的产品经理生成的 Jira 工单里充斥着毫无意义的内容,因为他们让 Claude 读取代码库并根据他们的要求生成工单,而不是与我们交流,这往往导致任务不明确,处理起来更加混乱。问题在于我的产品经理是新人,对产品不够了解,无法胜任工作,但“这不重要”,因为他可以“直接问 AI”。
my QA sends me multiple paragraph long messages on teams for basic interactions. Its as if they dont know how to think anymore. They literally dont even read what my question is, just copy and paste from AI. 我的 QA 在 Teams 上发给我长篇大论的消息,只为了处理基本的交互。就好像他们已经不会思考了一样。他们甚至根本不读我的问题是什么,只是从 AI 那里复制粘贴。
I have managers and even our CTO dont even make eye contact with our codebase, and have zero concept of how to prioritize work in logical/meaningful ways. My CTO just told me in a one on one that they want QA writing code now, and for devs to be running QA. We now how QA running prod deployments. 我的经理甚至首席技术官(CTO)连看都不看我们的代码库,对于如何以合乎逻辑/有意义的方式确定工作优先级毫无概念。我的 CTO 在一对一会议中告诉我,他们现在想让 QA 编写代码,让开发人员负责 QA。我们现在让 QA 负责生产环境的部署。
my company resufes to hire architectural roles, so my team lead for example, just used claude to generate a 'plan' for us to write a new feature. its completely illegible. but he doesnt care, because he just quit. 我的公司拒绝招聘架构职位,所以例如我的团队主管直接用 Claude 为我们编写新功能生成了一个“计划”。这完全无法辨认。但他不在乎,因为他刚辞职了。
we have a lot of manual processes that could have been automated(pre ai), and instead of working on that like one would work on tech debt, people are duct taping things together using AI, which is fundamentally the worst solution to a SOLVED PROBLEM. 我们有很多本可以(在 AI 出现前)自动化的手动流程,但人们没有像处理技术债务那样去解决这些问题,而是用 AI 把事情凑合在一起,这从根本上是对“已解决问题”的最差解决方案。
Basically this is all boiling down to almost everyone in the company offloading work onto the devs, expecting us to carry the cognitive load of the entire team because no one wants to think meaningfully anymore. Whats insane is how fast this transition has happened, it was within a couple of months. 基本上,这一切归结为公司里几乎每个人都在把工作推给开发人员,指望我们承担整个团队的认知负荷,因为没人想再进行有意义的思考了。疯狂的是这种转变发生得如此之快,仅仅在几个月内就完成了。
There is nothing professional about anything im seeing in my company. 我在公司里看到的任何事情都没有专业可言。
The real issue is that the value of mediocre developers -- which I assume were the majority of developers you were interviewing -- is becoming a net negative, and companies haven't yet fully understood this nor adjusted to it in their hiring practices. 真正的问题在于,平庸开发人员的价值——我假设这是你面试的大多数开发人员——正在变成净负值,而公司还没有完全理解这一点,也没有在招聘实践中做出调整。
Those people rely entirely on AI because AI is at a sufficiently high level where those people no longer have the ability to discern bad AI decisions from good AI decisions, so critically reviewing AI decisions is not something they are capable of doing. This means that in practice AI uncaps the number of bad decisions they will introduce into the codebase per unit of time. On the job those people will produce mountains of slop-driven PRs and fires that will lead to a fast deterioration of the product, while the better devs will spend increasingly high percentage of their time trying to extinguish those fires instead of working on moving the product forward. 这些人完全依赖 AI,因为 AI 处于一个足够高的水平,以至于这些人不再有能力辨别糟糕的 AI 决策和优秀的 AI 决策,因此批判性地审查 AI 决策对他们来说是无法做到的。这意味着在实践中,AI 取消了他们单位时间内引入代码库的错误决策数量上限。在工作中,这些人会产出堆积如山的垃圾 PR 和火灾,导致产品迅速恶化,而优秀的开发人员将花费越来越高的比例时间去灭火,而不是推动产品前进。
Plus it is way easier to teach a competent developer how to use some new AI workflow productively, than it is to teach an AI super user how to become a competent developer. 此外,教一个有能力的开发人员如何高效使用新的 AI 工作流产品,比教一个 AI 超级用户成为有能力的开发人员要容易得多。
IMO interviews should filter for competence first. AI workflows can be easily taught / picked up. 在我看来,面试应该首先筛选能力。AI 工作流可以很容易地学习/掌握。
Both you and OP are correct. 你和楼主说的都对。
At my company, they also spun up an AI-native team. The AI native team also adopted a "we don't need to read code anymore" philosophy. Because they were leaning so heavily into AI, they were able to identify use cases for AI and adopt those practices faster than the rest of the company, and that gave them a bunch of wins for management and made them important from both a research and developing-new-infrastructure perspective. 在我们公司,他们也成立了一个 AI 原生团队。该团队也采取了“我们不再需要阅读代码”的理念。因为他们过度依赖 AI,所以能够比公司其他部门更快地识别 AI 的用例并采用这些实践,这为他们赢得了管理层的青睐,使他们在研究和开发新基础设施方面变得重要。
But listening to them talk, its obvious that they don't really understand a lot of what they're doing. The same was as an incompetent person quotes AI without understanding it, and therefore without understanding how wrong the answer may be. 但听他们谈话,很明显他们并不真正理解自己在做什么。就像一个无能的人引用 AI 而不理解它,因此也不理解答案可能有多么错误一样。
The developer that is considered to be the star of the team, let's call him M, used to be on the team I currently manage. When I took over my team, my most senior devs explained to me that quietly and informally, they had an understanding that there were 2 Pr review processes, one for everyone else, and one for M, because M averaged taking down production once a week when not directly overseen. And that was before he embraced AI. So yeah, of course M believes you don't need to review code, he wasn't capable of it beforehand. 被认为是团队明星的那位开发人员,我们叫他 M,以前在我现在管理的团队里。当我接手团队时,我最资深的开发人员向我解释说,他们私下里有一个共识:有两种 PR 审查流程,一种是针对其他所有人,另一种是针对 M,因为 M 在没有直接监督的情况下,平均每周会导致生产环境宕机一次。那还是在他拥抱 AI 之前。所以是的,M 当然相信你不需要审查代码,他之前也没能力做到。
The other main developers on the "ai native" team hail from this same category (or, interestingly, from devops). “AI 原生”团队的其他主要开发人员也属于这一类(或者有趣的是,来自运维部门)。
But I think my absolute favorite moment, was when the ai native team was asked to present to the rest of the department. Management proudly showed that the team of (what was at the time 2 developers) managed to close over 40 bug tickets the previous day between the two developers. And they did this because of agentic workflows, and not reviewing code, and just using ai skill review files, and etc, etc. Except, apparently no one had the balls to ask "You guys are on a team of 2. You started this entire project as a greenfield rewrite 4 weeks ago. How the hell do you have 40 bug tickets in your backlog already?" But that's the sort of thing old management KPIs didn't used to need to track, because pre-AI, engineers could be trusted to keep the bug count down so you only had to measure velocity. Engineers who shipped buggy code were just fired. 但我最喜欢的时刻是 AI 原生团队被要求向部门其他成员展示时。管理层自豪地展示了该团队(当时有 2 名开发人员)在过去一天内完成了 40 多个 bug 工单。他们能做到这一点是因为代理工作流、不审查代码、只使用 AI 技能审查文件等等。然而,显然没人有胆量问:“你们是一个 2 人的团队。你们 4 周前才开始这个全新的重写项目。你们的积压任务中怎么可能已经有 40 个 bug 了?”但这正是旧的管理 KPI 不再需要跟踪的事情,因为在 AI 出现之前,工程师们被信任能够保持低 bug 数量,所以你只需要衡量交付速度。交付有 bug 代码的工程师会被直接解雇。
AI has revealed people's utter credulousness and incompetence in a way I never could have imagined. AI 以一种我从未想象过的方式揭示了人们极度的轻信和无能。
AI over-reliance is going to turn into a rather good way to filter out the poor developers, because it’s directly making them worse than they already were. 过度依赖 AI 将成为筛选出平庸开发人员的好方法,因为它直接让他们变得比以前更差。
If LLMs generate the "average" code quality of it's training set, and M was creating below average code, maybe it did make him a better developer. 如果 LLM 生成的是其训练集的“平均”代码质量,而 M 创造的是低于平均水平的代码,也许它确实让他成为了更好的开发人员。
I have zero data on this, but it's always been a big question for me. Do LLMs make bad developers a little better by pulling them to the average, or do those developers prompt so badly that they pull the LLM down to their level? 我对此没有任何数据,但这对我来说一直是个大问题。LLM 是通过将平庸的开发人员拉向平均水平而让他们变得更好,还是那些开发人员的提示词写得太烂,以至于把 LLM 拉低到了他们的水平?
In my experience AI only works as a productivity tool if the person using AI is capable of judging the resulting output, ie: would have been capable of writing the end result on their own without AI given enough time. 根据我的经验,只有当使用 AI 的人有能力判断最终输出结果时,AI 才能作为生产力工具发挥作用,也就是说:如果给他们足够的时间,他们自己本来就有能力写出最终结果。
If the person using AI can't tell if the AI output is good or bad, then they by definition will either need to not use AI, or will end up just uncritically accepting whatever AI gives them. 如果使用 AI 的人无法判断 AI 的输出是好是坏,那么根据定义,他们要么需要停止使用 AI,要么最终只会不加批判地接受 AI 给他们的任何东西。
Normally, this is worse than what the user without AI would have done. This is because the AI in turn gives the user a false confidence that the end result is correct. 通常情况下,这比用户不使用 AI 所做的还要糟糕。这是因为 AI 反过来给了用户一种错误的信心,认为最终结果是正确的。
Pre-AI, when the user encountered topics they did not understand, they would have stopped and learned or researched what they didn't know, and learned over time. 在 AI 出现之前,当用户遇到他们不理解的主题时,他们会停下来学习或研究他们不知道的东西,并随着时间的推移而进步。
Post-AI, the user doesn't even know what they don't know, and becomes defensive over what AI has generated because the AI told them it was right already. That instills a false sense of confidence in anyone too underskilled to recognize when they are working on topics outside of their skillset, and teaches them incorrect information that compiles over time. Admitting that that was wrong afterward also means admitting that they made a mistake. For most people, admitting they were wrong after the fact is far harder than admitting they need to learn initially. 在 AI 出现之后,用户甚至不知道自己不知道什么,并开始为 AI 生成的内容辩护,因为 AI 已经告诉他们那是对的。这给那些技能不足以识别自己正在处理超出其技能范围的主题的人灌输了一种错误的自信,并教给他们随着时间推移而累积的错误信息。事后承认那是错误的也意味着承认他们犯了错。对大多数人来说,事后承认自己错了比最初承认自己需要学习要难得多。
So the user not only becomes defensive over their mistakes, they don't know that the mistakes are happening, and they are continuously learning bad practices while getting continual encouragement from an algorithm that they were actually correct the entire time. Popping that balloon is painful, and I think a significant reason why some people become so overly defensive of AI's supposed infallability. 所以用户不仅开始为自己的错误辩护,他们甚至不知道错误正在发生,并且在不断从算法那里得到“他们一直都是对的”的鼓励下,持续学习错误的实践。戳破那个气球是很痛苦的,我认为这是为什么有些人对 AI 所谓的“绝对正确”变得如此过度防御的一个重要原因。
If you want to see how that looks long term, you don't have to look to code. Look to the 90 year old that watches Fox News all day, and thinks that we are one migrant caravan away from English being officially replaced by Spanish as the American official language. Or your friend who is addicting to getting news from social media who believes in chem trails. Its the same dynamic of an algorithm continuously feeding its user seemingly correct information, telling the user that they are correct to believe it, but being continuously significantly wrong in a way that the user doesn't have enough knowledge to evaluate at the time, but will become defensive about later. 如果你想看看长期来看会是什么样子,不必看代码。看看那些整天看福克斯新闻的 90 岁老人,他们认为我们离英语被西班牙语正式取代为美国官方语言只差一个移民大篷车队的距离。或者看看你那个沉迷于从社交媒体获取新闻、相信化学尾迹的朋友。这和算法不断向用户喂食看似正确的信息、告诉用户相信它是正确的、但却在用户当时没有足够知识去评估的情况下持续犯下严重错误的动态是一样的,而且用户之后还会对此进行辩护。
What I don’t understand is what these developers think the endgame is. They usually are the ones who are most excited about AI and how amazing it is. Have they never once considered that if all they do is being a meat proxy between Claude code and github, they might not enjoy a salary for much longer? It’s shocking to me that they never once seem to make the obvious step that you won’t be paid 100k+ a year to copy thing you don’t understand from one platform to the other 我不明白这些开发人员认为最终结果是什么。他们通常是最兴奋于 AI 以及它有多神奇的人。他们难道从来没想过,如果他们所做的只是成为 Claude 代码和 GitHub 之间的肉身代理,他们可能很快就拿不到薪水了吗?令我震惊的是,他们似乎从来没有意识到一个显而易见的事实:你不会因为把不懂的东西从一个平台复制到另一个平台,而每年获得 10 万美元以上的报酬。
They always seem to resolve the obvious cognitive dissonance by inventing a new reality where typing prompts into an AI is, in itself, some kind of rarefied skill that makes them uniquely valuable. 他们似乎总是通过发明一种新的现实来解决这种明显的认知失调,在这个现实中,向 AI 输入提示词本身就是一种稀有的技能,使他们具有独特的价值。
If they understood systems thinking, they would be better engineers. 如果他们理解系统思维,他们会成为更好的工程师。
To add to this, they are as enthusiastic as leadership about AI because it obscures their inadequacies. But leadership sees this as a false signal that they're on the right track because a bona fide engineer is adopting heavily, not realizing that signal is weak since it comes from a mediocre contributor. 补充一点,他们和领导层一样对 AI 充满热情,因为这掩盖了他们的不足。但领导层将此视为他们走在正确轨道上的错误信号,因为一个真正的工程师正在大量采用 AI,却没意识到这个信号很弱,因为它来自一个平庸的贡献者。
Let them. Organizations won't learn until they have some hard learning lessons. 随他们去吧。组织不吃点苦头是不会吸取教训的。
I think one of the big learnings I've had recently is how a lot companies are doing AI on the cheap. They don't realize the costs it takes to actually output high quality software. I've been following Dave Plummer's work with TMOG. His multi-platform replacement for task manager. Dave wrote the original for windows. 我认为我最近学到的重要一点是,很多公司是如何廉价地使用 AI 的。他们没有意识到产出高质量软件所需的成本。我一直在关注 Dave Plummer 在 TMOG 上的工作,这是他为任务管理器开发的跨平台替代品。Dave 是 Windows 原版任务管理器的开发者。
107 page hand written spec and then vibe coded using Fable and then used competing similar top tier priced models from competitors to check the work. He's easily exceeding my corporate GH CoPilot token allotment for an year in a couple weeks. Given the amount of time he takes on a spec and how he burns tokens I don't think companies really understand just what the cost is for getting quality software. 107 页手写规范,然后使用 Fable 进行“氛围编码”(vibe coding),并使用竞争对手类似的高价模型来检查工作。他在几周内就轻松超过了我公司 GitHub Copilot 一年的 Token 配额。考虑到他在规范上花费的时间以及他消耗 Token 的方式,我不认为公司真的了解获得高质量软件的成本到底是多少。
TLDR: Fast, Good, Cheap. You still only get to pick two. TL;DR:快、好、便宜。你依然只能三选二。
I find so many critical mistakes in AI generated code that I think these people truly don't understand how much tech debt they are creating. So many people work on systems small enough that AI bloat isn't too bad yet. But I've also worked on code bases that were big while also being full of AI bloat. The code doesn't stop growing because the AI can't hold everything in context. Devs who don't know what's in the code can't guide the AI to use already existing modules. You end up with code that looks like juniors slapped bandaid after bandaid after bandaid to implement features. 我在 AI 生成的代码中发现了太多致命错误,以至于我认为这些人真的不明白他们正在制造多少技术债务。很多人在足够小的系统上工作,所以 AI 带来的臃肿还不算太糟。但我处理过一些既庞大又充满 AI 臃肿代码的代码库。代码不会停止增长,因为 AI 无法在上下文中容纳所有内容。不知道代码里有什么的开发人员无法引导 AI 使用现有的模块。最终你会得到看起来像初级程序员为了实现功能而不断打补丁的代码。
My specialization is "modernization and migrations" but the less fancy sounding version is that I'm good at rewriting code. In the past year I've been getting contract after contract to fix code bases that have bogged down or become untenable to work on even with AI due to AI bloat. Services are slowing down and uptimes are dropping. Devs are raising their context sizes through the roof just to get minor features in, and it ends up burning tokens like crazy. 我的专长是“现代化和迁移”,但通俗点说就是我擅长重写代码。在过去的一年里,我接了一个又一个合同,去修复那些因为 AI 臃肿而陷入停滞或变得无法维护的代码库。服务正在变慢,正常运行时间正在下降。开发人员为了实现微小功能而不断提高上下文大小,这导致 Token 消耗极快。
The best way I can describe the core issue is that AI is great at coding but it's bad at engineering. It solves the exact problem you have before you, and often isn't looking at how things need to change over time in the bigger picture. It's basically rapid offshore quality just-close-the-ticket code. 描述核心问题的最好方式是:AI 擅长编码,但不擅长工程。它解决的是你面前的具体问题,而往往没有考虑到从长远来看事物需要如何变化。这基本上就是快速离岸外包质量的“只管关掉工单”式代码。
This is fine for small microservices or for quick bug fixes but when you grow large applications, the tech debt is felt hard. 这对于小型微服务或快速修复 bug 来说没问题,但当你扩展大型应用时,技术债务的影响会非常严重。
Don't get me wrong though. I use AI in all my work. Using AI is faster than doing it by hand. But you need to be able to understand the code to be able to guide it to good solutions. 别误会,我在所有工作中都使用 AI。使用 AI 比手工操作更快。但你需要能够理解代码,才能引导它找到好的解决方案。
The underlying problem comes back to why most startups fail though. Time to market is critical. Having a globulous mess you can market is better than not having anything because you're trying to be perfect. The more money the business can make faster, the more money they can throw at token-maxxing or for people like me to come in and do major overhauls quickly. 根本问题还是回到了大多数初创公司失败的原因。上市时间至关重要。拥有一个可以推向市场的臃肿混乱产品,比因为追求完美而一无所有要好。企业能越快赚到钱,就能投入更多资金去进行“Token 最大化”,或者雇佣像我这样的人来快速进行重大重构。
And it hurts to say, but they're generally right to. The point of a business is to make money. AI is HEAVILY subsidized right now by at least an order of magnitude. The real problem is going to come when people are getting charged the actual cost or a for-profit cost for AI, and these businesses find out how expensive AI actually is. Then they'll be left with a bunch of devs that can't work without AI and businesses will be hurting to afford it. 说实话这很痛苦,但他们通常是对的。企业的目的就是赚钱。AI 目前至少被补贴了一个数量级。真正的问题将在人们开始支付 AI 的实际成本或营利性成本时出现,届时这些企业会发现 AI 其实有多昂贵。然后他们会留下一群没有 AI 就无法工作的开发人员,企业将难以负担。
Pushing it is going to generate big profits, but if they don't keep devs who can actually code on their own they are going to tank themselves later, especially in critical sectors like healthcare and finance. 推进 AI 会带来巨大的利润,但如果他们不保留能够独立编写代码的开发人员,他们以后会毁掉自己,特别是在医疗和金融等关键领域。
You're not crazy, we're just caught in a fucking tidal wave of subsidized AI. 你没疯,我们只是被一波该死的补贴 AI 浪潮卷入其中。
^this guy gets it. ^这个人看透了本质。
People don't realise how heavily AI is subsidised; we are talking multiple orders of magnitude here. Thats 0's on the end of a bill. Your $20 plan probably burns $4000+ per month; and thats at cost; not profit. 人们没有意识到 AI 被补贴得有多严重;我们谈论的是多个数量级。那是账单末尾的零。你的 20 美元计划每月可能消耗 4000 多美元;而且这还是成本价,不是利润。
The VC money is drying up and the end result is going to be hilarious and devastating. 风险投资的钱正在枯竭,最终结果将既滑稽又具有毁灭性。
In my experience the devs that are the most receptive to unreviewed code have the lowest level of code competence in the first place. These are the people that think design patterns are just ways for mean devs to bully other devs on their prs. 根据我的经验,那些最能接受未经审查代码的开发人员,本身的代码能力水平最低。这些人认为设计模式只是平庸开发人员在 PR 中欺负其他开发人员的方式。
Several comments in here talking about frontier models writing "good code" now. Certainly there is a lot less obvious obviously wrong at a surface level and yet I see cutting edge models do the stupidest shit all the time. 这里有几条评论说前沿模型现在能写出“好代码”。当然,表面上看起来明显错误的东西少了很多,但我依然经常看到最先进的模型做出最愚蠢的事情。
It truly is a case of having zero discernment. A reviewer on a polished change finds a single "major issue" that is impossible in the actual problem space, and a violation of a runtime invariant but okay sure I'll add a comment to the PR. Meanwhile three passes by different people's agents miss a legitimately embarrassing boundary case. 这确实是一个完全没有辨别力的问题。一个审查者在润色过的变更中发现了一个在实际问题空间中不可能存在的“重大问题”,这违反了运行时的不变性,好吧,我会在 PR 中加个评论。与此同时,不同人的智能体经过三轮审查却错过了真正令人尴尬的边界情况。
To be clear the edge case was missed by my human review as well. I do believe the generated test suite led to a false sense of security because it tested other boundaries and I spent a while culling and refining tests. You let your guard down, forest for the trees situation. 需要说明的是,这个边界情况我的真人审查也漏掉了。我确实认为生成的测试套件导致了一种虚假的安全感,因为它测试了其他边界,我花了一些时间剔除和完善测试。你放松了警惕,这就是“只见树木,不见森林”的情况。
Meanwhile I have to spend energy with adversarial review trying to force less code because the models love not only over engineering but building the wrong abstractions. I love my abstractions, mind you, but without oversight, two changes later I'm aghast that a bleeding edge model wants to drill a new optional parameter through five layers of architecture with no documentation instead of a trivial refactor to clean it up with a more consistent domain model. 与此同时,我不得不花精力进行对抗性审查,试图强制减少代码量,因为模型不仅喜欢过度工程,还喜欢构建错误的抽象。请注意,我喜欢我的抽象,但在没有监督的情况下,两次变更后,我惊讶地发现最先进的模型想要在没有文档的情况下,通过五层架构钻出一个新的可选参数,而不是进行一次琐碎的重构来通过更一致的领域模型来清理它。
And the documentation - it's all still garbage. Even with workflow dedicated to cleaning it up I still have to manually intervene and provide examples of what fails standards in a given PR. It's like all 70% of the way there and then someone approves a single bad example that proliferates into future changes like a weed. 还有文档——它们依然全是垃圾。即使有专门的工作流来清理它,我仍然必须手动干预并提供哪些内容不符合给定 PR 标准的示例。就像完成了 70%,然后有人批准了一个单一的坏示例,它就像杂草一样蔓延到未来的变更中。
It feels like trying to keep blackberries out of the stormwater pond in my neighborhood. You let your guard down for a weekend and suddenly there are five new plants causing regressions, but isn't it wonderful that the same landscapers that planted the blackberries installed the fountain nobody actually asked for? 这感觉就像试图把我社区雨水池里的黑莓灌木清理掉。你周末放松一下警惕,突然就有五株新植物导致了回归,但最妙的是,种植这些黑莓的园丁还安装了一个根本没人要求的喷泉,不是吗?
And this is all as someone who has handwritten almost zero code since March. I think this stuff is useful and makes my designs better when I focus and hold myself accountable. But you have to exercise restraint and care and too many people seem to think otherwise. 作为从三月份以来几乎没手写过代码的人,我深有体会。我认为这些东西很有用,当我专注并对自己负责时,它能让我的设计更好。但你必须保持克制和谨慎,太多人似乎并不这么认为。
I think what I find most aggravating is I can riff with an agent in session and basically get into flow. It "gets" my intent, it generates high quality samples, it pokes holes in my thinking and offers something better, I have a eureka moment and counter with something even better. Then we go to build and as soon as any delegation or orchestration is introduced, the slop pours in at every underspecified seam like the world's most pedantic shitty genie. I still have the absolute best, fastest results manually approving edits with the session, to the point I'm wondering why I'm spending so much energy on automation. 我觉得最让我恼火的是,我可以和智能体在会话中即兴创作,基本上进入心流状态。它“理解”我的意图,生成高质量的样本,指出我思维中的漏洞并提供更好的东西,我灵光一现并用更好的东西反击。然后我们去构建,一旦引入任何委托或编排,垃圾就会像世界上最迂腐、最糟糕的精灵一样,从每一个未明确定义的接缝中倾泻而出。我手动批准会话中的编辑,结果依然是绝对最好、最快的,以至于我怀疑为什么要在自动化上花费这么多精力。
Absolutely agree with you here. There are times when the models will do something smart and I’ll start to think “okay, this is getting somewhere” only for me to have to unfuck something later on. It particularly bad with multiple agents because there’s just not enough brain capacity to manage all those inputs so you end up hand waving a lot. 完全同意你的观点。有时模型会做一些聪明的事情,我会开始想“好吧,这有点起色了”,结果后来我不得不去收拾烂摊子。在多个智能体的情况下尤其糟糕,因为没有足够的脑力来管理所有这些输入,所以你最终只能对很多东西妥协。
Once you delegate all your thinking (ie testing and reviews) to your non-deterministic silicone pal you’re just waiting for a horrible failure mode to crop up. 一旦你把所有的思考(即测试和审查)都委托给你的非确定性硅基伙伴,你就是在等待一种可怕的故障模式出现。
I did an interview as a candidate a couple of weeks ago where I was asked to do a task with AI, in 25 minutes. It was just a simple API, but I made sure I did it the way I actually would in the real world, with proper standards, tests, automated checks, everything ensuring all the output was every bit as good as you would produce by hand as an experienced developer. But that meant in the mere 25 minutes, I only finished 3 out of the 5 requested features. 几周前我作为候选人参加了一次面试,被要求在 25 分钟内用 AI 完成一项任务。那只是一个简单的 API,但我确保我是按照现实世界中真正的方式去做的,有适当的标准、测试、自动化检查,确保所有输出都像一个经验丰富的开发人员手工制作的一样好。但这意味着在短短 25 分钟内,我只完成了 5 个请求功能中的 3 个。
The feedback that I could have used a simpler, faster model and spent less time setting up so many parameters and checks at the beginning....in short, I was rejected for not just sharting out whatever crap I could in a very short time that superficially appeared to work even if it was awful. 反馈是说我本可以使用一个更简单、更快的模型,少花时间在开始时设置那么多参数和检查……简而言之,我被拒绝了,原因是我没有在很短的时间内随手甩出任何看似能用的垃圾,即使那东西烂透了。
Incompetent ppl on the other side of the table, dodged a bullet 面试官是无能之辈,躲过一劫。
No you are not behind and you are not crazy. Anyone working in any real production code knows that AI cannot replace humans despite the endless nonsense being spewed by the vibecoder evangelists. Every 6 months "You just have try the new model, because the last one was crap, but this one totally solves coding". 不,你没有落后,你也没有疯。任何在真实生产代码中工作的人都知道,尽管“氛围编码”传道者们不断喷出无尽的废话,但 AI 无法取代人类。每 6 个月就会出现一次“你必须尝试新模型,因为上一个很烂,但这个完全解决了编码问题”。
Every. Single. Time. 每一次。都是。这样。
A candidate that would tell me they don't actually read their code would be automatic DQ. That would be a violation of our quality guidelines and could put our acridiation at risk should it come out in an audit. Unfortunately it is true that some teams are swimming in the kool-aid. 如果候选人告诉我他们实际上不读自己的代码,我会自动取消其资格。那将违反我们的质量准则,如果审计中发现,可能会危及我们的认证。不幸的是,确实有一些团队沉迷于这种洗脑。
Personally I think the reality is more something like this. Delusional people claiming 10x productivity while deploying garbage code. 我个人认为现实更像是这样:妄想的人声称有 10 倍的生产力,同时部署着垃圾代码。
Absolutely agree here. Hundreds of millions of dollars move through the systems I work in so I will not give up code review. There is an average number of bugs in lines of human code and a similar amount in AI code. AI review catches a lot, I would go so far as to say AI review is now essential, but it doesn’t cover everything. 完全同意。数亿美元通过我工作的系统,所以我不会放弃代码审查。人类代码行中存在平均数量的 bug,AI 代码中也有类似数量。AI 审查可以捕捉到很多,我甚至可以说 AI 审查现在是必不可少的,但它不能涵盖一切。
I’m in frontend so quite a lot of the “bugs” are not about correctness, but user flow and bad instructions to the AI. At the very least all code should be tested by humans for this reason. 我是在前端,所以很多“bug”不是关于正确性,而是关于用户流和给 AI 的错误指令。至少出于这个原因,所有代码都应该由人类测试。
I have been vibecoding on the side with an internal tool and not looking at the code. It’s been very productive for me, but by god it’s full of bugs. We also tried to do an automated re-write and found bug after bug when testing the results. 我一直在用内部工具进行“氛围编码”,而不看代码。这对我来说效率很高,但天哪,它充满了 bug。我们也尝试过自动重写,结果在测试时发现了一个又一个 bug。
i'm not saying garbage isn't being deployed but there are plenty of people working on real production code/systems for products you use every day who aren't manually reviewing every line of code. call it koolaid or whatever you want, but it's just the reality of the state of things. 我不是说没有部署垃圾代码,但有很多人在为你们每天使用的产品处理真实的生产代码/系统,他们并没有手动审查每一行代码。随你怎么说,但这确实是现状。
also i wouldn't say that AI hasn't improved significantly. it's gotten to the point where as long as you provide enough direction in terms of technical requirements and exit criteria/review loops, that there will be no issues with the code that is generated. you just can't provide a vague business or feature requirement and expect AI to resolve all the ambiguity itself without having parallel agents and burning through an unsustainable amount of tokens. 另外,我不会说 AI 没有显著改进。它已经达到了一定程度:只要你在技术需求和退出标准/审查循环方面提供足够的指导,生成的代码就不会有问题。你只是不能提供模糊的业务或功能需求,并期望 AI 在没有并行智能体和消耗不可持续的 Token 的情况下自行解决所有歧义。
yes, model performance degrades. yes the improvement has been incremental and AI is not yet some silver bullet that automates everyone away. But if you don't think that AI tools have gotten really good, and that the process of software development haven't fundamentally changed, you're just in denial. 是的,模型性能会下降。是的,改进是渐进的,AI 还不是那种能把所有人都自动化掉的银弹。但如果你认为 AI 工具没有变得非常好,并且软件开发过程没有发生根本性的改变,那你就是在自欺欺人。
I'm gonna be honest: this has been the norm at every company I've worked at, even before AI. 老实说:在我工作过的每一家公司,这在 AI 出现之前就已经常态化了。
Personally, my code review process is to skim the PR and check if the broad strokes look vaguely sensible. I don't go through every single line with a fine tooth comb, except for changes that obviously sound high risk based on the title/description. And considering that 99% of my PRs get approved in under a minute, I'm guessing that everyone else is doing the same thing. 就我个人而言,我的代码审查过程是浏览一下 PR,看看大致方向是否合理。我不会用细齿梳子检查每一行,除非根据标题/描述明显听起来属于高风险的变更。考虑到我 99% 的 PR 都在一分钟内获得批准,我猜其他人也在做同样的事情。
Seeing Redditors talk about code reviews makes me feel the same way as when Redditors talk about how often they wash their towels. Everyone inevitably gets stuck in a virtuous cycle - "I wash mine once every day!" "Oh yeah? Well I wash mine TWICE every day!" - because nobody wants to admit that they're a lazy, unhygienic bastard who does it every week or so like everyone else. 看到 Reddit 用户谈论代码审查,让我想起他们谈论洗毛巾频率时的感觉。每个人都不可避免地陷入一种良性循环——“我每天洗一次!”“哦,是吗?我每天洗两次!”——因为没人想承认自己是个懒惰、不卫生的混蛋,像其他人一样每周左右才洗一次。
hence github's persistent downtime. 所以 GitHub 才会持续宕机。
i think everyone who says this as a mantra is in complete denial about why github's downtime is so bad. 我认为每个把这句话当成口头禅的人,对于 GitHub 宕机为何如此严重完全是在自欺欺人。
i also dont think this situation is sustainable. we are due a backlash. 我也不认为这种情况是可持续的。我们迟早会迎来反弹。
What doesn't help is the ongoing trend of people believing that an AI role will guarantee them a fat pay check while having Claude do all the work for them.
Funny that real engineers still talk about imposter syndrome in a market filled with literal imposters. 雪上加霜的是人们普遍认为 AI 职位能保证他们拿到丰厚薪水,同时让 Claude 为他们完成所有工作。有趣的是,在充满冒牌货的市场里,真正的工程师还在谈论冒名顶替综合症。
I have over 13 years of experience, a master's and bachelor's in computer science. I am currently in a position at a company where they gave little to no training on their subject matter and just want features released rapidly with AI. I feel like a junior dev and have had more stressful releases than I had in my total career with this company. 我有超过 13 年的经验,拥有计算机科学硕士和学士学位。我目前所在的公司对主题内容几乎没有提供任何培训,只想用 AI 快速发布功能。我感觉自己像个初级开发人员,在这家公司经历的发布压力比我职业生涯中所有经历的总和还要大。
I'm willing to take a pay cut to have a less stressful position where I actually get to learn the subject matter or have some quality business analyst work with me to guide me through those requirements. Be it with AI assisted coding or back to handwriting boiler plate and all. 我愿意减薪去一个压力较小的职位,在那里我能真正学习主题内容,或者有优秀的业务分析师与我合作,引导我完成那些需求。无论是通过 AI 辅助编码,还是回到手写样板代码,都无所谓。
And I very well might be one of those mediocre devs given I'm not specialized in one stack but have had to make things work across a plethora of tech stacks over the years. But I miss having the time to learn the domain. 而且我可能确实是那些平庸的开发人员之一,因为我没有专注于某个技术栈,而是多年来不得不在各种技术栈中解决问题。但我怀念有时间学习领域知识的日子。
There's a lot here. For context, I'm full stack with about ~11 years at one company. I'm the closest that our working group of ~10 devs has to an AI evangelist and I'm paid like a senior, so take what I say with any appropriate caveats. 这里有很多内容。背景说明:我是全栈,在一家公司呆了大约 11 年。在我们约 10 人的开发小组中,我是最接近 AI 传道者的人,拿的是高级工程师的薪水,所以请带着适当的保留意见来看待我的话。
We're obviously all scrambling to figure out what the next 6 months looks like because of how fast things are moving, but a few things stand out to me: 我们显然都在争先恐后地弄清楚接下来的 6 个月会是什么样子,因为事物发展得太快了,但有几点对我来说很突出:
The scaling trends the AI labs have been talking about for years have continued. Models are going to get smarter and probably cheaper per unit of useful work. AI 实验室多年来一直在谈论的扩展趋势仍在继续。模型会变得更聪明,而且单位可用工作的成本可能会更低。
"AI makes mistakes" is too broad to be useful. Forgetting context, making bad assumptions, misunderstanding existing behavior, and just writing buggy code are different failure modes and need different mitigations. “AI 会犯错”这个说法太宽泛,没有实用价值。忘记上下文、做出错误的假设、误解现有行为以及编写有 bug 的代码是不同的故障模式,需要不同的缓解措施。
I don't think "a human reads every line" scales as the long term answer either. If agents can produce 10x the code but humans still have to review every line, we've just moved the bottleneck. 我不认为“人类阅读每一行”作为长期答案是可扩展的。如果智能体能产生 10 倍的代码,但人类仍然必须审查每一行,那我们只是转移了瓶颈。
I think the interesting question is what replaces that. Better specs, tests, invariants, independent review, observability, etc. Basically, how do you build a process where confidence doesn't depend on personally understanding every line that gets generated? 我认为有趣的问题是什么能取代它。更好的规范、测试、不变性、独立审查、可观测性等。基本上,你如何构建一个流程,让信心不依赖于亲自理解生成的每一行代码?
That's where I think experienced engineers are still extremely important. Knowing what to verify, what assumptions are dangerous, and where the system can fail requires understanding the problem at a level that prompting alone doesn't give you. 这就是我认为经验丰富的工程师仍然极其重要的地方。知道验证什么、哪些假设是危险的、系统在哪里可能失败,需要对问题有足够的理解,而这仅仅靠提示词是无法获得的。
So I don't think "I don't read the code anymore" is necessarily crazy. The much more important question is what they're doing instead. 所以我认为“我不再阅读代码”并不一定疯狂。更重要的问题是他们正在用什么来代替它。
Absolutely they are not different failure modes. These are all probabilistic slop. 它们绝对不是不同的故障模式。这些全是概率性的垃圾。
That's what happens when the technology is a scam to raise hype for an IPO. 这就是当技术变成为了推高 IPO 炒作的骗局时会发生的事情。
What you described is the exact problem with the current climate. 你所描述的正是当前环境的问题所在。
It’s all about “oh shit AI is so hot right now, FOMO if I don’t shove an AI peg into every hole I can find and some I can’t”. 一切都是关于“噢该死,AI 现在太火了,如果我不把 AI 塞进我能找到的每一个孔里,甚至那些塞不进去的孔里,我就会错失恐惧(FOMO)”。
Most organisations aren’t selling AI. AI is a tool, not an end result. In fact IT agility is typically not a bottleneck. The typical bottleneck is usually the translation of business needs into actionable outcomes. 大多数组织不是在销售 AI。AI 是一个工具,而不是最终结果。事实上,IT 敏捷性通常不是瓶颈。典型的瓶颈通常是将业务需求转化为可操作的成果。
I don’t give a shit if AI can develop at 10x the speed if Jim from sales can’t articulate what a customer actually wants. 如果销售部的 Jim 说不清楚客户到底想要什么,我根本不在乎 AI 能不能以 10 倍的速度开发。
This is OK. As an 13yoe fintech enterprise developer, only in this year I learned that mvp/poc development was a real job. Or developing a shaders for some js library. So apparently we need those "ai engineers" for this part of market. 这没关系。作为一名 13 年经验的金融科技企业开发人员,直到今年我才了解到 MVP/POC 开发是一项真正的工作。或者为某些 JS 库开发着色器。所以显然我们需要那些“AI 工程师”来负责这部分市场。
is going to make us look bad by comparison to the execs 会让我们在主管们面前显得很糟糕
Lol no. Execs will not approve any not safe code in fintech, it is customer money and criminal charges. In health sector too, and many, many others. It is ok only in some near only crud level simple apps. And it will not be better, since opus 4.5 no changes in coding models, just relabeing (basically opus 4.5 is opus 5.5 now, but nothing changes in terms of code generation) and price increase. 想得美。在金融科技领域,高管绝不会批准任何不安全的代码,这涉及客户资金和刑事责任。医疗行业以及许多其他行业也是如此。这种做法只适用于一些近乎增删改查(CRUD)级别的简单应用。而且情况也不会好转,因为自 Opus 4.5 以来,编码模型并没有实质性变化,只是换了个名字(基本上 Opus 4.5 现在叫 Opus 5.5,但在代码生成方面没有任何改变),还涨了价。
What you say makes sense logically, but then I listen to our CEO speak.... 你说的逻辑上讲得通,但当我听到我们 CEO 发言时……
He's balls deep in AI mania, at the last town hall he announced that he expects a company wide 3x increase in productivity once we have fully adopted AI processes. 他深陷 AI 狂热之中,在上次全体员工大会上,他宣称一旦我们全面采用 AI 流程,预计公司整体生产力将提升 3 倍。
We'll see how long it takes for someone to get burned by this. 咱们走着瞧,看要过多久才有人因此吃大亏。
> These particular roles we’re currently hiring for are billed as “AI Engineer”. There is something weird going on in my company politically where separate from the tech department that I work in a new “AI native” development team is being spun up to work on internal projects > 我们目前正在招聘的这些特定职位被冠以“AI 工程师”的头衔。我公司内部在政治层面有些奇怪,除了我所在的科技部门外,公司正在组建一个新的“AI 原生”开发团队来负责内部项目。
This is weird. An "AI Engineer" based on my experience and what I've seen in the industry is a person working on AI in some capacity, somehow building products/features/services which depend on AI - this can be more traditional ML or orchestrating LLM API calls, usually some mix of the two. And we can quibble whether that's "real" AI engineering and/or deserving of the title but that's besides the point. The point is that "AI Engineer" denotes the domain, not whether they use AI assistance or not. For example, a frontend engineer who uses AI assistance for coding is a still a frontend engineer, not an "AI engineer". 这很奇怪。根据我的经验以及我在行业中所见,所谓的“AI 工程师”是指以某种身份从事 AI 工作的人,他们以某种方式构建依赖于 AI 的产品、功能或服务——这可能是更传统的机器学习,也可能是编排 LLM API 调用,通常是两者的结合。我们可以争论这是否是“真正的”AI 工程和/或是否配得上这个头衔,但这与重点无关。重点在于,“AI 工程师”代表的是领域,而不是他们是否使用 AI 辅助。例如,使用 AI 辅助编程的前端工程师仍然是前端工程师,而不是“AI 工程师”。
If they were right then what exactly do they think their expertise is? If they are right then a software developer doesn't need to exist, and if software developers don't need to exist then software companies don't need to exist. Anybody can churn out vibe code to meet their own bespoke requirements, yet software companies are not generally shrinking. The ones who go all in on ignoring the code will be the ones to fail, because they are not differentiating themselves from people simply vibe coding themselves. 如果他们是对的,那么他们认为自己的专长究竟是什么?如果他们是对的,那么软件开发人员就不需要存在了;如果软件开发人员不需要存在,那么软件公司也就不需要存在了。任何人都能为了满足自己的定制需求而产出“感觉流”代码,但软件公司并没有普遍萎缩。那些全盘忽略代码的人终将失败,因为他们无法让自己与那些仅仅靠“感觉流”编程的人区分开来。
Use of AI deskills people. Hello?
Your company’s practices are a slippery slope ending total catastrophe. 使用 AI 会导致人们技能退化。喂,有人在吗?你们公司的做法正走在一条滑向彻底灾难的下坡路上。
On a personal note, i was laid off three years ago just before AI use became normalized and while ive done some AI evaluation on its ability to code, im near enough retirement age that investing dollars for tokens to improve strikes me as unlikely to pay off. Despite 30 years as a generalist who can go from mobile/web to cloud architecture / data storage architect, and team leader at a FAANG i haven’t landed an interview - mist likely due to my age i suspect. 顺便说一下,我在三年前 AI 使用普及前夕被裁员了。虽然我做过一些关于 AI 编码能力的评估,但我快到退休年龄了,花钱买 Token 来提升技能对我来说似乎不太划算。尽管我拥有 30 年的通才经验,能从移动/Web 开发横跨到云架构/数据存储架构,并且在 FAANG 公司担任过团队领导,但我一直没能获得面试机会——我怀疑这主要是因为我的年龄。
So im patiently hanging with my huge skill set waiting for you all to screw yourselves into total collapse and like a turn if the century COBOL programmer, ill be charging exorbitant rates to come in and manually pay down your technical debt - assuming i can be arsed to put down my margarita in retirement. 所以我正耐心地带着我庞大的技能储备闲着,等着你们所有人把自己折腾到彻底崩溃。到时候,就像世纪之交的 COBOL 程序员一样,我会收取高昂的费用,进去手动帮你们偿还技术债——前提是我退休后有心思放下手中的玛格丽特鸡尾酒。
Thats the likely future in seeing. Be sure to put aside plenty of $ to buy down that technical debt. 这就是我看到的未来。一定要预留足够的资金来偿还那些技术债。
AI coding makes developers lazy. And I say that as someone who works as a developer. Everyone on my team uses Claude, but everyone has also had a PR where there was some code that snuck by unseen and not understood. And we try to review our own code and keep things under control. AI 编程让开发者变懒了。我是以开发者的身份说这句话的。我团队里的每个人都在用 Claude,但每个人也都遇到过 PR 中混入了一些未被发现且未被理解的代码的情况。我们尽量审查自己的代码,保持一切在掌控之中。
And the tool constantly lies, gaslights, and misunderstands the codebase. And when I redirect it and supply an explanation of how the code actually works, then the response is so overly full of flattery and useless puffery. No, I'm not some golden god just because I understand the codebase. 而且这个工具经常撒谎、进行煤气灯操纵(gaslighting),并误解代码库。当我纠正它并解释代码实际是如何工作时,它的回答又充满了奉承和毫无意义的吹捧。不,我并没有因为理解代码库就成了什么金牌大神。
And then there are the md files and comments. AI tools treat them like the gospel truth even if they are outdated or downright false. And AI tools love to leave comments about how code has been changed. But what happens a few refactors down the line? You now have paragraphs alluding to the old codebase architecture with no relationship to the current codebase. It's all a useless burn of output tokens. 还有那些 Markdown 文件和注释。AI 工具把它们奉为圭臬,即使它们已经过时甚至完全错误。AI 工具喜欢留下关于代码如何被修改的注释。但经过几次重构后会发生什么呢?你现在会看到一些段落暗示着旧的代码库架构,而与当前代码库毫无关联。这完全是在浪费输出 Token。
This stuff is all new. I think over time, once it becomes more common in our career, people what find out what is IS good for and what it ISN'T. I manage lots of agentic tasks every day but I always look at the code, I think it's pretty crazy to yeet something into production at a company with actual customers. Eventually someone's gonna get burned. 这些东西都是新鲜事物。我认为随着时间的推移,当它在我们的职业生涯中变得更加普遍时,人们会发现它到底擅长什么,不擅长什么。我每天管理许多代理任务,但我总是会检查代码。我觉得在一家拥有真实客户的公司里,直接把东西扔进生产环境是非常疯狂的。迟早会有人吃大亏。
That said, the AI code reviewers are getting pretty good. It's hard to predict the future. 话虽如此,AI 代码审查员正变得越来越好。未来很难预测。
Meh we have had a very mixed experience with this. Sometimes it will catch something and more often it will just make up nonsense. I'm aware there are multiple variables at play; how much context is available, what's in its context, which model is being using for reviewing etc. 哎,我们在这方面的体验非常复杂。有时它能捕捉到一些东西,但更多时候它只是在胡编乱造。我知道这涉及多个变量:有多少上下文可用、上下文中有什么、正在使用哪种模型进行审查等等。
It's possible we are limiting some of these for cost saving measures. 我们可能为了节省成本而限制了其中一些功能。
AI wasn't in your meeting when you talked through your business's complex domain logic, and it won't be able to spot the problems in your code where it collides with the real world. Even assuming AI catches every logical, performance or security issue, it's never going to replace that human judgement. Reading the code is non-negotiable. 当你讨论业务复杂的领域逻辑时,AI 并不在场,它也无法发现代码中与现实世界发生冲突的问题。即使假设 AI 能捕捉到每一个逻辑、性能或安全问题,它也永远无法取代人类的判断。阅读代码是不可商量的。
No. Animals - people included - will hit the "dopamine" button as often as possible. 不。动物——包括人类——会尽可能多地去按那个“多巴胺”按钮。
At the things that stem from the patterns; but utterly miss e.g. domain misalignments, subtle errors etc 对于源于模式的事物(它能处理);但完全忽略了例如领域错位、细微错误等问题。
Human review is important even for non critical systems because redo or bugs can cost more. 即使对于非关键系统,人工审查也很重要,因为返工或 Bug 可能会带来更高的成本。
As someone who review 3-5 MRs a day I found a lot of issues that AI and the developers don't see and could be a disaster for our product. 作为一名每天审查 3-5 个合并请求(MR)的人,我发现了很多 AI 和开发者看不到的问题,这些问题可能会给我们的产品带来灾难。
It's an era that managers think running fast with less quality is ok. It might reverse some day 这是一个管理者认为“快跑、牺牲质量”是可以的时代。有一天可能会反转。
What happens when these AI engineers lose access to their AI tokens and now have to manually fix and review code? People assume every company has a massive budget for Claude where everyone can use the latest (or latest - 1) model 80% of their working hours. As someone who has a $100, maybe $200, budget per month on Claude tokens, I have to manage them so I don’t run out. Fortunately we also use Cursor and Cursor has been really good at picking the most optional model. I wonder how their mindset would change if they could only use Sonnet 4.6 and only spend $3 a day. 当这些 AI 工程师失去了 AI Token 的访问权限,现在不得不手动修复和审查代码时会发生什么?人们假设每家公司都有巨额的 Claude 预算,每个人都能在 80% 的工作时间内使用最新(或次新)的模型。作为一个每月只有 100 到 200 美元 Claude Token 预算的人,我必须精打细算以免用完。幸运的是,我们也使用 Cursor,而 Cursor 在选择最优模型方面一直非常出色。我很好奇,如果他们只能使用 Sonnet 4.6 并且每天只能花 3 美元,他们的心态会发生怎样的变化。
I’m so baffled by their depth of AI use. Isn’t it taking just as much time and brain power to configure and setup and drive the agentic AI workflows as it would be to just learn and write code directly?? That’s of course on top of, yes, reading and reviewing the code. 我对他们使用 AI 的深度感到困惑。配置、设置和驱动代理式 AI 工作流所花费的时间和脑力,难道不比直接学习和编写代码更多吗??当然,这还没算上阅读和审查代码的时间。
So strange, it will be wild to see how this all plays out because I am well aware of how economics drives the decisions and those with the purse strings are unaware of the low level details, as they rightly don’t want or need to be. 太奇怪了,看着这一切如何发展将会非常疯狂,因为我很清楚经济是如何驱动决策的,而那些掌握钱袋子的人并不了解底层细节,因为他们理所当然地不想也不需要了解。
OP, just as an FYI, “AI Engineering” and “AI Engineer” are somewhat well defined terms in our industry, and they don’t mean “using AI to write code”. OP(楼主),顺便提一下,“AI 工程”和“AI 工程师”在我们行业中是定义相对明确的术语,它们并不意味着“使用 AI 来编写代码”。
It means “applied LLMs”, or “building systems that use LLMs”. These roles are less about writing conventional software and more about building systems around frontier models that can handle and classify messy input via LLMs. Heavy emphasis on data science, maths, etc, less on writing code. You might get better candidates with a more conventional title for the role. 它意味着“应用 LLM”,或者“构建使用 LLM 的系统”。这些角色与其说是编写传统软件,不如说是围绕前沿模型构建系统,这些系统能够通过 LLM 处理和分类混乱的输入。重点在于数据科学、数学等,而不是编写代码。如果你为该角色使用一个更传统的头衔,可能会招到更合适的人选。
I’m aware of the ambiguity with the job title and I don’t have any power over candidate selection. As I mentioned, this initiative is coming from outside of our tech department, I’m pretty sure these candidates are exactly the kind of people of business guys want… 我知道这个职位头衔的歧义,但我对候选人筛选没有话语权。正如我提到的,这个倡议来自我们科技部门之外,我很确定这些候选人正是那些商务人士想要的人……
They are absolutely cowboys that should be held accountable to the absolute shit they are delivering. 他们绝对是牛仔(鲁莽行事者),应该为他们交付的那些绝对的垃圾负责。
I have a couple of meat proxies as well. Reality is people are lazy and would always do the least effort unless they care 我也有几个肉身代理。现实是人们很懒,除非他们关心,否则总是会做最省力的事。
That's the problem right there: When people get into the game just for the paycheck, but don't care about the craft. But it's hard to not listen to the siren song. I'm blessed right now to work in a place where AI use isn't mandated top down, so I'm free to use it every way I like. And I'm blessed to have been a developer full time for 5 years before the AI wave hit. I've gone through the cycle of putting in the effort, and then feeling good about a result I've really worked for hundreds of times. This is exactly the feeling a true craftsman wants to have. 这就是问题所在:当人们仅仅为了薪水进入这个行业,却不关心工艺时。但很难不听从那诱人的歌声。我很幸运,目前工作的地方没有自上而下强制要求使用 AI,所以我可以自由地以任何我喜欢的方式使用它。我很庆幸在 AI 浪潮袭来之前,我已经全职担任了 5 年开发者。我经历过投入努力,然后为自己真正辛苦换来的成果感到自豪的循环。这正是真正的工匠想要的感觉。
But I pity the generation which hits the junior market right now. They never had this feeling in a real word setting. They have never struggled with the code, never worked at producing something beautiful, never worked to fit a design so that it is just right for the context you work in. 但我同情现在进入初级市场的这一代人。他们从未在真实环境中体会过这种感觉。他们从未在代码上挣扎过,从未为创造出美好的东西而努力过,从未为了使设计完美契合工作环境而努力过。
They never had to. All they know is talking to Claude, or whatever, to produce code. But the deep engagement with the problem that is at the heart of our craft suffers from this greatly in my opinion. I may be wrong. But I think a crucial part of producing a correct and well designed solution is just missing if you don't engage with the code at all. 他们从不需要。他们所知道的只是与 Claude 或其他工具对话来生成代码。但在我看来,我们工艺核心中对问题的深度参与因此受到了极大的损害。我可能是错的。但我认为,如果你根本不接触代码,那么产生一个正确且设计良好的解决方案的关键部分就缺失了。
I would never want to not read the code. The day I can't get a job anymore where I'm allowed to read the code might just be the day I search for something else to do (not like as an ex-developer you have no other options in IT, or even outside of IT). Maybe it is the future, but I don't really care. It's not the way I want to work. It's not a way I would ever feel safe with. And I need to feel safe for me being able to sleep and unwind in my free time, in order to have a life away from my work. 我永远不想不读代码。如果有一天我再也找不到一份允许我读代码的工作,那可能就是我寻找其他事情做的时候(并不是说作为前开发者在 IT 领域甚至 IT 领域之外就没有其他选择了)。也许这就是未来,但我不在乎。这不是我想要的工作方式。这不是我感到安全的工作方式。我需要感到安全,这样我才能在业余时间睡觉和放松,从而拥有工作之外的生活。
So for me personally, I will read the code until the day I can't get a job anymore where they allow me to do it. Because I'm a craftsman, and I'm proud of being good at my craft. I weep for this new generation who have never known the deep joy of being coding craftsmen, and likely never will. If you only tell AI what to do, producing software becomes as challenging and interesting as working on a 1950s type of assembly line. 所以对我个人而言,我会一直读代码,直到我再也找不到允许我这样做的工作为止。因为我是一名工匠,我为自己擅长这门手艺而自豪。我为这一代从未体验过编码工匠深层快乐的新人感到哀伤,他们可能永远也不会体验到了。如果你只是告诉 AI 该做什么,那么软件生产就会变得像在 1950 年代的流水线上工作一样,既乏味又缺乏挑战性。
At least to me. Everyone can have their own opinion of course. 至少对我来说是这样。当然,每个人都可以有自己的看法。
I currently work in a bank, in an area (unfortunately i can't say which due to NDA) where AI coding is absolutely banned, so we still code like pre 2023. 我目前在一家银行工作,在一个领域(不幸的是,由于保密协议我不能说具体是哪个)里,AI 编码是被绝对禁止的,所以我们仍然像 2023 年之前那样写代码。
I personally love it, I got in the industry because I love to code and I'm passionate about directing a computer to do what I wand, making a bot do it for me doesn't feel good. 我个人很喜欢这样,我进入这个行业是因为我热爱编码,并且热衷于指挥计算机去做我想做的事,让机器人代劳感觉并不好。
Anyway lately we are attracting a lot of people "like me" that are trying to escape the AI hysteria 总之,最近我们吸引了很多“像我一样”试图逃避 AI 歇斯底里的人。
Just let the burn this industry. It is Dunning–Kruger effect industry.
This is insane but not uncommon. I work in something healthcare adjacent so that answer would not work at all. I'm all for using whatever tools you want, but you have to have a fundamental understanding of your code. Not understanding the code reveals itself in other things, like not being able to debug well in a crisis, not understanding long term implications of decisions made etc. Sometimes you'll get yourself into a hole you can't 100% AI yourself out of and we need hires who will be able to do that. 这太疯狂了,但并不罕见。我在一个医疗相关领域工作,所以那个答案完全行不通。我完全支持使用任何你想要的工具,但你必须对你的代码有基本的了解。不了解代码会体现在其他方面,比如在危机中无法很好地调试、不理解决策的长期影响等。有时你会让自己陷入一个无法 100% 靠 AI 解决的困境,我们需要能够做到这一点的员工。
I haven't written much manual code for a while, but I can't believe how many people (and the proof is here in the comments) treat code as a black box. AI makes mistakes, and it makes serious mistakes of the worst kind, the ones that pass tests and, weeks or months later, cost a lot of work and money to fix. 我已经有一段时间没写太多手动代码了,但我无法相信有多少人(评论区就是证据)把代码当作黑盒。AI 会犯错,而且是那种最糟糕的严重错误——那些能通过测试,但在几周或几个月后需要耗费大量工作和金钱才能修复的错误。
Sorry to be harsh and probably offend some people, but if someone isn't able to see that, regardless of how long they've been in the industry, they simply lack the skills or experience. Instead of being offended, I advise those people to start learning and improving those skills, because you will be replaced if you keep going like that. I don't need a coder who writes a prompt and has no idea whether the generated code has issues or not, agents do that, so I don't need a human for it. 抱歉我说话比较刺耳,可能会冒犯到一些人,但如果有人看不出这一点,无论他们在行业里待了多久,他们都缺乏技能或经验。与其感到被冒犯,我建议这些人开始学习并提高这些技能,因为如果你继续这样下去,你会被取代。我不需要一个只会写提示词却不知道生成的代码是否有问题的程序员,代理程序就能做到这一点,所以我不需要人类来做这个。
I need engineers to make sure the whole system doesn't go down, that we aren't just covering happy paths while ignoring corner cases, that we don't have to reindex a billion-document index because the AI used the wrong field type, and that we don't spend thousands or tens of thousands (or millions) more than we should because the whole thing just doesn't scale properly. 我需要工程师来确保整个系统不会崩溃,确保我们不仅仅是覆盖了“快乐路径”(happy paths)而忽略了边界情况,确保我们不需要因为 AI 使用了错误的字段类型而重新索引十亿条文档,并且确保我们不会因为整个系统无法正确扩展而浪费成千上万(甚至数百万)本不该花的钱。
Our industry has a short-termism problem for many years now, the infamous move fast and break stuff mantra. The AI just speed up this. The issue is that no one is accountable for the issues this cause. The manager that allowed that will get a big bonus for quickly delivering the new project. The devs will job hop every 2 years and won’t need to deal with the legacy code. And there are a lot of people believing that the AI models will get better fast enough that it will be able to solve the spaghetti code in the future. 多年来,我们的行业一直存在短期主义问题,即臭名昭著的“快速行动,打破常规”的口号。AI 只是加速了这一点。问题在于,没有人对由此引发的问题负责。允许这样做的经理会因为快速交付新项目而获得丰厚奖金。开发人员每 2 年跳槽一次,不需要处理遗留代码。而且有很多人相信 AI 模型会足够快地进化,以至于未来能够解决那些面条式代码。
The move fast logic kind of make sense for startups that still need to validate the product, but big companies providing services to millions should be made more accountable. I think cyber security is the only thing that will prevent the slop, I’m hoping that as governments fine and open lawsuits against companies that failed to prevent cyber attacks will force companies to be more strict on what is delivered. “快速行动”的逻辑对于仍需验证产品的初创公司来说是有意义的,但为数百万人提供服务的大型公司应该承担更多责任。我认为网络安全是唯一能防止这种混乱的东西,我希望随着政府对未能防止网络攻击的公司进行罚款和提起诉讼,将迫使公司对交付的内容更加严格。
It's our (seemingly) slow march towards The Matrix. We're the frog in the pot of water on the stove with the ever-increasing water temperature. Some people are dismissive of such analogies, yet humans do this kind of thing all the time. And it's exacerbated in this case because most software companies are run by greedy, MBA-touting lemmings who think all you need to get rich is to quickly churn out code. 这似乎是我们迈向《黑客帝国》的缓慢步伐。我们就像炉子上水壶里的青蛙,水温不断升高。有些人对这种类比不屑一顾,但人类总是做这种事。在这种情况下,情况更加恶化,因为大多数软件公司都由贪婪的、满口 MBA 术语的旅鼠经营,他们认为致富只需要快速产出代码。
More code in and of itself does not lead to features of higher value that customers are willing to pay for. I'm still waiting to see all the success stories of companies increasing their customer count and/or revenue because they're churning out more code. Seriously, where is all the success? 更多的代码本身并不会带来客户愿意付费的高价值功能。我还在等待看到所有那些因为产出更多代码而增加客户数量和/或收入的成功案例。说真的,那些成功在哪里?
Oh, wait, I know.... The "success" is reduced head count. 哦,等等,我知道了……所谓的“成功”是裁员。
Oofdah. 哎呀。
I'm starting to explore local AI assisted flows to build out local knowledge bases and expert systems for fixed areas, but I'm nowhere near comfortable with letting things just go. I still have the memory of an AI-suggested hash function for a custom struct (to be used with a hashset) that had an insane collision rate. In any case, I still don't trust it for critical things, especially not things where other people's money/data/lives are on the line. 我开始探索本地 AI 辅助流程,为特定领域构建本地知识库和专家系统,但我远没有舒服到让事情顺其自然。我还记得一个 AI 建议的自定义结构体哈希函数(用于 HashSet),它的冲突率高得离谱。总之,我仍然不信任它处理关键事务,尤其是涉及他人金钱/数据/生命安全的事情。
I think the number one thing is that I still don't see systems with top-tier observability, alerting, and rollback procedures necessary for me to be comfortable letting the systems run that independently. 我认为最重要的一点是,我仍然没有看到具备顶级可观测性、警报和回滚程序的系统,这对于我放心让系统如此独立运行是必要的。
Lmao, what a bunch of lobotomized morons. Even if you don’t review your slopped out code in your job, how hard is it to do it for a fucking interview? 哈哈哈,真是一群被切除了前额叶的白痴。即使你在工作中不审查你那堆烂代码,在面试中做这件事又有多难?
I mean back when most interviews were some DSA puzzles, it wasn’t what you would do on the job either. So what? 我的意思是,回到大多数面试都是 DSA(数据结构与算法)谜题的时候,那也不是你在工作中会做的事。那又怎样?
OP you need to update the candidate selection process, not the interview process. It’s clear you are getting duds. OP,你需要更新的是候选人筛选流程,而不是面试流程。显然你招进来的都是些次品。
They can't do it cause they just lost the ability to do it. Once you stop doing things and get lazy, you forget a lot, and a lot of people don't want to put the effort. 他们做不到是因为他们已经失去了做这件事的能力。一旦你停止动手并变得懒惰,你就会忘记很多东西,而且很多人不想付出努力。
Delegating everything to the AI, IMO, makes you way more lazy. That's just how the human mind works; it forces you to take the path of least resistance, and correcting that course takes more willpower. 在我看来,把一切都委托给 AI 会让你变得更懒。人类思维的运作方式就是这样;它迫使你走阻力最小的道路,而纠正这一路线需要更多的意志力。
When the AI bubble burst, only then will companies understand the problem they are left with from all the hyper AI FOMO. If you pay attention to the debt and money invested in AI you realize there is no way this is sustainable as a business model and so eventually, this rapid code development will hit a wall and companies will have to pay exuberant amounts of money to continue the AI addiction. And aside for that all the security vulnerabilities that the AI companies themselves are “marketing” on the news lately is concerning. If we think the dot come bubble was a burst just wait until the AI one hits. Companies will be scrambling for “human expertise” at rapid rate while the AI executives cash out before the storm hits…. 当 AI 泡沫破裂时,公司才会明白他们从所有的 AI 错失恐惧症(FOMO)中留下了什么问题。如果你关注投入 AI 的债务和资金,你会发现作为商业模式这根本不可持续,所以最终这种快速代码开发会撞上南墙,公司将不得不支付高昂的费用来维持对 AI 的依赖。除此之外,AI 公司自己最近在新闻中“营销”的所有安全漏洞也令人担忧。如果说我们认为互联网泡沫是一次破裂,那就等着看 AI 泡沫破裂吧。公司会争先恐后地寻找“人类专业知识”,而 AI 高管们会在风暴来临前套现离场……
I was working on large scale prod systems earlier and after the layoff, did do some AI type coding on my own. I was still driving the process but used AI as an auto-complete tool for methods I didn't want to hand code. And I thought that this was actually a good way to go. But I went recently to a dev meet-up and was told that most people don't use AI in this way anymore and that AI should be doing the bulk of the writing. It's just really hard to take your hand off the wheel. Not only that but now the role of the dev is mostly to do PR reviews and I find that really tiring and unsatisfying. 我之前从事大规模生产系统的工作,被裁员后,我自己做了一些 AI 类型的编码。我仍然在主导这个过程,但将 AI 作为一种自动补全工具,用于我不想手动编写的方法。我曾认为这确实是一个很好的方向。但我最近参加了一个开发者聚会,被告知大多数人不再以这种方式使用 AI,而且 AI 应该完成大部分的编写工作。把手从方向盘上拿开真的很难。不仅如此,现在开发者的角色主要是做 PR 审查,我觉得这真的很累且没成就感。
AI boosters are always going on and on about how their agentic code review swarm caught 3x as many bugs as a human reviewer. AI 推动者总是喋喋不休地谈论他们的代理式代码审查群组如何捕捉到比人类审查员多 3 倍的 Bug。
For some reason they never go into detail what the actual bugs are, and whether agents caught everything the human caught. 出于某种原因,他们从不详细说明实际的 Bug 是什么,以及代理程序是否捕捉到了人类捕捉到的所有内容。
So they indeed feel very confident about the reliability of having only AI code reviews. 所以他们确实对仅进行 AI 代码审查的可靠性感到非常有信心。
People who let AI write any level of security-critical or performance-critical code are legit retarded. AI can barely write UI code without serious fuck ups. 让 AI 编写任何安全关键或性能关键代码的人简直是智障。AI 连编写 UI 代码都做不到不出大乱子。
What you're describing is very like how it is in my company at the moment- management have set up a specifically AI focused team even though everybody is already being driven to use more AI faster all the time. It simply isn't possible to review many of the PRs manually in the old-fashioned way. Many of them are too large and often they involve large amounts of simply markdown for agent, which of course can't be effectively tested in any meaningful way. So the old techniques of tests and linting aren't going to work. I feel very much like your candidates. It's not a choice but it's not a choice... 你所描述的非常像我公司目前的情况——管理层建立了一个专门专注于 AI 的团队,尽管每个人都在被驱动着不断更快地使用更多的 AI。简单地以老式方式手动审查许多 PR 是不可能的。其中许多 PR 太大了,而且通常涉及大量简单的 Markdown 指令给代理,当然这些指令无法以任何有意义的方式进行有效测试。所以旧的测试和 Linting 技术行不通。我非常理解你的候选人。这不是选择,但这不是选择……
On the flip side, my company is spending an enormous amount of money on third party AI services and I haven't seen a comparable increase in revenue, profit or savings. I'm expecting the music to stop soon- in some senses it already has. It's not possible to spend ever more money, throwing stuff at the wall without making that back somewhere else. Convincing investors of the value of unicorn farts instead will only go sofar. Companies who try to will obviously go bankrupt. 另一方面,我们公司在第三方 AI 服务上花费了巨额资金,但我没有看到收入、利润或节省方面的相应增长。我预计音乐很快就会停止——在某种意义上它已经停止了。不可能不断地花钱,把东西扔在墙上而不从其他地方赚回来。向投资者兜售独角兽屁的价值只能走这么远。试图这样做的公司显然会破产。
From another angle you could compare it to a startup where a small group of developers who know each other can get stuff out of the door at incredible speed. Day one looks fantastic. Day two is a bit of a mess. Day three they need testing before they release. Day 4 they need an infrastructure guy... 从另一个角度来看,你可以把它比作一家初创公司,一群互相认识的开发人员可以以惊人的速度把东西推向市场。第一天看起来棒极了。第二天有点乱。第三天他们在发布前需要测试。第四天他们需要一个基础设施人员……
I don't think that AI will go away but I do think a lot of code has become intermediate language and we have to adapt. 我不认为 AI 会消失,但我确实认为很多代码已经变成了中间语言,我们必须适应。
The truth is that mediocre engineers have found their super power and become relevant again. If you asked those same engineers to do the scenario before, they'd fail. And the best part is they still fail the scenario. That's the point of the scenario; they show their lack of criticality and understanding for how important this part of the workflow is. Let another enterprise ship the un-reviewed slop. 事实是,平庸的工程师找到了他们的超能力,并再次变得重要起来。如果你之前要求同样的工程师处理这个场景,他们会失败。最棒的是,他们现在仍然在这个场景中失败。这就是这个场景的意义所在;他们展示了他们缺乏批判性和对工作流中这一部分重要性的理解。让其他企业去发布那些未经审查的垃圾吧。
I think you need to stick to your guns about the kind of engineer you want on your team to prevent the 3am outage and dismiss the other candidates same as we always have. 我认为你需要坚持你想要的团队工程师类型,以防止凌晨 3 点的宕机,并像我们一直做的那样拒绝其他候选人。
When you find a good one making sensible workflow decisions who can still think, move fast because they are literal gold 当你发现一个能做出明智工作流决策且还能思考的好员工时,动作要快,因为他们简直是黄金。
Yeah it's pretty bleak. Coding agents are basically a team of very competent junior engineers all competing to show off how good they are with no thought of the overall big picture and limited supervision. 是的,前景相当黯淡。编码代理基本上是一群非常有能力的初级工程师,他们都在争相炫耀自己有多厉害,却完全不考虑全局,且缺乏监督。
I work in the AI space where our code is a bit rough as it only has to be good enough to iterate quickly for research, but Claude has turned our codebase into tangled, duplicated mess, which no one fully understands. We've also stopped thinking properly, which scares me the most. 我在 AI 领域工作,我们的代码有点粗糙,因为它只需要足够好以进行快速研究迭代,但 Claude 把我们的代码库变成了一团纠缠不清、重复的乱麻,没有人能完全理解。我们也停止了正常的思考,这最让我害怕。
We are so boned lmao. 我们完蛋了,哈哈哈。
Just so you know, AI engineers are supposed to be SWE that specialise in building agents and products based on AI technologies. 你要知道,AI 工程师应该是专门从事构建基于 AI 技术的代理和产品的软件工程师(SWE)。
Just using AI assisted code generation is just using a tool. Add for every tool, they're are those who use it properly and those who do not. 仅仅使用 AI 辅助代码生成只是在使用一个工具。对于每个工具,都有正确使用它的人和不正确使用它的人。
Your overall idea (review prs etc) is good but it should be used for any engineering level really at this point. 你的总体想法(审查 PR 等)很好,但在这一点上,它应该适用于任何工程级别。
AI can't take responsibility for the bugs and problems. It's really bad for regression risk and long-term planning. On top of that, all the instructions and context you feed it are optional for it to follow. AI 无法为 Bug 和问题承担责任。这对于回归风险和长期规划来说非常糟糕。最重要的是,你喂给它的所有指令和上下文,它都可以选择性地遵循。
For me, that's enough reason not to let the slop reach the PR stage. The PRs are limited to 300-500 lines and the author must be proficient in the code they wrote. 对我来说,这足以成为不让垃圾代码进入 PR 阶段的理由。PR 被限制在 300-500 行,作者必须精通他们编写的代码。
It's obvious now that this is where we're headed. 现在很明显,这就是我们前进的方向。
We can't keep up with the code they generate, and it's going to get faster. 我们跟不上他们生成的代码,而且速度只会越来越快。
They're also at the level of code writing that surpasses the majority of devs I've worked with, so at what point do we say that they're incredible devs that are being auto reviewed by other incredible devs, and accept that us slowing them down isn't worth it? I think that if we're not at that point now, surely we will be soon? 他们编写代码的水平也超过了我共事过的大多数开发者,那么在什么节点上我们能说他们是出色的开发者,且正在被其他出色的开发者自动审查,并接受我们拖慢他们的速度是不值得的呢?我想如果我们现在还没到那个节点,肯定很快就会到了吧?
And again, they're getting better and better all the time. It was only really January this year with the 4.6 Anthropic models that we hit the real turning point. 而且再说一次,它们一直在变得越来越好。直到今年 1 月份 Anthropic 4.6 模型发布,我们才真正达到了转折点。
I don't know what I'd do with code sending someone into space though. I'd be reviewing every line, and testing everything to death, but it's not an area I've ever worked in before, so I couldn't say how that will play out. If you believe the doomsday scenario of AI that a lot follow, they'll be so much better than us fairly soon that you wouldn't want a human to be reviewing if given the option to review it with AI, right? 我不知道如果代码涉及送人上太空我会怎么做。我会审查每一行,并把所有东西测试到死,但这不是我以前工作过的领域,所以我无法说会发生什么。如果你相信许多人追随的 AI 末日论,它们很快就会比我们好得多,以至于如果可以选择用 AI 审查,你就不会想要人类去审查了,对吧?
Your post mentioned AI Engineers. AI engineers build Agentic systems, software built around a model (or using a model within a wider piece of software). Most of these systems aren't sending people into space or similar right now (I hope not anyway!), and I'm way past the point of caring about the code anymore for these. Evaluation and testing of all kinds are more important. 你的帖子提到了 AI 工程师。AI 工程师构建代理式系统,即围绕模型构建的软件(或在更广泛的软件中使用模型)。大多数这些系统现在并没有送人上太空或类似的事情(我希望没有!),对于这些代码,我早已不在乎了。各种评估和测试更重要。
Every new model release nowadays is exciting for a few minutes, and then a serious reminder of how we're obselete, or about to be. I have no idea what I'm going to do. 如今每次新模型发布都会让人兴奋几分钟,然后就是一次严肃的提醒,提醒我们是多么过时,或者即将过时。我不知道我该怎么办。
The core issue is that code is deterministic and LLM AI is not. The reason we can do code review on code and not assembly is that build process will produce exactly the same assembly for the same code every time and that assembly will always mirror exactly what the code said (except for optimizations). With an LLM that is not the case. The same input is never guaranteed to generate the same output. There is always going to be a chance the generated code has problems. The other issue is that even if you tell an LLM something important like "don't touch the production system" it might ignore that and delete your entire production system. It is less like a TV show robot that follows orders exactly and gets caught up in logical traps, but is more like a 6 year that drank 4 energy drinks and stayed up all night reading the encyclopedia. 核心问题在于代码是确定性的,而 LLM AI 不是。我们之所以能对代码进行代码审查而不能对汇编进行审查,是因为构建过程每次都会为相同的代码产生完全相同的汇编,并且该汇编将始终准确反映代码所述的内容(优化除外)。对于 LLM,情况并非如此。相同的输入永远无法保证生成相同的输出。生成的代码总是有可能出现问题。另一个问题是,即使你告诉 LLM 一些重要的事情,比如“不要碰生产系统”,它也可能会忽略这一点并删除你的整个生产系统。它不像那种严格服从命令并陷入逻辑陷阱的电视机器人,它更像是一个喝了 4 罐能量饮料、熬了一整夜读百科全书的 6 岁小孩。
It’s safe to say most of my code is AI-generated now. It’s also safe to say every output has some parts to it that need a little refinement. Sometimes as simple a variable rename for clarity and other times it interprets a requirement completely wrong, in both cases tests “pass” 现在可以肯定地说,我的大部分代码都是 AI 生成的。也可以肯定地说,每一个输出都有一些部分需要一点改进。有时只是为了清晰起见重命名变量,有时它完全误解了需求,在这两种情况下,测试都“通过”了。
If someone tells you they never review their code anymore then you’re not getting a good developer. Yes AI can help find bugs, yes it writes code really fast. Writing code was never the hardest part of our job, but the appearance of busy work is what gets recognized not actually working software that meets the users needs. 如果有人告诉你他们再也不审查代码了,那你招到的就不是一个好的开发者。是的,AI 可以帮助发现 Bug,是的,它写代码非常快。写代码从来不是我们工作中难度最大的部分,但那种“忙碌”的表象才是被认可的,而不是真正满足用户需求的软件。
When people say one LLM is an architect and another is the designer yada yada yada…. It’s all the same LLM, it’s not intelligent; it’s a steerable autocomplete. You can’t skills your way out of the nature of what the system actually is and it would be better if more people actually understood how LLMs work and what their limitations are. 当人们说一个 LLM 是架构师,另一个是设计师等等……它们都是同一个 LLM,它并不智能;它只是一个可引导的自动补全工具。你无法通过提升技能来摆脱系统本质的局限,如果更多人能真正理解 LLM 的工作原理及其局限性,情况会更好。
The people you interviewed are internally consistent. Getting the full "productivity benefits" of AI requires you to not read or care about the code being written, only the output and observable effects. 你面试的人在逻辑上是一致的。要获得 AI 的全部“生产力红利”,要求你不去阅读或关心所编写的代码,只关心输出和可观察到的效果。
Let's say you want to use AI to "write" 100x the code you used to. That's all well and good, maybe for prototypes and feature branches. But when it comes time to merge into production, you cannot read and understand 100x the code, especially for code you didn't even write to begin with. So, reading and reviewing code becomes the bottleneck. 假设你想用 AI “编写”过去 100 倍的代码。这很好,也许适用于原型和功能分支。但当需要合并到生产环境时,你无法阅读和理解 100 倍的代码,尤其是对于那些甚至不是你自己编写的代码。因此,阅读和审查代码就成了瓶颈。
In fact, it's common that you end up moving slower than you would have without AI. Consider: a task that would've taken you two days of thinking and 500 surgical lines of code to get right. AI does it in half an hour, but it writes 2,000 lines of code, adds an entire new test suite, molests every critical system. Now you spend multiple days context switching between this PR and the 20 others made by your and your team's agents. And merging all those PRs at once created subtle bugs that took another two weeks to fix. 事实上,你最终的移动速度往往比没有 AI 时还要慢。考虑一下:一个原本需要你两天思考和 500 行手术级代码才能搞定的任务。AI 在半小时内完成了,但它写了 2000 行代码,增加了一整套新的测试套件,骚扰了每一个关键系统。现在你花费数天时间在你的 PR 和你及团队代理创建的其他 20 个 PR 之间切换上下文。而一次性合并所有这些 PR 产生了细微的 Bug,又花了两个星期才修复。
So now you have a choice. 所以现在你有了一个选择。
You can choose to slow back down to pretty much pre AI speeds, maybe a little faster here and there. You leave the agentic workflows for prototypes and one off tests. In the main codebase however, everyone is responsible for every single like of code put into the project as if written by hand. You have strict limits on PR sizes and frequency, and the expectation is that if I ask why you used a hashmap instead of a tree on line 218, you'll give me a good answer. 你可以选择放慢速度,恢复到接近 AI 之前的速度,也许偶尔快一点。你把代理式工作流留给原型和一次性测试。然而,在主代码库中,每个人都要对放入项目中的每一行代码负责,就像是手写的一样。你对 PR 的大小和频率有严格的限制,并且预期是,如果我问你为什么在第 218 行使用了哈希映射而不是树,你会给我一个好的答案。
Or you can choose to remove the bottleneck. You can decide to never read the code again. If you care about performance, you set up performance tests that the agents can run. If you care about security, you set up fuzzing and security audits at regular intervals. If you're worried about correctness, you set up automated behavior checks and tests. If you're worried that the code will get too complicated for the agents to handle, you automate metrics like cyclomatic complexity and run regular deduplication passes. 或者你可以选择消除瓶颈。你可以决定再也不读代码了。如果你关心性能,就设置代理可以运行的性能测试。如果你关心安全,就定期设置模糊测试和安全审计。如果你担心正确性,就设置自动化的行为检查和测试。如果你担心代码变得太复杂而代理无法处理,就自动化度量指标(如圈复杂度)并定期运行去重。
I'm increasingly convinced that it's one or the other. You have to either decide you are a software engineer, and you are slowing down on purpose to maximize human understanding and correctness of your system, or you are a dark factory overseer explicitly choosing to sacrifice quality and understanding (and independence from OpenAI/Anthropic/SpaceX) for velocity 我越来越确信,只能二选一。你必须决定要么你是一名软件工程师,并且你有意放慢速度以最大化人类对系统的理解和正确性;要么你是一名黑暗工厂的监工,明确选择牺牲质量和理解(以及对 OpenAI/Anthropic/SpaceX 的独立性)来换取速度。
The less experienced, the more unaware they are. Imo, code review is still a thing, but accelerated by AI, human judgement applies and more than before imo, boundary control (you got to understand how it all comes together) + proper harness (at least Docker sandboxes) 经验越少,越无知。在我看来,代码审查仍然是必要的,只是被 AI 加速了。人类的判断依然适用,而且比以前更重要,在我看来,边界控制(你必须理解这一切是如何组合在一起的)+ 适当的防护措施(至少是 Docker 沙箱)是必须的。
That is insane. 100% those companies will encounter very serious problems. Security, audit, basic functionality etc. will expose serious and fundamental gaps. 这太疯狂了。这些公司 100% 会遇到非常严重的问题。安全、审计、基本功能等将暴露严重且根本性的差距。
What? That’s not what an AI Engineer does at all, an AI Engineer builds AI products, for example using the Claude API, they don’t use AI to build deterministic software, that’s regular software engineering. 什么?那根本不是 AI 工程师所做的事情,AI 工程师构建 AI 产品,例如使用 Claude API,他们不会使用 AI 来构建确定性软件,那是常规的软件工程。
It’s more the managers than the developers. The management wants to “increase velocity 3x”. My manager would “accidentally” flash dashboards of ai usage and tickets resolved per dev in the sprint. Since my team used to be mainly contractors, you gotta keep him happy no matter what or your contract is done and you’re out of a job next month. Reading the comments I feel people are glossing over the fact that keeping a job is much more important to people than code quality.
It’s all top down enforcement. 更多的是经理而不是开发者的问题。管理层想要“将速度提高 3 倍”。我的经理会“不经意间”闪现 AI 使用情况和每个冲刺中每位开发人员解决的工单仪表板。由于我的团队过去主要是承包商,你必须不惜一切代价让他满意,否则你的合同就结束了,下个月你就失业了。阅读评论时,我觉得人们忽略了一个事实,即保住工作对人们来说比代码质量重要得多。这完全是自上而下的强制执行。
I still find scaling and performance bugs all the time in even the latest LLM code. Most people don't work at places that need to scale and they haven't worked on code that has needed to scale. So at least for now I review anything that I think will require actual scaling either now or in the long run. 即使在最新的 LLM 代码中,我也总能发现扩展性和性能 Bug。大多数人工作的场所不需要扩展,他们也没有处理过需要扩展的代码。所以至少目前为止,我会审查任何我认为无论现在还是将来需要实际扩展的内容。
I don't even believe how you're describing how you yourself use AI so I don't know what to think. 我甚至不相信你描述的你自己使用 AI 的方式,所以我不知道该怎么想。
It is impossible for somebody who cannot write code to review it. Actual developers will start to be unable to judge what is quality code within a year or handing everything off to AI. 对于一个不会写代码的人来说,审查代码是不可能的。真正的开发者在一年内就会开始无法判断什么是高质量代码,因为他们把一切都交给了 AI。
We are well aware of this phenomenon. It is why pilots have to fly a few months every year without autopilot to stay certified. 我们非常清楚这种现象。这就是为什么飞行员每年必须有几个月在没有自动驾驶的情况下飞行以保持认证的原因。
We have a huge problem in the industry right now where engineers just shut off their brains. It’s absolutely infuriating. 我们行业现在有一个巨大的问题,工程师们只是关闭了他们的大脑。这绝对令人愤怒。
The best way to think of AI is as a cracked intern. It copies what it sees in the codebase and still needs guidance. 看待 AI 的最好方式是把它看作一个疯狂的实习生。它复制在代码库中看到的内容,但仍然需要指导。
When it comes time to evolve systems the human brain still wins (for now). If you don’t have a high-level view of how your system works you can’t evolve its capabilities. This is where is see the biggest issues with AI today in engineering. 当涉及到进化系统时,人类大脑仍然胜出(目前为止)。如果你没有系统如何工作的高级视图,你就无法进化其功能。这就是我今天在工程领域看到 AI 最大的问题所在。
No, you’re not crazy. I also think it’s wild you were told to test out your new interview question on candidates right away instead of testing on existing employees first for feedback and calibration. 不,你没疯。我也觉得你被告知直接在候选人身上测试你的新面试问题,而不是先在现有员工身上测试以获取反馈和校准,这很疯狂。
Is there actual engineering here any more? To me engineering is proofs, facts, numbers, evidence… AI is a slot machine, I put in a prompt and cross my fingers that it works… when it doesn’t where is my traceability? What do I do differently in the future… I’m so confused. 这里还有真正的工程吗?对我来说,工程是证明、事实、数字、证据……AI 是老虎机,我输入一个提示词,然后祈祷它能工作……当它不能工作时,我的可追溯性在哪里?未来我该做些什么不同的事情……我太困惑了。
This is pretty standard from what I’ve seen at my company. A lot of people are losing their ability to actually critically think and understand things, and it’s not good. 根据我在我公司所见,这是相当标准的。许多人正在失去实际批判性思考和理解事物的能力,这不好。
There’s probably a reason they looking for a job. Candidates like that are basically Claude proxies, why do you even need them for - they’d likely be useless on-call. 他们找工作可能是有原因的。这样的候选人基本上就是 Claude 的代理,你甚至需要他们做什么——他们很可能在值班时毫无用处。
Our interview process has transitioned to handling on call situations to gauge a candidates ability to use AI to get a decent first time to respond SLA. 我们的面试流程已经转变为处理“待命”(on-call)情境,以评估候选人利用人工智能实现理想的首次响应服务等级协议(SLA)的能力。
nobody knows, all you can do on this question is source a diversity of opinions from a variety of people, then use your best judgement. remain flexible but sharp, try to think clearly. good luck 没人知道答案,面对这个问题,你所能做的就是从不同的人那里获取各种观点,然后运用你最好的判断力。保持灵活但敏锐,试着清晰地思考。祝你好运。
It is unlikely that a senior developer would lose critical thinking and code comprehension skills in such a brief period. It seems more likely they might not have fully developed those strengths to begin with, and leaning heavily on prompt engineering for the last two years might have made these things worse. 资深开发者不太可能在如此短的时间内丧失批判性思维和代码理解能力。更有可能的是,他们起初就没有完全培养出这些优势,而过去两年对提示词工程(prompt engineering)的过度依赖可能让情况变得更糟了。
Man it's almost as if I wrote the post. The major difference in my experience is that candidates actually acknowledge code review is important. And many of them don't find the bugs we're expecting (often they just hinge on code style or unimportant niche cases). 天哪,感觉就像是我写了这篇文章一样。我的经验中最大的区别在于,候选人确实承认代码审查很重要。但他们中的许多人并没有发现我们预期的那些错误(通常他们只是纠结于代码风格或无关紧要的边缘情况)。
Reviews have always been a bottleneck. The secret is to focus on what's important. Bugs, scope, unnecessary complexity. 代码审查一直是个瓶颈。秘诀在于专注于重要的事情:Bug、范围、不必要的复杂性。
Models CAN auto review, but they often don't have the full picture (even if they say they do). And they're not becoming any cheaper, so I'm actually thinking we'll see some rollback in AI adoption rates. 模型确实可以自动审查,但它们往往无法掌握全貌(即使它们声称自己掌握了)。而且它们并没有变得更便宜,所以我认为我们实际上会看到人工智能采用率出现一些回落。
Whether you're crazy or not, kudos to you to fighting for making the interview like the actual job.Id estimate less than 5% of interviews try to match their real workflows. 不管你是不是疯了,为你努力让面试贴近实际工作而点赞。我估计不到5%的面试会尝试匹配他们真实的工作流程。
It gives the applicant a clear idea what the job will be like, and it gives you clear signal on whether they'll work well in that environment. 这能让申请人清楚地了解工作内容,也能让你明确判断他们是否能在那种环境下出色地工作。
At Zillow I pushed to make our tech interview process include pairing on a failing unit test, fixing a bug, refactoring a method or two, looking for issues in a PR, reviewing a doc to see if somebody missed something in a technical design doc, helping a stubborn L3 find a bug in their own code, system design, and maybe even roleplaying an incident. 在Zillow工作时,我推动将我们的技术面试流程调整为包括:结对处理一个失败的单元测试、修复一个Bug、重构一两个方法、在PR中寻找问题、查看文档以确认是否有人遗漏了技术设计文档中的要点、帮助一位固执的L3级工程师找出他们自己代码中的Bug、系统设计,甚至可能包括模拟一次事故处理。
I couldn't get enough volunteers to build out three sample codebases so I never got it off the ground. 我没能召集到足够的志愿者来构建三个示例代码库,所以这个计划最终没能落地。
How can somebody or a team be 12 months behind in “AI”? Behind of what exactly? Adding a “skill” md file? 一个人或一个团队怎么可能在“人工智能”方面落后12个月?到底落后于什么?落后于添加一个“技能”Markdown文件吗?
You’re actually ahead if you delete all of that crap. 如果你把那些垃圾全删了,你实际上反而领先了。
There were a lot of mediocre developers who would have done just enough to not get fired, and ultimately bring the product quality down, but they were hard to spot before. I guess it’s much easier now. 过去有很多平庸的开发人员,他们做的工作刚好够不被解雇,最终拉低了产品质量,但以前很难发现他们。我想现在要容易多了。
"Claude, these comments are too verbose. Fix it." “Claude,这些注释太啰嗦了。修改一下。”
"What is this variable name supposed to mean? I don't like it. Fix it." “这个变量名是什么意思?我不喜欢。修改一下。”
"The source file is too big. Fix it." “源文件太大了。修改一下。”
You are hiring an "AI engineer", not a "software engineer", what else did you expect? Garbage in, garbage out. Good luck 你招的是“AI工程师”,而不是“软件工程师”,你还指望什么呢?垃圾进,垃圾出。祝你好运。
Imo, you're the normal one here and everyone else is going lazy and crazy. 在我看来,你是这里正常的那一个,而其他人都在变得懒惰和疯狂。
Me and my team think and work similarly to you. So, I guess, we're the cowboys now. 我和我的团队思考和工作的方式与你相似。所以,我想,我们现在成了“牛仔”了。
Someone saying "I'd write the skills myself" still does not understand attention and context windows research 有人说“我会自己写技能”,这说明他们仍然不理解注意力机制和上下文窗口的研究。
They are not lying. You have to shift your quality control left. With the volume of code being generated, eyeballing a code review isn't reasonable anymore. The trick is to define adverserial review agents with different goals to tear through the code. And that is what you are looking for in an interview, someone who knows to do that. I would give them the buggy code, no agent files and say make it work. You have 20 minutes 他们没有撒谎。你必须将质量控制左移。随着代码生成量的增加,仅凭肉眼进行代码审查已不再合理。诀窍在于定义具有不同目标的对抗性审查智能体,让它们彻底检查代码。而这正是你在面试中要寻找的——知道如何做到这一点的人。我会给他们一段有Bug的代码,不提供智能体文件,然后说:让它运行起来。你有20分钟。
So, instead of having applicants write code or review code, have applicants write skills and prompts and prepare contexts for an AI to create something. 所以,与其让申请人写代码或审查代码,不如让他们编写技能和提示词,并为AI创建某些东西准备上下文。
If that's the job, then replicate the skills of the job in the interview. Measure the output, which is what the AI creates from the words written by the human. Presumably writing better skills, better prompts, setting up better contexts yields better AI output. Hell, you could measure the token cost too and hire candidates who are more efficient and who's AI produce the best output. 如果这就是工作内容,那就把面试内容复刻为工作技能。衡量产出,也就是人类编写的内容经由AI生成的成果。可以推测,编写更好的技能、更好的提示词、设置更好的上下文,会产生更好的AI输出。见鬼,你甚至可以衡量Token成本,并聘用那些效率更高、AI产出质量更好的候选人。
Its impossible for us to slow down and go back to longer form methods of working, in the aggregate. We will continue leaning more and more on the AIs, and less and less on the humans. And where that ends up seems pretty obvious to me. 从总体上看,我们不可能放慢速度回到那种长流程的工作方式。我们将继续越来越依赖AI,越来越少地依赖人类。而最终的结果对我来说显而易见。
We will have a societal wide crisis of the value of humans, and if we don't find good answers, the suffering will be immense. 我们将面临一场关于人类价值的社会性危机,如果我们找不到好的答案,痛苦将是巨大的。
Jesus, I'm glad I don't have these dumbasses at my work. 天哪,我很高兴我的工作中没有这些笨蛋。
I’m gonna hold onto the old ways and if managers fire me that’s their loss. 我会坚持旧有的方式,如果管理层因此解雇我,那是他们的损失。