周报 #2 - (独立) 开发者如何管理动力;新的 AI Code Tool:Cursor;向量搜索如何简单理解?
周报 #2 - (独立) 开发者如何管理动力;新的 AI Code Tool:Cursor;向量搜索如何简单理解?
(独立) 开发者如何管理动力?
Managing My Motivation, as a Solo Dev
很多时候我们不知道该如何管理自己的动力,往往做一件事情就只有三分钟热情,可能事情都还没实际开始做,热情就已经消散了,然后自己就放弃了。
真正想要做好一件事情尤其忌讳这种情况,但是人性就是这样「避难趋易」,总是贪图享受,这是没法避免的。
人的大脑可以大概分为:本能脑、情绪脑、理智脑。其中,“本能脑”占据大脑的绝大部分,且倾向于节省能量消耗,而“理智脑”虽然掌控理性思考,但作用有限。往往做事情两者就会进行斗争(这是由人类进化特性决定的),正是我们动力难以维持的原因之一。
所以你不必过多苛责自己,不过我们可以想办法利用这特性,比如 奖励机制学习
、舒适区边缘学习
等等,文中的作者从自己生活中总结了一些方面,可以尝试学习下。
- Convert external sources to motivation
- Leave tasks unfinished
- Address the pain, instead of pushing through
- Do nothing
......
例如,Leave tasks unfinished
可以帮助更容易进入工作状态,而 Do nothing
则将娱乐活动作为完成工作的奖励,大大提高了效率。
「Leave tasks unfinished」:就拿阅读英语文章来说,以前我是每天直接读完一篇文章,但是往往第二天很难新起一个读新的一篇,还需要克服一些问题,现在尝试做前一天只读 90% ,剩下的第二天来读,这样更能进入状态。
「Do nothing」:以前每天到公司时就是去逛什么 论坛、 博客、witter、YouTube 等等,这严重会发散自己的注意力,让今天后面的自己更难进入状态。现在我都是帮逛论坛等其他摸鱼来当做完成正事的一种奖励,这很大程度提高了自己的做事情的效率。
还有更多的方式吗?可以在评论区多多交流交流下。
Cursor
Code Smarter, Not Harder: Developing with Cursor and Claude Sonnet
一些关于 Cursor 的使用技巧 - 资源荟萃 - LINUX DO
Cursor 技巧(第二弹) - 资源荟萃 - LINUX DO
最近体验了一下 Cursor,实际体验下来效果的确还可以。比起 Github Copilot 来说(就像上面两篇文章所说的那样),Cursor 更多的是交互方式上面的改变(不用再一边 chat ,一边 copy)。
特别是 @xxx
的方式,里面的 @Web
更可以让你直接联网搜索最新文档(相比与其他模型 chat 时,很不容易搜索到最近文档使用方式) ,其他的 @Codebase
、@Git
等更是比目前的 Github Copilot 方便很多,不过相信 Github Copilot 后续会跟进的。
Cursor 还有一个属 beta 功能的 Composer 模式也是非常实用,具体展示可以看看这个视频:展示视频——上面第一篇文章中的视频。
你还可以访问 Cursor Directory 网站查看更多用户贡献的 prompts。
简单理解向量搜索
An exploration of vector search
随着 AI 炒作越来越火热的情况下,大家可能都或多或少了解点「vector search」、「vector database」以及「embeddings」等概念。对于那些觉得这些概念复杂却又感兴趣的人,这篇文章是一个很好的入门。ps:作者也不是这方面的专家,也是感兴趣的研究。
文章深入浅出的讲了 向量、维度、相似性 的基础概念,并通过简单例子解释了测量相似性的相关算法,如 Euclidean distance、Manhattan distance、Cosine similarity,从而引出实际生活中选择合适的维度(特征工程)非常困难和耗时。
In the real world, we deal with more data like this—sentences, paragraphs, topics, products, images, etc. As you can see, this process of determining dimensions (feature engineering) can be quite difficult and time-consuming. Not only do you need to be intensely familiar with the data (gigabytes? terabytes? petabytes?) in order to recognize what dimensions are important, you also need to experiment to find the most suitable dimensions.
最后,文章回到实际生活中,介绍利用 vector embeddings 来构建一个简易的向量搜索引。
car 的 embedding 结果:
Tensor {
dims: [ 1, 384 ],
type: 'float32',
data: Float32Array(384) [
-0.031706273555755615, 0.1090739443898201, 0.012603563256561756,
0.05875611677765846, -0.03913160786032677, 0.032443128526210785,
... 378 more items
],
size: 384
}