[KongchangAI]
· 4 min read· 2,201 words

Claude Code Team Shares Firsthand: How AI Agents Are Reshaping the Entire Software Development Workflow

Claude Code Team Shares Firsthand: How AI Agents Are Reshaping the Entire Software Development Workflow

Claude Code team documents the shift from tool-level prompting to goal-level AI collaboration in software development.

Through firsthand accounts from the Claude Code core team, this article charts a structural transformation in AI-assisted software development over the past year. The team's focus has risen from scrutinizing individual tool calls to handing goals directly to the model. Features like to-do lists and interactive question tools rose and fell as model capabilities advanced. Architecturally, the team uses fan-out Workflows for adversarial code review, cloud-hosted Loops for continuous automation, and Claude Tag to decouple UI from transcripts. The piece closes on a human note: AI has made software engineering accessible again, shifting engineers from mastering details to rapidly bringing ideas to life.

From Taking Over Individual Functions to Tackling Complex Goals

Several core members of the Claude Code team recently reflected on the past year in a candid conversation. A year ago, they were still iterating on prompts, providing feedback, and manually clicking through permission confirmations. Now, the team's focus has shifted entirely.

One member noted that 70–80% of their work now happens in Claude Code (and its Slack-native form, Claude Tag), with only the remaining 20% requiring them to open the TUI or desktop app for fine-grained adjustments. The more fundamental change is the elevation of the interaction layer — whereas the team once scrutinized every transcript, every tool call, and every model decision, the mindset has shifted to: "I have a goal; I hand that goal to the model to figure out."

The tasks handed off to the model have also grown in complexity — from "implement this class" or "write this function" to far more demanding engineering challenges. The Slack-native format allows the agent to proactively seek out product context and past team decisions, meaningfully improving decision quality.

The accelerating evolution of software development

Technology Shelf Life Compressed from Years to Two Months

Team members openly acknowledge that building Claude Code is fundamentally different from building traditional software products. In the past, the underlying technology of a product could remain stable for years — you could reasonably count on it holding up. But with AI models, the ground shifts beneath you every two months, and that compression is only accelerating.

This creates a "Tale of Two Cities" balancing act: you need to stay at the cutting edge — even push past it to feel where the boundary lies — while still delivering real value to users working with today's models. The team describes itself as a kind of "hyperbolic time chamber," getting a preview of what the entire software development industry is about to look like.

To-Do Lists: Riding the Wave, Then Letting Go

A telling example is the to-do list feature. Back in the Sonnet 3.5 era, the model couldn't handle long-horizon tasks — give it five things to do, and it would abandon the effort after three. The team introduced a to-do list, and the effect was immediate: "exactly what was needed at that moment." But a year later, with more sophisticated memory and state management available, the to-do list has become largely unnecessary.

This became a distillation of the team's philosophy: stay unattached to the things you build, because they will soon disappear. Many features are essentially scaffolding for the current model's failure modes. When the model gets stronger, those features can be decisively removed — freeing up capacity for larger, more challenging tasks that, in turn, call for new tools of a different shape.

The Rise and Fall of the ask_user_question Tool

Another example is the interactive questioning tool. The designer spent a long time training Claude to invoke it. Just as the model got good at using it, he realized he'd largely stopped using it himself — switching instead to generating artifacts, letting an HTML page with charts and mockups do the asking. The entire cycle — from "the model can barely do this" to "the model does this very well" to "we don't need this anymore" — played out in a surprisingly short time.

From Local to Cloud: Loops and Remote Agents

The origin story of "loops" has a decidedly human quality to it. Initially, all agents ran on local laptops, and shutting down for the evening meant all agents stopped — you can't exactly linger in a parking lot just to keep a machine running. The team moved to remotely hosted dev machines, then to Claude Code on the Web: hosted containers that can keep running in the background.

Setting up container access to the dev environment takes some effort, but a team member was blunt about it being "completely worth it" — calling it a 10x productivity boost. Once running in the cloud, interesting possibilities open up: setting up routines that automatically review incoming feedback every day, bucket it by importance, and autonomously fix high-confidence issues. This represents a genuine phase transition — from "prompting a model within a session" to "prompting something above the session layer that goes and fixes bugs and handles tasks on your behalf."

Loops here refer to continuously running automated agent tasks, as distinct from single conversational sessions triggered manually by a user. This concept maps onto the divide in AI engineering between "async/background agents" and "interactive agents." Traditional LLM interaction is request-response: the user asks, the model answers, the session ends. A Loop hosted in a cloud container is more like a persistent service: it can wake up on a schedule, proactively pull from external data sources (user feedback, GitHub issues, monitoring metrics), autonomously decide whether action is needed, and push results to humans when done. This model depends on several infrastructure prerequisites: a persistent execution environment (one that doesn't die when the user shuts down their machine), access permissions to external systems (read/write to code repos, API calls), and some trigger mechanism (cron jobs, event subscriptions). The team's example — "automatically reviewing feedback daily, bucketing by importance, and fixing high-confidence issues" — is a textbook application of Loops combined with code execution and judgment capabilities.

Code Review and Workflows: Building Trust Through Test-Time Compute

As the volume of generated code increases dramatically, nobody wants their job to become purely reviewing code. The team's approach is to let Claude redirect human reviewer attention more effectively.

There's a familiar pattern in traditional code review: a reviewer flags three trivial issues, essentially signaling "I read this code" without contributing much substantive judgment. Today, Claude can catch and handle those trivial issues autonomously, restoring the human reviewer's value to the bigger picture — why an API was designed a certain way, why a service boundary was drawn where it was, the background knowledge that Claude may not have fully internalized when writing the PR.

Code review and security

Code review gave rise to what the team calls a "large fan-out" pattern: having Claude search for potential bugs in parallel, then conducting adversarial review on each bug (verifying from three different perspectives whether it actually exists), before converging on results. This is essentially test-time compute in action — investing significant inference compute to inject deeper reasoning into a problem.

This mechanism evolved into Workflows. It generalizes to performance issues, general deep research, and even life decisions like "where should my parents and I stay in Tahoe next week": fan out 10 search requests, then use an agent to rank, filter, and verify, before surfacing a result. The team describes this as a MapReduce problem — the fan-out generates a flood of information that must be filtered back down to something human-consumable.

Workflows also carry a subtle source of trust: because it's an agent writing code to orchestrate sub-agents, the result is a hybrid of deterministic code behavior and agentic LLM behavior. When a team member sees Claude write a for-loop to iterate over all items, they feel reassured — "it won't skip one; it'll apply the same treatment to everything uniformly."

Test-Time Compute is an important research direction in large language models, referring to investing more computational resources during the inference phase (rather than the training phase) to improve output quality. Unlike the traditional approach of training ever-larger models, test-time compute achieves higher accuracy by having the model reason repeatedly, self-verify, or sample multiple paths in parallel. OpenAI's o1 series and DeepSeekAd-R1 are canonical products of this approach, performing chain-of-thought reasoning before answering complex questions. In agentic settings, the "large fan-out" pattern is an engineering application of test-time compute: decompose a problem into multiple parallel sub-tasks, assign them to different agent instances, then aggregate the results — essentially using horizontally scaled inference compute to counter the uncertainty inherent in any single inference pass. MapReduce is a programming model from distributed computing (introduced by Google in 2004) whose core idea is precisely "fan out to process, then reduce to aggregate": the Map phase distributes a large task in parallel across multiple nodes, while the Reduce phase merges the distributed results into a final output. The team's use of this term to describe Workflows underscores that this pattern has deep roots in computer science engineering tradition.

Claude Tag: One More Level Up the Abstraction Stack

The team is aggressively using Claude Tag to build Claude Tag itself. The key is making the development environment and development loop friendly enough for Claude that it can do everything a human would need to build and test software end to end.

How Claude Tag works

This is the team's first experience truly decoupling the user interface from the transcript — working "one abstraction layer away from where Claude is actually outputting tokens." When you see a message from Claude Tag in Slack, that's something it sent by invoking a tool. Its internal monologue is hidden by default, with only a link to the full transcript if you want it.

At first, this abstraction felt unsettling — "I can't see everything Claude is thinking." But it also brings a sense of liberation: you stop worrying about which tool it called or what parameters it passed, and you're forced to just "let Claude cook." Getting good results without scrutinizing the transcript is itself evidence that the model is strong enough.

One member shared the moment Claude Tag truly "clicked" for him: while building a new tool, he first asked Claude which stakeholders might be interested, then — in Slack, even on his phone — had it create mockups, build the implementation, add instrumentation events, and deploy internally to observe usage. Claude Tag monitored continuously and @-mentioned him whenever someone left feedback, allowing him to respond with high bandwidth. When he wanted to optimize the conversion funnel, it wasn't "I have an idea, go implement it" — it was a higher-level collaboration with the model: "come up with a few ideas."

Abstraction Layer carries a specific engineering meaning here. The traditional CLI/TUI form of Claude Code exposes developers directly to the raw output stream of the model: every tool call, every piece of internal reasoning is visible, and developers can intervene precisely. Claude Tag, as a Slack-native agent, inserts a layer between the model's output and the developer's perception: the model's "internal monologue" is hidden by default, with only the final messages sent to Slack visible. This mirrors the familiar software engineering concept of encapsulation — higher-level abstractions hide lower-level details in exchange for a smoother upper-layer experience, at the cost of losing direct observation and control over underlying behavior. The psychological shift the team describes ("from fear of not seeing the details, to feeling liberated") reflects a transition from a "debugger mindset" to a "product/goal-oriented mindset" — an adaptation that humans typically go through as the level of human-AI collaboration rises.

The Verification Loop: Where Three Primitives Converge

These practices point to three capabilities that have become primitives in Claude Code: verification, code review, and feedback collection (which can come from metrics, Slack, GitHub issues, and other data sources).

Whether to open TUI for verification

Verification is especially valued by the team. When Claude creates a PR for Claude Code, it runs tests and sends screenshots of the UI to provide confidence. One member described their verification workflow: first have Claude record itself using the TUI, then personally clone and try it themselves "just for peace of mind" — and predict that even this manual verification step will eventually fade away.

What Software Engineers Have Lost — and What They've Gained

The conversation ended on an emotional note: do you miss the old era of software engineering?

One person misses the joy of performance engineering — diving deep into systems, squeezing out performance. Claude does it better now, but they still get to benefit from the performance improvements, with attention shifted toward "getting new ideas from idea to prototype to production, faster." Another is a UI details perfectionist who once spent an entire day recreating the Mac OS X Aqua button using layers of radial gradients — now Claude handles that instantly, and they'd never do it by hand again.

But this same member offered the most moving reflection in the entire conversation: Claude made all of software engineering feel accessible to him again. He remembered being seven or eight years old, wanting to make games but not knowing how to code — the only tool available was PowerPoint, where you could draw clickable shapes. Now, no matter what idea he has, he's never blocked by "not having the technical ability." He just needs to articulate what he wants to achieve, then work with Claude to break it down and build it.

As the team put it, software engineering has always been a profession defined by change — from handwriting JavaScript without frameworks, to the invention of frameworks and compilers, change is simply accelerating. But the essence of software has never changed: how to use these tools to solve problems and create something remarkable. What changes are the problems. What doesn't change is the act of solving them.

#Claude Code#AI agents#software development#Claude Tag#test-time compute#agentic workflows#code review automation#LLM engineering
Share:

Related articles