No. 032
If AI Can Do It All, What Can I Add?
If AI can write and review code, what can I add? A conversation with AI led me to think about 100% today and 150% beyond it.
10 min readaideveloperreflection
No. 032
If AI can write and review code, what can I add? A conversation with AI led me to think about 100% today and 150% beyond it.
10 min readaideveloperreflection
For a while, I couldn't bring myself to read the code Astra had written.
Here is an excerpt of the code Astra wrote at the time.
function Content({ content, evidence }: { content: TestContent; evidence?: (id: string) => void }) {
return <div className="test-content"><h4>사전 조건</h4><ul>{content.preconditions.map((p,i) => <li key={i}>{p}</li>)}</ul><h4>실행 절차</h4><ol>{content.steps.map((s,i) => <li key={i}>{s}</li>)}</ol><h4>기대 결과</h4><p className="expected">{content.expected}</p><h4>근거 구절</h4><div className="evidence-links">{content.evidenceIds.length ? content.evidenceIds.map(id => <button type="button" className="evidence" key={id} onClick={() => evidence?.(id)}>{id}</button>) : <span className="muted">근거 없음, 확인 필요</span>}</div></div>
}
There was so much of it, and I didn't know where to start.
My first thought was, “Can I understand something like this?” That soon led to, “Do I have to understand it?” If I didn't need to, what should a person do? If I did, how much did I need to know?
My first question to AI was about good code. I asked whether the standards for good code stay the same when AI writes it. I also asked whether the ability to write good code myself still matters. But when I thought about why I'd asked, there was a more personal concern behind it.
If I neither write the code nor understand the code that's been written, what am I here for? What is my role?
I discussed this with AI. The exchanges below are shortened and edited versions of the actual conversation. Between them, I've added why I asked the next question and what I understood.
Looking back, I think I also felt frustrated. When I understand the code, I can see where I might judge or check it. But when I can't read it at all, I don't know where or how to offer an opinion.
During the discussion, though, we found a flaw in Astra's code. Two thoughts came to me at once.
Finding a problem didn't immediately tell me what my role was. Whenever I found something I could do, “Couldn't AI do that too?” followed. Thinking about reviewing code instead of writing it didn't change that. Neither did thinking about giving instructions or verifying results.
So I asked more directly.
We searched my personal wiki and the web. Simon Willison had written about similar feelings. There were proposals for people to set the conditions work must meet and decide whether to accept the results. There was also a team describing a development process where people neither write nor review code.
As I read, I started asking, “What is being compared with what?” Suppose an experienced developer and a beginner both use AI. If the experienced developer gets a better result, that experience may have helped.
But I wanted a slightly different comparison. I wanted to compare a person working with AI against delegating that person's work to AI too. The difference between the two developers' results couldn't easily answer that.
UI and animation came to mind. UI means the screens people see and interact with. In the conversation below, a reference is an example showing the kind of screen or movement I want to create.
I didn't always know exactly what I wanted from the start. Sometimes I only thought, “I'd like to go in this direction,” after seeing other screens. Choosing references could itself be how I discovered what I wanted.
I paused there. Looking back over the whole conversation, I noticed something we'd left out.
AI may have reviewed the code. AI may also have found example screens and implemented the design. But before that, someone looked at the result and decided, “This isn't enough; let's try a different approach.” That choice was part of making the result too.
I think I'd been looking for my role only in moments when I changed the code myself. In our conversation, we kept leaving out the choice that came before the work because AI could execute it. If changing the way we worked improved the result, I had contributed something even though AI carried it out.
We hadn't separately tested the effect of a review or a reference search in this conversation. We'd found somewhere to check whether my involvement could help.
That raised the next question. What happens if AI takes over the choices people make today?
AI described a development setup where different AI agents handle planning, implementation, and evaluation. Here, an agent means an AI that takes on and carries out work.
Examples like this suggest that AI could also take over the decision to search for references. I couldn't assume people would keep doing it. But the possibility of automating it later doesn't erase what a person contributes now.
To decide what to learn and how to work, I needed to consider both today and the near future. If something helps now, I have a reason to explore it. I don't have to first prove that it will remain exclusively human forever. But I also need to consider whether it might soon become a standard AI feature.
With those two time frames in mind, we returned to UI.
Whether the features worked properly wasn't my only concern. I was also disappointed by how the screens kept looking like something I'd seen before. I thought that even after working screens became easy to build, I might still come to want more from them.
That led to the question, “How much do we need to build before it's finished?”
The percentages here aren't measured scores. I'm calling the level I want today 100%.
If reaching that level becomes easy, I might want to try things I hadn't dared to attempt before. I might seek a different experience because so many screens look alike. Even after I've built everything I want now, I might come to want something new later.
I'm not suggesting that every project should be revised endlessly. I'm thinking that after finishing one thing, I might find something new I want to make. That question hadn't occurred to me when I was only thinking about finding and filling gaps in AI's ability.
By the end of the conversation, I'd arrived at two questions.
Now: What can a person do to bring AI to 100%?
In the future: What can a person do to bring AI to 150%?
I still haven't found which tasks I must take on. How much code I need to read, and what I need to try myself, remain open questions.
But the questions I want to pursue are a little clearer now. What can I add when working with AI to get the result I want today? What else will I want to try when that result becomes easy to achieve? With those two questions in mind, I want to keep exploring what I need to understand and learn.