第一周随笔
第一周作业:对自我的剖析
| 这个作业属于哪个课程 | 计科 24 级 56 班 |
|---|---|
| 这个作业要求在哪里 | 第一周作业 |
| 这个作业的目标 | 了解自己内心 |
一、准备工作
github: https://github.com/McCainJared

二、正文
- 我叫黄琪,高中毕业与广东省珠海市斗门区第一中学,我自己喜欢琢磨一些新鲜的东西,例如琢磨不同的主流AI,喜欢通过做相同的小项目来测试不同AI的能力。我的爱好是健身,还有偶尔打一下篮球
(1)在报考计算机的时候,我选择它也仅仅是因为将来毕业好找工作并不是说最开始就对这个感兴趣的,直到现在我也就对其感兴趣程度提升了一些些。
2.1 目前能力与目标
| 技能 | 当前水平(0-9) | 本学期目标 | 计划 |
|---|---|---|---|
| python编程 | 4 | 5 | 去力扣上多刷点题目 |
| 架构设计 | 1 | 5 | 还没有专门的开发过项目,打算去GitHub上看看高星的项目,通过AI辅助理解什么是架构以及怎么在项目中体现 |
| linux | 1 | 5 | 上网学习Linux |
| AI agent 开发 | 3 | 5 | 正在学习github上的hello-agent,打算一直坚持下去并且在15号之前完成一个旅游agent |
| 代码量 | 2 | 5 | 多去阅读GitHub上高星项目 |
我与一个优秀的毕业生的水平,我个人觉得是有很大的差距的,代码量少意味着我对项目开发的理解不够深入,不能够坚持不断的去学习计算机知识,三天打鱼两天晒网这样做的,下定决心准备改变。
(2)阅读一下博客,并务必写一些心得:
阅读了这个博客以后,我深有感触。我自己在大三之前一直对于上课并不感冒,觉得教学内容太老了太过时了不够fashion,但是阅读这篇博客之后我觉得我的想法错的确实很离谱,我一边厌恶老的课程内容,一边不学习计算机基础知识手高眼低。养成一种博客里说的散漫,在关键时候紧张不起来的性格,实在是失败,人总是要学习的,但是我总是在课堂上玩逃避太多了,需要改变,上课的时候就得学习不管是学什么(多学点计算机知识)。
(3)我打算继续深造下去
大二暑假开始意识到我学习习惯的不好,因此选择留校开始学习agent开发的知识并且加入了实验室能够与老师,师兄,师姐和同学交流学习。
(4)记录每次学习的博客
是的,我打算以记录的方式来展示自己的学习过程,虽然我在GitHub上的仓库里也有我的学习记录,但那大部分使用AI做的(上传也是直接交给codex哈哈),我打算再博客中自己在多多手打一些。
我现在的代码量很少,我认为我现在还不能够有能力去实习。上课我打算认真上。
3. 阅读《构建之法》后的问题
问题 1:技能的反面——会调 API 不等于会编程
- 章节:第 3 章 软件工程师的成长(技能评估)
- 引用文字:《构建之法》强调"技能的反面是知道你不会什么",并区分"熟练使用工具"与"理解底层原理"。
- 我的问题:我现在用 AI 帮我写代码基本都能跑通,但是让我自己独立写一个判断回文的小函数都得想半天,更别说被问到 Java const 怎么实现这种底层问题了。这到底算不算"会编程"?会调 AI 和会写代码之间的边界到底在哪里?
- 资料与经验:我目前 GitHub 仓库里大部分代码都是 AI 辅助写的,hello-agent 项目里很多模块我自己确实讲不清楚为什么这么写。刘帅那篇博客里完美时空面试追问 const、Lucene、Junit 原理他全挂——我现在的状态跟他差不多。
- 我的困惑:书本好像默认读者已经具备"动手写过代码"的前提,但我们这一代学生很多是从"先有 AI 再写代码"过来的,这套评估"技能"的标准是不是要重新定义?
问题 2:两周做一个"旅游 agent",什么程度算 MVP
- 章节:第 6 章 敏捷开发(MVP 最小可行产品)
- 引用文字:MVP 是"最小可行产品",目标是验证核心假设,不是把所有功能做完。
- 我的问题:我计划 15 号之前完成一个旅游 agent。能调通 LLM 接口返回一句话算不算 MVP?还是必须端到端可用——有前端、有记忆、有真实可用的路线推荐?单人两周做 AI agent 这个时间预算本身是不是就不合理?
- 资料与经验:根据 hello-agent 的经验,光是搭起一个对话循环、调通 tool calling 就要花不少时间,还要写文档、测试、prompt 调优。如果按 MVP 思路只做"一句话能给出可行路线建议"就交,我自己都觉得太水。
- 我的困惑:MVP 在传统 Web 项目里边界相对清楚,但 AI agent 类项目"什么算可用"本身就很主观,怎么判断我做的是"最小可行"而不是"偷懒只做了 30%"?
问题 3:博客记录 vs AI 自动生成的仓库流水账
- 章节:第 7 章 工程师的写作 / 实战中的软件工程
- 引用文字:邹欣反复强调"写作是最好的反思方式"。
- 我的问题:我在原稿里写过"GitHub 仓库大部分是 AI 做的(上传也是直接交给 codex 哈哈)"。如果一个仓库里 commit message、注释、甚至代码主体都是 AI 生成的,那这种"学习记录"在邹欣说的"反思"意义上还有价值吗?还是只是看起来很勤快的假象?
- 资料与经验:我自己也意识到了,所以才说"打算在博客中再自己多多手打一些"。但是说实话,AI 帮我写得又快又好,让我自己从头写还挺难的。这种时候博客记录的"真实"标准应该由谁来定?是我自己觉得有收获就算,还是必须证明每一行都是自己敲的?
- 我的困惑:AI 生成的 commit 和我自己写的反思笔记,在"个人成长记录"这个维度上是不是本质相同?如果不是,差别到底在哪?
问题 4:AI 时代还需不需要系统刷基础课
- 章节:第 1 章 概论 / 第 17 章 人、绩效和职业道德
- 引用文字:书中讲软件工程的核心素养(写代码、设计、合作、长期维护)不会随工具升级而消失。
- 我的问题:现在 AI 写代码这么强,《构建之法》强调的"基础"——数据结构、操作系统、计算机网络——到底还需不需要系统学?时间应该投在刷 leetcode,还是直接跟 AI 对练做项目?
- 资料与经验:我自己的体验是:刷 leetcode 枯燥但能理解原理,跟着 AI 做项目爽但学不到原理,两种我都试过,结果是 leetcode 三个月也才 50 题,项目倒是做了不少但我讲不清楚自己做的项目用到了哪些底层原理。
- 我的困惑:这学期时间有限必须取舍,是按书本说的老老实实补基础,还是跟着工具升级做"AI 时代的工程实践"?长远来看哪条路更划算?
问题 5:课堂"老内容"什么时候才"够用"
- 章节:第 1 章 概论
- 引用文字:书中讲"教材和实际工作有所脱节,但教材传授的核心素养在工作中学习不到"。
- 我的问题:我以前觉得课程内容太老没意思,读完前辈博客后觉得老师坚持基础有道理(这一点我也写在心得里了)。那"基础"和"前沿"的分界点到底在哪?什么阶段该跳出课本追新框架、什么阶段该老老实实补基础?
- 资料与经验:我自己感觉比较纠结:课本教的 Git、C 语言、单片机放现在看确实不"fashion",但学到深处才发现——比如指针、内存模型——AI 生成的代码出 bug 时我能看懂的也只剩这些基础。大部分同学(包括我以前)只看到老内容不酷,没看到不酷的部分是地基。
- 我的困惑:书本的"基础够用论"是不是对所有人都成立?如果以后我就做应用层 CRUD 开发,是不是可以把更多时间投到 AI 工具链上,而不必把基础学到精通?
4. 阅读前辈博客感想
感想一:刘帅《在失望中寻找希望》
博客链接:https://book.douban.com/subject/4006425/discussion/22803961/
阅读了这篇博客以后我深有感触,文章讲的是刘帅从西安电子科大本科到清华读研再到 Amazon 工作的十年经历,我读到的几个点特别想说一下。
(1)他本科拿了不少奖学金,但他自己复盘说自己根本没学懂计算机,数据结构的老师把课讲成了纯数学,他自己也没真正动手写过代码。我读到这一段真的笑了一下,因为我就是代码量特别少的那类人,估计自己也就写了一两千行(具体多少我也没真统计过哈哈),很多东西只是看过、听过、没真正敲过,一遇到bug就两眼一抹黑,他本科的经历简直就是我的翻版,给我敲了一个警钟。
(2)他讲在清华旁听朱仲涛老师数据结构课的那一段我印象特别深,那个老师一节课当场从零开始写代码,1.5小时手写Convex Hull算法,编译一次过全班鼓掌两分钟,这才叫真正的程序设计课。我希望我自己也能在这门课上锻炼到能上台演示代码不慌的能力,不能再像以前那样只停留在能看懂、没真正写过。
(3)他面试完美时空那段让我有点后背发凉,面试官问Java怎么实现const、Lucene索引怎么实现、Junit哪些地方不好,他基本上全挂。我现在也是这个问题,我用AI辅助开发是爽,AI帮我生成代码我都能跑起来,但是面试官要是问到我这套代码背后的原理我大概率答不上来,这也正好对应他结语说的"出来混总要还的,不会的东西终会反扑",我现在就在还以前的债,我打算这学期把课上用到的每个工具都搞清楚为什么这么设计,而不是停留在"会用就行"。

浙公网安备 33010602011771号