AI 时代如何证明个人项目的真实性?

1 月 23 日
 zhanshen1614

背景

前天朋友提供一个内推岗,这个公司蛮不错的,规模大待遇好还不是外包也不是有争议的 web3 ,他在里面工作,说招好几个月了还是没人去。我有个个人微服务项目准备拿去应聘,然而推荐后说没办法还是得垂直经验,因为现在有 AI 生成代码很简单,个人项目很容易被认为是 AI 代工。

项目介绍

项目原先是通过网课教程做的但不符合生产要求被我全部推翻重写,原来是 go micro 2.9.1 现在是 go micro 4 ,所有服务都是领域驱动,改过框架源码,链路追踪、监控、日志系统、架构等全部一人完成,期间技术栈做了很大的调整,一共迭代 6 个版本,目前是 6.1 ,耗时 3 个月,至今仍在迭代,有部分自编组件。包含压测报告、决策记录、变更日志和自述文件(含项目介绍及部署指南),用 Github Project 管理项目,2 周一版,部署在阿里云 K8S 集群上,使用超过 15 个组件,还用到 LUA 脚本。服务是模拟支付回调扣减库存过程,每个服务 2 个副本,单个 Pod 上限为单核 CPU + 512M 内存,压测 1596Qps ,P99 为 84ms 。

不存在 AI 代工

我开发过程中主要是用 AI 推荐轻量级工具并分析其难度,代码大部分还是自己写,因为 go micro 做 EDA 架构的案例本身就少得可怜直接导致 AI 生成的代码不靠谱,最后还是被我的方案优雅地取代。开发过程中每个版本都是巨大的挑战。

请问各位大佬如何证明个人项目不是 AI 代工以实现成功转型 Golang 开发?

4269 次点击
所在节点    程序员
35 条回复
jonsmith
1 月 23 日
没办法,现在都要上来就能干的,不知看技术水平,也看行业经验。
Bigstupidcat
1 月 23 日
不需要证明,老板只关心能不能用,不关心你具体实现的过程。
paceewang1
1 月 23 日
@zhanshen1614 #19 简单,自己设想一下,你前司的项目如果让你用 go 写,你会怎么写,自己把一些实现细节还有亮点想清楚,技术栈参考你熟悉的,这就是你参与过的企业级产品。出门在外面子都是自己给的,面试官能看到你前司的业务,又看不到代码。
techNoir
1 月 23 日
这个还有必要纠结是不是 AI 的吗,现在都是推荐 AI coding
lazinesssheep
1 月 23 日
我有个问题 为什么不用 AI 写?
YanSeven
1 月 23 日
我有个问题,如果问啥都能说出来,为什么要纠结是不是 AI 写的。
除非纯手工代码的码农工资更高,纯天然无添加,那有意义纠结一下。
syferie
1 月 23 日
老板会纠结你用什么写的吗,不是能出活就行。你会用 AI 一个人能顶两个人的工作量那才是老板想要的。
BlackSnow
1 月 24 日
code is cheap show your prompt
chtcrack
1 月 24 日
能说出这样话的,思想有问题了.
这就好比你不是靠自己身体力行来用腿走路来上班的,怎么证明你不是坐车来的?
murmur
1 月 24 日
为啥要证明,用 AI 开发本身就是必备技术
zhanshen1614
1 月 24 日
@chtcrack 我分析了下大概率是招聘方的问题。有些单位招人很死板,没有同语言同行项目开发经历就不要,不相信个人项目是自己做的。
MoeDisk
1 月 25 日
反正原来没消费级 LLM 的 AI ,也基本上是网上找例子仿写(
能用 AI 写好项目也是需要懂的,公司来过实习生懂皮毛用 AI 生成完也用不利索,
或者对方案不熟不知道需求用哪种方案做好。
我是拥抱 AI 那派吧,不过也希望能出来下一个轮子哥(
netabare
1 月 25 日
如果你能把项目的前因后果、关键决策路线、为什么这个地方要这么写、为什么那个地方要这么设置,项目的技术选择和你要解决的难题之间的关系还有一些项目里面的因果关系说的清楚,说实话,如果是我,哪怕你整个项目是 AI 写的并且到处都是 emoji 我觉得都无所谓。

不然的话,另外一个鉴定项目是否人写的,我会从这么几个角度看:

- git commit 的粒度、git workflow 的控制,是否能看出清晰的思路,还是每次 commit 都是一大坨
- 代码里面的评论、注释是否废话文学,还是记载了一些高密度的信息
- 代码风格,比如变量名是否莫名其妙,是否有莫名其妙没法解释的结构或者模式
- 变更的原子性,比如说是否一次变更只做一件事,还是塞了一大堆乱七八糟的——说起来我跟 AI 聊的时候我会反复跟他强调这件事,并且在他输出一堆无关内容的时候直接反问、质疑

不然的话可能就上动力学分析了。我的印象中,人类写的代码,因为对约束失效、边界条件等真实难点的主动思考,很容易会有复杂度集中存在,产生强耦合/有 causality 和对代码抽象结构的引导和暗示,这些往往会限制或决定未来的项目演化。反过来看,AI 写的代码,至少我觉得经常很...「平」。

如果这段描述有点抽象,那么人类的代码更像在地球上的某个真实地形约束下城市和群落、交通的自然演化和人为规划的结果。而 AI 代码给我的感觉更像 Minecraft 那个 Perlin noise 生成器。

或者,换句话说,看人类的代码,我会好奇:技术债从哪里产生」,看 AI 代码,绝大部分情况下,他甚至连技术债都无从谈起。
xuanbg
1 月 25 日
想多了,如果是我,我反而更看重程序员使用 ai 写代码的能力
zhanshen1614
1 月 26 日
@netabare 我的个人项目代码提交 289 次,还有迭代(目前到 6.2 ),从最初的 65Qps 优化到 1596Qps ,P99 从 685ms 优化到 84ms ,有 Roadmap ,决策记录、自述文件和变更日志,还有负载测试和压力测试,这么多资料都能证明是人写的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/1187802

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX