惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
News | PayPal Newsroom
Security Archives - TechRepublic
Security Archives - TechRepublic
Hacker News: Ask HN
Hacker News: Ask HN
H
Hacker News: Front Page
Apple Machine Learning Research
Apple Machine Learning Research
TaoSecurity Blog
TaoSecurity Blog
Help Net Security
Help Net Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
V
V2EX
Hugging Face - Blog
Hugging Face - Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
人人都是产品经理
人人都是产品经理
博客园 - 三生石上(FineUI控件)
Security Latest
Security Latest
Cloudbric
Cloudbric
WordPress大学
WordPress大学
S
SegmentFault 最新的问题
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Know Your Adversary
Know Your Adversary
A
Arctic Wolf
L
LangChain Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
The GitHub Blog
The GitHub Blog
P
Proofpoint News Feed
W
WeLiveSecurity
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
M
MIT News - Artificial intelligence
Google DeepMind News
Google DeepMind News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Cloudflare Blog
小众软件
小众软件
NISL@THU
NISL@THU
云风的 BLOG
云风的 BLOG
P
Privacy & Cybersecurity Law Blog
S
Security @ Cisco Blogs
博客园 - 【当耐特】
I
InfoQ
Vercel News
Vercel News
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
P
Proofpoint News Feed
O
OpenAI News
Google DeepMind News
Google DeepMind News
N
News and Events Feed by Topic
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
K
Kaspersky official blog
T
Threat Research - Cisco Blogs
量子位
宝玉的分享
宝玉的分享

Yuexun J

Native macOS Updates in Tauri Why MCP Matters How to Make Your Tauri Dev Faster My Journey with Vim How the Notion Editor Works The Vim Guide for VS Code Users
Developing an App with My AI Intern
Yuexun Jiang · 2024-07-24 · via Yuexun J

I got scolded for missing a message. That’s how this started.

Since moving abroad, Messages became my main IM. Problem is, Messages doesn’t have a menu bar icon. I hide my Dock. You see where this is going.

I found Doll, an app that puts notification badges in the menu bar. It worked. But the icon rendering was ugly — just color inversion that looked wrong on different backgrounds.

I could live with it. Or I could build something better.

I chose the latter. We shipped it as Badgeify.

The Intern

Electron felt like bringing a semi-truck to a bicycle race. Tauri was the obvious choice. One problem: Tauri means Rust, and I didn’t know Rust.

Enter Claude 3.5 Sonnet. My AI intern.

I call it an intern deliberately. It’s knowledgeable. It’s fast. It’s occasionally wrong. You don’t trust an intern blindly. You guide them.

Some small functions written by my AI intern

The division of labor was simple: I handled the frontend. The intern handled the Rust parts I didn’t understand — macOS Accessibility APIs, SVG-to-PNG conversion, Dock status monitoring.

Most of its code didn’t work on first try. Wrong parameters. Deprecated APIs. I’d point it to GitHub repos, give it hints, let it iterate. Eventually, things ran.

Where AI Falls Short

One task: monitor menu bar background color changes. The intern produced elegant code. Clean abstractions. Proper API usage.

It missed every edge case that mattered.

We scrapped it and went with a completely different approach. My approach. This is the gap that matters — AI writes syntactically correct code. It doesn’t understand what the code is for.

When the intern got stuck in loops, I stepped in. I learned Rust on the fly. Not from tutorials. From fixing the intern’s mistakes.

By the end, I could write most of the Rust myself.

Thanks for teaching me Rust, intern.

Shipping

A few weeks later, the MVP was live on Reddit.

Adding some app icons to the menu bar

The image processing logic? Written by the intern, refined by me. It works beautifully now.

I kept the intern busy after launch. Custom icon uploads. Code review suggestions. Some suggestions were decent. Most weren’t. I ignored them.

Will AI Replace Programmers?

No.

If it could, I would’ve shipped this app in a weekend. Instead, it took weeks. The intern couldn’t handle deployment, infrastructure, product decisions. It couldn’t handle the parts that actually matter.

Here’s what I’ve learned: AI is a Swiss Army knife. Lots of tools. None of them are the right tool for every job. Sometimes the best solution is to close the AI chat and think.

The future isn’t AI replacing programmers. It’s programmers with AI interns. Those who can’t outperform the intern will have a problem. Everyone else will be fine.


AI didn’t replace me. It couldn’t.

But it taught me Rust, and for that, I’m grateful.

The best tools don’t do the work for you — they make you better at doing it yourself.