我已经在这个副项目上工作了一段时间,现在我认为它已经达到了一个真正可用和有用的程度——非常希望能得到任何反馈或评论!
返回首页
最新
与大约两年前AI编码工具普及之前的时代相比,如果要给出一个数字,你认为作为软件工程师(SWE)的生产力变化了多少?
我经常思考这个问题,也很想听听其他人的看法。对我来说,简短的回答是:大约提高了2倍(即比大型语言模型(LLMs)出现前快100%)。详细来说:
当我充分理解领域(即我正在解决的业务逻辑和现实世界问题)并熟悉技术栈时,我的编码速度大约提高了10倍,同时代码质量相同或更好。
当我不理解领域时,提示会变得模糊或不充分,LLM会进行猜测,虽然它能在一天内完成一个月的工作,但我接下来的三周会花在重构上,并意识到代码的糟糕程度,这都是因为提示的不佳。总的来说,这可能仍然比AI出现前更快,但会带来一种令人沮丧的心理现象,让你以为某个任务快完成了,结果却花了几周时间进行调试、重构,常常还得把它扔掉重新开始。
在不熟悉的技术栈中,我并不总能发现明显的错误(由AI或提示引起的错误),因此生产力降低,风险增加。
生产力提升的10-15%归功于开发环境的改善。我会打开大约~/.dotfiles,告诉它我遇到的问题或请求特定的改进。它通常会修改.zshrc、.vimrc或类似文件(如果第一次尝试不成功,会进行必要的迭代)。由于这个过程非常快速(例如5分钟),我已经做了大约20个小调整,这些调整之前并不值得花时间去做。它们确实让我更开心,也稍微提高了我的生产力。
但总体而言,综合考虑所有因素,我可以说我现在的生产力大约是大型语言模型出现前的2倍。
我一直在使用我自己开发的一个小写作助手,叫做 Rephrazo,并且我觉得分享一些实现细节和迄今为止的错误可能会很有用。
这个想法很简单:
* 高亮你正在写的文本
* 按下一个快捷键
* 在一个小弹窗中获取 AI 释义
* 一键插入回去
目标是消除“复制 - 打开 AI 工具 - 粘贴 - 重写 - 再粘贴”的循环,以便进行小的编辑。
这篇文章将讨论我如何实现这个功能,哪些技术上有效,哪些无效。
### 设计约束
从一开始,我就试图在几个约束条件下进行设计:
* 一个快捷键 → 一个主要操作
* 保持在当前应用内(不使用浏览器,不要大侧边栏)
* 最小化用户界面:单一建议,一键插入
* 延迟“感觉瞬时”,否则就不会被使用
每当我打破这些约束(增加额外的选择、提示等),在使用过程中就会下降。
### 高层架构
大致分解如下:
* 桌面客户端:
* 监听全局快捷键
* 获取当前文本选择
* 发送到 API
* 在选择附近的小覆盖层中显示返回的释义
* 后端 API:
* 接受选定的文本 + 一些最小的上下文
* 调用大型语言模型(LLM)
* 应用固定的提示(“使其更清晰,尽量保持语气/声音”)
* 返回单一建议(目前没有多选)
目前没有复杂的基础设施,只是尽量缩短“按键”到“返回文本”的路径。
### 文本捕获和插入
出乎意料的棘手部分不是 LLM,而是:
* 可靠地捕获选定文本
* 不干扰用户的剪贴板
* 在不破坏格式的情况下插入重写的文本
第一版实际上滥用了剪贴板:
* 保存剪贴板
* 复制选择
* 发送到后端
* 通过粘贴结果替换选择
* 恢复剪贴板
这有效……直到它不再有效:
* 一些应用忽略模拟的按键
* 有时剪贴板在此过程中被其他内容覆盖
* 感觉脆弱且“黑客”
我正在慢慢朝着更具应用意识的集成方向发展(在可能的情况下),同时保持通用的后备方案。
### 延迟和用户体验
延迟比我预期的更重要。大致分类如下:
* < 500 毫秒 → 感觉瞬时,人们很满意
* 1-2 秒 → 如果建议明显更好则可以接受
* > 3 秒 → 人们后悔按下快捷键,使用频率降低
一些小的用户体验改进有帮助:
* 在选择附近立即显示一个小的“加载”状态
* 立即渲染弹窗(骨架状态),然后在响应到达时填充内容
* 在失败时,显示简短而诚实的信息,而不是默默无声
如果你在构建 AI 工具,这些可能不会让你感到惊讶,但当你看到自己的用户在几次缓慢响应后犹豫时,感觉就不一样了。
### 出现的问题
* 我在早期过度构建了自定义选项:
* 语气下拉框
* 多种模式(“更短”、“更长”、“更正式”)
* 额外的切换
人们忽视了这些选项,或者感到决策疲劳。
* 我低估了在不同应用中选择/插入的边缘情况有多少。
* 我在最初的构建中没有记录足够的数据,因此不得不重新添加遥测以了解实际使用情况。
如果你感兴趣,当前的早期版本在这里:
[https://rephrazo-ai.app/](https://rephrazo-ai.app/)
嘿,HN,
我一直在不断尝试构建东西,但每次发布时都失败。这次我构建了一个能强制我保持自律的系统:一个生产力系统,它会在你专注工作太久而没有休息时,物理上阻止你继续工作。
它的功能:
- 集专注计时器、冥想追踪器和任务管理器于一体的终端美学界面
- 强制10:1的专注与休息比例——工作100分钟,必须休息10分钟,计时器才能再次解锁
- 完成任务需要反思日志(每完成5个任务写1个反思)——不允许积压日记
- ASCII进度条,单间距字体,所有操作都有括号标记:`[ START_FOCUS ]`
- 没有游戏化,没有连续性焦虑,没有“你可以做到!”的加油
我为什么要构建它:
我会工作4小时,周三就精疲力竭,然后连续3天沉迷于无意义的刷屏。每个生产力应用都让我继续工作。我需要一个能阻止我并强制我恢复的东西。
这种美学是故意的——残酷主义的终端用户界面,去除多巴胺刺激。黑色背景,功能性颜色(青色/琥珀色/红色),没有圆角,没有庆祝。只有自律。
当前状态:
- 7天免费试用,无需信用卡
- 网络应用(Flutter + Supabase)
- 在移动设备上可用,但设计以桌面为主
- 我是唯一的日常用户(经典创始人问题)
我在构建这个过程中学到的:
- 强制休息是有争议的——一些测试者讨厌被阻止
- 人们想要“再做一个任务”的覆盖功能——我拒绝添加
- 终端美学过滤效果明显:开发者喜欢,普通用户却不感兴趣
- 我不知道如何在不显得说教的情况下进行市场推广
现场演示:[https://app.kensho.zone](https://app.kensho.zone)
来源:尚未开放(如果有兴趣会考虑)
这是我第五次失败的商业尝试。通常我会发布一次,然后想知道为什么没人使用。此次尝试不同:诚实面对挣扎,并在放弃之前寻求严厉的反馈。
我缺少什么?你真的会使用这个吗,还是它只是解决了我一个人的问题?