ディスカッション (11件)
この投稿では、メタプロンプティング、コンテキストエンジニアリング、そして仕様駆動開発(Spec-Driven Development)を組み合わせた、圧倒的な生産性を実現するためのシステムについて紹介しています。単にコードを書くだけでなく、いかに効率的に「仕事を完遂(Get Shit Done)」させるかに焦点を当てた、モダンなAI開発手法のフレームワークを提案しています。
https://github.com/obra/superpowers を使ってて、結構良い感じだったんだよね。一見これと似てる気がするけど、両方試してみて比較できる人いる?
openspecが好きだな。ワークフローを自分好みに調整できるし、邪魔にならないのがいい。最初は標準的なスペックフローで始めて、慣れてきて自分の好みがはっきりしてきたら、自分なりに簡素化したよ。スペック駆動のフレームワークのポイントは、最終的にはワークフローを自分のものにして、自分のルールでコード生成を制限したいってところにあると思う。
これとsuperpowersを使ってたけど、結局Planモードで十分だって気づいて、今は自分でClaude Codeを操作する方が好きかな。こういうフレームワークは、特にリサーチが必要な「丸投げ」タスクには最高なんだけど、経験上、トークンを10倍は消費しちゃうんだよね。得られる結果に明らかなメリットがないのに、いつもプランの上限に達しちゃってた。まあ、この辺は個人の好みのスタイルによるだろうけど。
GSDやsuperpowers以外にも、PAUL [1] っていうシステムがあるよ。サブエージェントを使わずに1つのセッションですべて完結させるから、GSDに比べてトークン消費が少なくて済むらしい。リポジトリにGSDとの詳細な比較が載ってるよ [2]。
[1] https://github.com/ChristopherKahler/paul
[2] https://github.com/ChristopherKahler/paul/blob/main/PAUL-VS-GSD.md
これとsuperpowers、それから昔ながらのPRDからタスクを作るやり方を比較してみたんだけど、結局「シンプル・イズ・ベスト」だっていう結論に至った。少なくとも現時点ではね。gsdのパフォーマンスは良かったけど、数分で済むところが数時間かかった。PRDの簡単な作り方を説明して、その後に少し技術的なタスクリストを作る方がずっと上手くいったんだ。gsdやsuperpowersが解決策を見つけられなかったわけじゃないけど、とにかく時間がかかるし、手助けもたくさん必要だった。今回の教訓は、ワークフローはもう変わったんだってこと。この新しい、異質なテクノロジーに古いプロジェクト開発のパラダイムを当てはめることはできない。新しい説明書が必要で、それは古いものの延長線上にはないんだ。
スペック駆動開発の背景や、それがLLMでどう使われるかについて知りたいなら、[1] がおすすめ。こういうバックグラウンドがあると、この手のツールをもう少し深く理解するのに役立つよ。
[1] https://www.riaanzoetmulder.com/articles/ai-assisted-programming-project-setup/
試してみたけど、今後は使わないかな。ウォーターフォール型のプロセスが必要になるし、バグが出たり仕様変更があった時に、フェーズやプランを調整するのが難しくて、場合によっては不可能だった。実行プロンプトも、コーディング中にコードを検証するような誘導がうまくできてなくて、各フェーズの最後にユーザーが手動でテストすること前提になっちゃってる。
一度試したけど、とにかく冗長で、とんでもない量のファイルが生成された。ユーザーとのやり取りで新しい要件が出てきたときに、素早く、安く、確実にアップデートするのは無理そうだなと思って使うのをやめたよ。
今のところ一番いいやり方は、PRD(プロジェクト要件定義書)から始めて、ステップバイステップの実装プランを出してもらい、各ステップの戦略にGoサインを出してから進める方法だね。コードも最小限でモジュール化された、ステートレスな関数型のものを指定するようにしてる。
「とにかく結果を出したい(get shit done)超生産的な人間だ」だって。プロフィールを見てみたけど、「get stuff done」系の製品を宣伝してるだけで、面白いことは何もしてないし公開もしてない。これじゃ、生産性について書いてるTODOリスト本の教祖様と同じだね。
自作のAIシステムを使ってるんだ。他の人の役にも立つように公開したい気持ちはあるけど、同時に、全部自分専用にカスタマイズしちゃってるんだよね。もし公開用にフォークしたバージョンを作ったら、そっちもメンテナンスしなきゃいけなくなるし。同じような状況の人いる?公開されてるツールの多くは、僕のシステムほど複雑じゃない気がするけど、自分一人で使ってる身としては、どうやって使い方を伝えればいいか分からないんだ。みんなに僕のシステムを動かしてほしいんじゃなくて、自分たちのAIシステムから僕のにアクセスさせて、自分のシステムに取り入れる価値があるものを探してもらう、みたいな形がいいんだけどな。誰かのためにメンテナンスしたくないし、魔法の解決策みたいに宣伝もしたくない。ただ、他の人が使えるパターンを見せたいだけなんだ。