Claude Code チームが語る この一年の使い方の変化: コード作成から 製品目標の達成へ
関数の作成から製品の目標達成へ。Claude Code チームは、開発環境、ワークフロー、フィードバックをつないできました。モデルの進歩に合わせて、ツールと自分たちの働き方も見直しています。
- 製品目標をエージェントに委ねるには、チームの背景情報を伝え、現象を分析したり提案を考えたりする余地を残すことが重要です。
- モデルの能力が向上すると、以前は役立っていた補助ツールが価値を失うことがあります。一方で、より大きなタスクには新しい環境や協働の仕組みが必要になります。
- ワークフローの役割分担や結果のつなぎ方も Claude に設計させ、プログラムで実行を組み立て、レビューで重要な発見を絞り込むことができます。
- テスト、レビュー、利用者のフィードバックを連携させると、開発者は段階的な監督を減らし、製品の方向性や実際の使い勝手に注意を向けやすくなります。
Claude 公式チャンネルで、約22分のインタビュー動画 『How the Claude Code team uses Claude Code』 が公開されました。Claude Code チームの Thariq Shihipar 氏、Sid Bidasaria 氏、Robert Boyce 氏が、自分たちが開発したツールをどのように日常業務で使っているかを語り、この一年での働き方の変化についても振り返っています。
以前は、Claude に対して「関数を書く」といった具体的な指示を与え、その結果を確認して修正を依頼するという使い方が中心でした。現在は、製品案の検討、プロトタイプの作成、コード作成、テスト実行、さらにはツール導入後のフィードバック整理まで、より包括的な業務を Claude に任せるようになっています。あるメンバーは、自分で考えた修正方法を Claude に実装させるつもりが、最終的には「ユーザーがこのフローを完了できていません。改善方法を考えてください」と伝える方法に変えたそうです。このようにして、Claude は問題分析や提案にも関与するようになりました。
このような使い方には、事前の準備が必要です。Claude はチームが過去に下した決定を把握し、ソフトウェアやテストを実行できる開発環境を利用できなければなりません。また、次のステップを人間が判断できるように、スクリーンショットやテスト結果、ユーザーフィードバックを持ち帰ることも求められます。同時に、チームは既存ツールの必要性も見直しています。初期のモデルはタスクをやり忘れることが多かったため、彼らは ToDoリストを追加しました。しかし、モデルの性能向上に伴い、そのリストの重要性は薄れ、再調整を行いました。インタビューでは、これらの具体的な使用方法と、Claude の進化に合わせてチームが働き方をどのように変えてきたかが語られています。
インタビュー全編・中国語と英語の二言語字幕
関数の指示から、目標の達成へ
Claude Code は、開発者のプログラミング作業を支援する AI ツールです。インタビューでは、チームが使用・開発中の Slack ネイティブエージェントである Claude Tag についても紹介されました。Slack はチームコミュニケーションツールであり、Claude Tag はそこでタスクを受け取るだけでなく、製品に関する議論やチームの決定事項を閲覧することもできます。
あるメンバーは、自分の仕事の約 70%〜80% が Claude Tag 内で発生していると推定しています。残りの一部は、ターミナルインターフェースやデスクトップアプリケーションを開いて微調整を行います。これは個人の使用方法ですが、会話の入り口がチームの日常的なコラボレーションの場に移り、Claude に任せる問題が「このクラスを実装する」や「この関数を作成する」といった範囲をはるかに超えていることを示しています。
製品がなぜこのように設計されたのか、チームがどのような選択肢を断念したのか、特定の決定の背後にある制約は何か。こうした情報は、コードの中には存在しないことがよくあります。コードベースのみでは、モデルは「どうやって実装するか」は分かるかもしれません。しかし、議論や決定の背景が加わることで、「このチームの目標に合致する方法」を判断できる可能性が高まります。
人間が注意を向ける点も変わっています。以前は、ツール呼び出しやモデルの判断を一つずつ細かく確認していました。現在は、目標を提示し、Claude が結果を持ち帰るのを待つ場面が増えています。例えば、「指定した修正を実装してほしい」という依頼では、解決策を考えるのは人間です。「このフローを完了するユーザーを増やしてほしい」と伝えれば、状況の分析、改善案の提案、選択肢の比較まで Claude に任せられます。
このように目標レベルで委任する場合、エージェントへの要求はより高くなります。エージェントは、背景情報を取得し、作業を整理し、成果物を実行し、人間が次のステップを判断できるように結果を持ち帰る必要があります。チームがその後語ったツールの変化は、このような働き方の条件を整えるためのものでした。
目標の規模が拡大する中、補助ツールもモデルとともに進化する
チームが直面した特有の問題は、ツールが依存するモデルの能力変化が非常に速いことでした。インタビュー対象者によると、以前はひとつの技術が長年にわたって安定して使用されましたが、現在では基盤となる能力がおよそ二か月ごとに顕著に変化するとのことです。ツール開発においては、今日の問題を解決することだけでなく、どの問題がすぐに消滅する可能性があるかを見極めることも重要になっています。
ToDoリストはその一例です。Sonnet 3.5 の頃、彼らはモデルが長いタスクを処理する際に漏れが生じやすいことを発見しました。五つのことを依頼しても、三つ完了した時点で停止してしまうことがありました。リストを追加することで、パフォーマンスは改善されました。その後、モデルの能力と利用可能な記憶状態が変化し、メンバーは当時のリストが以前ほど必要ではなくなったと判断しました。
ここには絶えず変化する連鎖があります。まず、モデルの具体的な失敗を発見し、ツールで補完します。モデルが進歩したら、その補完メカニズムが依然として価値があるかを再検討します。そして、タスクを拡大すると、新たな調整や状態管理の問題に直面します。ツールは問題に合わせて変化する必要があり、各世代のモデルのパッチを積み重ね続けるべきではありません。
チームは、モデルを中心にツール、状態、実行プロセスを組織化するシステムを harness と呼んでいます。これは、モデルが作業を完了させるための実行フレームワークと理解できます。時代遅れのメカニズムを削除することは、新しいタスク形態のための設計スペースを確保することでもあります。
質問方法の進化は、別の変化を示しています。当初、メンバーは計画を立てた後に Claude がユーザーへ質問することを望みました。その後、これはモデルが自ら呼び出すことができる AskUserQuestion ツールへと変化しました。その当時は、モデルが適切に使用できるようにインターフェースを注意深く設計する必要がありました。能力が向上するにつれて、Claude は HTML の成果物を直接生成し、図、インターフェースのプロトタイプ、質問を組み合わせることができるようになりました。
例えば、インターフェース案について議論する際、人間は目に見えるプロトタイプを見ながら決定を下すことができ、双方が言葉だけで異なるインターフェースを想像する状況を減らすことができます。かつて固定されていた質問インターフェースは、今では Claude がタスクに応じて生成する成果物のひとつになりました。権限管理、可視化、質問といった基本的な機能は依然として重要ですが、これらは異なる働き方に組み合わせることができ、上位の製品は初期の形態に固定される必要はありません。
継続的な進捗のために、まず作業をノートパソコンから切り離す
目標が拡大すると、実行はしばしば一回の会話や勤務時間を超えて継続します。チームは定期的なタスクについて語る際、まず単純な障害に言及しました。エージェントがノートパソコン上で動作している場合、オフィスを離れたり、ノートパソコンを閉じたりすると、作業が停止してしまうということです。
チームはまずリモート開発マシンを使い、ノートパソコンを開いたままにする必要をなくしました。ただ、リモートマシンに接続し、作業環境に戻る手間は残りました。その後、Web から利用できるマネージドコンテナが便利な入り口となり、開発環境をリモートで継続して動かせるようになりました。
ここでは、二つの異なることを解決する必要があります。一つ目は、タスクが継続的に実行できるかどうかです。二つ目は、Claude がその環境で実際に開発を完了できるかどうかです。コードをリモートに置くだけでは不十分で、ソフトウェアを起動し、必要な依存関係にアクセスし、テストを実行し、開始から終了までの完全なフローを確認する必要があります。
Robert 氏は、Claude Tag を使って Claude Tag を開発する際、主にこれらの条件を整えることに注力していました。エージェントが開発者と同等の環境とエンドツーエンドのテスト能力を持つようにすることが重要です。ソフトウェアの依存関係の統合が複雑になればなるほど、この準備作業はより困難になり、エージェントが最終的にどこまで自律的に進められるかに影響します。
環境が安定すると、指示は継続的な責任になりやすくなります。例えば、毎日受け取ったフィードバックを確認し、重要度で分類し、確信度の高い問題を処理します。このようなループは複数回の実行にまたがり、人間が毎回同じタスクを改めて開始する必要はありません。
あるメンバーは、リモート環境を構築した後の個人的な生産性の向上について、約十倍になったと表現しています。インタビューでは測定方法は示されていません。参考になる具体的なアプローチは、実行環境の構築も委任作業の一部として捉えることです。目標に必要なアクションを、Claude が実行できる状態にすることです。
複雑なタスクでは、Claude 自身にワークフローを設計させる
複雑な目標には、もうひとつの独立した課題があります。それは、作業の分解です。チームはコードレビューを例に挙げています。まず、複数のエージェントが異なる方向から潜在的な問題を探索し、次に各候補問題について多角的なレビューを行い、最終的に人間が注目すべき重要な項目を絞り込みます。
このプロセスの鍵は、まず探索範囲を広げ、その後段階的に結果を収束させることです。
- 並行探索複数のエージェントが異なる方向から潜在的な問題を探します。
- 多角的な検証候補となる問題が実際に存在するかを一つずつ確認します。
- 重要項目の選別人の注目が必要な項目を絞り込みます。
- 人の判断製品の意図、インターフェース設計、サービス境界を考慮して判断します。
インタビューで紹介された方法は、候補となる問題を三つの異なる視点から再検討し、それが実際に存在するかどうかを判断するというものです。これにより、開発者は単に多数の可能性のある問題を受け取るのではなく、さらなる分析とフィルタリングを経た調査結果を受け取ることができます。多角的なレビューは誤検知を減らすのに役立ちますが、最終的な判断は証拠に基づいている必要があります。
彼らは、問題を解く際に推論と計算の投入を増やすことを test-time compute と呼んでいます。ここで増えるのは、現在のタスクに対する分析作業です。方向性を追加したり、レビューを複数回行ったりして、その追加作業をより有用な結果に変換します。
さらに進んで、ワークフロー自体も Claude が設計できるようになりました。人間が問題を提起すると、Claude はどのエージェントが必要か、どの方向を並行して展開するか、前の層の出力をどのように次の層へ渡すか、そして最終的にどのように集約するかを決定できます。その後、Claude はコードを書き、それらのエージェントを接続して実行します。委任範囲は、個々の分析から、分析作業をどのように組織化するかという点にまで拡大しました。
コードとモデルは、それぞれ異なる役割を担っています。プログラムループは、各項目に対して同じ一連のステップを実行し、「五つ確認すると言いながら三つしか確認しない」といった漏れを防ぎます。モデルは、各項目内で理解と判断が必要なコンテンツを担当します。プログラムはプロセスの一貫性を維持するのに役立ちますが、各分析が正しいかどうかは、別途判断する必要があります。
この方法は、一般的な調査にも使用できます。チームは、両親を Tahoe に連れて行く旅行の例を挙げました。宿泊施設やアクティビティなどの方向性をそれぞれ検索し、フィルタリング、照合、集約を行います。最終的な収束は重要です。そうでなければ、並行作業は単に多くの断片的な資料を人間に渡すだけになってしまいます。
コードレビューにおいても、人間の注意はより高いレベルへと移行しています。Claude が細かな問題を先に処理できる一方で、人間はインターフェースがなぜこのように設計されたのか、サービス境界がなぜここにあるのか、実装がチームの製品意図と一致しているかといった点を重視する価値があります。これは、冒頭のコンテキストの問題に戻ります。局所的なコードが妥当に見えても、それがシステム全体の設計上の理由と一致しているとは限りません。
各ステップを細かく監視するのではなく、確認可能な結果に基づいて協働する
ワークフローがバックグラウンドで進行するようになると、人間とエージェントのインターフェースも変化する必要があります。Claude Tag は、日常的なメッセージと完全な実行記録を分離しています。メッセージ送信はモデルが呼び出すことができるツールであり、モデルはいつ、何を人間に報告するかを選択します。プロセスを追跡する必要がある場合は、人間が完全な記録へのリンクを開くことができます。
これにより、製品インターフェースがモデルのすべての出力やツール呼び出しを同期表示する必要がなくなります。インタビュー対象者は、以前のように細部を監視できないことへの不安が最初はあったものの、その後、良い結果が繰り返し得られることで、この働き方が楽になったと述べています。インターフェースの変化は、目標、未解決の問題、成果物を中心にコミュニケーションをとる、別のタイプのコラボレーションを彼らに促しました。
この信頼を支えているのは具体的な検証です。Claude はコード変更を提出する際、テストを実行し、画面のスクリーンショットを送ります。ある社内ツールの開発者は、Claude にターミナル画面を操作する様子も録画させました。その録画を見た後、コードをローカルに取り込み、自分で試して、実際の使い心地にも満足できると確かめました。
これらのフィードバックには、それぞれ異なる目的があります。テストは機能の確認に役立ち、スクリーンショットはインターフェースの状態を示し、操作録画は一連のフローがどのように完了するかを示し、自分での試用は使用感を補完します。開発者は段階的な監視を減らしながらも、成果物を通じて作業の進捗状況を判断することができます。
実装が目標に適合しているかどうかは、コードレビューと実際の使用フィードバックによって確認されます。前者はコードと設計の問題を発見するのに役立ち、後者はチームがツールの導入後に何が起こったかを把握することを可能にします。
実装とフィードバックをつなぎ、製品全体を前進させる
インタビューで最も包括的なケースは、あるメンバーが複数人のサポートを必要とする社内ツールを開発した例です。彼はまず Claude に、このアイデアについて誰と議論すべきか、誰が関心を持つ可能性があるかを特定させ、次にインターフェースのプロトタイプを作成しました。人間はスマートフォンの Slack を通じてプロトタイプを確認し、具体的なプランを議論できるため、アイデアは次の実装段階に進みやすくなります。
コードが作成された後、新たな問題が浮上しました。ツールが実際に使用されているか、ユーザーがフローを完了できるかどうかです。彼はツールにイベント記録を追加し、社内展開後に Claude が使用状況を継続的に観察し、同僚のフィードバックにも注意を払うようにしました。必要に応じて、議論に参加するよう自分に通知することもします。
この製品開発の連鎖において、各ステップが次のステップへの情報を提供しています。
| 推進段階 | Claude が担当した作業 | どのように次へ進めるか |
|---|---|---|
| 関連する同僚を見つける | アイデアに関心を持ちそうな人を調査 | 誰にプランを説明し、支持を得るべきかを把握する |
| 見えるプロトタイプを作成 | インターフェースを生成し、Slack で議論 | 抽象的なアイデアを、選択・修正可能なプランへ変換する |
| 実装と社内展開 | 実装を作成。ツールにイベント記録を追加し、社内利用を開始 | ツールの使用状況を継続的に観察する準備をする |
| 使用状況とフィードバックの観察 | イベントを追跡し、議論を監視して開発者に通知 | ユーザーがどこで停止し、どのような問題に直面しているかを把握する |
| 次の改善案を提案 | 観察結果に基づいて方向性を分析し、プランを提案 | 実際の使用状況を次の製品目標に変換する |
最後の転換が最も価値があります。開発者は、一部のユーザーが操作フロー全体を完了していないことに気づきました。彼は当初、自分の修正案を Claude に実装させようと考えていました。しかしその後、彼は質問の仕方を変えました。Claude にこのフローの改善を依頼し、まず考え方を提案してもらうことにしました。自分の案は一例として提供しました。
チームはこのプロセスを「ファネル」と呼んでいます。ユーザーが使用開始から目標達成までに経る一連のステップを指します。ユーザーがどのステップで停止したかを知ることは、分析の出発点に過ぎません。改善目標を Claude に委ねることは、Claude が現象を基に原因を探り、プランを比較できることを意味し、初めから人間が選択した答えを実行するだけではありません。
関連する同僚、プロトタイプ、実装、イベント記録、フィードバックは、これによって同じ目標に向かって結び付けられています。テストとレビューは変更のチェックに役立ち、使用フィードバックは次のラウンドの選択の根拠を提供します。Claude が関与する範囲は、コードから製品の継続的な改善へと広がり、人間はその中で方向性を決定し、重要な問題を処理し、実際の使用感を確認しています。
エンジニアもまた、自分ができることの判断を更新する
ツールが変わるにつれて、チームメンバーが自分の仕事に抱くイメージも変わってきています。以前はパフォーマンス最適化に熱中していた人や、macOS Aqua ボタンの CSS グラデーションを正確に再現するために丸一日かけたことのある人もいました。現在では、そのような具体的な実装は Claude に任せ、新しいアイデアに労力を注ぎ、プロトタイプをより迅速に実用的な製品へと近づけることを好んでいます。
あるメンバーは、子供の頃にプログラミングができなかったため、PowerPoint でゲームを作ろうとしたことを思い出しました。このエピソードは、アイデアはあるのに自分ができない技術によって妨げられるという、よく知られた制限に対応しています。Claude とのコラボレーションにより、そのようなアイデアの多くを分解し、試し、形にすることができるようになりました。人間の能力の限界についても、ツールの能力に応じて再評価する必要があります。
この経験を自分の仕事に生かすには、今取り組んでいる業務から始めるとよいでしょう。まず目標と背景を明確にし、実行環境を整えます。そのうえで Claude に作業手順の設計にも参加してもらい、どのような成果物とフィードバックを持ち帰ってもらうかを取り決めます。
| 現在の業務が行き詰まっている点 | 委任の方法をどのように変えられるか |
|---|---|
| 常にClaude に自分の修正案を実装させている | 目標、観察された現象、制約条件を示し、比較可能な案を先に提案させる |
| 複雑なタスクを常に自分で段階的に割り振っている | Claude に役割分担、結果の受け渡し方法、レビュー手順を提案させ、議論してから実行する |
| タスクがローカル環境を離れると続行できない | 継続的に実行でき、開発とテストができる環境を準備する |
| 毎回大量の実行プロセスを読まなければならない | 重要な意思決定の連絡タイミングや、テスト、スクリーンショット、操作録画などの成果物を取り決める |
| 作成はしたものの、役に立つかどうかわからない | 使用イベントとフィードバックを接続し、それらを次のラウンドのタスクの根拠にする |
| 古いルールや補助ツールが増え続ける | 各仕組みが当初どのような問題を補っていたのかを振り返り、今も必要かどうかを判断する |
これらの方法は、チームが自らの環境での実践から得たものです。具体的な設定は、各自のプロジェクトに合わせて調整する必要があります。より継続的に練習すべきは、どの作業をより完全に委任できるか、どの古いツールや習慣が再設計に値するかという、二つの判断を同時に更新することです。
Claude に目標を任せる条件
修正の実装から、ユーザーの完了率を改善する仕事へ。
依頼の仕方を変える
Claude Code チームは公式インタビューで、関数作成から製品目標へと変わった実践を紹介しました。
実行できる条件を整える
背景が方向を定め、環境が実行範囲を左右します。
背景情報
チームの議論、過去の決定、製品の制約
実行環境
継続稼働するリモート環境、依存関係、E2E テスト
作業の設計
Claude が分担と受け渡しを設計し、コードで実行
広く探索し、絞り込む
コードレビュー:並列探索 → 候補を多角的に検証 → 重要な発見を選別 → 人が製品意図とシステム境界を判断。
プログラム各項目を決めた手順で処理
モデルと人分析の妥当性を判断。意見の一致にも証拠が必要
結果を次の目標につなぐ
↻ 試作 → 実装・内部展開 → 利用状況と反応を観察 → 次の改善案。
成果物で確かめる
テスト、画面、操作録画を確認し、自分でも試す
古いツールを見直す
補っていた失敗が今も起きるか確認。チームの実践を、自分のプロジェクトに合わせて調整する。
「指示通り」から「目標を進める」へ
内部ツールはできたのに、一部のユーザーが最後まで操作を完了していません。
チームの一人が依頼の仕方を変えました。観察結果と目標を Claude に伝えます。
議論の背景と、開発・実行・テストを継続できる環境を用意します。
複雑なタスクは、まず分担して調査し、次にレビューして絞り込みます。プログラムが手順を整理し、モデルが項目ごとに判断します。
テスト、スクリーンショット、操作の録画で結果を持ち帰り、人がレビューし、自分でも試します。
利用フィードバックを次の目標に変えます。モデルが進化したら、古いツールがまだ必要かも再確認します。
