新トレンド:並列AIエージェントを起動するプログラミング
AIエージェントを並列実行する新しいプログラミング手法が、ソフトウェアエンジニアの間で広まりつつあり、従来の開発プロセスを変革する可能性がある。
キーポイント
並列AIエージェントの実践的活用
Claude CodeやOpenAI Codexなどのエージェントを複数同時に実行し、異なるタスクを並行処理する手法が、ソフトウェアエンジニアの間で実験的に採用されている。
生産性向上の可能性
AnthropicのエンジニアやAI専門家の実践例から、複数エージェントの並列実行が作業効率を向上させる可能性が示唆されている。
従来の開発プロセスへの影響
この手法が普及すれば、数十年にわたるソフトウェアエンジニアリングの慣行(特に「フロー状態」を重視した集中作業)を覆す可能性がある。
実用的な適用範囲
研究、メンテナンスタスク、指示された作業など、認知負荷を増やさずに並列実行できるタスクが特定されている。
上級エンジニアの並行処理能力とAIエージェントの親和性
上級エンジニアは複数のワークフローを頭の中で管理し、中断に対処し、同僚を指導する能力があり、これらが並列AIエージェントを効果的に扱うための自然な適性となっている。
並列AIエージェントの生産性への影響に関する疑問
並列AIエージェントの使用が実際に生産性を向上させるか、単に生産的だと感じさせるだけか、また信頼性の高いソフトウェア開発との関係についてはまだ不明である。
AIエージェント使用時のソフトウェア工学の基本原則
ユニットテスト、小規模で明確なタスク定義、定期的なリファクタリング、コードレビュー、手動での小変更など、従来のソフトウェア工学のプラクティスがAIエージェントの信頼性向上に重要である。
影響分析・編集コメントを表示
影響分析
このトレンドは単なるツールの進化ではなく、ソフトウェア開発の根本的な作業方法を変革する可能性がある。エンジニアが複数のAIエンジニアを同時に「管理」する新しい役割が生まれ、チーム構成や開発プロセス全体に影響を与えるだろう。
編集コメント
AIツールの進化が単なる補助から開発手法そのものの変革へと発展している点が興味深い。エンジニアの役割が「コードを書く」から「AIエージェントを指揮する」へとシフトする可能性を示唆している。
こんにちは、Pragmatic Engineer ニュースレターの特別無料号をお届けするゲルゲーです。毎号、シニアエンジニアやエンジニアリングリーダーの視点からビッグテックとスタートアップを取り上げています。今回は The Pulse #149 から一つのトピックを扱います。フルサブスクライバーには、この記事を 2 週間前に配信しました。このような記事を毎週あなたのメールボックスにお届けするには、こちらから購読してください。
Claude Code、OpenAI Codex、Cursor など、エージェント型コマンドラインインターフェースが主流となる中で、複数のソフトウェアエンジニアが、並行して複数のエージェントを起動し、別々のタスクに取り組むという実験的な動きを目にしています:
Anthropic のエンジニアである Sid Bidasaria 氏に Claude Code の構築方法についてお話ししましたが、会話の最後に、彼は数個のエージェントを常時実行しており、それが仕事の生産性を高めたと言及しました。同様に、AI エンジニアリングの専門家と私が考えるソフトウェアエンジニアの Simon Willison 氏は、「並行するコーディングエージェントライフスタイルを受け入れる」という投稿を行いました。彼はこう書いています:
「ここしばらく、複数のコーディングエージェントを同時に実行しているエンジニアたちから話を聞いてきました。同じリポジトリ内で、あるいは複数のチェックアウトや git worktree に対して、数個の Claude Code や OpenAI Codex インスタンスを同時に起動するのです。
(注:原文がここで切れているため、以降は翻訳できません)
最初は私もかなり懐疑的でした。AI が生成したコードはレビューが必要なので、このすべてのプロセスにおける自然なボトルネックは、私が結果をどれほど速くレビューできるかにかかっています。これほど高速に成果物を生み出す LLM を一つだけ追うことさえも困難なのに、一度に複数実行しても結局自分がさらに取り残されるだけなら、一体どんなメリットがあるのでしょうか?
私の懸念にもかかわらず、ここ数週間で私は静かに並列コーディングエージェントのライフスタイルを受け入れ始めていることに気づきました。
一度に一つの大きな変更だけをレビューして確定させることしか集中できませんが、主要な業務に過度な認知負荷を加えることなく、並列で発注できるタスクの数が徐々に増えていると感じています。
Simon は自分に効果がある方法についてアドバイスを提供しており、研究や保守作業、指示された作業などすべてがユースケースとして言及されています。
エージェントとの並行作業が、数十年にわたるソフトウェアエンジニアリングの慣行を覆す可能性を持っているかどうかを考えるのは興味深いです。一度に複数のエージェントを開始するソフトウェアエンジニアが、「一度に一つの課題に取り組む」単一スレッド型の同僚よりも生産性が高くなるという仮定を立ててみましょう。もしそうであれば、十分な数のソフトウェアエンジニアが生産性の向上を目指したり、以前より多くのことを実行する同僚に取り残されるのを避けたりしたいと願うなら、この実践は広まる可能性があります。
しかし、AI 以前の時代のエンジニアリングとは、多くの生産的なエンジニアにとって「フロー状態」にあることすべてでした。フロー状態とはおよそ以下のようなものです:
動く部品を理解する
解決策を構築し、検証し、改善する
動作に満足したら、コードレビューのためにプルリクエストを送るか、レビューが不要な場合はそのままマージしてリリースする
このプロセスを中断するとフロー状態が崩れ、再び集中するには時間がかかる。そのためソフトウェアエンジニアは、コーディング作業で進捗を出すために集中時間を優先しがちである。
もちろん、これはすべての高生産性エンジニアに当てはまるわけではない。私がエンジニアマネージャーだった頃、私のチームで最も生産性の高いエンジニアたちは多くのコンテキストスイッチを行っており、複数のことを同時に捌くのが得意であった。テックリードとして働くシニアエンジニアの平均的な一日を挙げる:
コードレビュー。オフィスに着いたら、前夜のオープンなコードレビューを確認する
コーディング。自分のコーディング作業を進める
スタンドアップ。いつもの通り
さらにコーディング。仕事を完了させる。少なくともそれが理想である。実際には:
中断:コードレビュー、助けを求める依頼、肩を叩かれること。チームで最も生産性の高いエンジニアは定期的に、同僚のブロックを解消するためのコードレビュー依頼や、行き詰まっている他者の支援要請、あるいはマネージャー(私だ!ごめんね!)からの何かの手伝い依頼のために肩を叩かれる。
既存の習慣と現在の行動に基づけば、シニア以上のエンジニアが並列 AI エージェントとの作業において「自然にこなせる」ようになるだろうか:
頭の中で並列ワークフローを維持する。例えば、チームメンバーがそれぞれの時点で何をしているか把握しておくこと。
複数のワークストリームにわたるコードレビュー:彼らはデファクトスタンダードのコードレビュアーであり、通常 2〜5 のワークストリーム全体の変更をレビューします。実際に作業を行うわけではありませんが、何が正しいかを知っています。
中断への対応力:彼らは集中力が絶えず妨げられる状況でも進捗を出し続ける方法を学んでいます。
同僚の指導能力:頻繁に邪魔されるため、タスクの委任や緊急業務をチームメンバーに説明する方法も習得しています。
文章作成スキル:これらのエンジニアは多くのコードレビューを書き、作業内容を概説する RFC(Request for Comments)のような文書を作成し、プロジェクトを分解するためのチケットを作成し、同僚の成果に対して批判的検討を行います。これらすべてが効果的な文章コミュニケーションを必要とします。
AI エージェントを用いることで、より生産性を高めたいエンジニアにとって、優れたテックリードに必要な資質は手の届くところにあります。これまで私が聞いた限り、並列エージェントを成功裏に活用しているのはシニア以上のエンジニアだけです。
しかし、このワークフローがすべての人に定着したわけではありません:私は Flask の作成者である Armin Ronacher に並列エージェントの利用経験について尋ねました。彼はこう答えました。
「時々、並列エージェントを起動しますが、以前ほど頻繁には行いません。
理由はこうです:私の頭でレビューできる量には限界があるからです!」
しかし、あらゆる開発者がコーディングエージェントを使って並行してコーディングを開始できるという新しい領域に私たちは今入っています。これがエンジニアの生産性を高めるのか、それとも単に人々が自分たちの生産性が高くなったと感じさせるだけなのか。おそらく、一度に一つのことに集中し、焦点を維持するエンジニアの方が、時間とともにより信頼性の高いソフトウェアを生産することが示されるでしょう。あるいは、並行してエージェントと作業することは、より多くの問題が見過ごされ、より多くの反復が必要となり、あらゆる利益を破壊することになるかもしれません。
私たちはそれを知るでしょう。個人的には、より多くの開発者が並行エージェントの実験を行うことしか見えていません。
私の感覚では、AI エージェントとの作業においてはソフトウェアエンジニアリングの基礎がこれまで以上に重要になります。私は自分のサイドプロジェクトで AI エージェントの使用を始めましたが、これまでに成功しています。私が行うことはいくつかあります:
テスト:すべてのサイドプロジェクトにはユニットテストがあります。検証なしに自分の仕事を信頼しないことを学んだからです。
小さく記述的なタスク:スコープが小さいタスクを与え、その内容を説明し、例を示します。
リファクタリング:3 番目または 4 番目のタスクは、エージェントが彼らが書いたコードをリファクタリングすることです(例えば、メソッドに抽出する、新しいクラスに移動するなど)。
レビュー:私はエージェントが行ったことを追跡しています。
個人的に小さなことを行う:IDE を開き続けます。数行で手動変更できることは何でも自分で処理し、コードベースへの意識を保ちます。
他のエンジニアたちからも同じ声をよく耳にします:「エージェントが継続する前にすべてのテストをパスすることを義務付ける」ようなエンジニアリングプラクティスを強制することは、より良い結果をもたらすということです。これは驚くべきことではなく、まさにこれらのプラクティスが人気を集めている理由です。AI エージェントは非決定論的であり、ある程度信頼性に欠けるものです;しかし、こうしたプラクティスによってそれらははるかに信頼性が高く、実用可能になります。
これは『The Pulse #149』で取り上げられた 5 つのトピックのうちの一つです。本号ではさらに以下の内容も扱っています:
ACP プロトコル。Zed チームが構築した新しいプロトコルで、MCP プロトコルよりも IDE 向けの AI ツールビルディングを容易にすることを目指しています。
AI セキュリティツールは驚くほどよく機能するのか?AI を活用したセキュリティツールは、成熟したオープンソースプロジェクトにおけるセキュリティ欠陥の特定において優れた能力を示しているようです。
AI は米国経済成長の唯一のエンジンなのか?今年の米国の GDP の 40% が AI 関連支出に基づいており、ベンチャーキャピタルの 60% もが AI に投資されています。2001 年のようにバブルが弾けるような結末にはならないことを願っています。
8 つの大規模テック企業での面接を比較。プーネット・パトワリ氏は 8 つの主要なテック企業に応募し、6 つからオファーを受けました。彼は Meta、Amazon、Uber、および他の 5 つの職場での面接経験を比較しています。
本号全文はこちらで、今日の『The Pulse』はこちらでご覧ください。
原文を表示
Hi, this is Gergely with a bonus, free issue of the Pragmatic Engineer Newsletter. In every issue, I cover Big Tech and startups through the lens of senior engineers and engineering leaders. Today, we cover one topic from The Pulse #149. Full subscribers received the below article two weeks ago. To get articles like this in your inbox, every week, subscribe here.
With agentic command line interfaces like Claude Code, OpenAI Codex, Cursor, and many others going mainstream, I’m seeing a trend of more software engineers experimenting with kicking off work with several agents simultaneously on separate tasks:
I talked with Anthropic engineer Sid Bidasaria about how Claude Code is built, and at the end of our conversation, he mentioned that he’d had a few agents running throughout and that it made him more productive with work. Similarly, software engineer Simon Willison, whom I consider an AI engineering expert, has posted about “embracing the parallel coding agent lifestyle.” He writes:
“For a while now, I’ve been hearing from engineers who run multiple coding agents at once—firing up several Claude Code or OpenAI Codex instances at the same time, sometimes in the same repo, sometimes against multiple checkouts or git worktrees.
I was pretty skeptical about this at first. AI-generated code needs to be reviewed, which means the natural bottleneck on all of this is how fast I can review the results. It’s tough keeping up with just a single LLM given how fast they can churn things out, where’s the benefit from running more than one at a time if it just leaves me further behind?
Despite my misgivings, over the past few weeks I’ve noticed myself quietly starting to embrace the parallel coding agent lifestyle.
I can only focus on reviewing and landing one significant change at a time, but I’m finding an increasing number of tasks that can still be fired off in parallel without adding too much cognitive overhead to my primary work.”
Simon shares advice about what works for him, with research, maintenance tasks, and directed work all mentioned as use cases.
It’s interesting to consider whether parallel work with agents has the potential to overturn decades of software engineering practices. Let’s assume software engineers who kick off multiple agents at once do become more productive than “single-threaded” peers who work on one problem at a time. If so, then this practice has a chance to spread, should enough software engineers seek to be more productive – or want to avoid being left behind by some colleagues doing more than before.
But engineering in the pre-AI era was all about being in the flow for many productive engineers. A flow state goes something like this:
Understand the moving parts
Build a solution, validate it, iterate on it
When satisfied with how it works, submit a pull request for code review — or, if no review is needed, just merge and ship it
Interrupting this process disrupts the flow state, and it takes time to get back into it: it’s why software engineers tend to prioritize focus time, to make progress with coding work.
Of course, this isn’t universal among all highly productive engineers; when I was an engineering manager, the most productive engineers on my team did a lot of context switching and were adept at juggling several things at once. Here’s an average-looking day for a senior engineer acting as a tech lead:
Code reviews. Arrive at office, go through open code reviews from the previous night
Coding. Get some of their own coding work done
Standup. The usual
More coding. Get the work done. At least, that’s the idea. In reality:
Interruptions: code reviews, requests for help, taps on shoulder. The most productive engineer on a team regularly gets messages requesting code reviews to unblock teammates, or to help someone else who’s stuck, or the manager (me – sorry!) tapping them on the shoulder for help with something.
I wonder if senior+ engineers will be “naturals” at working with parallel AI agents, based on their existing habits and what they do currently:
Keep parallel workflows in their heads; e.g., what team members are doing at any one time.
Code reviews across several workstreams: they’re the go-to code reviewer, and usually review all code changes across 2-5 workstreams. They may not do the work, but know when it’s correct.
Can handle interruptions: they’ve learned how to make progress when their focus is continually being broken.
Good at directing colleagues: because they’re regularly interrupted, they’ve also learned how to delegate and explain urgent work to team members.
Writing skill: these engineers write a lot of code reviews, draw up documents like RFCs that outline work, create tickets to break down projects, and critique colleagues’ efforts; all this involves communicating effectively in writing.
With AI agents, the qualities that make a good tech lead are within reach for engineers who want to be more productive. So far, the only people I’ve heard are using parallel agents successfully are senior+ engineers.
Then again, this workflow hasn’t stuck with everyone: I asked Flask creator Armin Ronacher about his experience with parallel agents. He told me:
“I sometimes kick off parallel agents, but not as much as I used to do.
The thing is: it’s only so much my mind can review!”
But we’re in new territory now that any dev can kick off parallel coding with coding agents. Will it make engineers more productive, or will it just make people feel like they’re more productive? Perhaps engineers who do one thing at a time and keep focus will be shown to produce more reliable software, over time. Or maybe it’ll turn out that working with parallel agents leads to more issues slipping through and more iterations, which destroys any gains.
We will find out. Personally, I can only see more devs experimenting with parallel agents.
My sense is that software engineering basics matter more when working with AI agents. I’ve started to use AI agents for my own side projects, with success so far. I do a few things:
Testing: all side projects have unit tests because I learned to not trust my own work without validation
Small, descriptive tasks: I give tasks small enough in scope, which I explain, and give examples of
Refactoring: every third or fourth task is for the agent to refactor some code they wrote (e.g., extract into a method, move to a new class)
Review: I track what the agent does
Do small things personally: I keep my IDE open and do anything that’s a few lines to change by hand, so I stay aware of the codebase
I keep hearing the same from other engineers: “mandating” engineering practices like having the agent pass all tests before continuing, leads to better results. This is unsurprising and it’s why these practices are getting popular. AI agents are non-deterministic and to some extent unreliable; these practices make them a lot more reliable and usable.
This was one out of the five topics covered in The Pulse #149. The full edition additionally covers: The full issue additionally covers:
ACP protocol. A new protocol built by the Zed team, which tries to make it easier to build AI tooling for IDEs than the MCP protocol allows
AI security tooling works surprisingly well? AI-powered security tools seem good at identifying security flaws in mature open source projects
Is AI the only engine of US economic growth? Forty percent of US GDP this year is based on AI-related spend, while 60% of venture capital goes into AI. Hopefully, it won’t end up as a bubble which bursts like in 2001
Comparing interviews at 8 large tech companies. Puneet Patwari applied to 8 major tech companies, and received 6 offers. He compares his interview experiences at Meta, Amazon, Uber, and 5 other workplaces
Read the full issue here, and check out today’s The Pulse here.
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み