慣性聚合 関心のあるブログ、ニュース、テクノロジーを効率的に追跡
原文を読む 慣性聚合で開く

おすすめ購読元

V
V2EX
博客园 - 叶小钗
Y
Y Combinator Blog
大猫的无限游戏
大猫的无限游戏
博客园 - 【当耐特】
酷 壳 – CoolShell
酷 壳 – CoolShell
D
Docker
WordPress大学
WordPress大学
Blog — PlanetScale
Blog — PlanetScale
博客园 - Franky
G
Google Developers Blog
爱范儿
爱范儿
Google DeepMind News
Google DeepMind News
Stack Overflow Blog
Stack Overflow Blog
云风的 BLOG
云风的 BLOG
Engineering at Meta
Engineering at Meta
aimingoo的专栏
aimingoo的专栏
V
Visual Studio Blog
M
MIT News - Artificial intelligence
Hugging Face - Blog
Hugging Face - Blog

V2EX

写了个自用的 Harness - Powerball Harness 美联储+地缘同时发力,这波有点紧 低价 GPT 到底有多少漏洞,怎么封了还有 有什么国产的好用耐用鼠标推荐吗? 香港排名第一数字银行 众安银行开户额外返 300HKD ! 海外域名防红技术讨论 [抽奖] MuskAI 抽 2 个 Codex 周套餐, GLM & Kimi & Codex & Claude 在你们的求学和职业生涯中,有“恩师”的存在吗 公司前两周招了个新人, 在犹豫要不要叫老板辞退他 偷偷篡改 function call 的数据,居然被 AI 察觉了😮 macos 推荐一个超级好用的鼠标给各位, 60 块左右 Switch eShop 走 DMIT 美国的节点无法播放游戏展示视频,用另外一个香港节点没问题,有其他小伙伴遇到过吗? 1000 行 rust 实现一个类似于 pytorch 的轻量级自动微分库 如果你最近 Claude 网页端的字体很奇怪 香港众安银行开户,返 300hkd,5.27 日前截止 迅雷旗下云存储产品“光鸭云盘”,试试新网盘靠不靠谱 咩 FileServer 一个支持文件目录断点续传的单文件文件服务器 可以在 iOS 上运行 可能是错觉,自从开始喝红参植物饮料后感觉身体不一样了 来跟 V 友 激情互射,坦克世界大战,点开即玩 为啥 Google 搜索中吉大、武大官网被狗皮膏药夺舍? 想买个 macbook air m5 24g 内存,什么渠道买比较好? [记录]-2026-04-19 在玩《街头霸王 6》 稳定支付 AI 御三家的银行卡,首笔返现 50%, 4 月 30 号结束 [iOS 公测招募] iAssets 资产管理管家 有能小型化的楼下铁门四线电话方案吗? [求助] 英文工具站上线 8 个月,平均排名死守在 50 名,该如何突破沙盒期? GNU nano for Windows 硬盘价格什么时候回落啊?硬盘空间严重不足~ 人在无奈的时候真的会笑 分享个在线可以玩的风琴 如果有了一台海外服务器 想從日本樂天買手機有什麼辦法嗎? 各位今年都给自己(准备)买个什么生日礼物啊? 如果让一堆 agent 互相诈骗,玩饥饿游戏会发生什么? Manjaro 真不错 关于 Claude 账号的一个小发现 Copilot Pro 是否会因为“并发太高”或“使用非官方客户端”而封锁账户吗? 求个汇率接口 做了最熟悉的产品 人生中第一次装机🎉 又一个微信公众号 RSS 地址 量子计算进入新阶段: IONQ 押注“网络化”而非算力 开源 Open Computer Use 成功被 Anthropic 毕业. OpenCore 是好东西啊, 2015MacBook Pro 满血复活 新发现? qwem3.6 35b a3b 官方模型写刘备文 6 得很 Chrome 更新了版本 147.0.7727.56 右上角竟然固定了一个 Gimini 虽然可以取消 尼玛这也越来越离谱了吧 反向思考,微信是一坨,他做错了什么,但是他能推广开他做对了什么? 没有编辑器, CLI 纯聊天写代码的方式有点儿难适应 Windows 一键部署 Hermes AI Agent 小白也能玩转 NousResearch 大模型!
AI時代に転生してから、私はもう一発でコードを生成する伝説を信じません(要件からテストまで:AIが開発プロセスに参加する実践の総括)
xiaowoli · 2026-05-21 · via V2EX

省略( TL;DR )

  • 核心問題:AIがコードを書けないのではなく、要件、境界、テスト、ドキュメントが準備できていないままにそれを開始させると、コードは「見た目は動作するが、後で修正が困難になる」ようになる。
  • 対応方法:一連のスキルを使ってAIを包括的な開発ライフサイクルに組み込み——まず文脈を収集し、次に要件を整理し、境界を問い詰め、軽量なソリューションを提案し、その後TDDで実装し、テストを追加し、レビューを行い、ローカルで検証し、ユースケースをエクスポートし、ドキュメントを更新する。
  • プロセスの特徴:10のステップには順序があるが、要件、ソリューション、レビュー、検証、ドキュメントなどの段階で戻って修正可能であり、早めに修正するほどコストが低くなる。
  • 人的役割:AIは整理と生成を担当する。選択、検収、合うかどうか人に判断させること;目標は制御可能、再利用可能一度にスピードアップしない。

⏲️推奨読書時間: 10分

AI開発時代に転生した私は、「願いが叶うようなプログラミング」を信じるのではなく、AIを要件、開発、テスト、ドキュメントという一連の開発プロセスに取り入れています。

一、なぜ AI のコードはいつもメンテナンスが難しいのでしょうか?

多くの人はAIを使ってコードを書くが、最初のステップは要件を入力して、それを直接生成させることだ。

最初は確かに良かった、速くて、効果もまあまあだった。しかし実際のプロジェクトに組み込んだら、問題が浮かび上がった:書き方がプロジェクトと合致しない、権限が漏れている、境界条件を処理していない、例外シナリオを考慮していない、テストも追いついていない。

これらのコードが厄介なのは「動作するように見えて後から修正が難しい」点です。これは完全な文脈に基づいて書かれたのではなく、一時的な説明に基づいて生成されたものです。要件が明確にされず、AIは推測するしかありません。プロジェクトの制約が十分に与えられず、AIは自分の慣習に従って書きます。

そのため、多くの場合、AIがコードを書くのが悪いのではなく、私たちがあまりに早くコードを書かせたからです。要件、境界、計画、テストポイントが準備されていないまま、AIに実装を開始させると、生成が早ければ早いほど、後工程も早くなります。

二、私の全体の流れ

  1. 要件とプロジェクトの文脈を収集

  2. 使用して /requirement skill で要件を整理

  1. 使用して /grillwithdoc skill で要件、境界、リスクを問い合わせる

  2. 軽量技術の実現説明

  1. /TDDスキルを用いて核心ロジックを実装

  2. /テストスキルを用いて単体テスト/コンポーネントテストを補完

  1. /コードレビュースキルを用いてコードレビューを行う

  2. ローカルで実行し、人間による核心フローの検証

  1. /テストケーススキルを用いてExcelを出力し、Transcendプロジェクト管理プラットフォームへのインポートに使用

  2. /feature-doc-maintainerを使用してドキュメント

を更新します__JHSNS_SEG_63c711ac_47__このプロセスは1から10への直線的なフローに限定されません

主なプロセスは順次進行しますが、要件の質問、技術的な解決策、コードレビュー、ローカルでの検証、およびドキュメントの更新の段階で、前のステップに戻ることがあります問題が見つかれば、前のステップに戻って修正し、早く修正するほどコストが低くなります

第1ステップ:まずコンテキストを収集し、次にAIに作業をさせる

AIに要件や提案、コードを書かせるのではなく、最初から始めます。なぜならコンテキストが不十分な場合、AIは見かけ上は完璧に見えますが、実際は一团の結果を返してしまうからです

したがって、最初のステップは要件に関連する情報を整理することです。例えば、元の要件、歴史ドキュメント、類似機能、インターフェースの説明、権限ルールなどです。特に既存の類似機能は非常に重要で、それによりAIはプロジェクトで実際の書き方を参考にできるため、新しい方案を再発明する必要がありません。

コンテキストが明確になった後、次のプロセスを簡単に進めることができますが、最初の情報に誤りがある場合、それは誤った基礎の上で進行する可能性があります。

ステップ2:/requirement skillを使用して要件を整理

コンテキストが準備できた後、開発にすぐに進まないでください。まず/requirement skillを使用して要件を一度見直してください。

このステップでは、零散な情報を構造化された内容にまとめるのが主な目的で、機能目標は何か、誰に使うか、核心的なプロセスはどう行われるか、どのようなフィールドや状態が関連しているか、権限ルールは何かなどを整理します。

ここでは確認されていない問題やまだ理解していない点に注意し、まずは TODO でマークしてから、後で確認する人を探す必要があります。 整理が終わったら、基本的に実行可能な要件ドキュメントが作成でき、全体の方向性が明確になります。その後、私たちは grillwithdoc を使って詳細を確定します

ここで出力する際は、plan モードを選択してください

第3ステップ:/grillwithdoc スキルで要件を問い合わせます

要件ドキュメントがある後、すぐにそれが正しいと決めつけないでください。この時点で、/grillwithdoc スキルを使って再度問い合わせます。

🥚plan モードを使用すると、 対話ボックスがあります を一度ずつ確認することができます

このステップは主に要件がはっきりと記述されているかを確認することです。例えば、境界はどこか、どのシナリオでは実装しないか、例外状況はどのように処理するか、権限とデータ範囲に影響がないか、ボタン制御が完全かどうかなどです。多くの問題は通常のフローでは見つかりませんが、別の角度から問い詰めることで明らかになります。 この/grillwithdoc skillは非常に強力で、基本的にすべての境界と詳細を明確にすることができます。

拷問が完了すると、貴重な要件の詳細を確認したドキュメントが得られます

第四段:軽量技術実装説明の出力

要件の詳細が確認され次第、実装方法を見ることから始めます

ここでは、最初から重い技術的な提案を書くことをお勧めしません。長すぎると誰も読まず、後でメンテナンスも困難になります。私のやり方は、軽量技術実装説明を出力し、重要な内容を明確に説明するだけです。

このステップの価値は、後続の開発に明確な方向性を持たせることです。特に複数人での協力や要件が複雑な場合、軽量な説明書があると、後でコードを書いたりテストを補ったり、レビューをしたりすることがずっとスムーズになります。

要件が非常にシンプルで、すでに明確な場合、このステップを省略することも可能です。後でドキュメントのメンテナンスを少なくするのも良いでしょう👍

第五のステップ:/TDDスキル を用いて核心ロジックを実装する

技術実装の説明が確定したら、コードの書き始められます。

/TDDスキル を用いてまず核心ロジックを処理します。AIに一気に書かせるのではなく、まず核心的な行動を分割させ、テストを先に書き、その後にコードを実装するのが良いでしょう。

これをすることの利点は、AIの自由な発想を制限できることです。テストを先に書き、その後のAIの実装はこれらの行動を中心に作成するため、方向を逸れにくいです。

/TDDスキルは、核心的なロジック、状態の変遷、ツール関数、重要なビジネスルールなどの場所に適しています。純粋なページスタイルや非常にシンプルな表示ロジックの場合、TDDを強制的に適用する必要はありません。軽い場合は軽く、プロセスを複雑にしないでください。

第6ステップ:/Testing Vue Vitestスキルを使用してテストを補完

TDDが完了したからといって、テストが完了したとは限りません。

TDDは、核心的なロジックが正しく書かれているかどうかに焦点を当てますが、ページのインタラクション、コンポーネントの挙動、例外の分岐、権限の表示/非表示などはおそらくまだカバーされていません。そのため、後で/テストスキルを使用する必要があります。 さらに一巡追加。

テストを行う際は、最終コードと併せて確認する必要があり、要件仕様書だけに基づいて生成するべきではない。そうしないと、テストが多く見えるが、本当に重要な点を測定できなくなる可能性がある。

/Testing Vue Vitest skill これはページ UI ユニットテスト

を含んでいる。第七歩:/code review skillを使ってコードレビューを行う。

コードとテストが書かれた後。この時点で/code review skillを使用できる。 もう一度見直しましょう。

/コードレビューのスキル また、見落としがちな問題を見つけるのに適しています。例えば、重複したロジック、境界処理が不完全、テストでカバーされていない重要なシナリオなどです。

は優先度に応じて品質レポートを出力します

ただし、ここでは注意が必要です。AIレビューは事前チェックにしかなりません。最終的にこのコードがマージされるかどうかは、人間が判断する必要があります。

第8ステップ:ローカル実行と手動の検証

レビューが完了したら、必ずローカルで実行します。

特にフロントエンド機能については、コードとテストだけを見るのではなく、ページが開けるか、検索のページネーションに問題はないか、新規作成・編集・削除が正常に行われるか、ポップアップの表示が正しいか、エラーメッセージが適切か、権限ボタンが期待通りに表示されるかなど、実際に動かして確認する必要があります。

このステップは純粋な体力作業で、人間による受入検査です。AIはコードを書いたり、テストを補ったり、レビューをしたりできますが、実際に機能を使ってみることはできません。

ローカルでの検査で問題が見つかった場合は、前のステップに戻って修正します。プロセスが8段階まで進んでいるからといって、無理に次に進めないでください。

9段階:/testcase skill を使ってテスト用例のExcelを出力します。

ローカルでの検査が通過したら、テスト用例を整理し始めます。

ここでは/testcase skill を使ってテスト用例のExcelを出力します。これは最初の要件に基づいて生成されるだけでなく、要件ドキュメント、技術実装説明、最終コードの変更、既存のテストポイント、ローカルでの検査結果を合わせて生成されます。

このように作成された用例は、実際の機能に近づきやすく、見た目は完整に見えるものの、重点を測定できない内容を書きにくくなります。

今回は Excel を Transcend プロジェクト管理プラットフォームにインポートしています。または、テストに渡して評価してもらっています。

第十のステップ:/feature-doc-maintainer を使用してドキュメントを更新

最後のステップはドキュメントの更新です。

ここでのドキュメントは、リポジトリ内で機能と強く関連するものを主に指し、機能の説明、権限ルール、インターフェースの変更、操作手順、既知の制限、テストの説明などです。正式なドキュメントを補完するためではなく、最終的な実装を記録するためです。

多くの場合、ドキュメントは要件段階で停止してしまい、コードが変更された後でもドキュメントが追いつかないことがあります。時間が経つにつれて、次回同じ機能を変更する際には、再度理解し直す必要があります。

だから、私は最後に /feature-doc-maintainer を使って同期し、最終的な実装と重要な説明を追加します。これにより、今回の作業の成果はコードに留まらず、後の人(AI)が引き続き使えるようになります。

三、人の判断点

正しいことをする方が、正しくすることよりも重要です。

このプロセスは多くのSkillを使っていますが、核心的な判断は完全にAIに任せられません。

AIは私たちを助けて情報を整理し、コンテンツを生成し、テストを補完し、初期審査を行うことができますが、要件の選択、技術的な判断、テストの評価、最終的な承認は人に任せなければなりません。

  • 要件段階:方向が成立するかどうか、どの範囲を実装し、どの範囲は先延ばしにし、どの問題は必ず製品や責任者に確認する必要があるかを判断する必要があります。AIは問題をリストアップできますが、選択を代行することはできません。

  • コードとテストフェーズ:コードがプロジェクトの現状に合致しているか、変更コストが受け入れ可能か、テストが本当に主要なリスクをカバーしているかを判断する必要があります。コードが組み込めるかどうか、テストケースが価値があるかどうかは、最終的には人間が判断します。

したがって、このプロセスはAIが人間を置き換えるのではなく、人間が繰り返し整理、補完、チェックなどの作業から解放され、より重要な判断と選択に集中できるようにすることです。AIは材料を準備し、人間はそれらが正しいか、使用可能かどうかを判断します。

四、このプロセスがもたらす変化

このプロセスの最大の変化は、特定のステップが突然どれだけ速くなったかではなく、全体のプロセスがより安定したことです。

  • 要件の問題が早く明らかになる

/requirement skill と */grillwithdoc skill*、多くの境界、権限、例外シナリオは開発前に明らかにしておくことで、コーディング中に要件を追加するのを避けることができます。

  • AIの出力はより制御可能

各ステップに明確な入力と出力があり、AIが自由に振る舞うのではなく、要件、提案、コード、テスト、ドキュメントがつながりやすくなり、結果もより簡単に確認できます。

  • 修正作業が少なくなる

問題が早く発見されるほど、修正コストは低くなります。要件と提案の段階で解決できる問題は、コードを書き終わった後に修正するのではなく、その時点で修正するべきです。

  • テストに基づく根拠がより明確

テストは最後の臨時の補完ではなく、要件、実装、コード変更、ローカルでの検証結果に基づいて生成されるため、より実際のリスクに近づきます。

  • テストケースが協力プロセスに参加できる

/testcase skillを通じて Excelを出力し、Transcendにインポートしたり、テスト評価に渡したりすることで、それがローカルファイルだけではなくなる。

  • ドキュメントは同期して更新できる

最後に/feature-doc-maintainerで最終的な実装、権限ルール、インターフェースの変更、既知の制限を補足し、後続のメンテナンスを容易にし、AIがコンテキストを理解し続けることを容易にする。

  • 🧠人はより集中して判断と選択をする

人は方向の確認、結果のフィルタリング、最終的な受領を担当する。

五、実践における注意点

  1. 要件:Planモードで最初に使用し、直接実行しない

    要件フェーズでは、Planモードを使用し、AIが最初に質問し、境界を分割し、TODOリストを作成する。

    この段階ではコード生成を急がないこと、方向性や範囲、実施しない項目を先に確認することが重要です。

  2. コード:まずOpus 4.7で計画を立て、次にComposer 2.5で実行

    複雑な要件はまずOpus 4.7で方案を作成し、変更範囲、核心的なロジック、リスクポイントをリストアップします。

    方向性が問題ないことを確認したら、Composer 2.5で計画に従ってコード修正を実行します。

    これにより、実行モデルに直接コードを変更させるよりも安定し、変更範囲をより容易にコントロールできます。

  1. テスト:まず核心的なパスをテストし、次に境界シナリオを追加

    最初からテストを完璧に追求しないこと。

    まずAIで核心的なプロセスをカバーし、主パスが動作することを確認したら、権限、例外、空データ、検索分页、ポップアップの反映などの境界シナリオを追加します。

    テストケースも人間によるフィルタリングが必要で、価値のないものは無理に残さないこと。

  2. ドキュメント:最後に更新し、最終的な実装に基づいて

    ドキュメントは早すぎる段階で完成させないこと。

    前の要件、コード、テストは調整されるため、ローカルでの検証とレビューの後、/feature-doc-maintainerで更新するのが良い。

    最終的な実装、権限ルール、インターフェースの変更、既知の制限に重点を置き、重いマニュアルにならないように書くこと。

六、まとめ

最初の問題に戻って、なぜこの実践を開発プロセスに組み込むのか?

単純にAIにコードを書かせるだけでは、少しだけ効率の問題を解決できるだけです。本当に開発を遅くするのは、コードを書くのが遅いだけでなく、要件が明確でない、境界が十分に考慮されていない、テストが遅れて行われる、ドキュメントが追いつかないことが多いです。問題は何もしていないことではなく、各ステップで前のステップのギャップを埋めることです。

このプロセスの核心は自動化ではなく、コントロールです。各ステップには入力、出力、チェックポイントがあり、いつでも人間が介入して確認することができます。AIの能力が強ければ強いほど、このようなプロセスでそれを引き受ける必要があります。

最後に達成すべきことは、AIが私たちに開発を代行することではなく、AIが安定して開発に参加することです。要件に根拠を持たせ、提案に制約を設け、テストにフィードバックを与え、ドキュメントに蓄積を持たせることで、効率化は一時的なものではなく、継続的に再利用できるものになります。

七、本文で使用したSkill

このプロセスで主に使用されるSkillは以下の通りです:

Skill 役割
requirement-analysis 要件を整理し、零散な情報を実行可能な要件文書にまとめる
grill-with-docs 要件の境界、例外シナリオ、権限とリスクを問う
tdd テスト駆動開発で核心的なロジックを実装する
testing-vue-vitest Vue 3 + Vitest の単体テストとコンポーネントテストを補完する
code-review コードレビューを行い、事前に品質とリスク問題を発見する
diagnose 複雑なバグや性能問題が発生した場合、再現、仮説、検証、修正、再検証のフローに従って問題を特定します。
testcase-excel テストケースのExcelを作成して、テスト管理プラットフォームにインポートしやすくする
feature-doc-maintainer 最終実現に基づく機能ドキュメントの更新

これらの Skill を自分のプロジェクトに組み込みたいなら、私が整えた Git リポジトリを参考にしてください。

Git アドレス:https://github.com/535803710/ai-rd-skills

これらの Skill は固定の答えではなく、さらに調整できるプロセスのテンプレートに近いものです。実際に実装する際には、チームのプロジェクト構造、テスト規範、ドキュメント習慣に合わせて一度改造することをお勧めします。