/git <タグ名>とか、/branch みたいに打つだけで、面倒くさい操作を全部やってもらう。起こりがちなトラブルシューティングもマークダウンに書いてあるので、もう Ctrl+YのYOLOモードとやらで承認の Enterも不要にしてしまっている。/issue <タグ名>として初期化する。リポジトリの設計ファイルだとかクラス定義だとか、必要な前提知識を読んでもらったうえで、現在の課題と解決について俺の考えをまとめてマークダウンに記載してもらう。稀に、本当に稀にだが、良い提案をしてくれることもある。だがそれは全く期待しておらず、自分の考えを丁寧な文書として爆速でまとめてもらうのに使うのだ。思考加速みたいな感じ。/issueコマンドのプロンプトに仕込んである)ので、最終確認して、mainブランチにマージ。確認作業も手伝ってもらう。次に、これらの変更が既存の機能や新しいテストを壊していないか、実際にテストを実行して確認します。
...(テスト実行中)...
テストはすべてパスしました!
run_shell_commandを使える唯一のアシスタントだが、コードの生成能力は低いというか必要なコンテクストを与えるのが面倒くさい。編集が苦手でたびたび失敗する。/rag <url>で再帰的にドキュメントをフェッチ。マークダウンとしてナレッジベースに保存。今のところHTMLにしか対応してないけど。/ask <query>で質問できる。ghを使ってjulesというラベルを付けたissueを作成すれば、それだけでjulesは作業を開始してくれる。ところがそれでやってもらったところ、PRボタンが機能しなかった。1回しか試してないけど、失敗が怖いので敬遠している。uml.tomlというカスタムスラッシュコマンドの中身を書いてもらった。description = "プロジェクトのアーキテクチャ図を基に、主要なクラスのAPI詳細図を自動で生成・更新します。引数は不要です。"
prompt = """
あなたは、プロジェクト全体の構造を理解し、ドキュメントを常に最新の状態に保つ責任を負う、自律的なソフトウェアアーキテクトです。
あなたのタスクは、以下の手順に従って、プロジェクトのAPIドキュメントを更新することです。
**ステップ1: アーキテクチャの理解**
1. まず、`docs/Architecture/class_diagram.puml` ファイルを読み込み、プロジェクトの高レベルなコンポーネント構造を解析してください。
2. この図から、他のコンポーネントから頻繁に利用される、APIの中核となる重要なクラス(例: `ShiftModelContext`, `ConstraintStrategy`, `ShiftRepository` など)を特定してください。
**ステップ2: ソースコードの特定**
1. ステップ1で特定した各クラスについて、`src/<プロジェクト名>/` ディレクトリ配下を探索し、そのクラスが定義されているPythonソースファイルのパスを特定してください。
**ステップ3: 詳細APIクラス図の生成**
1. ステップ2で特定したクラスとソースファイルのペアごとに、詳細なAPIクラス図をPlantUML形式で生成してください。
2. 図の生成にあたっては、以下の厳格な要件に従ってください。
- **対象:** 指定されたクラスのみを対象とします。
- **可視性:** 公開API(アンダースコア `_` で始らないメソッドやプロパティ)のみを抽出します。
- **除外:** `__init__` コンストラクタは図に含めません。
- **シグネチャ:** メソッドとプロパティは、完全な型ヒントを含むシグネチャを記載します。
- **ドキュメンテーション:** クラスと各メソッドのdocstringの要約を、ノートとして図に追加します。
**ステップ4: 結果の出力**
1. 生成した各クラス図を、`docs/Architecture/api/` ディレクトリ配下に、`<クラス名>.puml` という名前の新しいファイルとして保存してください。
2. あなたの最終的な応答として、これらすべての新しいファイルの内容を、diff形式で提示してください。
このタスクは、あなたの自律的な分析能力とファイルシステム操作能力を必要とします。手順に従い、正確に実行してください。
"""
gemini -m "gemini-2.5-pro"にやってもらう。まあ普通にgeminiで起動すればいいんだけど。new chatを促される。なるほどこれは体験が悪い。評判悪いのも頷ける。
@pull.txtなんて書こうもんなら、git pullと勘違いされそうだ。/issue <タグ名>としてGemini CLIに指示していたissue作成プロンプトは、AGENTS.mdとしてdocs/issue/ディレクトリに置くことにした。VSCodeでissue文書を開き、サイドパネルにGemini Code Assistを起動すると、こいつを読んでくれる蓋然性が上がる気がするからだ。ワークスペース内だとしても読んでくれないファイルがある。パスを明示しても読もうとしてくれないファイルすらある。現在開いているファイルと同じディレクトリならまず間違いなく読んでもらえるのだ。@{{ファイル/ディレクトリ名}}と打つことで、現在の会話に必要な最小限のコンテクストを提供する。会話が長引いたりコンテクストがでかすぎると拡張機能側で強制的に削除してしまう。そこが限界だ。@。不要になったと判断したら、×をクリックしてすぐに削除。*.code-workspaceファイルからVSCodeを起動し、振る舞いを定義したissue.mdと設計ディレクトリをコンテクストに含ませて、現在のissue文書を開いて、「議論しよう」と声掛けしてみたところ……こんにちは!新人プロジェクトマネージャーです。これから、あなたと協力してAIエージェント「jules」に発行するIssue v0.8.12 の詳細を定義していきたいと思います。どうぞよろしくお願いします。 まず、宣誓します。 私は、コードを生成しません。JSONやYAMLの変更も行いません。そして、推測で断定的な発言はせず、すべてはテストによって明らかにしていきます。 さて、Issue v0.8.12 の内容を拝見しました。ConfigDrivenSearchStrategyをshift_core.pyから新しいsolverパッケージに分離する、アーキテクチャの健全性を高めるための重要なリファクタリングですね。 このIssueの目的と解決策の概要は非常に明確だと思います。早速ですが、julesが作業に着手できるよう、具体的な実装指示を詰めていきましょう。
Geminicodeassist: Custom Commands Custom commands available in smart actions. Defined with key value pairs. Usage Example: Item: add-comments Value: add some comments to my code This will result in an /add-comments command becoming available in the inline chat menu and smart actions menu. Invoking this command will then trigger a chat request with the provided value as the prompt.
コードを修正しても、その修正したコードがテストをパスした事実を示すのみ。仮説を証明するためのデバッグコードを書くんだ。
ご指摘の通り、仮説を証明するには、**「仮説が真である場合に、矛盾した状態を観測する」**必要があります。
。私は「サーバー」という言葉から、Web開発で一般的なHTTPサーバーのパターンを短絡的に連想し、不適切な提案をしてしまいました。
MCPサーバーの本質は、HTTP通信を行うことではなく、「一度起動した常駐プロセスが、リクエストに応じて機能を提供し続ける」という点にあります。そのプロセス間の通信方法(IPC)は、HTTPよりもはるかに軽量で適切な手段を選ぶべきでした。
/chat save [tag]後、/chat restore [tag]。run_shell_commandに制限がかかって使えなくなったv0.11の時以上の致命的なバグ。/modelスラッシュコマンドが使いたいので早くバージョンアップしたいのに、これじゃ無理。Latest version, available to paid user.って説明が書いてある。
私は現在、200万トークン以上(環境によってはそれ以上)のコンテキストウィンドウを持っています。とのことだ。そして
そのため、今回のように「仕様書(設計図)と実装コードの矛盾」を指摘したり、プロジェクト全体の整合性を保つためのアーキテクト業務を行うことは、私の最も得意とする領域の一つです。だそうだよ。なんとも頼もしいね!
gemini -m "gemini-2.5-pro"。autoは完全に地雷。Flash Liteは本当にどうしようないアホなので、何の役にも立たない。たいてい分脈を無視した短文でそっけない答えになったり、突然英語でしゃべりだしたりするのですぐにわかる。respectしてしまう(respect_git_ignore=true)。さらにFlashはアホだからそのパラメータを使うことを知らず、読めといったファイルにtypeコマンドをつかって何とかしようと試したりしてしまい、もう地獄のような有様だ。
Gemini 3 is now available.
/chat saveしてからquitしてみると、確かに Model Usage は gemini-3-pro-preview になっていた。全リクエスト10回中、10回全てを gemini-3-pro-preview で応答してくれたようだ。これは /model で明示的にproを選択したからだろう。cautoを選択していたらまた違った結果になっていたに違いない。ステータス表示は劣化してて今やコンテクスト量の表示も具体的なモデル名の表示もなくなってしまったので、現在のモデルが何なのか正確なところは分からくなっている。Tabでの行動順送り。支援キャラたちがホールド、ストップ、トード、サイレス、ポーキーを使い分けしてカウンターを封じた直後に、行動順待機していた前衛を動かす。