Accepting an epoch timestamp rather than 3339 like the rest of the codebase is the most recent example. The API standardized on one timestamp and I had an endpoint expecting epoch, it was smart enough to infer the rest of the APIs were 3339 and go change the epoch timestamp accepting backend route including writing a database migration and fixing tests. I haven’t pushed the fix yet
So think about the reasoning there. It read the API docs that said all the timestamps were 3339, it ran a bunch of working 3339 timestamps and was getting them back from most of the APIs, so it decided this was a standard, read the code on the backend and understood this endpoint was different, and decided on the right fix and implemented it. Didn’t need to ask me for help. That is pretty impressive if you’ve been using copilot.
I hope this doesn’t come off as combative because that’s not my intention, but given that your code needed to be brought into alignment with the wider code base, couldn’t this have been achieved in a couple minutes with a find and replace that was scoped to just your endpoint methods and routes? In all the discussions about coding with AI I’m just continually struck by the idea that if someone has enough knowledge of their code base then most of the changes I see described seem trivial.
On the other hand, I also get the sense that for a very large organization with siloed teams that sure, the org moved to bring all the endpoint timestamps to a standard 3339 and either you never got the memo or your endpoint being misaligned would get caught at code review time and changed then but the agent was proactive here and went ahead and saved some time. Like, truly, I get that the marginal gains there add up on the balance sheet.
But what about when it is important that your APIs timestamps stay unaligned as epoch? Do you now need to set an override to meta-program that field for the AI as an additional token in the context window every time it runs?
Part of me is impressed for sure about what’s being achieved, but then another part is like “is the boilerplate of copying in the database field names and then shift+alting to write 100 lines of { get; set; } at the same time really so terrible for everyone?” I’m being hyperbolic for effect but I think my point is clear.
There’s also a third part of me that feels like I’m watching the creation of credit-default swaps of tech debt. If no one has time to do the changes that seem like a lot of work to a large organization with inertia because no one has the breadth of mastery needed to implement them as efficiently as possible, how the heck is anyone going to audit and fix the behavior when subtle mistakes eventually cascade?
Is this just the coding version of Amazon outsourcing their shipping to third party contractors that definitely led to people dying but shielded Amazon from liability? Like, “oops, sorry we don’t know why the AI changed our code and your bank account got emptied, we’ll look into it, but it’s not our fault, just the vagaries of fate!”
Again, I do understand the possible business savings in the short term in terms of administrative overhead, but I really shudder at the possible downstream effects of agentic code at scale and I’m trying to understand the real savings for a user that outweighs the downside risk of blowing up your production system and then being in a position of no one suited to fixing it who is responsible to do so.
The promise of AI before all of this was a robot would do the dishes and fold the laundry, so we could do the enjoyable things. This is a robot that can do the dishes, finally, so I can do the hard work.