<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>AI Coding on KnightLiブログ</title>
        <link>https://knightli.com/ja/tags/ai-coding/</link>
        <description>Recent content in AI Coding on KnightLiブログ</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ja</language>
        <lastBuildDate>Thu, 21 May 2026 08:02:32 +0800</lastBuildDate><atom:link href="https://knightli.com/ja/tags/ai-coding/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>GraphifyがClaude Code最大の制約を解く：コードベースをAIが検索できる知識グラフへ</title>
        <link>https://knightli.com/ja/2026/05/21/safishamsi-graphify-ai-code-knowledge-graph/</link>
        <pubDate>Thu, 21 May 2026 08:02:32 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/05/21/safishamsi-graphify-ai-code-knowledge-graph/</guid>
        <description>&lt;p&gt;&lt;code&gt;safishamsi/graphify&lt;/code&gt; は、AIコーディングアシスタント向けの知識グラフツールです。目的は明快です。プロジェクトディレクトリ内のコード、文書、SQL schema、スクリプト、論文、画像、動画、音声を検索可能な知識グラフに整理し、AIアシスタントが &lt;code&gt;grep&lt;/code&gt;、全文読み込み、その場限りの検索だけに頼らずにプロジェクトを理解できるようにします。&lt;/p&gt;
&lt;p&gt;プロジェクトURL：&lt;a class=&#34;link&#34; href=&#34;https://github.com/safishamsi/graphify&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;safishamsi/graphify&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;この記事の整理時点で、GitHubページには約50.2k stars、5.4k forksが表示されており、ライセンスはMITです。READMEでは、AIコーディングアシスタント内で &lt;code&gt;/graphify&lt;/code&gt; と入力すると、プロジェクト全体を検索可能な知識グラフにマッピングすると説明されています。&lt;/p&gt;
&lt;h2 id=&#34;解決する中核問題&#34;&gt;解決する中核問題
&lt;/h2&gt;&lt;p&gt;AIコーディングアシスタントはますます強くなっていますが、実際のコードベースではまだよく次の問題に直面します。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;主要モジュール同士がどうつながるのかわからない。&lt;/li&gt;
&lt;li&gt;多くのファイルを読んでも、全体のアーキテクチャマップができない。&lt;/li&gt;
&lt;li&gt;検索でテキストは見つかるが、上流・下流の依存関係がわからない。&lt;/li&gt;
&lt;li&gt;コード、database schema、ドキュメント、インフラ設定が別々の場所に分散している。&lt;/li&gt;
&lt;li&gt;チーム開発では、人によってプロジェクト構造の理解が異なる。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Graphifyが作ろうとしているのは、プロジェクトの「記憶層」です。コードエンティティ、文書の概念、データベース表、設定、設計メモ、ファイル間の関係をつなげ、AIアシスタントが毎回ゼロからファイルを読むのではなく、グラフを問い合わせられるようにします。&lt;/p&gt;
&lt;h2 id=&#34;最小構成での使い方&#34;&gt;最小構成での使い方
&lt;/h2&gt;&lt;p&gt;Graphifyの最小利用はとても簡単です。インストール後、AIコーディングアシスタント内で次を入力します。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/graphify .
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;PowerShellでは先頭の &lt;code&gt;/&lt;/code&gt; がパス区切りとして扱われるため、Windows PowerShellでは次のようにします。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;graphify .
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;実行後、&lt;code&gt;graphify-out/&lt;/code&gt; ディレクトリが生成され、主なファイルは次の三つです。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;graphify-out/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;├── graph.html
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;├── GRAPH_REPORT.md
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;└── graph.json
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;それぞれの役割は異なります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;graph.html&lt;/code&gt;：ブラウザーで開けるインタラクティブグラフ。ノードクリック、フィルター、検索ができる。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GRAPH_REPORT.md&lt;/code&gt;：プロジェクトのハイライト、重要概念、意外な接続、推奨質問。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;graph.json&lt;/code&gt;：完全なグラフ。後から再読み込みせずに直接問い合わせられる。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Mermaidの呼び出しフロー図を含む読みやすいアーキテクチャページを作るには、次を実行します。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;graphify &lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; callflow-html
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;インストールと対応プラットフォーム&#34;&gt;インストールと対応プラットフォーム
&lt;/h2&gt;&lt;p&gt;GraphifyのPyPIパッケージ名は &lt;code&gt;graphifyy&lt;/code&gt; です。&lt;code&gt;y&lt;/code&gt; が二つある点に注意してください。READMEでは、PyPI上の他の &lt;code&gt;graphify*&lt;/code&gt; パッケージはこのプロジェクトと無関係だと明記されています。ただしCLIコマンド名は &lt;code&gt;graphify&lt;/code&gt; のままです。&lt;/p&gt;
&lt;p&gt;推奨インストール方法は次の通りです。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;uv tool install graphifyy
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;代替方法もあります。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pipx install graphifyy
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install graphifyy
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;インストール後、AIアシスタントに登録します。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;graphify install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;対応プラットフォームは多く、Claude Code、Codex、OpenCode、GitHub Copilot CLI、VS Code Copilot Chat、Aider、Cursor、Gemini CLI、Kimi Code、Kiro、Google Antigravityなどがあります。プラットフォームごとに次のようなコマンドを使えます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;graphify install --platform codex
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;graphify install --platform gemini
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;graphify cursor install
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;graphify antigravity install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Codexユーザーは、&lt;code&gt;~/.codex/config.toml&lt;/code&gt; の &lt;code&gt;[features]&lt;/code&gt; に次も追加する必要があります。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;multi_agent&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;READMEでは、Codexは &lt;code&gt;/graphify&lt;/code&gt; ではなく &lt;code&gt;$graphify&lt;/code&gt; を使うとも説明されています。&lt;/p&gt;
&lt;h2 id=&#34;どんなファイルを処理できるか&#34;&gt;どんなファイルを処理できるか
&lt;/h2&gt;&lt;p&gt;Graphifyは幅広い入力タイプを扱えます。&lt;/p&gt;
&lt;p&gt;コードでは31言語をサポートします。Python、TypeScript、JavaScript、Go、Rust、Java、C/C++、Ruby、C#、Kotlin、Scala、PHP、Swift、Lua、Zig、PowerShell、SQL、Shell、JSONなどです。&lt;/p&gt;
&lt;p&gt;文書では次をサポートします。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.mdx&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.qmd&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.html&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.txt&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.rst&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.yaml&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.yml&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;オプション依存関係でさらに拡張できます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install &lt;span class=&#34;s2&#34;&gt;&amp;#34;graphifyy[pdf]&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install &lt;span class=&#34;s2&#34;&gt;&amp;#34;graphifyy[office]&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install &lt;span class=&#34;s2&#34;&gt;&amp;#34;graphifyy[video]&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install &lt;span class=&#34;s2&#34;&gt;&amp;#34;graphifyy[mcp]&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install &lt;span class=&#34;s2&#34;&gt;&amp;#34;graphifyy[neo4j]&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install &lt;span class=&#34;s2&#34;&gt;&amp;#34;graphifyy[sql]&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install &lt;span class=&#34;s2&#34;&gt;&amp;#34;graphifyy[all]&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;pdf&lt;/code&gt; はPDF抽出、&lt;code&gt;office&lt;/code&gt; は &lt;code&gt;.docx&lt;/code&gt; と &lt;code&gt;.xlsx&lt;/code&gt;、&lt;code&gt;video&lt;/code&gt; は動画と音声の文字起こし、&lt;code&gt;mcp&lt;/code&gt; はMCP stdio server、&lt;code&gt;neo4j&lt;/code&gt; はNeo4jへのpush、&lt;code&gt;sql&lt;/code&gt; はSQL schema抽出に使います。&lt;/p&gt;
&lt;h2 id=&#34;生成されるレポートの価値&#34;&gt;生成されるレポートの価値
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;GRAPH_REPORT.md&lt;/code&gt; は普通の要約ではありません。プロジェクト内でAIアシスタントが注目すべき関係を抽出します。&lt;/p&gt;
&lt;p&gt;READMEで挙げられている内容には次のようなものがあります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;God nodes&lt;/code&gt;：プロジェクト内で最も多く接続されている中核概念。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Surprising connections&lt;/code&gt;：ファイルやモジュールをまたぐ意外な接続。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;The why&lt;/code&gt;：コメント、docstring、設計文書から抽出された設計理由。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Suggested questions&lt;/code&gt;：グラフが特に答えやすい質問。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Confidence tags&lt;/code&gt;：関係が &lt;code&gt;EXTRACTED&lt;/code&gt;、&lt;code&gt;INFERRED&lt;/code&gt;、&lt;code&gt;AMBIGUOUS&lt;/code&gt; としてラベル付けされる。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これは重要です。通常の検索は「この単語がどこに出るか」を教えます。一方、グラフは「この概念がどのモジュール、設定、表、文書と関係するか」を答えられます。大規模コードベースでは、これは単純な全文検索よりアーキテクチャ理解に近いものです。&lt;/p&gt;
&lt;h2 id=&#34;よく使うコマンド&#34;&gt;よく使うコマンド
&lt;/h2&gt;&lt;p&gt;Graphifyの主なコマンドは次の通りです。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/graphify .
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/graphify ./docs --update
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/graphify . --cluster-only
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/graphify . --no-viz
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/graphify . --wiki
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;graphify &lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; callflow-html
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/graphify query &lt;span class=&#34;s2&#34;&gt;&amp;#34;what connects auth to the database?&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/graphify path &lt;span class=&#34;s2&#34;&gt;&amp;#34;UserService&amp;#34;&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;DatabasePool&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/graphify explain &lt;span class=&#34;s2&#34;&gt;&amp;#34;RateLimiter&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;論文や動画をグラフへ追加することもできます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/graphify add https://arxiv.org/abs/1706.03762
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/graphify add &amp;lt;youtube-url&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;PR分析補助には次のコマンドも使えます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;graphify prs
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;graphify prs &lt;span class=&#34;m&#34;&gt;42&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;graphify prs --triage
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;graphify prs --conflicts
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;これらはコードレビューに向いています。PRがどのグラフコミュニティに影響するか、他のPRと衝突リスクがあるか、どのreview queueを優先すべきかを確認できます。&lt;/p&gt;
&lt;h2 id=&#34;mcpneo4jciとの関係&#34;&gt;MCP、Neo4j、CIとの関係
&lt;/h2&gt;&lt;p&gt;GraphifyはHTMLグラフを生成するだけではありません。グラフをAIアシスタントへ繰り返し呼び出せる形で公開できます。&lt;/p&gt;
&lt;p&gt;たとえばMCP serverを起動できます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;python -m graphify.serve graphify-out/graph.json
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;MCP serverは &lt;code&gt;query_graph&lt;/code&gt;、&lt;code&gt;get_node&lt;/code&gt;、&lt;code&gt;get_neighbors&lt;/code&gt;、&lt;code&gt;shortest_path&lt;/code&gt;、&lt;code&gt;list_prs&lt;/code&gt;、&lt;code&gt;get_pr_impact&lt;/code&gt;、&lt;code&gt;triage_prs&lt;/code&gt; などを提供します。&lt;/p&gt;
&lt;p&gt;Neo4jへのエクスポートやpushにも対応します。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/graphify ./raw --neo4j
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/graphify ./raw --neo4j-push bolt://localhost:7687
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;チーム開発では、READMEは &lt;code&gt;graphify-out/&lt;/code&gt; をgitにコミットすることを提案しています。これにより、チーム全員が同じプロジェクトマップから始められます。次も実行できます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;graphify hook install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;これにより、git commit後にグラフが自動再構築され、merge driverも設定されます。複数人が並行してコミットしても、&lt;code&gt;graph.json&lt;/code&gt; に競合マーカーが残りにくくなります。&lt;/p&gt;
&lt;h2 id=&#34;プライバシーとコスト&#34;&gt;プライバシーとコスト
&lt;/h2&gt;&lt;p&gt;GraphifyのREADMEはプライバシー境界を比較的明確に説明しています。&lt;/p&gt;
&lt;p&gt;コードファイルはtree-sitterでローカル解析され、API呼び出しは発生しません。動画と音声はfaster-whisperでローカル文字起こしできます。文書、PDF、画像などの意味抽出は、利用しているAIアシスタントのモデルAPIを通ります。&lt;/p&gt;
&lt;p&gt;headless &lt;code&gt;graphify extract&lt;/code&gt; を使う場合、次の環境変数が必要になることがあります。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ANTHROPIC_API_KEY
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;GEMINI_API_KEY
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;GOOGLE_API_KEY
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;OPENAI_API_KEY
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;DEEPSEEK_API_KEY
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;MOONSHOT_API_KEY
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;OLLAMA_BASE_URL
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;ローカルOllama、AWS Bedrock、Claude Code CLIなどもbackendとして使えます。READMEにはtelemetry、usage tracking、analyticsがないことも記載されています。&lt;/p&gt;
&lt;p&gt;実際に使うときは、コードのローカル解析がすべての内容が外へ出ないことを意味するわけではない点に注意が必要です。文書、PDF、画像、クラウドモデルが関わる場合は、backend、API key、企業コンプライアンス、データ境界を確認する必要があります。&lt;/p&gt;
&lt;h2 id=&#34;向いている場面&#34;&gt;向いている場面
&lt;/h2&gt;&lt;p&gt;Graphifyは次のようなユーザーに向いています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Claude Code、Codex、Cursor、Gemini CLIにプロジェクト構造をより理解させたい開発者。&lt;/li&gt;
&lt;li&gt;大規模で見慣れないコードベースを素早く理解したい人。&lt;/li&gt;
&lt;li&gt;コード、SQL schema、ドキュメント、設定をまとめて分析したいチーム。&lt;/li&gt;
&lt;li&gt;アーキテクチャレビュー、PR review、リファクタリング影響分析を行う人。&lt;/li&gt;
&lt;li&gt;プロジェクト知識をMCPツールとしてAgentに公開したい人。&lt;/li&gt;
&lt;li&gt;チームのために「プロジェクトマップ」を残したい技術リーダー。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;すべてのプロジェクトに必要なわけではありません。小さなスクリプト、一回限りのdemo、非常に単純なリポジトリでは、通常の検索とREADMEで十分かもしれません。Graphifyの価値は、モジュールが多く、文書が多く、チーム開発が多く、AIアシスタントが頻繁に関与する大きなプロジェクトでより出やすくなります。&lt;/p&gt;
&lt;h2 id=&#34;まとめ&#34;&gt;まとめ
&lt;/h2&gt;&lt;p&gt;Graphifyの意味は、AIコーディングアシスタントのコンテキストを「一時的なファイル読み取り」から「長期的に検索可能なプロジェクト知識グラフ」へ進めることです。&lt;/p&gt;
&lt;p&gt;開発者にとって、GraphifyはIDE、検索、LSPの代替ではありません。AIアシスタントに構造化された記憶層を追加します。どのモジュールが重要か、どの概念が強くつながるか、どの文書が設計理由を説明しているか、あるPRがどのコミュニティに影響するかを扱えます。Codex、Claude Code、Gemini CLI、AntigravityのようなAgentツールが普及するほど、この種のプロジェクトグラフ層はますます有用になります。&lt;/p&gt;
&lt;p&gt;参考：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/safishamsi/graphify&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GitHub：safishamsi/graphify&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Claude CodeでTokenを節約する：モデル、MCP、CLAUDE.md、Skillsがキャッシュに与える影響</title>
        <link>https://knightli.com/ja/2026/05/18/claude-code-prompt-cache-token-optimization/</link>
        <pubDate>Mon, 18 May 2026 18:30:24 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/05/18/claude-code-prompt-cache-token-optimization/</guid>
        <description>&lt;p&gt;Claude Codeの長いタスクでは、Prompt Cacheの命中率がコストと速度に直接影響する。キャッシュでTokenを節約できることは知られているが、どの操作で突然キャッシュが外れるのかは見落とされがちだ。&lt;/p&gt;
&lt;p&gt;毎回のリクエストは、左から右へ流れるコンテキストの鎖として考えるとわかりやすい。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tools -&amp;gt; system -&amp;gt; CLAUDE.md / skills -&amp;gt; messages
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;左にある内容ほど安定させるべきで、キャッシュ効果も大きい。左側が変わると、その後ろのキャッシュも再計算されやすい。逆に右側の変化は影響範囲が小さい。&lt;/p&gt;
&lt;p&gt;つまりClaude CodeのPrompt Cache最適化は、勘ではない。タスク開始前にモデル、MCP、Skills、&lt;code&gt;CLAUDE.md&lt;/code&gt;などの基本コンテキストを準備し、開始後はできるだけ変えないことが重要だ。&lt;/p&gt;
&lt;h2 id=&#34;prompt-cacheは文字列そのものをキャッシュしない&#34;&gt;Prompt Cacheは文字列そのものをキャッシュしない
&lt;/h2&gt;&lt;p&gt;Prompt Cacheは、プロンプト文字列をそのまま保存するだけの仕組みではない。Transformerモデルでは、前方のコンテキストを注意層で計算したKey/Value状態、つまりKV cacheが重要になる。&lt;/p&gt;
&lt;p&gt;これは2つのことを意味する。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;前方のコンテキストが安定していれば、後続リクエストで一部の計算結果を再利用できる。&lt;/li&gt;
&lt;li&gt;モデル、ツール定義、システムプロンプト、前方メッセージが変わると、以前のキャッシュを再利用できないことがある。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Anthropic公式ドキュメントも、失効階層を &lt;code&gt;tools -&amp;gt; system -&amp;gt; messages&lt;/code&gt; と整理している。ツール定義の変更は全体のキャッシュに影響し、system層の変更はsystemとmessagesに影響し、messages層の変更は主にメッセージキャッシュに影響する。&lt;/p&gt;
&lt;p&gt;Claude Codeではさらに &lt;code&gt;CLAUDE.md&lt;/code&gt;、Skills、MCP、プラグイン、subagentなどが関わるため、実際の利用ではキャッシュ失効点を踏みやすい。&lt;/p&gt;
&lt;h2 id=&#34;キャッシュを壊す要因1途中でモデルを切り替える&#34;&gt;キャッシュを壊す要因1：途中でモデルを切り替える
&lt;/h2&gt;&lt;p&gt;モデル切り替えは最も影響が大きい操作の一つだ。&lt;/p&gt;
&lt;p&gt;Prompt Cacheはモデルごとに分離される。Opus、Sonnet、Haikuは構造や重みが異なるため、同じテキストから計算したKV cacheも共有できない。Opusで長いコンテキストを作ったあとSonnetへ切り替えても、SonnetはOpusのキャッシュを再利用できない。&lt;/p&gt;
&lt;p&gt;そのため、節約のつもりで途中から安いモデルへ切り替えると、かえってそれまでのキャッシュが無駄になることがある。本来cache read価格で読めたコンテキストが、再度書き込みと計算の対象になる。&lt;/p&gt;
&lt;p&gt;安定したやり方は次の通り。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;メイン会話ではモデルを固定する。&lt;/li&gt;
&lt;li&gt;安いモデルで処理したい支線タスクはsubagentに分離する。&lt;/li&gt;
&lt;li&gt;支線エージェントに検索、探索、整理を任せ、要約だけをメイン会話へ戻す。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;こうするとメインの長いコンテキストを動かさず、キャッシュ命中率を保ちやすい。&lt;/p&gt;
&lt;h2 id=&#34;キャッシュを壊す要因2途中でmcpを追加するプラグインを再読み込みする&#34;&gt;キャッシュを壊す要因2：途中でMCPを追加する、プラグインを再読み込みする
&lt;/h2&gt;&lt;p&gt;MCPはClaude Codeへツールを提供する。新しいMCPサーバーを追加するとツール一覧が変わる。ツール定義はコンテキスト鎖の最も左側にある。&lt;/p&gt;
&lt;p&gt;Prompt Cacheの視点では、ツール一覧が変わると、その後ろのsystemとmessagesも再計算が必要になりやすい。MCPが多い場合、ツール定義そのものが多くのTokenを占めるため、失効コストは大きくなる。&lt;/p&gt;
&lt;p&gt;ただし重要な細部がある。Claude Codeは通常、セッション起動時にMCP設定を読む。途中で設定を変えても現在のsessionにすぐ影響するとは限らない。本当に注意すべきなのは、再起動、resume、プラグイン再読み込み、ツール一覧の再構築が起きる場面だ。&lt;/p&gt;
&lt;p&gt;おすすめは：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;長いタスクの前に必要なMCPをまとめて用意する。&lt;/li&gt;
&lt;li&gt;作業中に不足に気づいてインストールし、再読み込みする流れを避ける。&lt;/li&gt;
&lt;li&gt;大きなMCPツールセットは必要時だけ使う、またはデフォルト有効数を減らす。&lt;/li&gt;
&lt;li&gt;ほとんど使わないMCPを常時有効にしない。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ツール定義が安定していてこそ、Prompt Cacheは安定して命中する。&lt;/p&gt;
&lt;h2 id=&#34;キャッシュを壊す要因3途中でclaudemdを編集する&#34;&gt;キャッシュを壊す要因3：途中でCLAUDE.mdを編集する
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;CLAUDE.md&lt;/code&gt;はClaude Codeのプロジェクト記憶ファイルだ。ビルドコマンド、テストコマンド、設計上の約束、コードスタイル、プロジェクト固有の注意点を書くのに向いている。&lt;/p&gt;
&lt;p&gt;便利だが、これもコンテキストに入る。Claudeのヘルプでは、&lt;code&gt;CLAUDE.md&lt;/code&gt;はセッション開始時に読まれ、ユーザーメッセージとしてClaudeへ渡されると説明されている。またAnthropicのPrompt Cacheも使われる。最初のリクエストでは通常の入力価格を払い、以後キャッシュが有効なら低いcache readコストで処理される。&lt;/p&gt;
&lt;p&gt;問題は、&lt;code&gt;CLAUDE.md&lt;/code&gt;が内容で識別されることだ。ファイル内容を変えると、旧キャッシュとは一致しない。&lt;/p&gt;
&lt;p&gt;そのため、長いタスクの途中で頻繁に&lt;code&gt;CLAUDE.md&lt;/code&gt;を編集しないほうがよい。より良い使い方は：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;タスク開始前に&lt;code&gt;CLAUDE.md&lt;/code&gt;が十分か確認する。&lt;/li&gt;
&lt;li&gt;安定したルールはファイルへ、臨時指示は現在の会話へ置く。&lt;/li&gt;
&lt;li&gt;一度だけの要望のために長期記憶ファイルを編集しない。&lt;/li&gt;
&lt;li&gt;どうしても変更するなら、次の段階を新しいsessionや新しいフェーズとして扱う。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;CLAUDE.md&lt;/code&gt;は安定したプロジェクト説明であり、毎回変えるメモ帳ではない。&lt;/p&gt;
&lt;h2 id=&#34;キャッシュを壊す要因4途中でskillsをインストールまたは更新する&#34;&gt;キャッシュを壊す要因4：途中でSkillsをインストールまたは更新する
&lt;/h2&gt;&lt;p&gt;Skillsもコンテキストの一部だ。新しいSkillを入れる、Skillを更新する、Skill一覧が変わると、セッションへ注入されるコンテキストも変わる。&lt;/p&gt;
&lt;p&gt;こうした変化は、reload、resume、新しいsessionで反映されることが多い。messagesが再構築されると、古いキャッシュは命中しにくくなる。&lt;/p&gt;
&lt;p&gt;MCPと同じく、次のように扱うとよい。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;タスク開始前に必要なSkillsを決める。&lt;/li&gt;
&lt;li&gt;同じ種類のタスクではSkillセットを固定する。&lt;/li&gt;
&lt;li&gt;長いタスクの途中でSkillsを追加しない。&lt;/li&gt;
&lt;li&gt;新しいSkillを入れたら、新しい段階の始まりとして扱う。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;コンテンツ作成、レビュー、デプロイ、翻訳など反復する作業では、よく使うSkillsを固定するとコンテキスト構造が安定する。&lt;/p&gt;
&lt;h2 id=&#34;キャッシュを壊す要因5ttlを超えてアイドルになる&#34;&gt;キャッシュを壊す要因5：TTLを超えてアイドルになる
&lt;/h2&gt;&lt;p&gt;Prompt Cacheは永久に保存されない。一般的なデフォルト有効期間は数分程度で、Claude Code関連の説明でも約5分のキャッシュウィンドウが言及されることがある。TTLを過ぎると、同じリクエストでもサーバー側でキャッシュが消えている可能性がある。&lt;/p&gt;
&lt;p&gt;長いタスクで「さっきまで安かったのに、少し離席したらTokenが増えた」と感じる原因はこれだ。&lt;/p&gt;
&lt;p&gt;Claude Codeの出力を読む、ファイルを確認する、テストを走らせる、次の手を考える。こうした作業だけで5分はすぐ過ぎる。&lt;/p&gt;
&lt;p&gt;環境が対応しているなら、長いタスクの前に1時間のPrompt Cache TTLを有効化できる。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;ENABLE_PROMPT_CACHING_1H&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Windows PowerShellでは：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$env:ENABLE_PROMPT_CACHING_1H&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;1&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;1時間キャッシュの書き込みコストは、通常5分キャッシュより高くなる。短いタスクには向かないこともあるが、大規模コードベース、長い会話、複雑な多段階開発では、頻繁にキャッシュが切れるより安くなる場合がある。&lt;/p&gt;
&lt;h2 id=&#34;tokenを節約しやすいclaude-code長タスクの組み方&#34;&gt;Tokenを節約しやすいClaude Code長タスクの組み方
&lt;/h2&gt;&lt;p&gt;安定した流れはこうだ。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;タスク開始前にモデルを決め、頻繁に切り替えない。&lt;/li&gt;
&lt;li&gt;必要なMCPを有効にし、不要なMCPは切る。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CLAUDE.md&lt;/code&gt;は短く、安定した、長期的に有効なルールに絞る。&lt;/li&gt;
&lt;li&gt;今回必要なSkillsを事前に準備する。&lt;/li&gt;
&lt;li&gt;複雑なタスクでは1時間TTLを検討する。&lt;/li&gt;
&lt;li&gt;大きなタスクは段階に分けるが、各段階の内部ではコンテキスト構造を安定させる。&lt;/li&gt;
&lt;li&gt;支線探索はsubagentや別sessionで行い、メイン会話を汚さない。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;目的はすべてのキャッシュミスをなくすことではない。見落としやすく、コストの高い失効を避けることだ。&lt;/p&gt;
&lt;h2 id=&#34;簡単な判断基準&#34;&gt;簡単な判断基準
&lt;/h2&gt;&lt;p&gt;次の一文で判断できる。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;この操作はモデル、ツール定義、システムコンテキスト、またはセッション冒頭の固定メッセージを変えるか？&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;答えがはいなら、Prompt Cacheに影響する可能性が高い。コンテキスト鎖の左側に近いほど影響は大きい。&lt;/p&gt;
&lt;p&gt;よくある操作はこう整理できる。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;モデル切り替え：高リスク。モデルごとにキャッシュが分離される。&lt;/li&gt;
&lt;li&gt;MCP追加またはプラグイン再読み込み：高リスク。ツール一覧が変わる。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CLAUDE.md&lt;/code&gt;編集：中高リスク。プロジェクト記憶が変わる。&lt;/li&gt;
&lt;li&gt;Skillsインストール：中高リスク。注入コンテキストが変わる。&lt;/li&gt;
&lt;li&gt;通常の会話継続：低リスク。主にmessagesを追加するだけ。&lt;/li&gt;
&lt;li&gt;TTL超過のアイドル：高リスク。サーバー側キャッシュが期限切れになる。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;まとめ&#34;&gt;まとめ
&lt;/h2&gt;&lt;p&gt;Claude CodeのPrompt Cache最適化で大事なのは、パラメータを暗記することではなく、sessionの前方コンテキストを安定させることだ。&lt;/p&gt;
&lt;p&gt;モデルを気軽に切り替えない。MCPやSkillsを作業途中で増やさない。&lt;code&gt;CLAUDE.md&lt;/code&gt;を臨時メモとして頻繁に編集しない。複雑なタスクではTTL延長を検討する。これらを守るだけで、長いタスクのTokenコストと応答速度はかなり予測しやすくなる。&lt;/p&gt;
&lt;p&gt;実用的な一言にすると、始める前に整え、始めた後はあまり動かさない。&lt;/p&gt;
&lt;h2 id=&#34;参考資料&#34;&gt;参考資料
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-use-with-prompt-caching&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Anthropic：Tool use with prompt caching&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://support.claude.com/en/articles/14553240-give-claude-context-claude-md-and-better-prompts&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Claude Help Center：CLAUDE.md and prompt caching&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://code.claude.com/docs/en/mcp&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Claude Code Docs：Connect Claude Code to tools via MCP&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>OpenClaw 作者 Peter Steinberger は AI ソフトウェア開発をどう見ているのか：OpenClaw から閉ループ開発へ</title>
        <link>https://knightli.com/ja/2026/05/17/peter-steinberger-ai-software-development/</link>
        <pubDate>Sun, 17 May 2026 20:02:26 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/05/17/peter-steinberger-ai-software-development/</guid>
        <description>&lt;p&gt;Peter Steinberger の経歴は、AI ソフトウェア開発で何が変わっているのかを見るうえでよい材料になる。&lt;/p&gt;
&lt;p&gt;彼は「AI で突然注目された新人」ではない。OpenClaw の前から、PSPDFKit の創業者として PDF レンダリング、文書処理、開発者ツールに長く取り組んできた。この種のプロダクトは、コンセプトだけでは勝てない。性能、互換性、API 設計、企業顧客、長期保守に向き合う必要がある。&lt;/p&gt;
&lt;p&gt;そのため、Steinberger が後に AI ツールで OpenClaw を作り、AI Agent、個人自動化、AI coding について語ったとき、重要なのは「一人で大量のコードを書いた」ことだけではない。より面白いのは、長年のソフトウェア工学経験と新世代の AI coding agent を組み合わせ、開発プロセスをどう捉え直したかだ。&lt;/p&gt;
&lt;h2 id=&#34;ai-coding-は魔法のボタンではない&#34;&gt;AI coding は魔法のボタンではない
&lt;/h2&gt;&lt;p&gt;AI coding の議論は、よく二つの極端に分かれる。&lt;/p&gt;
&lt;p&gt;一方は、AI はすでにコードを書けるのでプログラマーは不要になる、と言う。&lt;/p&gt;
&lt;p&gt;もう一方は、AI が書くコードは信頼できず、本当のエンジニアリングは人間が手で書くべきだ、と言う。&lt;/p&gt;
&lt;p&gt;Steinberger の経験は第三の見方に近い。AI はソフトウェア開発の操作単位を変えるが、エンジニアリング判断を消すわけではない。&lt;/p&gt;
&lt;p&gt;従来、開発者の仕事は主に「コードを編集する」ことを中心に回っていた。要求分解、アーキテクチャ判断、実装、テスト、バグ修正は、すべて人間によるコード変更を軸にしていた。&lt;/p&gt;
&lt;p&gt;AI coding agent が入ると、開発者はだんだん実行システムを管理する存在に近づく。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;目標を説明する。&lt;/li&gt;
&lt;li&gt;コンテキストを与える。&lt;/li&gt;
&lt;li&gt;境界を決める。&lt;/li&gt;
&lt;li&gt;agent にコードを変更させる。&lt;/li&gt;
&lt;li&gt;テストとチェックを実行する。&lt;/li&gt;
&lt;li&gt;結果に基づいて反復する。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これは単にキーボードをモデルに渡すことではない。人間の役割を「すべての行を自分で打つ」ことから、「方向を定義し、フィードバックを設計し、結果を判断する」ことへ移すものだ。&lt;/p&gt;
&lt;h2 id=&#34;なぜ彼は-vibe-coding-という呼び方を好まないのか&#34;&gt;なぜ彼は vibe coding という呼び方を好まないのか
&lt;/h2&gt;&lt;p&gt;Steinberger をめぐる議論でよく出る言葉に &lt;code&gt;vibe coding&lt;/code&gt; がある。&lt;/p&gt;
&lt;p&gt;この言葉はもともと、開発者が自然言語でアイデアを説明し、AI に大量のコードを生成させ、実行結果とフィードバックで調整していく新しい開発スタイルを指していた。&lt;/p&gt;
&lt;p&gt;しかし Steinberger は、この言葉を全面的には受け入れていない。公開記事では、彼が &lt;code&gt;vibe coding&lt;/code&gt; をやや軽蔑的な表現になりやすいと見ていることが紹介されている。AI 支援開発を「感覚で適当に生成する」もののように見せ、背後にある技能、判断、経験を見落とすからだ。&lt;/p&gt;
&lt;p&gt;この批判には筋がある。&lt;/p&gt;
&lt;p&gt;本当に有効な AI coding は、適当に一文を入力してモデル出力を信じることではない。必要なのは次のような能力だ。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;曖昧な要求を実行可能なタスクに分解する。&lt;/li&gt;
&lt;li&gt;モデルが目標を誤解したかどうかを見抜く。&lt;/li&gt;
&lt;li&gt;テストと受け入れ基準を設計する。&lt;/li&gt;
&lt;li&gt;コード構造が長期保守に影響するか判断する。&lt;/li&gt;
&lt;li&gt;いつ生成を止めて人間のレビューに切り替えるべきか分かる。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;つまり、AI はコードを書く摩擦を下げるが、システムを理解する責任を下げるわけではない。&lt;/p&gt;
&lt;h2 id=&#34;鍵は閉ループにある&#34;&gt;鍵は閉ループにある
&lt;/h2&gt;&lt;p&gt;Steinberger のインタビューや記事でよく要約される考え方の一つが「ループ」だ。&lt;/p&gt;
&lt;p&gt;AI にコードを生成させるだけなら、開ループである。&lt;/p&gt;
&lt;p&gt;AI にコードを生成させ、実行させ、エラーを読み、問題を修正し、再びテストを走らせるなら、閉ループに近づく。&lt;/p&gt;
&lt;p&gt;この差は非常に大きい。&lt;/p&gt;
&lt;p&gt;開ループ生成は、表面上は使えそうなソフトウェアを作りやすい。ページは開き、機能はあるように見え、コードも多い。しかし実際の環境に入ると、状態管理、権限、例外処理、境界条件、デプロイの問題が出てくる。&lt;/p&gt;
&lt;p&gt;閉ループ開発では、出力がフィードバックによって制約される。もっとも単純なループは次の通りだ。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;目標を明確に書く。&lt;/li&gt;
&lt;li&gt;AI にコードを変更させる。&lt;/li&gt;
&lt;li&gt;テスト、型チェック、lint、ビルドを自動実行する。&lt;/li&gt;
&lt;li&gt;エラーを AI に返す。&lt;/li&gt;
&lt;li&gt;通るまで繰り返す。&lt;/li&gt;
&lt;li&gt;最後に人間が重要経路をレビューする。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;AI ソフトウェア開発が本当に効率を上げるのはここだ。モデルが一度で正解を書くからではない。生成、検証、修復のサイクルに高速に参加できるからだ。&lt;/p&gt;
&lt;h2 id=&#34;経験が多いほど-ai-を使いやすい&#34;&gt;経験が多いほど AI を使いやすい
&lt;/h2&gt;&lt;p&gt;AI coding で生まれやすい誤解の一つは、「経験はもう重要ではない」というものだ。&lt;/p&gt;
&lt;p&gt;Steinberger の事例はむしろ逆を示している。経験はより重要になる。ただし役割が変わる。&lt;/p&gt;
&lt;p&gt;経験あるエンジニアは、次の判断がしやすい。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;どのタスクを agent に渡すべきか。&lt;/li&gt;
&lt;li&gt;どのモジュールに先にテストを書くべきか。&lt;/li&gt;
&lt;li&gt;どの変更はリスクが高く、AI に広範囲リファクタを任せるべきではないか。&lt;/li&gt;
&lt;li&gt;どの生成コードは見た目だけ妥当なのか。&lt;/li&gt;
&lt;li&gt;どの問題はパッチではなくアーキテクチャ調整で解くべきか。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;AI は大量の候補案を生成できる。しかし候補が多いほど判断力が必要になる。経験が少ない人は「動いた」ことに惑わされやすい。経験ある人は、保守できるか、拡張できるか、安全境界を壊さないか、問題が起きたときに定位できるかを問う。&lt;/p&gt;
&lt;p&gt;だから AI coding agent は、ソフトウェア工学を単なるチャットにはしない。一部の実行労働を外に出しつつ、計画、レビュー、検証、取捨選択の重要性を増幅する。&lt;/p&gt;
&lt;h2 id=&#34;openclaw-の意味はプロジェクトそのものにとどまらない&#34;&gt;OpenClaw の意味はプロジェクトそのものにとどまらない
&lt;/h2&gt;&lt;p&gt;OpenClaw が注目されたのは、単にオープンソース AI agent だからでも、成長が速かったからでもない。&lt;/p&gt;
&lt;p&gt;それは一つのシグナルでもある。開発者は、AI に単に質問へ答えてほしいのではなく、実際のツールに接続し、実際の行動を完了してほしいと思い始めている。&lt;/p&gt;
&lt;p&gt;従来のチャットボットは会話欄の中にとどまる。コードを説明し、下書きを書き、助言はできるが、多くの場合、人間がコピー、貼り付け、ソフトウェア起動、コマンド実行を行う必要がある。&lt;/p&gt;
&lt;p&gt;Agent の方向性は、モデルをツールにつなぐことだ。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ファイルシステム。&lt;/li&gt;
&lt;li&gt;ブラウザ。&lt;/li&gt;
&lt;li&gt;ターミナル。&lt;/li&gt;
&lt;li&gt;メール。&lt;/li&gt;
&lt;li&gt;カレンダー。&lt;/li&gt;
&lt;li&gt;第三者サービス。&lt;/li&gt;
&lt;li&gt;プロジェクトリポジトリ。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;モデルがこれらのツールを使えるようになると、ソフトウェア開発の境界が変わる。AI は単なる「コード補完」ではなく、プロジェクト読解、タスク分解、ファイル編集、テスト実行、PR 整理、ワークフロー自動化に関わるようになる。&lt;/p&gt;
&lt;p&gt;Steinberger が OpenAI に加わったことで注目された理由もここにある。彼は一人の開発者の物語だけではなく、個人 agent がデモから日常業務へ進むというプロダクト方向を示している。&lt;/p&gt;
&lt;h2 id=&#34;普通の開発者にとっての意味&#34;&gt;普通の開発者にとっての意味
&lt;/h2&gt;&lt;p&gt;普通の開発者にとって、Steinberger の経験をそのまま再現できるとは限らない。&lt;/p&gt;
&lt;p&gt;誰もが複数の agent を同時に管理できるわけではない。すべてのプロジェクトが高強度の AI 生成に向くわけでもない。すべてのチームが「まず生成し、すばやく反復する」速度を受け入れるわけでもない。&lt;/p&gt;
&lt;p&gt;それでも学べることはいくつかある。&lt;/p&gt;
&lt;p&gt;第一に、タスクを明確に書く。&lt;/p&gt;
&lt;p&gt;AI は曖昧な目標に敏感だ。「最適化して」と言うと、スタイル、構造、機能、ロジックまで変えるかもしれない。「ログイン失敗時のエラーメッセージを英語から中国語へ変更し、認証フローは変えない」と言えば、結果はより制御しやすい。&lt;/p&gt;
&lt;p&gt;第二に、検証コマンドを固定する。&lt;/p&gt;
&lt;p&gt;テストもビルドコマンドも lint もないプロジェクトでは、AI はループを作りにくい。&lt;code&gt;npm test&lt;/code&gt;、&lt;code&gt;go test ./...&lt;/code&gt;、&lt;code&gt;pytest&lt;/code&gt;、&lt;code&gt;hugo&lt;/code&gt; のような基本的なコマンドだけでも、目視確認だけよりはずっとよい。&lt;/p&gt;
&lt;p&gt;第三に、変更範囲を制御する。&lt;/p&gt;
&lt;p&gt;一度に一つのモジュール、一つの bug、一つのページだけを AI に扱わせる方が、「プロジェクト全体をリファクタして」と頼むより通常は信頼できる。&lt;/p&gt;
&lt;p&gt;第四に、人間のレビューを残す。&lt;/p&gt;
&lt;p&gt;認証、決済、権限、データ削除、デプロイスクリプト、データベース移行、セキュリティ設定では、コードが AI 生成だからといってレビュー基準を下げてはいけない。&lt;/p&gt;
&lt;p&gt;第五に、prompt と失敗パターンを振り返る。&lt;/p&gt;
&lt;p&gt;AI がある種のタスクをよく誤解するなら、その制約をプロジェクトルール、agent instructions、skill ファイルに書く。AI coding 能力はモデルだけでなく、周囲に作る作業環境からも生まれる。&lt;/p&gt;
&lt;h2 id=&#34;ai-ソフトウェア開発はどこへ向かうのか&#34;&gt;AI ソフトウェア開発はどこへ向かうのか
&lt;/h2&gt;&lt;p&gt;Steinberger の物語は、AI ソフトウェア開発が「コードを書く支援」から「ソフトウェア生産フローを組織する」方向へ進んでいることを示している。&lt;/p&gt;
&lt;p&gt;初期の AI coding ツールの価値は、関数補完、エラー説明、テンプレート生成が中心だった。今の変化は、agent がファイルをまたいで作業し、ツールを呼び出し、チェックを実行し、フィードバックに基づいて修正を続けられることだ。&lt;/p&gt;
&lt;p&gt;そこからいくつかの流れが見えてくる。&lt;/p&gt;
&lt;p&gt;第一に、個人開発者の生産上限は上がる。&lt;/p&gt;
&lt;p&gt;一人でより多くのプロトタイプ、スクリプト、社内ツール、小型プロダクトを進められる。ただし生産量が増えることは品質が自動で上がることではない。生成が速いほど検証が重要になる。&lt;/p&gt;
&lt;p&gt;第二に、プロジェクト構造がより重要になる。&lt;/p&gt;
&lt;p&gt;コードが明確で、テストがはっきりしていて、ドキュメントが整っているほど、AI は正しく変更しやすい。混乱したプロジェクトは人間にも AI にも難しい。&lt;/p&gt;
&lt;p&gt;第三に、ソフトウェアエンジニアはワークフロー設計者に近づく。&lt;/p&gt;
&lt;p&gt;今後重要なのは、ある言語を書けるかどうかだけではない。要求、コンテキスト、ツール、テスト、デプロイ、権限を制御可能なループに組み立てられるかだ。&lt;/p&gt;
&lt;p&gt;第四に、セキュリティ境界はより敏感になる。&lt;/p&gt;
&lt;p&gt;Agent が何かを実行できるなら、間違ったことも実行できる。ファイルを読み、コマンドを実行し、サービスへアクセスできるなら、権限、監査、ロールバックは AI 開発環境の基盤になる。&lt;/p&gt;
&lt;h2 id=&#34;まとめ&#34;&gt;まとめ
&lt;/h2&gt;&lt;p&gt;Peter Steinberger の AI ソフトウェア開発観で最も価値があるのは、「AI がどれだけコードを生成したか」ではない。彼が示した新しい開発姿勢だ。&lt;/p&gt;
&lt;p&gt;人間はエディタ内で一行ずつ入力するだけではなくなりつつある。目標を設計し、agent を管理し、フィードバックループを作り、結果をレビューし、システムを調整する。コードは今も重要だが、労働の唯一の中心ではなくなっている。&lt;/p&gt;
&lt;p&gt;従来のソフトウェア開発が「コードを正しく書く」ことを重視していたとすれば、AI ソフトウェア開発は「システムが検証可能に正しい結果を継続して出す」ことをより重視するようになる。&lt;/p&gt;
&lt;p&gt;これは単にエンジニアリングのハードルを下げる話ではない。能力の形を変える話だ。手作業の実装から、タスク分解、コンテキスト管理、ツール編成、自動検証、最終判断へ移っていく。&lt;/p&gt;
&lt;h2 id=&#34;参考資料&#34;&gt;参考資料
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://techcrunch.com/2026/02/25/openclaw-creators-advice-to-ai-builders-is-to-be-more-playful-and-allow-yourself-time-to-improve/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;TechCrunch：OpenClaw creator’s advice to AI builders&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://builtin.com/articles/openclaw-founder-to-openai-analysis&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Built In：What Is OpenAI Getting From the OpenClaw Deal?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://podwise.ai/dashboard/episodes/7026858&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;The Pragmatic Engineer：The creator of Clawd: I ship code I don&amp;rsquo;t read&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.teamday.ai/ai/steinberger-openclaw-builders-unscripted-openai&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;TeamDay：Peter Steinberger: Building OpenClaw as a Solo Dev&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Codexのモバイルリモートアクセス：ChatGPT AppでMac上の開発タスクを追跡する</title>
        <link>https://knightli.com/ja/2026/05/16/codex-mobile-remote-access-chatgpt-app/</link>
        <pubDate>Sat, 16 May 2026 17:42:40 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/05/16/codex-mobile-remote-access-chatgpt-app/</guid>
        <description>&lt;p&gt;OpenAIは2026年5月中旬、&lt;code&gt;Codex remote access&lt;/code&gt;をChatGPTモバイルアプリに追加しました。これはスマートフォンでコードを書く機能ではなく、Mac上で動くCodexをスマートフォンから追跡・操作するための機能です。&lt;/p&gt;
&lt;p&gt;Codexは引き続きMac上でプロジェクトを読み、コマンドを実行し、ファイルを編集し、テスト結果を確認します。スマートフォン側は進捗確認、質問への回答、追加指示、操作承認を担当します。&lt;/p&gt;
&lt;h2 id=&#34;できること&#34;&gt;できること
&lt;/h2&gt;&lt;p&gt;OpenAIのCodex remote connectionsドキュメントによると、モバイルアクセスでは次のことができます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ホスト上のプロジェクトで新しいthreadを開始、または既存threadを継続&lt;/li&gt;
&lt;li&gt;追加指示の送信、質問への回答、作業方向の調整&lt;/li&gt;
&lt;li&gt;コマンドやその他の操作の承認&lt;/li&gt;
&lt;li&gt;出力、diff、テスト結果、端末出力、スクリーンショットの確認&lt;/li&gt;
&lt;li&gt;Codexの完了や注意が必要なタイミングで通知を受信&lt;/li&gt;
&lt;li&gt;接続済みホストとthreadの切り替え&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;単なる小さなチャット画面ではなく、Codexの作業コンテキストに接続するモバイル操作面です。&lt;/p&gt;
&lt;h2 id=&#34;必要条件&#34;&gt;必要条件
&lt;/h2&gt;&lt;p&gt;同じChatGPTアカウントとworkspaceでCodexを使える必要があります。スマートフォンには最新版のChatGPT Appが必要で、iOSとAndroidに対応します。&lt;/p&gt;
&lt;p&gt;ホストは現時点ではMacです。Macは起動中、オンライン、Codex App実行中で、同じアカウントとworkspaceにログインしている必要があります。モバイル設定とデバイス制御には現在&lt;code&gt;Codex App for macOS&lt;/code&gt;が必要で、Codex CLIやIDE Extensionからは設定できません。&lt;/p&gt;
&lt;p&gt;MFA、SSO、passkeyが必要なアカウントでは、セットアップ中にその認証を完了する必要があります。ChatGPT workspaceでは、管理者がRemote Control accessを有効にする必要がある場合もあります。&lt;/p&gt;
&lt;h2 id=&#34;制限&#34;&gt;制限
&lt;/h2&gt;&lt;p&gt;第一に、現在は&lt;code&gt;macOS host&lt;/code&gt;が必要です。スマートフォンが接続するのはMac上のCodex Appであり、Codex CLI、IDE Extension、Linux / Windows開発機に直接接続するわけではありません。&lt;/p&gt;
&lt;p&gt;第二に、ホストはオンラインでなければなりません。Macがスリープしたり、ネットワークを失ったり、Codex Appを閉じたりすると、リモートセッションは切断される可能性があります。&lt;/p&gt;
&lt;p&gt;第三に、接続はQRコードのセットアップに依存します。Mac側で&lt;code&gt;Set up Codex mobile&lt;/code&gt;を開き、スマートフォンでQRコードを読み取り、ChatGPTで連携を完了します。&lt;/p&gt;
&lt;p&gt;第四に、遠隔操作にも承認フローがあります。端末コマンド、ファイル変更、テスト実行、外部アクセスに関わる操作は、内容を確認してから承認すべきです。&lt;/p&gt;
&lt;h2 id=&#34;接続方法&#34;&gt;接続方法
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;MacでCodexを開きます。&lt;/li&gt;
&lt;li&gt;サイドバーで&lt;code&gt;Set up Codex mobile&lt;/code&gt;を選びます。&lt;/li&gt;
&lt;li&gt;Codexがこのホストのリモートアクセスを有効化し、QRコードを表示します。&lt;/li&gt;
&lt;li&gt;スマートフォンでQRコードを読み取り、ChatGPTのセットアップ画面に進みます。&lt;/li&gt;
&lt;li&gt;同じChatGPTアカウントとworkspaceであることを確認します。&lt;/li&gt;
&lt;li&gt;必要なMFA、SSO、passkeyを完了します。&lt;/li&gt;
&lt;li&gt;成功すると、スマートフォンのCodexにMacが表示されます。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;接続後はMac側の&lt;code&gt;Settings &amp;gt; Connections&lt;/code&gt;で接続済みデバイスを管理できます。コンピューターをスリープさせない設定、Computer Use、Chrome extensionもここで確認できます。&lt;/p&gt;
&lt;h2 id=&#34;スマートフォンでやるべきこと&#34;&gt;スマートフォンでやるべきこと
&lt;/h2&gt;&lt;p&gt;スマートフォンに向いているのは、承認、方向修正、結果確認です。Codexがコマンド実行を求めたときに承認し、誤解やテスト失敗があれば短い指示で修正し、diffやテスト出力を確認できます。&lt;/p&gt;
&lt;p&gt;価値があるのは「スマートフォンで開発する」ことではなく、ホスト上で動く開発タスクの携帯用コントローラーになることです。&lt;/p&gt;
&lt;h2 id=&#34;よくある問題&#34;&gt;よくある問題
&lt;/h2&gt;&lt;p&gt;ホストが表示されない場合は、MacでCodex Appが動いていること、&lt;code&gt;Allow other devices to connect&lt;/code&gt;が有効であること、同じChatGPTアカウントとworkspaceを使っていることを確認します。&lt;/p&gt;
&lt;p&gt;承認リクエストが表示されない場合は、ChatGPTモバイルアプリでCodexを開き、再度QRコードを読み取るか、ホスト側からセットアップをやり直します。workspaceでは管理者設定も確認します。&lt;/p&gt;
&lt;p&gt;リモートセッションが切れる場合は、Macがスリープしていないか、ネットワークが切れていないか、Codex Appを閉じていないかを確認します。&lt;/p&gt;
&lt;h2 id=&#34;向いている場面&#34;&gt;向いている場面
&lt;/h2&gt;&lt;p&gt;長いCodexタスクをよく走らせる、席を離れても承認したい、複数のプロジェクトやthreadを扱う、Macを主開発機として使っている人に向いています。&lt;/p&gt;
&lt;p&gt;WindowsやLinux中心、Codex CLIやIDE Extensionだけを使う、スマートフォンだけで完全な開発環境を期待する場合には向きません。&lt;/p&gt;
&lt;h2 id=&#34;まとめ&#34;&gt;まとめ
&lt;/h2&gt;&lt;p&gt;Codexのモバイルリモートアクセスは、開発をスマートフォンに移す機能ではありません。Codexが止まりがちな承認、質問、テスト失敗、方向確認を、ChatGPT Appから処理できるようにする機能です。&lt;/p&gt;
&lt;p&gt;Mac上でCodexをよく使う人には有用です。たまにコードの質問をするだけなら、効果はそれほど大きくありません。&lt;/p&gt;
&lt;h2 id=&#34;参考資料&#34;&gt;参考資料
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://help.openai.com/en/articles/6825453-chatgpt-release-notes&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;OpenAI Help Center：ChatGPT Release Notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://developers.openai.com/codex/remote-connections&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;OpenAI Developers：Codex Remote Connections&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Gemini 3.5 Pro が早くも流出：Google は Spark Agent で AI コーディングの入口を取り戻せるか</title>
        <link>https://knightli.com/ja/2026/05/15/gemini-35-pro-spark-agent-ai-coding-race/</link>
        <pubDate>Fri, 15 May 2026 23:45:34 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/05/15/gemini-35-pro-spark-agent-ai-coding-race/</guid>
        <description>&lt;p&gt;Gemini 3.5 Pro はまだ正式発表されていませんが、関連するリークはすでに盛り上がり始めています。&lt;/p&gt;
&lt;p&gt;今回の情報で目立つキーワードは、Gemini 3.5 Pro、コードネーム Cappuccino、Gemini Spark、AI コーディング、MCP ツール接続です。これらが示す方向は一つです。Google は単にチャットモデルを更新したいのではなく、モデル、ツール、Agent、そして Google エコシステムの入口を再び結び直そうとしています。&lt;/p&gt;
&lt;p&gt;ただし、正式発表前の情報はあくまで「リーク」として見るべきです。本当に注目すべきなのは、1 枚のスクリーンショットや 1 つのスコアではなく、Google が次にどの弱点を補おうとしているかです。&lt;/p&gt;
&lt;h2 id=&#34;gemini-35-pro-が注目される理由&#34;&gt;Gemini 3.5 Pro が注目される理由
&lt;/h2&gt;&lt;p&gt;公開された情報を見る限り、Gemini 3.5 Pro は命名上のジャンプになる可能性があります。&lt;/p&gt;
&lt;p&gt;少し前までは Gemini 3.2 が話題になっていましたが、その後 Gemini 3.5 Pro という名称が出てきました。もしこの命名が本当なら、Google は次のリリースで通常の小さな更新ではなく、より大きなバージョンストーリーを語ろうとしていることになります。&lt;/p&gt;
&lt;p&gt;現時点で流れている重点は主に 3 つです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;コーディングと推論能力の継続的な改善。&lt;/li&gt;
&lt;li&gt;SVG、インタラクティブページ、アニメーション、3D 生成能力の強化。&lt;/li&gt;
&lt;li&gt;新しい Agent 製品 Gemini Spark が前面に出る可能性。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これらの方向性自体は意外ではありません。Gemini シリーズは以前からマルチモーダルを重視しており、Google には強力な配布チャネルもあります。問題は、開発者ツールと Agent ワークフローで OpenAI や Anthropic のペースに追いつけるかどうかです。&lt;/p&gt;
&lt;h2 id=&#34;コーディング能力は-google-が最も補うべき課題&#34;&gt;コーディング能力は Google が最も補うべき課題
&lt;/h2&gt;&lt;p&gt;2026 年に入ってから、大規模モデル競争におけるコーディングは、単なる「モデル能力テスト項目」ではなくなりました。最も直接的なプロダクト入口の一つになっています。&lt;/p&gt;
&lt;p&gt;理由は単純です。AI コーディングツールは利用頻度が高く、大量のフィードバックデータを生みます。開発者は毎日、モデルにコードを読ませ、修正させ、テストを走らせ、バグを直させています。こうしたやり取りは、次世代モデルとツールチェーンの進化を自然に押し進めます。&lt;/p&gt;
&lt;p&gt;この 1 年で Claude Code は開発者の間で強い存在感を得ました。OpenAI も Codex と ChatGPT の連携を継続的に強化しています。一方で Google には Antigravity などの製品がありますが、外部での存在感はそれほど強くありません。&lt;/p&gt;
&lt;p&gt;だからこそ Gemini 3.5 Pro は注目されています。もしチャットが少し上手くなり、回答が少し速くなるだけなら、意味は限定的です。コード理解、複数ファイル編集、ツール呼び出し、長時間タスク実行が本当に改善されるなら、開発者のワークフローを変える可能性があります。&lt;/p&gt;
&lt;h2 id=&#34;gemini-spark-はより大きな変数かもしれない&#34;&gt;Gemini Spark はより大きな変数かもしれない
&lt;/h2&gt;&lt;p&gt;モデルそのものより攻めているのが、噂されている Gemini Spark です。&lt;/p&gt;
&lt;p&gt;リークによれば、Spark は通常のチャットアシスタントではなく、常時稼働する AI Agent として位置づけられています。メール、カレンダー、Web ページ、タスク、アカウント状態、個人コンテキストに接続し、複数ステップのワークフローを処理する可能性があります。&lt;/p&gt;
&lt;p&gt;このタイプの製品には大きな可能性があります。たとえば次のような使い方です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;受信箱を自動整理する。&lt;/li&gt;
&lt;li&gt;ユーザーのタスクをフォローする。&lt;/li&gt;
&lt;li&gt;Web ページ上で操作を実行する。&lt;/li&gt;
&lt;li&gt;アプリをまたいだ流れを処理する。&lt;/li&gt;
&lt;li&gt;個人の好みに基づいて日常タスクを調整する。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ただしリスクも同じくらい明確です。常時稼働する Agent がログイン状態、ブラウザデータ、ファイル、位置情報、サードパーティサービスにアクセスできるなら、いくつかの問いに答える必要があります。どの操作でユーザー確認が必要なのか。自動実行を禁止すべき操作は何か。データは第三者に共有されるのか。リモートブラウザと認証情報はどう隔離されるのか。&lt;/p&gt;
&lt;p&gt;つまり Spark の本当の見どころは、「作業を代行できるか」だけではありません。Google が権限、監査、確認フロー、ユーザー制御を十分に明確にできるかどうかです。&lt;/p&gt;
&lt;h2 id=&#34;mcp-ツール接続が示すもの&#34;&gt;MCP ツール接続が示すもの
&lt;/h2&gt;&lt;p&gt;リークでは、新しい Gemini のモデル選択画面に MCP 関連モデルやテスト入口が出る可能性も触れられています。&lt;/p&gt;
&lt;p&gt;もしこれが実装されるなら、Google もモデルを「質問応答システム」から「ツール操作システム」へ進めていることになります。モデルは単にテキストを生成するだけではなく、外部ツールを呼び、業務システムにアクセスし、ファイルを読み書きし、コマンドを実行し、複数ステップにわたってタスク状態を保つ必要があります。&lt;/p&gt;
&lt;p&gt;これは OpenAI や Anthropic と同じ方向です。ツール呼び出しをより安定させられる企業ほど、AI を現実のワークフローに組み込みやすくなります。&lt;/p&gt;
&lt;p&gt;ただし MCP 接続そのものがゴールではありません。本当に難しいのは安定性です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;モデルは正しいツールを選べるか。&lt;/li&gt;
&lt;li&gt;パラメータは信頼できるか。&lt;/li&gt;
&lt;li&gt;失敗後に復旧できるか。&lt;/li&gt;
&lt;li&gt;権限境界は明確か。&lt;/li&gt;
&lt;li&gt;ユーザーは各ステップを追跡できるか。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これらが解決されないままツールだけが増えると、失敗の表面積も広がります。&lt;/p&gt;
&lt;h2 id=&#34;マルチモーダルは依然として-google-の強いカード&#34;&gt;マルチモーダルは依然として Google の強いカード
&lt;/h2&gt;&lt;p&gt;Google が差別化しやすい領域は、やはりマルチモーダルです。&lt;/p&gt;
&lt;p&gt;流出した SVG、インタラクティブページ、アニメーション、視覚生成の例を見ると、Gemini は「プロンプトから操作可能なコンテンツを生成する」能力をさらに強化する可能性があります。単にコードを書くよりも、これはプロダクトプロトタイピングに近いものです。ユーザーがアイデアを説明すると、モデルが操作可能で調整でき、プレビューできる画面を直接出すという流れです。&lt;/p&gt;
&lt;p&gt;この路線は Google に合っています。Gemini のマルチモーダル能力を活かせるだけでなく、Android、Chrome、Workspace、検索、広告、クラウドサービスなどの入口とも結びつけられます。&lt;/p&gt;
&lt;p&gt;Google が「どのコードモデルが一番強いか」だけの勝負を避けたいなら、より完全なマルチモーダル Agent システムへ重点を置く可能性があります。&lt;/p&gt;
&lt;h2 id=&#34;3-社の戦い方は分かれ始めている&#34;&gt;3 社の戦い方は分かれ始めている
&lt;/h2&gt;&lt;p&gt;現在の大規模モデル競争は、単一のランキング競争ではありません。&lt;/p&gt;
&lt;p&gt;OpenAI の強みは、プロダクト反復と配布速度です。Codex、ChatGPT、企業向けツール、API の連携はますます強くなっています。&lt;/p&gt;
&lt;p&gt;Anthropic の強みは、開発者の認知とコードモデル品質です。Claude Code はすでに多くの人にとって標準の AI コーディング入口になっています。&lt;/p&gt;
&lt;p&gt;Google の強みはエコシステム入口です。Gmail、Docs、Chrome、Android、検索、YouTube、Maps、クラウドサービスは、巨大な個人・企業データネットワークを形成しています。Agent がこれらの入口に安全に接続できれば、Google は「モデルの追随者」から「ワークフロー入口の支配者」へ移れる可能性があります。&lt;/p&gt;
&lt;p&gt;だからこそ Gemini Spark は注目に値します。すべてのベンチマークで 1 位になる必要はありません。日常のワークフローに入り込めれば、独自の堀を作れる可能性があります。&lt;/p&gt;
&lt;h2 id=&#34;一般ユーザーはどう見るべきか&#34;&gt;一般ユーザーはどう見るべきか
&lt;/h2&gt;&lt;p&gt;一般ユーザーにとっては、短期的にすべてのリークに振り回される必要はありません。&lt;/p&gt;
&lt;p&gt;より実用的な観察点は 3 つです。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Gemini 3.5 Pro のコーディング能力が本当に改善されるか。特に複雑なリポジトリ、長いコンテキスト、ツール呼び出し。&lt;/li&gt;
&lt;li&gt;Gemini Spark がデフォルトで安全か。機密操作の前に明確な確認と追跡可能な記録があるか。&lt;/li&gt;
&lt;li&gt;Google が価格、クォータ、企業向け権限管理を明確に示すか。デモだけで終わらないか。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;きれいなスクリーンショットを数枚生成するだけなら価値は限定的です。現実のワークフローへ安定して接続できるかどうかが、この世代の AI Agent 製品の分岐点になります。&lt;/p&gt;
&lt;h2 id=&#34;開発者にとっての意味&#34;&gt;開発者にとっての意味
&lt;/h2&gt;&lt;p&gt;開発者が最も気にするべきなのは、「どのモデルが勝ったか」ではなく、自分のワークフローが移行可能かどうかです。&lt;/p&gt;
&lt;p&gt;Claude Code、Codex、Gemini、Antigravity、Cursor、Windsurf など、多くのツールが入口を奪い合っています。すべての作業を 1 つのプラットフォームに固定すると、将来コスト、クォータ、モデル方針、権限ルールが変わったときに移行がつらくなります。&lt;/p&gt;
&lt;p&gt;より堅実なやり方は次の通りです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;重要なプロジェクトでは標準的な Git ワークフローを維持する。&lt;/li&gt;
&lt;li&gt;自動編集後は必ず diff を確認する。&lt;/li&gt;
&lt;li&gt;重要なタスクはテストと CI で支える。&lt;/li&gt;
&lt;li&gt;本番用の認証情報を不透明な Agent に渡さない。&lt;/li&gt;
&lt;li&gt;オープンなプロトコルでツール接続できる場合は、置き換え可能な選択肢を優先する。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;モデルはこれからも強くなりますが、エンジニアリングの規律は古くなりません。&lt;/p&gt;
&lt;h2 id=&#34;まとめ&#34;&gt;まとめ
&lt;/h2&gt;&lt;p&gt;Gemini 3.5 Pro のリークは、Google が AI コーディングと Agent の入口を急いで補強していることを示しています。モデル性能の向上はその一部であり、Gemini Spark のような常時稼働 Agent こそ、より大きな戦略的動きかもしれません。&lt;/p&gt;
&lt;p&gt;ただし、ユーザーの代わりに「自動で作業する」システムほど、厳格な権限境界と検証可能なワークフローが必要です。Google にとって本当の課題は、GPT-5.5 や Claude に追いつくことだけではありません。強いモデル、安全機構、エコシステム入口を、信頼できる日常ワークフローとして組み合わせることです。&lt;/p&gt;
&lt;p&gt;それが実現できれば、Gemini はすべてのランキングで 1 位にならなくても、AI の入口における主導権を一部取り戻せるかもしれません。&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Claude Code &#43; Ollama ローカル導入ガイド：CC Switch で無料の AI コーディングアシスタントを作る</title>
        <link>https://knightli.com/ja/2026/05/15/claude-code-ollama-cc-switch-local-agent/</link>
        <pubDate>Fri, 15 May 2026 23:27:50 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/05/15/claude-code-ollama-cc-switch-local-agent/</guid>
        <description>&lt;p&gt;最近、&lt;code&gt;Claude Code&lt;/code&gt; のような AI コーディングアシスタントが注目されています。魅力は単にコードについて会話できることではなく、プロジェクトを読み、ファイルを編集し、コマンドを実行し、依存関係を入れ、エラーを見ながら修正を続けられる点にあります。かなり Agent に近い使い方ができます。&lt;/p&gt;
&lt;p&gt;ただし問題はコストです。プロジェクトが大きくなるとコンテキストも長くなり、複数ターンの Agent 操作で API クォータを一気に消費します。試用、小さなツールの修正、スクリプト作成、ローカルのプライベートプロジェクトで使いたいだけなら、Claude Code の操作感を残したままモデルだけローカルにできないか、と考えるのは自然です。&lt;/p&gt;
&lt;p&gt;この構成の鍵になるのが &lt;code&gt;CC Switch&lt;/code&gt; です。Claude Code から OpenAI 互換 API としてローカルの &lt;code&gt;Ollama&lt;/code&gt; サービスへ接続し、公式 Claude API ではなくローカルモデルへリクエストを転送できます。&lt;/p&gt;
&lt;h2 id=&#34;この構成で解決できること&#34;&gt;この構成で解決できること
&lt;/h2&gt;&lt;p&gt;全体の流れは次のように考えると分かりやすいです。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Claude Code デスクトップ
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;+ CC Switch API 転送レイヤー
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;+ Ollama ローカルモデル
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Claude Code は引き続きコーディングワークフローとプロジェクト操作を担当します。CC Switch はモデルプロバイダー設定と API 互換性を受け持ち、Ollama はローカルでモデルを動かします。&lt;/p&gt;
&lt;p&gt;これはローカルモデルが突然 Claude と同等になるという意味ではありません。価値があるのは、Claude Code の Agent ワークフローを低コスト、オフライン、プライベートなローカル環境で使えるようにする点です。&lt;/p&gt;
&lt;h2 id=&#34;基本準備&#34;&gt;基本準備
&lt;/h2&gt;&lt;p&gt;始める前に、次のものを用意します。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;Git&lt;/code&gt; をインストールする。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Ollama&lt;/code&gt; をインストールする。&lt;/li&gt;
&lt;li&gt;コーディング向きのローカルモデルを取得する。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CC Switch&lt;/code&gt; をインストールする。&lt;/li&gt;
&lt;li&gt;Claude Code をローカルで使える状態にする。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;モデルは、まずコード能力が比較的強いものから試すとよいでしょう。たとえば Qwen Coder、DeepSeek Coder、またはツール呼び出しとコード生成がある程度安定しているモデルです。大きいモデルほど結果は良くなりやすい一方、メモリや GPU への負荷も高くなります。&lt;/p&gt;
&lt;p&gt;メモリに余裕がないマシンでは、小さめのモデルで流れを確認してから、徐々に大きいモデルを試すのがおすすめです。&lt;/p&gt;
&lt;h2 id=&#34;cc-switch-の重要設定&#34;&gt;CC Switch の重要設定
&lt;/h2&gt;&lt;p&gt;Ollama を起動すると、通常のローカル API アドレスは次のようになります。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;http://127.0.0.1:11434/v1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;CC Switch では OpenAI 互換のプロバイダー種別を選びます。よく使う選択肢は次のものです。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;OpenAI Chat Completions
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;そのうえで base URL を Ollama のローカルアドレスに向けます。&lt;/p&gt;
&lt;p&gt;API key はローカル Ollama では通常、本物のキーを必要としません。ただし多くのツールは環境変数やプレースホルダーを求めます。次のような値を使えます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ANTHROPIC_API_KEY
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;または、手元のローカル設定で受け入れられる別のプレースホルダー変数でも構いません。&lt;/p&gt;
&lt;p&gt;特に注意したい設定項目があります。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;#34;inferenceModels&amp;#34;=&amp;#34;[\&amp;#34;haiku\&amp;#34;,\&amp;#34;sonnet\&amp;#34;,\&amp;#34;opus\&amp;#34;]&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;これは Claude Code が期待するモデルロールをローカルプロバイダーへマッピングする設定です。実際には &lt;code&gt;haiku&lt;/code&gt;、&lt;code&gt;sonnet&lt;/code&gt;、&lt;code&gt;opus&lt;/code&gt; を Ollama または CC Switch 側で利用できるモデル名に対応させる必要があります。この対応が間違っていると、Claude Code がモデルを呼べなかったり、意図しない設定へ戻ったりします。&lt;/p&gt;
&lt;h2 id=&#34;claude-code-の強み&#34;&gt;Claude Code の強み
&lt;/h2&gt;&lt;p&gt;Claude Code の一番の価値は、単発の補完ではなくコーディング全体のワークフローにあります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;プロジェクト構造を読み取って理解する。&lt;/li&gt;
&lt;li&gt;タスクに応じて関連ファイルを見つける。&lt;/li&gt;
&lt;li&gt;コードを直接編集する。&lt;/li&gt;
&lt;li&gt;コマンドやテストを実行する。&lt;/li&gt;
&lt;li&gt;エラーを観察して修正を繰り返す。&lt;/li&gt;
&lt;li&gt;1 つのセッションで複数ステップの作業を進める。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;多くの人が Claude Code を残したい理由もここにあります。通常のチャット UI でもコード片は生成できますが、リポジトリ内で自然に作業してくれるわけではありません。Claude Code は、実行できる開発アシスタントに近い存在です。&lt;/p&gt;
&lt;h2 id=&#34;ollama-の役割&#34;&gt;Ollama の役割
&lt;/h2&gt;&lt;p&gt;Ollama はローカルモデルの実行と管理を担当します。モデルのダウンロード、ロード、ローカル推論を扱います。&lt;/p&gt;
&lt;p&gt;利点は明確です。リクエストは手元のマシンに残り、繰り返し使っても API 課金が発生せず、ネットワークが制限された環境でも使えます。プライベートなコードを扱う場合も、すべてのコンテキストをクラウドモデルに送るより受け入れやすいでしょう。&lt;/p&gt;
&lt;p&gt;一方で代償もあります。ローカルモデルはハードウェアとモデル品質に大きく左右されます。小さいモデルでも簡単な修正、説明、スクリプト生成はできますが、大規模な複数ファイルリファクタリングや細かな設計判断では能力差が出やすくなります。&lt;/p&gt;
&lt;h2 id=&#34;体験の限界&#34;&gt;体験の限界
&lt;/h2&gt;&lt;p&gt;この構成は、Claude の強力なクラウドモデルを完全に置き換えるものとして考えるべきではありません。&lt;/p&gt;
&lt;p&gt;次のような問題に遭遇する可能性があります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;長いコンテキストの理解が弱い。&lt;/li&gt;
&lt;li&gt;複雑なタスクでツール呼び出しが不安定になる。&lt;/li&gt;
&lt;li&gt;CPU のみの環境では推論が遅い。&lt;/li&gt;
&lt;li&gt;存在しないファイルパスや API を幻覚しやすい。&lt;/li&gt;
&lt;li&gt;複数ターンの計画が安定しにくい。&lt;/li&gt;
&lt;li&gt;大規模リポジトリのリファクタリング成功率が低い。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;したがって、期待値としては「無料で使えるローカル開発アシスタント」が現実的です。トップクラスのクラウドモデルの完全な代替ではありません。&lt;/p&gt;
&lt;h2 id=&#34;マルチモーダル互換性はまだ不安定&#34;&gt;マルチモーダル互換性はまだ不安定
&lt;/h2&gt;&lt;p&gt;Claude Code にスクリーンショット、UI 画像、図、その他のマルチモーダル入力を扱わせたい人もいます。この部分はローカルモデルと転送レイヤーの対応状況に依存します。&lt;/p&gt;
&lt;p&gt;選んだ Ollama モデルが画像入力に対応していない場合、または CC Switch がリクエスト形式を正しく変換できない場合、マルチモーダル機能は失敗する可能性があります。Vision モデルを使っても、公式 Claude API と同じ挙動になるとは限りません。&lt;/p&gt;
&lt;p&gt;現時点では、この構成はテキストとコードのワークフロー向きです。マルチモーダル対応は実験的なものとして扱うのがよいでしょう。&lt;/p&gt;
&lt;h2 id=&#34;試す価値がある人&#34;&gt;試す価値がある人
&lt;/h2&gt;&lt;p&gt;この構成は次のような人に向いています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Claude Code のワークフローを低コストで試したい開発者。&lt;/li&gt;
&lt;li&gt;スクリプト、小さなツール、自動化をよく書く人。&lt;/li&gt;
&lt;li&gt;コードをできるだけローカルに残したいチーム。&lt;/li&gt;
&lt;li&gt;API コストを気にせず AI コーディングアシスタントを学びたい初心者。&lt;/li&gt;
&lt;li&gt;さまざまなローカルコードモデルを検証している人。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;長いコンテキスト、大規模 monorepo、厳密なコードレビュー品質、複雑なプロジェクト全体のリファクタリングに強く依存する場合は、まだ安定性が足りないかもしれません。&lt;/p&gt;
&lt;h2 id=&#34;使い方のおすすめ&#34;&gt;使い方のおすすめ
&lt;/h2&gt;&lt;p&gt;まずは小さなタスクから始めましょう。&lt;/p&gt;
&lt;p&gt;たとえば次のような作業です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1 つのファイルを説明させる。&lt;/li&gt;
&lt;li&gt;小さな関数をリファクタリングする。&lt;/li&gt;
&lt;li&gt;shell スクリプトを生成する。&lt;/li&gt;
&lt;li&gt;単純なエラーを修正する。&lt;/li&gt;
&lt;li&gt;小さな機能を追加する。&lt;/li&gt;
&lt;li&gt;狭いモジュールに単体テストを追加する。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;変更後は、自分でテストを実行するか、少なくとも diff を確認してください。ローカルモデルは便利ですが、生成された編集をすべて無条件に受け入れるべきではありません。&lt;/p&gt;
&lt;p&gt;モデルがよくコンテキストを見失う場合は、タスク範囲を小さくします。「プロジェクト全体をリファクタリングして」ではなく、「この関数をリファクタリングして」や「このファイルにバリデーションを追加して」のように依頼すると安定しやすくなります。&lt;/p&gt;
&lt;h2 id=&#34;まとめ&#34;&gt;まとめ
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Claude Code + CC Switch + Ollama&lt;/code&gt; はかなり面白い組み合わせです。Claude Code の Agent 的な開発体験を保ちつつ、モデル推論をローカルへ移せます。&lt;/p&gt;
&lt;p&gt;大きな利点は、コストの低さ、データのプライバシー、扱いやすい開発ワークフローです。一方で、モデル品質、ハードウェア性能、長いコンテキスト、ツール呼び出しの安定性が体験を左右します。&lt;/p&gt;
&lt;p&gt;すでに Ollama を使っていて、より実践的なローカル AI コーディング環境が欲しいなら、この構成は試す価値があります。ただし小さな作業から始め、すべての変更を確認し、ローカルモデルを自動エンジニアではなくアシスタントとして扱うのが安全です。&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Prompt-Vault：AI コーディング能力を測るための prompt 仕様集</title>
        <link>https://knightli.com/ja/2026/05/15/prompt-vault-coding-prompt-benchmark/</link>
        <pubDate>Fri, 15 May 2026 09:00:52 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/05/15/prompt-vault-coding-prompt-benchmark/</guid>
        <description>&lt;p&gt;&lt;code&gt;w512/Prompt-Vault&lt;/code&gt; は小さいが有用な prompt リポジトリだ。万能の呪文を集めるのではなく、実行可能な coding prompt を難易度別に整理し、LLM や coding agent のテストに使えるようにしている。&lt;/p&gt;
&lt;p&gt;プロジェクト：&lt;a class=&#34;link&#34; href=&#34;https://github.com/w512/Prompt-Vault&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/w512/Prompt-Vault&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;構造は &lt;code&gt;Easy&lt;/code&gt;、&lt;code&gt;Medium&lt;/code&gt;、&lt;code&gt;Hard&lt;/code&gt; の三つ。各 Markdown ファイルが独立したタスクだ。README も、これらは大規模言語モデルのテストや練習プロジェクトに向くと説明している。&lt;/p&gt;
&lt;h2 id=&#34;prompt-スクラップブックではない&#34;&gt;prompt スクラップブックではない
&lt;/h2&gt;&lt;p&gt;多くの prompt 集は数が多くても品質を判断しにくい。見出しは魅力的でも、受け入れ基準が足りない。&lt;/p&gt;
&lt;p&gt;Prompt-Vault は仕様集に近い。各タスクは、作るアプリ、必須機能、UI スタイル、技術制約、単一ファイル実行か、外部依存の可否、永続化の有無を明確にしようとしている。&lt;/p&gt;
&lt;p&gt;これは「きれいな看板を作って」よりもモデル評価に向いている。モデルが要件を理解しているかが見えるからだ。&lt;/p&gt;
&lt;h2 id=&#34;easy基本的なインタラクション&#34;&gt;Easy：基本的なインタラクション
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Bubble_Sort_Visualizer.md&lt;/code&gt; は、単一 &lt;code&gt;index.html&lt;/code&gt; でバブルソートを棒グラフ表示する。開始、リセット、速度スライダー、比較回数、ダークテーマが必要だ。&lt;/p&gt;
&lt;p&gt;アルゴリズム状態を UI に結びつけられるか、アニメーションを制御できるか、リセットと実行状態を扱えるかを測れる。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ToDo_List.md&lt;/code&gt; は静的 HTML から始まり、タスク追加、完了状態、削除、カウンタ、Active / Completed 統計、&lt;code&gt;localStorage&lt;/code&gt; を段階的に追加する。&lt;/p&gt;
&lt;p&gt;単純だが、段階的にコードを進化させられるかを測るのに向いている。&lt;/p&gt;
&lt;h2 id=&#34;medium状態とアニメーション&#34;&gt;Medium：状態とアニメーション
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Sorting_Visualization.md&lt;/code&gt; は 6 種類のソートを同じページで扱う。Bubble Sort、Insertion Sort、Selection Sort、Merge Sort、Quick Sort、Heap Sort だ。&lt;/p&gt;
&lt;p&gt;さらにアルゴリズム選択、速度、配列サイズ、リセット、開始 / 一時停止、統計パネルも必要になる。&lt;/p&gt;
&lt;p&gt;ひとつのバブルソートは書けても、複数アルゴリズム、停止再開、統計を合わせると状態管理の弱点が出やすい。&lt;/p&gt;
&lt;h2 id=&#34;hard製品としての完成度&#34;&gt;Hard：製品としての完成度
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Kanban_Board.md&lt;/code&gt; は、列追加、改名、空列削除、カードのタイトルと説明、優先度、期限、ドラッグ、検索、フィルタ、&lt;code&gt;localStorage&lt;/code&gt;、統計、ダークな glassmorphism、横スクロール対応を求める。&lt;/p&gt;
&lt;p&gt;これは単機能ではなく、製品としての完成度を測る prompt だ。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Markdown_Editor_Desktop.md&lt;/code&gt; は Tauri 2 のクロスプラットフォーム Markdown エディタを求める。分割編集とプレビュー、同期スクロール、ライブレンダリング、保存、未保存表示、ツールバー、ショートカット、テーマ、Vue 3、Pinia、&lt;code&gt;marked.js&lt;/code&gt;、&lt;code&gt;prism.js&lt;/code&gt;、Tauri plugins などを含む。&lt;/p&gt;
&lt;p&gt;Web ページを超えて、デスクトップアプリの設計力を測れる。&lt;/p&gt;
&lt;h2 id=&#34;価値&#34;&gt;価値
&lt;/h2&gt;&lt;p&gt;Prompt-Vault の価値は数ではなく、再利用できる評価サンプルにある。&lt;/p&gt;
&lt;p&gt;同じ prompt を複数モデルで使えば、制約を守るか、機能漏れが少ないか、境界状態を扱えるか、コードが保守しやすいか、UI 細部に強いかを比較できる。&lt;/p&gt;
&lt;p&gt;これは「賢そうに感じる」よりずっと信頼できる。&lt;/p&gt;
&lt;p&gt;フロントエンドタスクでは、失敗は構文エラーだけではない。ボタン状態、アニメーション停止、永続化、ドラッグ対象、統計更新など、体験の細部が評価になる。&lt;/p&gt;
&lt;h2 id=&#34;拡張案&#34;&gt;拡張案
&lt;/h2&gt;&lt;p&gt;より本格的な benchmark にするなら、受け入れチェックリスト、失敗ケース、採点軸、参照実装、モデル別の結果記録を追加できる。&lt;/p&gt;
&lt;p&gt;たとえばソート可視化には「Start / Reset を連打しても複数ループが走らない」などのチェックを入れるとよい。&lt;/p&gt;
&lt;h2 id=&#34;使い方&#34;&gt;使い方
&lt;/h2&gt;&lt;p&gt;AI コーディングツールを試すなら、prompt をそのまま渡し、追加ヒントなしで出力を実行する。機能ごとに確認し、漏れと bug を記録し、一度だけ修正させる。最後に時間、token コスト、コード品質を比べる。&lt;/p&gt;
&lt;h2 id=&#34;まとめ&#34;&gt;まとめ
&lt;/h2&gt;&lt;p&gt;Prompt-Vault は軽量な prompt 仕様集だ。AI コーディングのテストにも、フロントエンド練習にも使える。&lt;/p&gt;
&lt;p&gt;良い prompt は願望ではなく、要件、制約、インタラクション、状態、受け入れ基準、実行方法を書くものだと教えてくれる。&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Token Efficiency とは何か：DeepSeek V4 から見る大モデルの計画と小モデルの実行</title>
        <link>https://knightli.com/ja/2026/05/15/token-efficiency-agent-orchestration/</link>
        <pubDate>Fri, 15 May 2026 08:59:33 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/05/15/token-efficiency-agent-orchestration/</guid>
        <description>&lt;p&gt;AI コーディングで次に重要になる指標は、最強モデルを使うことではなく、より少ない token、低いコスト、安定したプロセスで、より多くの検証可能な仕事を終えることかもしれない。&lt;/p&gt;
&lt;p&gt;それが Token Efficiency の価値だ。&lt;/p&gt;
&lt;p&gt;多くの人は Token Efficiency を、安いモデル、長いコンテキスト、安い cache hit と考える。しかしそれは基礎条件にすぎない。本当に生産性に変えるのは、モデルの役割分担、タスク編成、コンテキスト予算、評価体系だ。&lt;/p&gt;
&lt;h2 id=&#34;deepseek-v4-の位置づけ&#34;&gt;DeepSeek V4 の位置づけ
&lt;/h2&gt;&lt;p&gt;DeepSeek V4 は単に強いモデルを出しただけではない。Token Efficiency に必要な二つの能力を &lt;code&gt;V4 Pro&lt;/code&gt; と &lt;code&gt;V4 Flash&lt;/code&gt; に分けた。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;V4 Pro&lt;/code&gt; は計画、推論、アーキテクチャ判断、重要レビューに向く。&lt;code&gt;V4 Flash&lt;/code&gt; は高頻度実行、バッチ書き換え、コード補完、資料整理、agent ループ内の通常ノードに向く。&lt;/p&gt;
&lt;p&gt;AI コーディングでは次のように使える。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;V4 Pro&lt;/code&gt;: planner / consultant。要件分解、技術設計、複雑な bug 分析、アーキテクチャレビュー、最終受け入れ。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;V4 Flash&lt;/code&gt;: executor。ファイル走査、単純実装、テスト補完、文書整理、候補生成、反復タスク。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;DeepSeek の API 文書では、&lt;code&gt;V4 Flash&lt;/code&gt; と &lt;code&gt;V4 Pro&lt;/code&gt; はどちらも &lt;code&gt;1M&lt;/code&gt; context、JSON Output、Tool Calls、Chat Prefix Completion、FIM Completion をサポートする。価格ページでは cache hit input が別価格で、input cache hit 価格が公開時の 10 分の 1 になったことも示されている。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;1M&lt;/code&gt; context は複雑な agent タスクの圧縮問題を減らす。低い cache hit 価格は、長い system prompt、プロジェクト文書、コード片、履歴を繰り返し入れるコストを下げる。&lt;code&gt;Flash / Pro&lt;/code&gt; の分離は、全ステップを高価なモデルで走らせるか、不安定な小モデルだけで走らせるか、という二択を避ける。&lt;/p&gt;
&lt;p&gt;DeepSeek V4 の意味は、別のモデル選択肢ではなく、「consultant model + executor model + harness orchestration」の現実的なコスト構造を提供することにある。&lt;/p&gt;
&lt;h2 id=&#34;最強モデルにすべてをさせない&#34;&gt;最強モデルにすべてをさせない
&lt;/h2&gt;&lt;p&gt;従来は最も賢いモデルに、要件分析、実装、テスト、まとめを全部任せがちだった。&lt;/p&gt;
&lt;p&gt;しかし多くの作業は最高レベルの推論を必要としない。高価なモデルは、重要な判断点だけに出る consultant、architect、planner のように使うべきだ。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;大モデルは問題分解と重要判断。&lt;/li&gt;
&lt;li&gt;小モデルは実行、バッチ処理、反復修正。&lt;/li&gt;
&lt;li&gt;tool と harness はプロセス、状態、コンテキスト、検証。&lt;/li&gt;
&lt;li&gt;人間は製品定義、受け入れ、取捨選択。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これで最先端推論を機械的な実行に浪費しにくくなる。&lt;/p&gt;
&lt;h2 id=&#34;コンテキストは大きければよいわけではない&#34;&gt;コンテキストは大きければよいわけではない
&lt;/h2&gt;&lt;p&gt;coding agent では、コード、文書、会話履歴、テスト出力、ログがコンテキストを消費する。上限に近づくと圧縮、忘却、誤判断が起きやすい。&lt;/p&gt;
&lt;p&gt;しかし長いコンテキストは、すべてを詰め込んでよいという意味ではない。&lt;/p&gt;
&lt;p&gt;各タスクは、必要ファイル、判断に関係する文書、現在段階に必要な履歴、明確な入出力、次ノードへ渡す構造化要約だけを持つべきだ。&lt;/p&gt;
&lt;p&gt;安い context は無関係な情報を入れたくさせる。だがノイズはモデルを賢くしない。&lt;/p&gt;
&lt;h2 id=&#34;harness-が単体モデルより重要&#34;&gt;Harness が単体モデルより重要
&lt;/h2&gt;&lt;p&gt;Claude Code、Codex、その他の coding agent を安いモデルにつなぐだけでは十分ではない。小モデルは長いタスクでずれやすく、強いプロセス制御が必要だ。&lt;/p&gt;
&lt;p&gt;harness は調度システムであり、タスク分割、ノード実行、モデル選択、結果検証、失敗時の再試行、コンテキスト受け渡しを決める。&lt;/p&gt;
&lt;p&gt;この層がなければ、小モデルは安いだけだ。この層があると、小モデルはレバレッジになる。&lt;/p&gt;
&lt;h2 id=&#34;dag-でタスクを分ける&#34;&gt;DAG でタスクを分ける
&lt;/h2&gt;&lt;p&gt;複雑なタスクは DAG に分けられる。たとえば機能開発は、要件確認、技術設計、タスク分解、実装、テスト補完、Code Review、修正、PR 提出にできる。&lt;/p&gt;
&lt;p&gt;各ノードは独立した agent にできる。役割、prompt、tool 権限、出力形式を分け、長い会話ではなく構造化結果を渡す。&lt;/p&gt;
&lt;p&gt;これによりノードは短くなり、小モデルで完了しやすくなり、どこが失敗しているかも測りやすくなる。&lt;/p&gt;
&lt;h2 id=&#34;タスクは複数回走らせてもよい&#34;&gt;タスクは複数回走らせてもよい
&lt;/h2&gt;&lt;p&gt;token が十分安ければ、同じタスクを一度だけ走らせる必要はない。異なるモデル、prompt、編成で複数回走らせ、最良の結果を選ぶ、または有用部分を統合できる。&lt;/p&gt;
&lt;p&gt;向いているのは設計案、文章、テストケース、bug 仮説、リファクタリング案、Code Review だ。共有状態を変える作業や外部副作用がある作業には向かない。&lt;/p&gt;
&lt;p&gt;目的は運試しではなく、比較可能なサンプルを得て、編成とモデル選択を改善することだ。&lt;/p&gt;
&lt;h2 id=&#34;評価体系が必要&#34;&gt;評価体系が必要
&lt;/h2&gt;&lt;p&gt;Token Efficiency は価格だけでは測れない。安くても失敗率が高ければ、人間の時間を食って高くつく。&lt;/p&gt;
&lt;p&gt;タスク完了率、人間の介入回数、tool call 失敗率、テスト通過率、review 指摘数、タスクごとの token コスト、時間、手戻り回数、モデル組み合わせの差を記録する。&lt;/p&gt;
&lt;p&gt;このデータがあって初めて、小モデルでよい作業、大モデルが必要な作業、人間が判断すべき作業を分けられる。&lt;/p&gt;
&lt;h2 id=&#34;業務フローを原子化する&#34;&gt;業務フローを原子化する
&lt;/h2&gt;&lt;p&gt;全員が harness を自作する必要はない。しかし自分の業務を原子ノードに分解することは今からできる。&lt;/p&gt;
&lt;p&gt;コンテンツ制作なら、企画、調査、アウトライン、初稿、ファクトチェック、スタイル調整、SEO タイトル、多言語翻訳、公開チェック。&lt;/p&gt;
&lt;p&gt;ソフトウェア開発なら、要件確認、技術設計、データ構造、API 変更、単体テスト、実装、移行スクリプト、文書、Review。&lt;/p&gt;
&lt;p&gt;各ノードは入力、出力、受け入れ条件、コンテキストを明確にする。harness が成熟すれば、そのまま接続できる。&lt;/p&gt;
&lt;h2 id=&#34;ハードウェアは最優先ではない&#34;&gt;ハードウェアは最優先ではない
&lt;/h2&gt;&lt;p&gt;Token Efficiency の話はすぐローカルデプロイや GPU に向かう。しかし多くの人にとって最初の選択は API でよい。&lt;/p&gt;
&lt;p&gt;経済モデルが通る前に高価なハードを買うのは、コストの前払いにすぎない。まず API で workflow を通し、評価とコストを記録し、高頻度の実行ノードを見つけてから、ローカル化を検討すべきだ。&lt;/p&gt;
&lt;h2 id=&#34;まとめ&#34;&gt;まとめ
&lt;/h2&gt;&lt;p&gt;Token Efficiency の本質は、高いモデルを安いモデルで置き換えることではない。AI workflow を設計し直すことだ。&lt;/p&gt;
&lt;p&gt;大モデルが重要判断をし、小モデルが大量実行し、harness が調度と検証を行い、人間が目標と受け入れを決める。この四層が揃って初めて token は生産性に変わる。&lt;/p&gt;
&lt;p&gt;将来の差は、最強モデルを呼んだかではなく、同じ token でどれだけ現実の成果を出せるかに現れる。&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Superpowers：Coding Agent を工学プロセスへ戻す skills フレームワーク</title>
        <link>https://knightli.com/ja/2026/05/15/obra-superpowers-agentic-skills-framework/</link>
        <pubDate>Fri, 15 May 2026 08:53:17 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/05/15/obra-superpowers-agentic-skills-framework/</guid>
        <description>&lt;p&gt;&lt;code&gt;obra/superpowers&lt;/code&gt; は coding agent 向けの skills フレームワークであり、ソフトウェア開発方法論でもある。目的は万能 prompt を増やすことではなく、agent に流れを守らせることだ。目標を確認し、設計を作り、計画に分解し、TDD で実装し、レビューして終える。&lt;/p&gt;
&lt;p&gt;プロジェクト：&lt;a class=&#34;link&#34; href=&#34;https://github.com/obra/superpowers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/obra/superpowers&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;執筆時点で GitHub API では 19 万 star を超え、MIT ライセンスで、最近も更新されている。README は &lt;code&gt;An agentic skills framework &amp;amp; software development methodology that works.&lt;/code&gt; と説明している。&lt;/p&gt;
&lt;h2 id=&#34;解決したい問題&#34;&gt;解決したい問題
&lt;/h2&gt;&lt;p&gt;多くの AI コーディングツールの問題は、コードを書けないことではなく、すぐコードを書き始めることだ。&lt;/p&gt;
&lt;p&gt;ユーザーが曖昧な要望を言うと、agent はファイルを編集し、見た目は完成する。しかし境界、テスト、アーキテクチャは不明確なまま残る。小さな作業ならよいが、複雑なプロジェクトでは手戻りと技術的負債になる。&lt;/p&gt;
&lt;p&gt;Superpowers は、コードに触る前に agent を workflow に入れる。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;何かを作りたいと分かったら、まず目標を質問する。&lt;/li&gt;
&lt;li&gt;会話を仕様にし、区切って確認する。&lt;/li&gt;
&lt;li&gt;設計が通ったら、実装計画を作る。&lt;/li&gt;
&lt;li&gt;ユーザーが “go” と言ってから実装する。&lt;/li&gt;
&lt;li&gt;実装では TDD、YAGNI、DRY、レビューを重視する。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;これは新しい工学ではない。速い agent ほど、こうしたガードレールが重要になる。&lt;/p&gt;
&lt;h2 id=&#34;対応ツール&#34;&gt;対応ツール
&lt;/h2&gt;&lt;p&gt;Superpowers は単一の agent に縛られない。README には Claude Code、Codex CLI、Codex App、Factory Droid、Gemini CLI、OpenCode、Cursor、GitHub Copilot CLI が挙げられている。&lt;/p&gt;
&lt;p&gt;つまり特定モデルのテクニックではなく、複数の harness で使える workflow 層に近い。&lt;/p&gt;
&lt;h2 id=&#34;基本-workflow&#34;&gt;基本 workflow
&lt;/h2&gt;&lt;p&gt;最初は &lt;code&gt;brainstorming&lt;/code&gt;。実装前に粗いアイデアを実行可能な設計へ変え、ユーザーに確認する。&lt;/p&gt;
&lt;p&gt;次に &lt;code&gt;using-git-worktrees&lt;/code&gt;。設計後、隔離された worktree とブランチを作り、インストールとテストの基線を確認する。&lt;/p&gt;
&lt;p&gt;次は &lt;code&gt;writing-plans&lt;/code&gt;。設計を小さなタスクに分け、ファイルパス、変更範囲、検証手順を明確にする。&lt;/p&gt;
&lt;p&gt;実装段階では &lt;code&gt;subagent-driven-development&lt;/code&gt; で subagent に渡すことも、&lt;code&gt;executing-plans&lt;/code&gt; で順に実行することもできる。重要なのは各タスクが確認可能で review 可能なことだ。&lt;/p&gt;
&lt;p&gt;その後 &lt;code&gt;test-driven-development&lt;/code&gt; によって、本当の RED-GREEN-REFACTOR を行う。失敗するテストを書き、失敗を確認し、最小実装で通し、リファクタリングする。&lt;/p&gt;
&lt;p&gt;さらに &lt;code&gt;requesting-code-review&lt;/code&gt; でタスク間の review を行う。Critical な問題は進行を止める。&lt;/p&gt;
&lt;p&gt;最後に &lt;code&gt;finishing-a-development-branch&lt;/code&gt; でテストを確認し、merge、PR、worktree の保持や破棄を選ぶ。&lt;/p&gt;
&lt;h2 id=&#34;skills-library&#34;&gt;Skills Library
&lt;/h2&gt;&lt;p&gt;テスト系は &lt;code&gt;test-driven-development&lt;/code&gt; が中心だ。&lt;/p&gt;
&lt;p&gt;デバッグ系には &lt;code&gt;systematic-debugging&lt;/code&gt; と &lt;code&gt;verification-before-completion&lt;/code&gt; がある。再現、最小化、仮説、検証、修正を求め、検証なしに完了と言わない。&lt;/p&gt;
&lt;p&gt;協調系には次がある。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;brainstorming&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;writing-plans&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;executing-plans&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dispatching-parallel-agents&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;requesting-code-review&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;receiving-code-review&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;using-git-worktrees&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;finishing-a-development-branch&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;subagent-driven-development&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;メタ skills には &lt;code&gt;writing-skills&lt;/code&gt; と &lt;code&gt;using-superpowers&lt;/code&gt; がある。組み合わせると、agent に「いつ質問し、いつ計画し、いつテストし、いつ止まって review するか」という習慣を与える。&lt;/p&gt;
&lt;h2 id=&#34;普通の-prompt-との違い&#34;&gt;普通の prompt との違い
&lt;/h2&gt;&lt;p&gt;普通の prompt は、ルールを system prompt に積み上げがちだ。勝手に変更するな、先に考えろ、テストしろ、簡潔に説明しろ。ルールが増えるほど、複雑なタスクでは忘れられやすい。&lt;/p&gt;
&lt;p&gt;Superpowers はルールを段階ごとの workflow モジュールに分ける。各 skill は短く、目的が集中している。agent は今の段階で何をすべきかを理解しやすく、複雑な流れも検査しやすい。&lt;/p&gt;
&lt;p&gt;学べる点は、賢いモデルだけを追うのではなく、モデルに繰り返し可能な働き方を与えることだ。&lt;/p&gt;
&lt;h2 id=&#34;向いている場面&#34;&gt;向いている場面
&lt;/h2&gt;&lt;p&gt;Superpowers は、実プロジェクトで coding agent を使う開発者に向いている。複数ファイルの変更、設計してから実装したい場合、TDD や検証が必要な場合、複数ブランチや worktree を扱う場合、subagent に実装や review を任せたい場合に特に有効だ。&lt;/p&gt;
&lt;p&gt;一行の設定変更には重いかもしれない。しかし多段階の開発では、その制約が価値になる。&lt;/p&gt;
&lt;h2 id=&#34;注意点&#34;&gt;注意点
&lt;/h2&gt;&lt;p&gt;これは自動操縦ではない。プロセスは与えるが、要求、トレードオフ、最終受け入れは人間が持つ。&lt;/p&gt;
&lt;p&gt;TDD と review は初期コストを増やす。小タスクでは遅く感じるが、複雑なタスクでは手戻りを減らす。&lt;/p&gt;
&lt;p&gt;subagent の並列化は常に良いわけではない。境界と書き込み範囲が明確なときに効く。要件が曖昧なら、並列化は混乱を増やす。&lt;/p&gt;
&lt;h2 id=&#34;まとめ&#34;&gt;まとめ
&lt;/h2&gt;&lt;p&gt;Superpowers の価値は、coding agent を「依頼を受けたらコードを書く」状態から、ソフトウェア工学プロセスへ戻すことにある。&lt;/p&gt;
&lt;p&gt;AI コーディングに足りないのは生成速度ではなく、確認、計画、検証、review、終了処理であることが多い。モデルが強くなるほど、これらを省いてはいけない。&lt;/p&gt;
&lt;p&gt;Codex、Claude Code、Cursor、Gemini CLI を実プロジェクトで使っているなら、Superpowers は調べる価値がある。直接使わなくても、skills の分け方は自分の agent workflow を設計する参考になる。&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Vibe Coding を拒む：Matt Pocock の skills リポジトリが AI コーディングに工学的制約を足す</title>
        <link>https://knightli.com/ja/2026/05/15/matt-pocock-skills-ai-engineering-workflow/</link>
        <pubDate>Fri, 15 May 2026 08:46:23 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/05/15/matt-pocock-skills-ai-engineering-workflow/</guid>
        <description>&lt;p&gt;AI がコードを書く速度が上がるほど、プロジェクトが崩れる速度も上がり得る。問題はモデルが関数を生成できるかではなく、要件を理解し、チームの言葉に従い、既存アーキテクチャの中で小さく進められるかだ。&lt;/p&gt;
&lt;p&gt;Matt Pocock が公開した &lt;code&gt;mattpocock/skills&lt;/code&gt; は、vibe coding とは逆の方向を示している。AI に開発プロセス全体を任せるのではなく、成熟したソフトウェア工学の制約の中に置く。&lt;/p&gt;
&lt;p&gt;プロジェクト：&lt;a class=&#34;link&#34; href=&#34;https://github.com/mattpocock/skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/mattpocock/skills&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;これは魔法の prompt ではない。要件確認、ドメインモデリング、TDD、診断、アーキテクチャレビューを、AI agent が使いやすい workflow にした skills の集合だ。&lt;/p&gt;
&lt;h2 id=&#34;まずアラインメント失敗を防ぐ&#34;&gt;まずアラインメント失敗を防ぐ
&lt;/h2&gt;&lt;p&gt;AI コーディングで最も多い失敗は、モデルが理解したと思ったら、実は曖昧な説明から推測していただけ、というものだ。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;grill-me&lt;/code&gt; はこれを反転させる。コードを書く前に、AI を厳しいレビュアーにし、分岐、境界、未決事項を質問させる。&lt;/p&gt;
&lt;p&gt;たとえば「ログインページを作って」と頼んだら、先に聞くべきことは次のようなものだ。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;パスワード忘れはどう扱うか&lt;/li&gt;
&lt;li&gt;外部ログインをサポートするか&lt;/li&gt;
&lt;li&gt;ログイン失敗時のエラー表示はどうするか&lt;/li&gt;
&lt;li&gt;アカウントロック、CAPTCHA、リスク制御は範囲内か&lt;/li&gt;
&lt;li&gt;成功後はどこへ遷移するか&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;この段階は遅く見えるが、後の手戻りを減らす。コード生成が安くなるほど、曖昧な要件のコストは大きくなる。&lt;/p&gt;
&lt;h2 id=&#34;ドメイン言語をコンテキストに入れる&#34;&gt;ドメイン言語をコンテキストに入れる
&lt;/h2&gt;&lt;p&gt;次の問題は汎用語彙だ。モデルはチーム内の業務用語を知らないため、変数名、関数名、ドキュメントの言葉がずれていく。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;grill-with-docs&lt;/code&gt; は質問しながら、&lt;code&gt;CONTEXT.md&lt;/code&gt;、ADR、ドメイン文書を確認する。確認済みの用語、境界、判断は、再利用できるコンテキストとして残せる。&lt;/p&gt;
&lt;p&gt;これはドメイン駆動設計のユビキタス言語に近い。チームが user ではなく customer、order ではなく transaction と呼ぶなら、AI もその言葉を使うべきだ。&lt;/p&gt;
&lt;p&gt;コンテキスト文書の価値は、情報量ではなく推測を減らすことにある。&lt;/p&gt;
&lt;h2 id=&#34;tdd-で生成速度を制御する&#34;&gt;TDD で生成速度を制御する
&lt;/h2&gt;&lt;p&gt;AI の危険は速さにある。昔は悪いコードを大量に書くにも時間がかかったが、今は数秒で数百行が出る。問題は速さそのものではなく、フィードバックループがないことだ。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;tdd&lt;/code&gt; skill は RED-GREEN-REFACTOR を戻す。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ひとつの振る舞いに対して失敗するテストを書く。&lt;/li&gt;
&lt;li&gt;そのテストを通す最小実装を書く。&lt;/li&gt;
&lt;li&gt;リファクタリングする。&lt;/li&gt;
&lt;li&gt;次の縦スライスへ進む。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;重要なのは、ひとつずつ進めることだ。AI は実行し、人間は方向と境界を確認する。&lt;/p&gt;
&lt;h2 id=&#34;診断ループで複雑な問題を扱う&#34;&gt;診断ループで複雑な問題を扱う
&lt;/h2&gt;&lt;p&gt;バグに出会うと、多くの agent は答えを推測し、何度も修正して問題をさらに複雑にする。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;diagnose&lt;/code&gt; は先にフィードバックループを作らせる。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;再現する&lt;/li&gt;
&lt;li&gt;最小化する&lt;/li&gt;
&lt;li&gt;仮説を立てる&lt;/li&gt;
&lt;li&gt;観測やログを足す&lt;/li&gt;
&lt;li&gt;修正する&lt;/li&gt;
&lt;li&gt;回帰テストを足す&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;古い方法だが、AI コーディングでは特に重要だ。AI は試行が得意だが、根因に近づいているかを判断するにはレールが必要になる。&lt;/p&gt;
&lt;h2 id=&#34;アーキテクチャを定期的に見る&#34;&gt;アーキテクチャを定期的に見る
&lt;/h2&gt;&lt;p&gt;単発のタスクが通っても、コードベースが良くなったとは限らない。AI の小さな変更が積み重なると、モジュール境界がぼやけ、インターフェイスが複雑になり、テストしづらくなる。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;improve-codebase-architecture&lt;/code&gt; のような skill は、現在のタスクから離れて全体を見る。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;責務が混ざっているモジュールはどこか&lt;/li&gt;
&lt;li&gt;複雑すぎるインターフェイスはどれか&lt;/li&gt;
&lt;li&gt;テストしづらい経路はどこか&lt;/li&gt;
&lt;li&gt;ドメイン言語と合わない命名はどれか&lt;/li&gt;
&lt;li&gt;収束すべき重複ロジックはどれか&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これは自動で大規模リファクタリングするためではない。構造化された観察と改善方向を出し、人間が判断するためのものだ。&lt;/p&gt;
&lt;h2 id=&#34;制限すべきは自由度&#34;&gt;制限すべきは自由度
&lt;/h2&gt;&lt;p&gt;この方法論の核心は単純だ。AI コーディングはモデルを自由に走らせることではなく、明確な目標、コンテキスト、テスト、停止条件を与えることだ。&lt;/p&gt;
&lt;p&gt;人間は問題定義、アーキテクチャ境界、業務上の取捨選択、受け入れ基準を担当する。AI はコード生成、テスト補完、反復修正、局所的なリファクタリングを担当する。&lt;/p&gt;
&lt;p&gt;AI が強くなっても、ソフトウェア工学の基礎は古くならない。要件整理、ドメイン言語、TDD、診断、アーキテクチャレビューは、むしろ重要になる。&lt;/p&gt;
&lt;p&gt;コードを書ける人は増える。差がつくのは、AI を保守可能で検証可能な工学体系に組み込めるかどうかだ。&lt;/p&gt;
</description>
        </item>
        <item>
        <title>cc-haha とは？Claude Code をデスクトップ作業台にするプロジェクト</title>
        <link>https://knightli.com/ja/2026/05/14/cc-haha-claude-code-desktop-workbench/</link>
        <pubDate>Thu, 14 May 2026 22:38:04 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/05/14/cc-haha-claude-code-desktop-workbench/</guid>
        <description>&lt;p&gt;&lt;code&gt;cc-haha&lt;/code&gt; は、Claude Code のワークフローを中心に改造されたプロジェクトです。正式なリポジトリ名は &lt;code&gt;NanmiCoder/cc-haha&lt;/code&gt; です。プロジェクトページでは、&lt;code&gt;2026-03-31&lt;/code&gt; に Anthropic npm registry から流出した Claude Code のソースコードを修復したものをベースにしており、現在の主な形はデスクトップ版 Claude Code ワークベンチだと説明されています。&lt;/p&gt;
&lt;p&gt;プロジェクト URL：&lt;a class=&#34;link&#34; href=&#34;https://github.com/NanmiCoder/cc-haha&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/NanmiCoder/cc-haha&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;この説明には重要な点が 2 つあります。&lt;/p&gt;
&lt;p&gt;1 つ目は、これは Anthropic 公式の Claude Code ではないということです。README でも、元のソースコードの著作権は Anthropic にあり、学習と研究目的に限ると明記されています。&lt;/p&gt;
&lt;p&gt;2 つ目は、今の重点が単なる「Claude Code CLI をローカルで動かすこと」ではないということです。README と最新 release を見ると、&lt;code&gt;cc-haha&lt;/code&gt; は Claude Code のセッション、プロジェクト、権限、Diff、Computer Use、リモートアクセス、モデルプロバイダー設定をまとめるデスクトップアプリに近いものになっています。&lt;/p&gt;
&lt;h2 id=&#34;何を解決しようとしているのか&#34;&gt;何を解決しようとしているのか
&lt;/h2&gt;&lt;p&gt;Claude Code はもともとターミナル寄りのツールです。セッション、コマンド実行、権限確認、ファイル編集、コンテキスト切り替えはターミナル内で行われます。CLI に慣れた人には問題ありませんが、長く使うといくつか不便な点が出てきます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;複数のプロジェクトやセッションを同時に管理しづらい。&lt;/li&gt;
&lt;li&gt;AI がどのファイルを変更したかを見るには、Git やエディタに切り替える必要がある。&lt;/li&gt;
&lt;li&gt;権限承認、コマンド実行、ファイル Diff が別々の画面に分散する。&lt;/li&gt;
&lt;li&gt;スマホや別端末から現在のセッションを見たい場合、追加の仕組みが必要。&lt;/li&gt;
&lt;li&gt;Anthropic 以外のモデルを使うには、プロトコル互換を自分で処理する必要がある。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;cc-haha&lt;/code&gt; は、これらをグラフィカルなワークベンチとしてまとめようとしています。Claude Code に見た目を付けただけではなく、「セッション管理」と「ローカル開発フローの制御」をデスクトップ側に移しています。&lt;/p&gt;
&lt;h2 id=&#34;デスクトップワークベンチターミナルからコントロールセンターへ&#34;&gt;デスクトップワークベンチ：ターミナルからコントロールセンターへ
&lt;/h2&gt;&lt;p&gt;README によると、&lt;code&gt;cc-haha&lt;/code&gt; のデスクトップ版は macOS / Windows App の中に次の機能を集約しています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;複数セッションのワークベンチ：タブ、プロジェクト切り替え、ターミナル入口、セッション履歴でタスクを管理。&lt;/li&gt;
&lt;li&gt;ブランチ / Worktree 起動：新しいセッションでリポジトリブランチを選び、現在の作業ツリーか隔離 Worktree かを選択。&lt;/li&gt;
&lt;li&gt;右側のコード変更パネル：チャットしながら変更済みファイル、追加削除行、ワークスペース状態を確認。&lt;/li&gt;
&lt;li&gt;コード変更の可視化：AI による編集、Diff、実行過程を表示。&lt;/li&gt;
&lt;li&gt;権限と確認フロー：危険なコマンド、ツール呼び出し、AI の確認質問をデスクトップで承認。&lt;/li&gt;
&lt;li&gt;複数モデルプロバイダー：Anthropic 互換 API、第三者モデル、WebSearch fallback、ローカル設定をサポート。&lt;/li&gt;
&lt;li&gt;H5 リモートアクセス：一度きりの token でスマホや別端末から現在のデスクトップセッションへ接続。&lt;/li&gt;
&lt;li&gt;IM 連携：Telegram、Feishu、WeChat、DingTalk からリモート対話、プロジェクト切り替え、権限承認。&lt;/li&gt;
&lt;li&gt;スケジュールタスクと token 使用量：デスクトップで計画タスクを作成し、ローカル token 使用傾向を確認。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これらの機能を見ると、単なるコマンドライン代替ではなく「AI コーディングワークベンチ」に近いことがわかります。チャット、ファイル変更、権限、プロジェクト、リモート入口、モデル設定を同じ場所に置こうとしているわけです。&lt;/p&gt;
&lt;h2 id=&#34;インストールと起動方法&#34;&gt;インストールと起動方法
&lt;/h2&gt;&lt;p&gt;一般ユーザーは Releases からデスクトップ版インストーラーをダウンロードするのが向いています。&lt;/p&gt;
&lt;p&gt;README のデスクトップ版インストール手順は次の通りです。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;GitHub Releases から macOS または Windows のインストーラーをダウンロードする。&lt;/li&gt;
&lt;li&gt;初回起動後、デスクトップ設定でモデルプロバイダー、API Key、デフォルトモデルを設定する。&lt;/li&gt;
&lt;li&gt;macOS でアプリを開けないと表示された場合は、インストールガイドに従って Gatekeeper 権限を処理する。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;最新 release ページでは、&lt;code&gt;v0.2.6&lt;/code&gt; が &lt;code&gt;2026-05-13&lt;/code&gt; に公開されています。このバージョンは主に H5 モバイルアクセスの安全な復旧、デスクトップセッション管理、ファイル mention 検索、デスクトップ体験の細部改善を扱っています。&lt;/p&gt;
&lt;p&gt;ソースから CLI を起動したい場合、README には次のコマンドが示されています。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bun install
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp .env.example .env
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./bin/claude-haha
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;この方法は、低レベル CLI、サーバー、自前の開発を調べたい人向けです。普通に使うならデスクトップ版のほうが直接的です。&lt;/p&gt;
&lt;h2 id=&#34;v026-の変更点&#34;&gt;v0.2.6 の変更点
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;v0.2.6&lt;/code&gt; の重点は、H5/LAN アクセスを一時的な開放状態から、明示的な有効化と token ペアリングモデルへ戻したことです。&lt;/p&gt;
&lt;p&gt;注目点は次の通りです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;H5/LAN アクセスはローカルで明示的に有効化する必要がある。&lt;/li&gt;
&lt;li&gt;QR リンクには一度だけ表示される token が含まれる。&lt;/li&gt;
&lt;li&gt;リモート API、proxy、WebSocket は裸で公開されなくなった。&lt;/li&gt;
&lt;li&gt;Settings に独立した H5 Access ページが追加された。&lt;/li&gt;
&lt;li&gt;デスクトップのサイドバーに複数選択とセッション削除のための一括管理モードが追加された。&lt;/li&gt;
&lt;li&gt;デスクトップのファイル mention 検索が git-first になり、ignore ルールを守り、&lt;code&gt;node_modules&lt;/code&gt; やビルド成果物のノイズを減らす。&lt;/li&gt;
&lt;li&gt;ピュアホワイトテーマが追加され、長い URL がチャットレイアウトを壊す問題や、複数 tab 間で下書きが混ざる問題が修正された。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これは、プロジェクトが「動く」段階を越えて、デスクトップ製品として必要な安全境界と日常的な使い勝手を補い始めていることを示しています。&lt;/p&gt;
&lt;p&gt;特に H5 アクセスについて、作者は release で明確に注意しています。H5 は個人または信頼できるチーム向けのブラウザアクセス入口であり、公開マルチテナントログインシステムではありません。実際に使うときは、インターネットに公開する SaaS 管理画面のように扱うべきではありません。&lt;/p&gt;
&lt;h2 id=&#34;computer-useagent-にデスクトップを操作させる&#34;&gt;Computer Use：Agent にデスクトップを操作させる
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;cc-haha&lt;/code&gt; のもう一つの大きな特徴は Computer Use です。&lt;/p&gt;
&lt;p&gt;プロジェクト文書によると、この機能は流出した Claude Code ソース内の Computer Use 内部実装を大きく改造したものです。公式実装は &lt;code&gt;@ant/computer-use-swift&lt;/code&gt; や &lt;code&gt;@ant/computer-use-input&lt;/code&gt; といった Anthropic 内部の非公開ネイティブモジュールに依存しており、公開入手できません。&lt;code&gt;cc-haha&lt;/code&gt; は低レベル操作層を Python bridge に置き換え、&lt;code&gt;pyautogui&lt;/code&gt;、&lt;code&gt;mss&lt;/code&gt;、&lt;code&gt;pyobjc&lt;/code&gt; などの公開ライブラリでシステム操作を実現しています。&lt;/p&gt;
&lt;p&gt;Computer Use が対応する操作には次のようなものがあります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;スクリーンショット：&lt;code&gt;screenshot&lt;/code&gt;、&lt;code&gt;zoom&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;マウス：クリック、ドラッグ、移動、スクロール、カーソル位置取得&lt;/li&gt;
&lt;li&gt;キーボード：文字入力、キー入力、キー長押し&lt;/li&gt;
&lt;li&gt;アプリ：アプリ起動、ディスプレイ切り替え&lt;/li&gt;
&lt;li&gt;権限：アプリ権限要求、許可済みアプリ一覧&lt;/li&gt;
&lt;li&gt;クリップボード：読み取りと書き込み&lt;/li&gt;
&lt;li&gt;その他：待機、バッチ操作&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;動作は「スクリーンショット - 分析 - 操作」のループです。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;モデルがユーザーの依頼を受け取る。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;screenshot&lt;/code&gt; を呼び出して画面を取得する。&lt;/li&gt;
&lt;li&gt;モデルが視覚能力でボタン、入力欄、座標を識別する。&lt;/li&gt;
&lt;li&gt;クリック、入力、アプリ操作ツールを呼び出す。&lt;/li&gt;
&lt;li&gt;再度スクリーンショットを取り、結果を確認して次へ進む。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;文書を見る限り、完全対応している主なプラットフォームは macOS で、Apple Silicon と Intel の両方を含みます。Windows / Linux は理論上可能ですが、&lt;code&gt;pyobjc&lt;/code&gt; に関わるアプリ管理部分を各プラットフォーム向けに置き換える必要があり、現時点では完全対応ではありません。&lt;/p&gt;
&lt;p&gt;実行要件は次の通りです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Bun &amp;gt;= 1.1.0&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Python &amp;gt;= 3.8&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;macOS Accessibility 権限&lt;/li&gt;
&lt;li&gt;macOS Screen Recording 権限&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;この種の機能は強力ですが、権限リスクも高くなります。AI にデスクトップアプリを操作させる場合、必要なアプリだけを明示的に許可し、関係ないウィンドウに機密情報を開いたままにしないほうがよいです。&lt;/p&gt;
&lt;h2 id=&#34;複数モデル接続anthropic-互換レイヤーを使う&#34;&gt;複数モデル接続：Anthropic 互換レイヤーを使う
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;cc-haha&lt;/code&gt; の通信基盤は引き続き Anthropic Messages API プロトコルです。プロジェクト文書では、LiteLLM をプロトコル変換プロキシとして使う方法が推奨されています。&lt;/p&gt;
&lt;p&gt;基本構造は次の通りです。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;claude-code-haha ──Anthropic协议──▶ LiteLLM Proxy ──OpenAI协议──▶ 目标模型 API
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;つまり、&lt;code&gt;cc-haha&lt;/code&gt; は Anthropic Messages API リクエストを送り、LiteLLM がそれを OpenAI Chat Completions などの形式へ変換し、OpenAI、DeepSeek、Ollama、その他のモデルサービスへ転送します。&lt;/p&gt;
&lt;p&gt;文書にある LiteLLM のインストール方法は次の通りです。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install &lt;span class=&#34;s1&#34;&gt;&amp;#39;litellm[proxy]&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;その後、&lt;code&gt;litellm_config.yaml&lt;/code&gt; で OpenAI、DeepSeek、Ollama などのモデルを設定できます。プロキシ起動後、&lt;code&gt;.env&lt;/code&gt; または &lt;code&gt;~/.claude/settings.json&lt;/code&gt; に次を設定します。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;ANTHROPIC_AUTH_TOKEN&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;sk-anything
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;ANTHROPIC_BASE_URL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;http://localhost:4000
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;ANTHROPIC_MODEL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;gpt-4o
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;ANTHROPIC_DEFAULT_SONNET_MODEL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;gpt-4o
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;ANTHROPIC_DEFAULT_HAIKU_MODEL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;gpt-4o
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;ANTHROPIC_DEFAULT_OPUS_MODEL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;gpt-4o
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;API_TIMEOUT_MS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;3000000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;DISABLE_TELEMETRY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;実用上の注意点もあります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;drop_params: true&lt;/code&gt; が重要です。Anthropic の &lt;code&gt;thinking&lt;/code&gt; や &lt;code&gt;cache_control&lt;/code&gt; などのパラメータは OpenAI API には存在しないためです。&lt;/li&gt;
&lt;li&gt;Extended Thinking は Anthropic 固有機能なので、第三者モデルでは使えません。&lt;/li&gt;
&lt;li&gt;Prompt Caching も Anthropic ネイティブの形では機能しません。&lt;/li&gt;
&lt;li&gt;ツール呼び出しは Anthropic &lt;code&gt;tool_use&lt;/code&gt; から OpenAI function calling へ変換されるため、複雑なツール呼び出しでは互換性問題が出る可能性があります。&lt;/li&gt;
&lt;li&gt;ローカル Ollama の小さなモデルでは、このツール呼び出し中心の流れを安定して処理できない場合があります。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;したがって、複数モデル接続は可能ですが、すべてのモデルで同じ体験になるわけではありません。&lt;code&gt;cc-haha&lt;/code&gt; はモデルに対して、ツール呼び出し、コード理解、長いコンテキスト処理の能力をかなり要求します。&lt;/p&gt;
&lt;h2 id=&#34;向いている人&#34;&gt;向いている人
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;cc-haha&lt;/code&gt; は次のようなユーザーに向いています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Claude Code に慣れていて、デスクトップでセッション管理したい人。&lt;/li&gt;
&lt;li&gt;複数のリポジトリ、ブランチ、AI セッションを同時に扱う人。&lt;/li&gt;
&lt;li&gt;AI のファイル変更、Diff、ワークスペース状態を右側で直接見たい人。&lt;/li&gt;
&lt;li&gt;Computer Use を試し、Agent にデスクトップアプリを操作させたい人。&lt;/li&gt;
&lt;li&gt;Anthropic プロトコル経由で OpenAI、DeepSeek、Ollama などを接続したい人。&lt;/li&gt;
&lt;li&gt;スマホや IM からリモートでセッション確認や権限承認をしたい人。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;あまり向いていないのは次のような場合です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;安定した公式 Claude Code だけを使いたい。&lt;/li&gt;
&lt;li&gt;流出ソースという背景や著作権の不確実性を受け入れられない。&lt;/li&gt;
&lt;li&gt;ローカルツールに高いシステム権限を与えたくない。&lt;/li&gt;
&lt;li&gt;企業のコンプライアンス、監査、公式サポートが必要。&lt;/li&gt;
&lt;li&gt;API key、プロキシ、モデル互換、ローカルサービス設定に慣れていない。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;リスクと境界&#34;&gt;リスクと境界
&lt;/h2&gt;&lt;p&gt;この話では機能だけでなく、リスクも扱う必要があります。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;cc-haha&lt;/code&gt; の由来を考えると、これは普通のコミュニティ再実装プロジェクトではありません。README には、流出した Claude Code ソースコードをベースにしており、元のソースコードは Anthropic に帰属すると明記されています。これは著作権、コンプライアンス、長期保守の不確実性につながります。&lt;/p&gt;
&lt;p&gt;また、Computer Use、H5 リモートアクセス、IM 連携、ローカル権限承認はいずれも高い権限を持つ機能です。便利であるほど、境界を明確にする必要があります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;信頼できないネットワークで H5 アクセスを開放しない。&lt;/li&gt;
&lt;li&gt;token を長期公開ログイン資格情報として扱わない。&lt;/li&gt;
&lt;li&gt;Agent に無関係な機密アプリを操作させない。&lt;/li&gt;
&lt;li&gt;本番環境や企業コンプライアンス環境で安易に使わない。&lt;/li&gt;
&lt;li&gt;第三者モデルプロキシ設定や API key を公開リポジトリに置かない。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;AI コーディングツールの構造、デスクトップワークフロー、Computer Use 実装を学ぶ目的なら、とても参考になります。長期の本番ワークフローに入れるなら、先に法務、権限、セキュリティ、保守のリスクを評価すべきです。&lt;/p&gt;
&lt;h2 id=&#34;まとめ&#34;&gt;まとめ
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;cc-haha&lt;/code&gt; で最も注目すべき点は、「Claude Code を再現できるか」ではありません。Claude Code 型の AI コーディングツールを、デスクトップワークベンチの形へ押し出していることです。&lt;/p&gt;
&lt;p&gt;セッション、プロジェクト、Worktree、Diff、権限、リモートアクセス、Computer Use、複数モデルプロバイダー、スケジュールタスク、token 使用量統計が、1 つのデスクトップ体験にまとめられています。これは、AI コーディングツールの次の一歩が、モデル性能だけでなく、より完成度の高いワークフロー UI にもあることを示しています。&lt;/p&gt;
&lt;p&gt;ただし境界も明確です。これは Anthropic 公式製品ではなく、出自に敏感な背景があり、高権限機能は慎重に扱う必要があります。公式 Claude Code を安易に置き換えるものとしてではなく、AI コーディングツールの進化方向を観察するプロジェクトとして見るのが適切です。&lt;/p&gt;
&lt;h2 id=&#34;参考資料&#34;&gt;参考資料
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;GitHub リポジトリ：&lt;a class=&#34;link&#34; href=&#34;https://github.com/NanmiCoder/cc-haha&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/NanmiCoder/cc-haha&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;最新 Release：&lt;a class=&#34;link&#34; href=&#34;https://github.com/NanmiCoder/cc-haha/releases/tag/v0.2.6&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/NanmiCoder/cc-haha/releases/tag/v0.2.6&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Computer Use ドキュメント：&lt;a class=&#34;link&#34; href=&#34;https://github.com/NanmiCoder/cc-haha/blob/main/docs/computer-use.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/NanmiCoder/cc-haha/blob/main/docs/computer-use.md&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;第三者モデルドキュメント：&lt;a class=&#34;link&#34; href=&#34;https://github.com/NanmiCoder/cc-haha/blob/main/docs/guide/third-party-models.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/NanmiCoder/cc-haha/blob/main/docs/guide/third-party-models.md&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Codex /goal vs Claude Code /goal：長いタスクを完了条件まで自動で進める</title>
        <link>https://knightli.com/ja/2026/05/14/codex-goal-vs-claude-code-goal/</link>
        <pubDate>Thu, 14 May 2026 22:25:31 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/05/14/codex-goal-vs-claude-code-goal/</guid>
        <description>&lt;p&gt;&lt;code&gt;/goal&lt;/code&gt; は、AI コーディングツールにおける重要なコマンドになりつつあります。&lt;/p&gt;
&lt;p&gt;これは「モデルにもう少しコードを書かせる」ためのものではありません。より実用的な問題、つまりタスクに明確な完了条件があるとき、毎ターン止まってユーザーの「続けて」を待つのではなく、Agent が条件を満たすまで進み続けられるか、という問題を扱います。&lt;/p&gt;
&lt;p&gt;Codex CLI はすでに公式ドキュメントで実験的な &lt;code&gt;/goal&lt;/code&gt; を追加しています。Claude Code も独自の &lt;code&gt;/goal&lt;/code&gt; ドキュメントを公開し、複数ターンにまたがって作業を続けられる自動化機能として説明しています。名前は同じですが、プロダクトとしての方向性は完全には同じではありません。&lt;/p&gt;
&lt;h2 id=&#34;goal-は何を解決するのか&#34;&gt;&lt;code&gt;/goal&lt;/code&gt; は何を解決するのか
&lt;/h2&gt;&lt;p&gt;通常の AI コーディング対話は、だいたい「一問一答」です。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ユーザーがタスクを出す。&lt;/li&gt;
&lt;li&gt;Agent が分析し、コードを変更し、テストを実行する。&lt;/li&gt;
&lt;li&gt;Agent が結果を報告する。&lt;/li&gt;
&lt;li&gt;ユーザーが次の行動を決める。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;この流れは短いタスクには向いています。しかし移行、リファクタリング、テスト修正、issue backlog の整理になると、かなり細切れになります。Agent は少しだけ進めて、また「続けて」と入力されるのを待つことがあります。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;/goal&lt;/code&gt; の考え方は、タスクを「次に何をするか」ではなく「最終的にどんな状態なら完了か」に変えることです。たとえば：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/goal 完成登录模块迁移，所有 auth 测试通过，lint 无报错
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;この種の目標は長いタスクに向いています。テストが通る、ビルドが成功する、ファイル分割が終わる、キューが空になる、受け入れ条件を満たす、といった明確な終点があるからです。&lt;/p&gt;
&lt;h2 id=&#34;codex-の-goal実験機能で現在のスレッドに紐づく&#34;&gt;Codex の &lt;code&gt;/goal&lt;/code&gt;：実験機能で、現在のスレッドに紐づく
&lt;/h2&gt;&lt;p&gt;OpenAI の Codex CLI ドキュメントでは、&lt;code&gt;/goal&lt;/code&gt; は実験機能として扱われています。デフォルトの安定機能ではなく、先に &lt;code&gt;features.goals&lt;/code&gt; を有効にする必要があります。&lt;/p&gt;
&lt;p&gt;有効化する方法は 2 つあります。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/experimental
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;または &lt;code&gt;config.toml&lt;/code&gt; に追加します。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;features&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;goals&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;有効化後は、次のように使えます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/goal Finish the migration and keep tests green
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;よく使うコマンドは次の通りです。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/goal
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/goal pause
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/goal resume
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/goal clear
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;OpenAI のドキュメントによると、Codex は goal を現在の active thread に付与し、より大きなタスクの進行中にその目標を追跡します。&lt;/p&gt;
&lt;p&gt;ここで重要なのは、Codex &lt;code&gt;/goal&lt;/code&gt; に対する公式ドキュメントの表現がかなり抑制的であることです。「長いタスクに実験的な目標を設定する」「現在のスレッドに目標を付与する」と説明していますが、Claude Code のドキュメントのように、各ターンの終了後に独立した evaluator が自動判定して次のターンへ進む、という説明まではしていません。そのため現時点では、Codex &lt;code&gt;/goal&lt;/code&gt; は完全に安定した無人実行モードではなく、実験中の長期タスク向け目標メカニズムとして見るのがよさそうです。&lt;/p&gt;
&lt;h2 id=&#34;claude-code-の-goal完了条件で駆動する複数ターン実行&#34;&gt;Claude Code の &lt;code&gt;/goal&lt;/code&gt;：完了条件で駆動する複数ターン実行
&lt;/h2&gt;&lt;p&gt;Claude Code の &lt;code&gt;/goal&lt;/code&gt; ドキュメントはより明確です。ユーザーが completion condition を設定すると、Claude はその条件が満たされるまで複数ターンにわたって作業を続けます。&lt;/p&gt;
&lt;p&gt;例：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/goal all tests in test/auth pass and the lint step is clean
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Claude Code の仕組みは、おおまかに次のようなものです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;現在の turn が終わっても、すぐに制御をユーザーへ戻さない。&lt;/li&gt;
&lt;li&gt;小さく高速なモデルが、目標条件がすでに満たされたかを確認する。&lt;/li&gt;
&lt;li&gt;満たされていなければ、Claude が自動で次のターンを開始する。&lt;/li&gt;
&lt;li&gt;満たされていれば、goal は自動で解除され、transcript に完了状態が記録される。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;つまり Claude Code の &lt;code&gt;/goal&lt;/code&gt; は、「完了条件を満たすまで自動で続ける」機能に近いものです。単に会話へ目標を貼り付けるだけではなく、「次のターンへ進むかどうか」を独立した評価ステップに任せています。&lt;/p&gt;
&lt;p&gt;Claude Code では、状態を直接確認することもできます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/goal
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;状態には、目標条件、実行時間、評価済み turn 数、token 消費量、evaluator が最後に出した理由が表示されます。&lt;/p&gt;
&lt;p&gt;途中で止めたい場合は、次を使います。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/goal clear
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;stop&lt;/code&gt;、&lt;code&gt;off&lt;/code&gt;、&lt;code&gt;reset&lt;/code&gt;、&lt;code&gt;none&lt;/code&gt;、&lt;code&gt;cancel&lt;/code&gt; も解除用の別名として使えます。目標を有効にした後でセッションが中断された場合でも、&lt;code&gt;--resume&lt;/code&gt; や &lt;code&gt;--continue&lt;/code&gt; で再開すると、active な goal を復元できます。ただし、経過時間、turn 数、token の基準値は再計算されます。&lt;/p&gt;
&lt;h2 id=&#34;最大の違い&#34;&gt;最大の違い
&lt;/h2&gt;&lt;p&gt;Codex と Claude Code はどちらも、AI コーディングを「単発の回答」から「長いタスクの実行」へ押し出しています。ただし &lt;code&gt;/goal&lt;/code&gt; の位置づけには違いがあります。&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;比較項目&lt;/th&gt;
          &lt;th&gt;Codex CLI &lt;code&gt;/goal&lt;/code&gt;&lt;/th&gt;
          &lt;th&gt;Claude Code &lt;code&gt;/goal&lt;/code&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;状態&lt;/td&gt;
          &lt;td&gt;experimental&lt;/td&gt;
          &lt;td&gt;公式ドキュメントで単独ページとして説明&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;有効化&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;features.goals&lt;/code&gt; を有効化する必要がある&lt;/td&gt;
          &lt;td&gt;信頼済み workspace で直接利用可能&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;目標のスコープ&lt;/td&gt;
          &lt;td&gt;現在の active thread&lt;/td&gt;
          &lt;td&gt;現在の session&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;主な操作&lt;/td&gt;
          &lt;td&gt;set / view / pause / resume / clear&lt;/td&gt;
          &lt;td&gt;set / view / clear&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;自動判定&lt;/td&gt;
          &lt;td&gt;ドキュメントは目標の付与と追跡を強調&lt;/td&gt;
          &lt;td&gt;各ターン後に evaluator が判定すると明記&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;自動継続&lt;/td&gt;
          &lt;td&gt;公式表現は控えめ&lt;/td&gt;
          &lt;td&gt;条件未達なら自動で次のターンへ進む&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;向いている場面&lt;/td&gt;
          &lt;td&gt;Codex の長いタスクで目標コンテキストを維持したい場合&lt;/td&gt;
          &lt;td&gt;完了条件に向けて Claude Code に継続実行させたい場合&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;簡単に言えば、Codex の &lt;code&gt;/goal&lt;/code&gt; は「現在のスレッドに実験的な長期目標を付ける」ものに近いです。Claude Code の &lt;code&gt;/goal&lt;/code&gt; は「現在のセッションに検証可能な停止条件を設定し、満たされるまで自動で進める」ものに近いです。&lt;/p&gt;
&lt;h2 id=&#34;よい-goal-の書き方&#34;&gt;よい &lt;code&gt;/goal&lt;/code&gt; の書き方
&lt;/h2&gt;&lt;p&gt;どちらのツールでも、&lt;code&gt;/goal&lt;/code&gt; は曖昧な願望を書く場所ではありません。&lt;/p&gt;
&lt;p&gt;あまりよくない例：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/goal 把项目优化一下
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;よりよい例：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/goal 将 payment 模块迁移到新 API，npm test -- payment 退出码为 0，git diff 只包含 payment 相关文件
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;よい目標には通常、次の 3 つが含まれます。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;明確な完了状態。&lt;/li&gt;
&lt;li&gt;実行可能な検証方法。&lt;/li&gt;
&lt;li&gt;守るべき境界。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;目標が大きい場合は、停止条件も加えるべきです。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/goal 修复 eslint 报错，npm run lint 退出码为 0；如果超过 20 轮仍未完成，停止并总结剩余问题
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;これは重要です。&lt;code&gt;/goal&lt;/code&gt; が強力になるほど、境界が必要になります。そうしないと Agent は「完了」を追い求めて、過剰にファイルを変更したり、長く走りすぎたり、token を使いすぎたり、本来なら質問すべき問題をそのまま進めてしまう可能性があります。&lt;/p&gt;
&lt;h2 id=&#34;goal-が向いている場面&#34;&gt;&lt;code&gt;/goal&lt;/code&gt; が向いている場面
&lt;/h2&gt;&lt;p&gt;向いているもの：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;テスト修正：指定したテストが通るまで。&lt;/li&gt;
&lt;li&gt;コード移行：すべての呼び出し箇所を変更し、コンパイルが成功するまで。&lt;/li&gt;
&lt;li&gt;一括整理：特定の lint や型エラーがゼロになるまで。&lt;/li&gt;
&lt;li&gt;ドキュメント補完：指定したすべてのモジュールに説明が付くまで。&lt;/li&gt;
&lt;li&gt;issue キュー処理：特定タグの issue が処理済み、または明確に分類されるまで。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;向いていないもの：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;要件自体がまだ曖昧。&lt;/li&gt;
&lt;li&gt;頻繁なプロダクト判断が必要。&lt;/li&gt;
&lt;li&gt;高リスクな削除、データ移行、権限変更を含む。&lt;/li&gt;
&lt;li&gt;受け入れ条件が主観でしか判断できない。&lt;/li&gt;
&lt;li&gt;大量の無関係なモジュールをまたぐ。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;実用的な基準は、「どのコマンドを実行し、どんな結果を確認し、どのファイルに触れてはいけないか」を書けるなら &lt;code&gt;/goal&lt;/code&gt; に向いている、ということです。「もっとよくして」としか書けないなら、通常の対話、計画モード、人間のレビューを使うほうが安全です。&lt;/p&gt;
&lt;h2 id=&#34;ai-コーディングツールへの影響&#34;&gt;AI コーディングツールへの影響
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;/goal&lt;/code&gt; は明確な方向性を示しています。AI コーディングツールは「対話型アシスタント」から「継続実行できる作業単位」へ移りつつあります。&lt;/p&gt;
&lt;p&gt;以前は、Agent にタスクを任せるとき、ユーザーが近くで見守る必要がありました。詰まったら促し、テストが終わったら続行させ、エラーが出たらまた命令する。&lt;code&gt;/goal&lt;/code&gt; はこのやり取りを完了条件に圧縮し、次のターンで何をするかを Agent 自身に決めさせます。&lt;/p&gt;
&lt;p&gt;ただし、これはユーザー側への要求も高めます。これからの prompt はタスクを説明するだけでなく、受け入れ条件、検証コマンド、変更範囲、停止ルールも書く必要があります。言い換えると、ユーザーの仕事は「続けてと促す」ことから「何をもって完了とするかを定義する」ことへ移ります。&lt;/p&gt;
&lt;p&gt;Codex と Claude Code が &lt;code&gt;/goal&lt;/code&gt; に到達したということは、長いタスクを扱う Agent が、もはやバックグラウンドタスクやクラウドキューだけのものではないということです。ターミナル上のローカルなコーディングツールにも、より強い自律的な進行能力が求められ始めています。&lt;/p&gt;
&lt;h2 id=&#34;まとめ&#34;&gt;まとめ
&lt;/h2&gt;&lt;p&gt;Codex CLI と Claude Code はどちらも &lt;code&gt;/goal&lt;/code&gt; を持っていますが、現時点では同じ機能として単純に扱わないほうがよいです。&lt;/p&gt;
&lt;p&gt;Codex の &lt;code&gt;/goal&lt;/code&gt; はまだ実験機能で、&lt;code&gt;features.goals&lt;/code&gt; を有効にする必要があり、現在の Codex スレッドで長期目標を維持する仕組みとして見るのが自然です。Claude Code の &lt;code&gt;/goal&lt;/code&gt; は、「完了条件」と「自動継続」をより明確に結びつけ、独立した evaluator によって続行可否を判断します。&lt;/p&gt;
&lt;p&gt;日常開発では、この種のコマンドは明確な受け入れ基準を持つエンジニアリングタスクに向いています。要件判断やコードレビューを置き換えるものではありませんが、長いタスクにありがちな「続けて」「もう一度実行して」「テストが通るまで直して」という繰り返しを減らせます。&lt;/p&gt;
&lt;p&gt;本当に身につけるべきなのは、コマンドそのものではありません。タスクを、明確で、検証可能で、停止できる目標として書く力です。&lt;/p&gt;
&lt;h2 id=&#34;参考資料&#34;&gt;参考資料
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;OpenAI Codex CLI Slash Commands：&lt;a class=&#34;link&#34; href=&#34;https://developers.openai.com/codex/cli/slash-commands&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://developers.openai.com/codex/cli/slash-commands&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Claude Code Goal ドキュメント：&lt;a class=&#34;link&#34; href=&#34;https://code.claude.com/docs/en/goal&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://code.claude.com/docs/en/goal&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>AI コーディングツールの今回の波で、なぜ DeepSeek がコスト削減の鍵になったのか</title>
        <link>https://knightli.com/ja/2026/05/11/deepseek-ai-coding-cost-saving/</link>
        <pubDate>Mon, 11 May 2026 04:59:00 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/05/11/deepseek-ai-coding-cost-saving/</guid>
        <description>&lt;p&gt;今回の AI コーディングツール競争は、表面上はモデル性能、プラグインエコシステム、agent 自動化の競争に見える。しかし実際に使い始めると、最初にぶつかる問題はコストだ。&lt;/p&gt;
&lt;p&gt;Claude Code、Codex、OpenClaw、Superpowers はどれも便利だが、共通点がある。複雑なタスクに入ると、とにかく token を消費する。プロジェクトを読み、計画を作り、ツールを呼び出し、コンテキストを要約し、結果を何度も確認し、場合によっては複数のサブタスクを起動する。モデルが賢くなり、ワークフローが自動化されるほど、請求額も静かに膨らみやすい。&lt;/p&gt;
&lt;p&gt;だから今回、DeepSeek が重要になっている。単にコードを書けるからではない。長いコンテキストとキャッシュコストが、AI コーディングツールで最もお金が燃える部分にちょうど効いているからだ。&lt;/p&gt;
&lt;h2 id=&#34;agent-ツールはなぜ-token-を大量に消費するのか&#34;&gt;Agent ツールはなぜ token を大量に消費するのか
&lt;/h2&gt;&lt;p&gt;従来のチャット型コーディング支援は、基本的に一問一答だ。関数の書き方を聞くと、コード片が返ってくる。この形でも token は消費するが、まだ制御しやすい。&lt;/p&gt;
&lt;p&gt;Agent ツールは違う。質問に答えるだけではなく、一時的なエンジニアのようにプロジェクトへ入っていく。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;まずディレクトリと重要ファイルをスキャンする；&lt;/li&gt;
&lt;li&gt;要件と既存アーキテクチャを理解する；&lt;/li&gt;
&lt;li&gt;計画を作る；&lt;/li&gt;
&lt;li&gt;ファイルを修正する；&lt;/li&gt;
&lt;li&gt;コマンドやテストを実行する；&lt;/li&gt;
&lt;li&gt;エラーに応じて修正を続ける；&lt;/li&gt;
&lt;li&gt;最後に変更内容をまとめる。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;この過程では、モデルが同じコンテキストを何度も読む。プロジェクト説明、コード片、ツール結果、過去の会話、計画、エラーログが繰り返しコンテキストに戻される。少し複雑なタスクになるだけで、数十万 token はすぐに消える。&lt;/p&gt;
&lt;p&gt;さらに攻めたプラグインを入れると、コストはもっと目立つ。OpenCode や Claude Code の拡張ツールの中には、デフォルトで agent チームを組むものもある。小さな機能を一つ変えたいだけでも、計画、レビュー、実行、振り返りまで起動することがある。タスクはより「賢く」見えるが、token も増え続ける。&lt;/p&gt;
&lt;h2 id=&#34;superpowers-の利点は必要なときだけ起動すること&#34;&gt;Superpowers の利点は必要なときだけ起動すること
&lt;/h2&gt;&lt;p&gt;Superpowers のようなツールの利点は、すべてのタスクで完全な agent フローを強制しないことだ。&lt;/p&gt;
&lt;p&gt;普段は Claude Code、OpenCode、Codex を従来の方法で動かせる。ブレインストーミング、計画作成、計画実行、振り返りのような skill を明示的に呼び出したときだけ、より重い自動化フローに入る。&lt;/p&gt;
&lt;p&gt;これはコスト面で重要だ。&lt;/p&gt;
&lt;p&gt;AI コーディングでは、すべてのタスクに重装備を使うべきではない。設定を一行変える、エラーを一つ調べる、小さなスクリプトを書く程度なら、普通の対話で十分だ。複雑なリファクタリング、複数ファイルの変更、長文ドキュメント処理、多段階の検証だけが、完全な agent フローに値する。&lt;/p&gt;
&lt;p&gt;ツールが強力になるほど、起動条件を制御する必要がある。そうしなければ、自動化が増えるほど無駄も増える。&lt;/p&gt;
&lt;h2 id=&#34;deepseek-の重要な強みはキャッシュが安いこと&#34;&gt;DeepSeek の重要な強みはキャッシュが安いこと
&lt;/h2&gt;&lt;p&gt;DeepSeek がこの種の agent ツールに合う大きな理由は、キャッシュヒット時のコストが低いことだ。&lt;/p&gt;
&lt;p&gt;AI コーディングタスクには、大量の反復プレフィックスがある。プロジェクト背景、システムプロンプト、ツール説明、ファイル内容、前の会話ターンは、後続リクエストに何度も現れる。モデルサービスが prompt cache をサポートしていれば、こうした反復部分はキャッシュヒット後にかなり安くなる。&lt;/p&gt;
&lt;p&gt;多くのモデルでは、キャッシュヒット価格は未ヒットより少し安い程度で、たとえば三分の一前後という感覚だ。DeepSeek の強みは、ヒット後の価格差がもっと大きくなり得ることにある。長いコンテキスト、多段階呼び出し、プロジェクトの反復読み込みを行う agent ワークフローでは、この差が請求に直接出る。&lt;/p&gt;
&lt;p&gt;つまり DeepSeek は、毎回の回答が必ず最強というわけではない。しかし「長いタスク、多いターン、コンテキストの反復読み込み」という場面では、コスト構造が AI コーディングに非常に向いている。&lt;/p&gt;
&lt;h2 id=&#34;長いコンテキストは-claude-code-を使いやすくする&#34;&gt;長いコンテキストは Claude Code を使いやすくする
&lt;/h2&gt;&lt;p&gt;Claude Code や類似ツールを DeepSeek V4 に接続すると、もう一つの明確な利点が長いコンテキストだ。&lt;/p&gt;
&lt;p&gt;AI コーディングツールが最も嫌うのは、コンテキスト不足だ。コンテキストが足りなくなると、頻繁に圧縮が必要になる。圧縮が増えると、前に読んだ細部が失われることがある。モデルはプロジェクト構造、制約、あるファイルをなぜ変更したかを忘れ始め、その後の品質が落ちる。&lt;/p&gt;
&lt;p&gt;DeepSeek V4 系列の長いコンテキスト能力は、コードリポジトリ、ドキュメントの一括処理、字幕翻訳、サイト記事整理に向いている。特に Claude Code や OpenClaw に接続する場合、設定が適切ならコンテキスト圧縮を遅らせ、より多くのプロジェクト詳細を保てる。&lt;/p&gt;
&lt;p&gt;だから DeepSeek で動かすと「よく持つ」と感じるタスクがある。各ステップが必ずしも派手ではなくても、長時間、低コスト、反復呼び出しに耐えられる。&lt;/p&gt;
&lt;h2 id=&#34;v4-pro-と-v4-flash-の分担&#34;&gt;V4 Pro と V4 Flash の分担
&lt;/h2&gt;&lt;p&gt;DeepSeek V4 Pro と V4 Flash は混ぜて使うべきではない。&lt;/p&gt;
&lt;p&gt;単純なタスクには &lt;code&gt;DeepSeek V4 Flash&lt;/code&gt; が向いている。速く、安く、次のような場面ではたいてい十分だ。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;字幕翻訳；&lt;/li&gt;
&lt;li&gt;ドキュメント整理；&lt;/li&gt;
&lt;li&gt;普通のスクリプト生成；&lt;/li&gt;
&lt;li&gt;小規模なコード修正；&lt;/li&gt;
&lt;li&gt;OpenClaw の軽量タスク；&lt;/li&gt;
&lt;li&gt;簡単なサイトコンテンツ処理。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;複雑なタスクでは &lt;code&gt;DeepSeek V4 Pro&lt;/code&gt; を検討する。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;大規模リファクタリング；&lt;/li&gt;
&lt;li&gt;複数モジュールのコード理解；&lt;/li&gt;
&lt;li&gt;複雑な推論；&lt;/li&gt;
&lt;li&gt;長い agent チェーンのタスク；&lt;/li&gt;
&lt;li&gt;高リスクなコード変更；&lt;/li&gt;
&lt;li&gt;より強い計画能力が必要なエンジニアリングタスク。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;最初から最強モデルを使いたがる人は多いが、それは割に合わないことも多い。AI コーディングツールの現実的な使い方は、タスクを層に分けることだ。安いモデルに大量の定型作業を任せ、高いモデルは重要な判断点だけに使う。&lt;/p&gt;
&lt;h2 id=&#34;minimaxdoubaodeepseek-は役割が違う&#34;&gt;MiniMax、Doubao、DeepSeek は役割が違う
&lt;/h2&gt;&lt;p&gt;国内モデルやプランの中で、MiniMax、Doubao、Kimi、DeepSeek にはそれぞれ位置づけがある。&lt;/p&gt;
&lt;p&gt;MiniMax の強みは、量が多く、安く、機能が広いことだ。最も賢いコーディングモデルではないかもしれないが、翻訳、軽い整理、一括処理には費用対効果が高い。字幕の一括処理、形式変換、簡単な校正などには、MiniMax 型のプランはかなり使いやすい。&lt;/p&gt;
&lt;p&gt;Doubao の強みは、ツールエコシステムが広いことだ。画像、動画、検索、TTS、場合によっては STT や embedding までつなげられる。総合ツールボックスに近い。&lt;/p&gt;
&lt;p&gt;DeepSeek の位置づけはもっと明確だ。テキスト、コード、長いコンテキスト、低コストキャッシュ。画像生成、音声、動画の完全なエコシステムはなく、弱点ははっきりしている。しかし AI コーディングと長文 agent ワークフローでは、長所が十分に長い。&lt;/p&gt;
&lt;p&gt;だから誰が誰を置き換えるという話ではない。タスクを分け、それぞれに合う道具を使う話だ。&lt;/p&gt;
&lt;h2 id=&#34;コスト削減の鍵は安いモデルを探すだけではない&#34;&gt;コスト削減の鍵は安いモデルを探すだけではない
&lt;/h2&gt;&lt;p&gt;AI コーディングでコストを下げるとは、すべてのリクエストを安いモデルに替えることではない。&lt;/p&gt;
&lt;p&gt;有効な方法はいくつかある。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;単純なタスクで重い agent を起動しない。&lt;/li&gt;
&lt;li&gt;Flash で十分なタスクに Pro を使わない。&lt;/li&gt;
&lt;li&gt;長いタスクではできるだけキャッシュを使う。&lt;/li&gt;
&lt;li&gt;反復コンテキストを安定させ、意味のない変更でキャッシュを無効化しない。&lt;/li&gt;
&lt;li&gt;大きなタスクは安いモデルに下書きと一括処理をさせ、強いモデルで重要レビューを行う。&lt;/li&gt;
&lt;li&gt;agent に、事実を繰り返し説明せず、同じことを何度も要約しないよう明確に伝える。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;特に最後の点は重要だ。AI ツールは冗長になりやすい。冗長さは読みやすさだけでなく、コストの問題でもある。プロンプトに「事実は一度だけ説明し、意見は一度だけ述べる」と入れると、文章品質と token 消費の両方を改善できる。&lt;/p&gt;
&lt;h2 id=&#34;deepseek-に向く-ai-コーディングワークフロー&#34;&gt;DeepSeek に向く AI コーディングワークフロー
&lt;/h2&gt;&lt;p&gt;DeepSeek は次のようなタスクに特に向いている。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;長いコードリポジトリの読解；&lt;/li&gt;
&lt;li&gt;複数ファイルの軽い修正；&lt;/li&gt;
&lt;li&gt;ドキュメントの一括整理；&lt;/li&gt;
&lt;li&gt;字幕の一括翻訳；&lt;/li&gt;
&lt;li&gt;Hugo 記事の整理；&lt;/li&gt;
&lt;li&gt;agent 計画の実行；&lt;/li&gt;
&lt;li&gt;大量の反復コンテキストを含む低コスト自動化。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;すべてのタスクに向くわけではない。特に強いフロントエンドの審美眼、複雑なプロダクト判断、クロスモーダル制作が必要なら、Claude、GPT、Gemini、Doubao などを組み合わせる必要がある。&lt;/p&gt;
&lt;p&gt;しかしタスクが「長文、長いコンテキスト、反復呼び出し、コスト敏感」である限り、DeepSeek は第一候補になりやすい。&lt;/p&gt;
&lt;h2 id=&#34;まとめ&#34;&gt;まとめ
&lt;/h2&gt;&lt;p&gt;今回の AI コーディングツールの波で、DeepSeek の価値は「国内モデルがコードを書ける」ことだけではない。agent ツールの最も現実的な痛点、つまり長いタスクが高すぎる問題を解いていることにある。&lt;/p&gt;
&lt;p&gt;Claude Code、OpenClaw、Superpowers のようなツールは開発フローをますます自動化する。しかしその裏側には、大量のコンテキスト読み書きと多段階呼び出しがある。この部分のコストを下げられる人が、AI コーディングを「たまに気持ちよく使うもの」から「毎日使えるもの」に変えられる。&lt;/p&gt;
&lt;p&gt;DeepSeek の長いコンテキスト、低いキャッシュコスト、V4 Flash / V4 Pro の階層的な使い分けは、まさにその位置にある。&lt;/p&gt;
&lt;p&gt;今回の本当のコスト削減の鍵は、良いモデルを使わないことではない。良いモデル、安いモデル、キャッシュ、agent フローをうまく組み合わせることだ。この会計を理解できれば、AI コーディングツールは美しいが高価なおもちゃではなく、本当の生産性になる。&lt;/p&gt;
</description>
        </item>
        <item>
        <title>ProgramBench の生データ：モデル成績、コスト、200 件のタスク記録</title>
        <link>https://knightli.com/ja/2026/05/10/programbench-original-results/</link>
        <pubDate>Sun, 10 May 2026 12:42:41 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/05/10/programbench-original-results/</guid>
        <description>&lt;p&gt;ProgramBench は、AI のコーディング能力を評価する新しいベンチマークです。既存リポジトリ内の bug を修正させるのではなく、コンパイル済みの実行ファイルと利用ドキュメントを手がかりに、同じ振る舞いをするプログラムをゼロから再構築させます。&lt;/p&gt;
&lt;p&gt;この記事はデータ整理を主目的とし、説明は最小限にしています。以下の表では、ProgramBench 公式サイトで公開されている生の記録データを保持し、後から引用・比較しやすい形にまとめます。出典は &lt;a class=&#34;link&#34; href=&#34;https://programbench.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ProgramBench homepage&lt;/a&gt;、&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/extended/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Extended Results&lt;/a&gt;、&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/tasks/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Task Instances&lt;/a&gt; です。取得時刻は &lt;code&gt;2026-05-10T12:42:41+08:00&lt;/code&gt; です。&lt;/p&gt;
&lt;h2 id=&#34;データの見方&#34;&gt;データの見方
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Resolved&lt;/code&gt;：隠し行動テストを完全に通過したタスクの割合。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Almost resolved&lt;/code&gt;：行動テストの 95% 以上を通過したタスクの割合。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Cost&lt;/code&gt;：タスクインスタンス 1 件あたりの平均 API コスト。単位は米ドル。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Calls&lt;/code&gt;：タスクインスタンス 1 件あたりの平均 LLM 呼び出し回数。&lt;/li&gt;
&lt;li&gt;すべてのモデルは &lt;code&gt;mini-SWE-agent&lt;/code&gt; で評価され、タスク総数は 200 件です。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;メインリーダーボード&#34;&gt;メインリーダーボード
&lt;/h2&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;#&lt;/th&gt;
          &lt;th&gt;Model&lt;/th&gt;
          &lt;th&gt;Provider&lt;/th&gt;
          &lt;th&gt;Agent&lt;/th&gt;
          &lt;th&gt;Resolved&lt;/th&gt;
          &lt;th&gt;Almost resolved&lt;/th&gt;
          &lt;th&gt;Run&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;Claude Opus 4.7&lt;/td&gt;
          &lt;td&gt;Anthropic&lt;/td&gt;
          &lt;td&gt;mini-SWE-agent&lt;/td&gt;
          &lt;td&gt;0%&lt;/td&gt;
          &lt;td&gt;3.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/run/claude-opus-4-7/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/run/claude-opus-4-7/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2&lt;/td&gt;
          &lt;td&gt;Claude Opus 4.6&lt;/td&gt;
          &lt;td&gt;Anthropic&lt;/td&gt;
          &lt;td&gt;mini-SWE-agent&lt;/td&gt;
          &lt;td&gt;0%&lt;/td&gt;
          &lt;td&gt;2.5%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/run/claude-opus-4-6/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/run/claude-opus-4-6/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;3&lt;/td&gt;
          &lt;td&gt;Claude Sonnet 4.6&lt;/td&gt;
          &lt;td&gt;Anthropic&lt;/td&gt;
          &lt;td&gt;mini-SWE-agent&lt;/td&gt;
          &lt;td&gt;0%&lt;/td&gt;
          &lt;td&gt;1.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/run/claude-sonnet-4-6/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/run/claude-sonnet-4-6/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;4&lt;/td&gt;
          &lt;td&gt;GPT 5.4&lt;/td&gt;
          &lt;td&gt;OpenAI&lt;/td&gt;
          &lt;td&gt;mini-SWE-agent&lt;/td&gt;
          &lt;td&gt;0%&lt;/td&gt;
          &lt;td&gt;0.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/run/gpt-5-4/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/run/gpt-5-4/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;5&lt;/td&gt;
          &lt;td&gt;Gemini 3.1 Pro&lt;/td&gt;
          &lt;td&gt;Google&lt;/td&gt;
          &lt;td&gt;mini-SWE-agent&lt;/td&gt;
          &lt;td&gt;0%&lt;/td&gt;
          &lt;td&gt;0.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/run/gemini-3-1-pro/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/run/gemini-3-1-pro/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;6&lt;/td&gt;
          &lt;td&gt;Gemini 3 Flash&lt;/td&gt;
          &lt;td&gt;Google&lt;/td&gt;
          &lt;td&gt;mini-SWE-agent&lt;/td&gt;
          &lt;td&gt;0%&lt;/td&gt;
          &lt;td&gt;0.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/run/gemini-3-flash/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/run/gemini-3-flash/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;7&lt;/td&gt;
          &lt;td&gt;Claude Haiku 4.5&lt;/td&gt;
          &lt;td&gt;Anthropic&lt;/td&gt;
          &lt;td&gt;mini-SWE-agent&lt;/td&gt;
          &lt;td&gt;0%&lt;/td&gt;
          &lt;td&gt;0.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/run/claude-haiku-4-5/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/run/claude-haiku-4-5/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;8&lt;/td&gt;
          &lt;td&gt;GPT 5.4 mini&lt;/td&gt;
          &lt;td&gt;OpenAI&lt;/td&gt;
          &lt;td&gt;mini-SWE-agent&lt;/td&gt;
          &lt;td&gt;0%&lt;/td&gt;
          &lt;td&gt;0.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/run/gpt-5-4-mini/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/run/gpt-5-4-mini/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;9&lt;/td&gt;
          &lt;td&gt;GPT 5 mini&lt;/td&gt;
          &lt;td&gt;OpenAI&lt;/td&gt;
          &lt;td&gt;mini-SWE-agent&lt;/td&gt;
          &lt;td&gt;0%&lt;/td&gt;
          &lt;td&gt;0.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/run/gpt-5-mini/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/run/gpt-5-mini/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;拡張結果&#34;&gt;拡張結果
&lt;/h2&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;#&lt;/th&gt;
          &lt;th&gt;Model&lt;/th&gt;
          &lt;th&gt;Provider&lt;/th&gt;
          &lt;th&gt;Agent&lt;/th&gt;
          &lt;th&gt;Resolved&lt;/th&gt;
          &lt;th&gt;Almost resolved&lt;/th&gt;
          &lt;th&gt;Cost&lt;/th&gt;
          &lt;th&gt;Calls&lt;/th&gt;
          &lt;th&gt;Run&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;Claude Opus 4.7&lt;/td&gt;
          &lt;td&gt;Anthropic&lt;/td&gt;
          &lt;td&gt;mini-SWE-agent&lt;/td&gt;
          &lt;td&gt;0%&lt;/td&gt;
          &lt;td&gt;3.0%&lt;/td&gt;
          &lt;td&gt;$3.81&lt;/td&gt;
          &lt;td&gt;93&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/run/claude-opus-4-7/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/run/claude-opus-4-7/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2&lt;/td&gt;
          &lt;td&gt;Claude Opus 4.6&lt;/td&gt;
          &lt;td&gt;Anthropic&lt;/td&gt;
          &lt;td&gt;mini-SWE-agent&lt;/td&gt;
          &lt;td&gt;0%&lt;/td&gt;
          &lt;td&gt;2.5%&lt;/td&gt;
          &lt;td&gt;$11.38&lt;/td&gt;
          &lt;td&gt;260&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/run/claude-opus-4-6/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/run/claude-opus-4-6/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;3&lt;/td&gt;
          &lt;td&gt;Claude Sonnet 4.6&lt;/td&gt;
          &lt;td&gt;Anthropic&lt;/td&gt;
          &lt;td&gt;mini-SWE-agent&lt;/td&gt;
          &lt;td&gt;0%&lt;/td&gt;
          &lt;td&gt;1.0%&lt;/td&gt;
          &lt;td&gt;$26.73&lt;/td&gt;
          &lt;td&gt;472&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/run/claude-sonnet-4-6/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/run/claude-sonnet-4-6/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;4&lt;/td&gt;
          &lt;td&gt;GPT 5.4&lt;/td&gt;
          &lt;td&gt;OpenAI&lt;/td&gt;
          &lt;td&gt;mini-SWE-agent&lt;/td&gt;
          &lt;td&gt;0%&lt;/td&gt;
          &lt;td&gt;0.0%&lt;/td&gt;
          &lt;td&gt;$0.33&lt;/td&gt;
          &lt;td&gt;16&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/run/gpt-5-4/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/run/gpt-5-4/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;5&lt;/td&gt;
          &lt;td&gt;Gemini 3.1 Pro&lt;/td&gt;
          &lt;td&gt;Google&lt;/td&gt;
          &lt;td&gt;mini-SWE-agent&lt;/td&gt;
          &lt;td&gt;0%&lt;/td&gt;
          &lt;td&gt;0.0%&lt;/td&gt;
          &lt;td&gt;$1.51&lt;/td&gt;
          &lt;td&gt;94&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/run/gemini-3-1-pro/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/run/gemini-3-1-pro/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;6&lt;/td&gt;
          &lt;td&gt;Gemini 3 Flash&lt;/td&gt;
          &lt;td&gt;Google&lt;/td&gt;
          &lt;td&gt;mini-SWE-agent&lt;/td&gt;
          &lt;td&gt;0%&lt;/td&gt;
          &lt;td&gt;0.0%&lt;/td&gt;
          &lt;td&gt;$0.30&lt;/td&gt;
          &lt;td&gt;85&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/run/gemini-3-flash/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/run/gemini-3-flash/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;7&lt;/td&gt;
          &lt;td&gt;Claude Haiku 4.5&lt;/td&gt;
          &lt;td&gt;Anthropic&lt;/td&gt;
          &lt;td&gt;mini-SWE-agent&lt;/td&gt;
          &lt;td&gt;0%&lt;/td&gt;
          &lt;td&gt;0.0%&lt;/td&gt;
          &lt;td&gt;$0.80&lt;/td&gt;
          &lt;td&gt;124&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/run/claude-haiku-4-5/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/run/claude-haiku-4-5/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;8&lt;/td&gt;
          &lt;td&gt;GPT 5.4 mini&lt;/td&gt;
          &lt;td&gt;OpenAI&lt;/td&gt;
          &lt;td&gt;mini-SWE-agent&lt;/td&gt;
          &lt;td&gt;0%&lt;/td&gt;
          &lt;td&gt;0.0%&lt;/td&gt;
          &lt;td&gt;$0.04&lt;/td&gt;
          &lt;td&gt;18&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/run/gpt-5-4-mini/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/run/gpt-5-4-mini/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;9&lt;/td&gt;
          &lt;td&gt;GPT 5 mini&lt;/td&gt;
          &lt;td&gt;OpenAI&lt;/td&gt;
          &lt;td&gt;mini-SWE-agent&lt;/td&gt;
          &lt;td&gt;0%&lt;/td&gt;
          &lt;td&gt;0.0%&lt;/td&gt;
          &lt;td&gt;$0.03&lt;/td&gt;
          &lt;td&gt;15&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/run/gpt-5-mini/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/run/gpt-5-mini/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;200-件のタスクインスタンス生データ&#34;&gt;200 件のタスクインスタンス生データ
&lt;/h2&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;#&lt;/th&gt;
          &lt;th&gt;Repository&lt;/th&gt;
          &lt;th&gt;Description&lt;/th&gt;
          &lt;th&gt;Lang&lt;/th&gt;
          &lt;th&gt;Stars&lt;/th&gt;
          &lt;th&gt;Tests&lt;/th&gt;
          &lt;th&gt;Best Score&lt;/th&gt;
          &lt;th&gt;Task&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1&lt;/td&gt;
          &lt;td&gt;junegunn/fzf&lt;/td&gt;
          &lt;td&gt;:cherry_blossom: A command-line fuzzy finder&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;79,721&lt;/td&gt;
          &lt;td&gt;1,874&lt;/td&gt;
          &lt;td&gt;81.9%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/junegunn__fzf.b56d614/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/junegunn__fzf.b56d614/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;2&lt;/td&gt;
          &lt;td&gt;jesseduffield/lazygit&lt;/td&gt;
          &lt;td&gt;simple terminal UI for git commands&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;76,901&lt;/td&gt;
          &lt;td&gt;855&lt;/td&gt;
          &lt;td&gt;56.4%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/jesseduffield__lazygit.1d0db51/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/jesseduffield__lazygit.1d0db51/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;3&lt;/td&gt;
          &lt;td&gt;BurntSushi/ripgrep&lt;/td&gt;
          &lt;td&gt;ripgrep recursively searches directories for a regex pattern while respecting your gitignore&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;62,855&lt;/td&gt;
          &lt;td&gt;1,994&lt;/td&gt;
          &lt;td&gt;79.7%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/burntsushi__ripgrep.3b7fd44/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/burntsushi__ripgrep.3b7fd44/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;4&lt;/td&gt;
          &lt;td&gt;FFmpeg/FFmpeg&lt;/td&gt;
          &lt;td&gt;Mirror of &lt;a class=&#34;link&#34; href=&#34;https://git.ffmpeg.org/ffmpeg.git&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://git.ffmpeg.org/ffmpeg.git&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;59,217&lt;/td&gt;
          &lt;td&gt;3,050&lt;/td&gt;
          &lt;td&gt;5.3%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/ffmpeg__ffmpeg.360a402/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/ffmpeg__ffmpeg.360a402/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;5&lt;/td&gt;
          &lt;td&gt;sharkdp/bat&lt;/td&gt;
          &lt;td&gt;A cat(1) clone with wings.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;58,487&lt;/td&gt;
          &lt;td&gt;801&lt;/td&gt;
          &lt;td&gt;33.2%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/sharkdp__bat.f822bd0/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/sharkdp__bat.f822bd0/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;6&lt;/td&gt;
          &lt;td&gt;typst/typst&lt;/td&gt;
          &lt;td&gt;A markup-based typesetting system that is powerful and easy to learn.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;52,957&lt;/td&gt;
          &lt;td&gt;1,724&lt;/td&gt;
          &lt;td&gt;28.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/typst__typst.88356d0/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/typst__typst.88356d0/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;7&lt;/td&gt;
          &lt;td&gt;jgm/pandoc&lt;/td&gt;
          &lt;td&gt;Universal markup converter&lt;/td&gt;
          &lt;td&gt;hs&lt;/td&gt;
          &lt;td&gt;43,632&lt;/td&gt;
          &lt;td&gt;5,228&lt;/td&gt;
          &lt;td&gt;14.1%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/jgm__pandoc.5caad90/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/jgm__pandoc.5caad90/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;8&lt;/td&gt;
          &lt;td&gt;sharkdp/fd&lt;/td&gt;
          &lt;td&gt;A simple, fast and user-friendly alternative to &amp;lsquo;find&amp;rsquo;&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;42,668&lt;/td&gt;
          &lt;td&gt;1,235&lt;/td&gt;
          &lt;td&gt;78.1%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/sharkdp__fd.40d8eb3/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/sharkdp__fd.40d8eb3/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;9&lt;/td&gt;
          &lt;td&gt;php/php-src&lt;/td&gt;
          &lt;td&gt;The PHP Interpreter&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;40,030&lt;/td&gt;
          &lt;td&gt;14,288&lt;/td&gt;
          &lt;td&gt;4.8%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/php__php-src.c891263/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/php__php-src.c891263/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;10&lt;/td&gt;
          &lt;td&gt;duckdb/duckdb&lt;/td&gt;
          &lt;td&gt;DuckDB is an analytical in-process SQL database management system&lt;/td&gt;
          &lt;td&gt;cpp&lt;/td&gt;
          &lt;td&gt;37,657&lt;/td&gt;
          &lt;td&gt;5,650&lt;/td&gt;
          &lt;td&gt;12.4%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/duckdb__duckdb.bdb65ec/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/duckdb__duckdb.bdb65ec/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;11&lt;/td&gt;
          &lt;td&gt;ajeetdsouza/zoxide&lt;/td&gt;
          &lt;td&gt;A smarter cd command. Supports all major shells.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;35,994&lt;/td&gt;
          &lt;td&gt;531&lt;/td&gt;
          &lt;td&gt;76.5%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/ajeetdsouza__zoxide.67ca1bc/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/ajeetdsouza__zoxide.67ca1bc/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;12&lt;/td&gt;
          &lt;td&gt;jqlang/jq&lt;/td&gt;
          &lt;td&gt;Command-line JSON processor&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;34,541&lt;/td&gt;
          &lt;td&gt;6,072&lt;/td&gt;
          &lt;td&gt;89.9%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/jqlang__jq.b33a763/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/jqlang__jq.b33a763/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;13&lt;/td&gt;
          &lt;td&gt;dandavison/delta&lt;/td&gt;
          &lt;td&gt;A syntax-highlighting pager for git, diff, grep, rg &amp;ndash;json, and blame output&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;30,445&lt;/td&gt;
          &lt;td&gt;950&lt;/td&gt;
          &lt;td&gt;37.3%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/dandavison__delta.acd758f/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/dandavison__delta.acd758f/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;14&lt;/td&gt;
          &lt;td&gt;sharkdp/hyperfine&lt;/td&gt;
          &lt;td&gt;A command-line benchmarking tool&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;27,960&lt;/td&gt;
          &lt;td&gt;291&lt;/td&gt;
          &lt;td&gt;54.3%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/sharkdp__hyperfine.327d5f4/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/sharkdp__hyperfine.327d5f4/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;15&lt;/td&gt;
          &lt;td&gt;ggreer/the_silver_searcher&lt;/td&gt;
          &lt;td&gt;A code-searching tool similar to ack, but faster.&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;27,080&lt;/td&gt;
          &lt;td&gt;1,006&lt;/td&gt;
          &lt;td&gt;59.3%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/ggreer__the_silver_searcher.a61f178/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/ggreer__the_silver_searcher.a61f178/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;16&lt;/td&gt;
          &lt;td&gt;facebook/zstd&lt;/td&gt;
          &lt;td&gt;Zstandard - Fast real-time compression algorithm&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;27,013&lt;/td&gt;
          &lt;td&gt;2,038&lt;/td&gt;
          &lt;td&gt;68.8%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/facebook__zstd.1168da0/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/facebook__zstd.1168da0/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;17&lt;/td&gt;
          &lt;td&gt;facebookresearch/fastText&lt;/td&gt;
          &lt;td&gt;Library for fast text representation and classification.&lt;/td&gt;
          &lt;td&gt;cpp&lt;/td&gt;
          &lt;td&gt;26,511&lt;/td&gt;
          &lt;td&gt;312&lt;/td&gt;
          &lt;td&gt;75.6%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/facebookresearch__fasttext.1142dc4/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/facebookresearch__fasttext.1142dc4/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;18&lt;/td&gt;
          &lt;td&gt;robertdavidgraham/masscan&lt;/td&gt;
          &lt;td&gt;TCP port scanner, spews SYN packets asynchronously, scanning entire Internet in under 5 minutes.&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;25,544&lt;/td&gt;
          &lt;td&gt;2,549&lt;/td&gt;
          &lt;td&gt;57.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/robertdavidgraham__masscan.b99d433/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/robertdavidgraham__masscan.b99d433/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;19&lt;/td&gt;
          &lt;td&gt;tree-sitter/tree-sitter&lt;/td&gt;
          &lt;td&gt;An incremental parsing system for programming tools&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;24,953&lt;/td&gt;
          &lt;td&gt;1,232&lt;/td&gt;
          &lt;td&gt;37.2%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/tree-sitter__tree-sitter.5e23cca/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/tree-sitter__tree-sitter.5e23cca/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;20&lt;/td&gt;
          &lt;td&gt;FiloSottile/age&lt;/td&gt;
          &lt;td&gt;A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability.&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;22,077&lt;/td&gt;
          &lt;td&gt;676&lt;/td&gt;
          &lt;td&gt;63.5%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/filosottile__age.706dfc1/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/filosottile__age.706dfc1/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;21&lt;/td&gt;
          &lt;td&gt;rust-lang/mdBook&lt;/td&gt;
          &lt;td&gt;Create book from markdown files. Like Gitbook but implemented in Rust&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;21,541&lt;/td&gt;
          &lt;td&gt;1,114&lt;/td&gt;
          &lt;td&gt;55.5%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/rust-lang__mdbook.37273ba/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/rust-lang__mdbook.37273ba/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;22&lt;/td&gt;
          &lt;td&gt;jarun/nnn&lt;/td&gt;
          &lt;td&gt;n³ The unorthodox terminal file manager&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;21,506&lt;/td&gt;
          &lt;td&gt;477&lt;/td&gt;
          &lt;td&gt;98.1%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/jarun__nnn.cb2c535/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/jarun__nnn.cb2c535/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;23&lt;/td&gt;
          &lt;td&gt;antonmedv/fx&lt;/td&gt;
          &lt;td&gt;Terminal JSON viewer &amp;amp; processor&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;20,433&lt;/td&gt;
          &lt;td&gt;2,047&lt;/td&gt;
          &lt;td&gt;75.7%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/antonmedv__fx.86d0d34/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/antonmedv__fx.86d0d34/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;24&lt;/td&gt;
          &lt;td&gt;mikefarah/yq&lt;/td&gt;
          &lt;td&gt;yq is a portable command-line YAML, JSON, XML, CSV, TOML, HCL and properties processor&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;15,281&lt;/td&gt;
          &lt;td&gt;2,000&lt;/td&gt;
          &lt;td&gt;39.5%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/mikefarah__yq.602586d/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/mikefarah__yq.602586d/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;25&lt;/td&gt;
          &lt;td&gt;Y2Z/monolith&lt;/td&gt;
          &lt;td&gt;⬛️ CLI tool and library for saving complete web pages as a single HTML file&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;15,024&lt;/td&gt;
          &lt;td&gt;713&lt;/td&gt;
          &lt;td&gt;51.2%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/y2z__monolith.8702e66/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/y2z__monolith.8702e66/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;26&lt;/td&gt;
          &lt;td&gt;direnv/direnv&lt;/td&gt;
          &lt;td&gt;unclutter your .profile&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;14,998&lt;/td&gt;
          &lt;td&gt;849&lt;/td&gt;
          &lt;td&gt;62.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/direnv__direnv.02040c7/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/direnv__direnv.02040c7/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;27&lt;/td&gt;
          &lt;td&gt;google/brotli&lt;/td&gt;
          &lt;td&gt;Brotli compression format&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;14,673&lt;/td&gt;
          &lt;td&gt;441&lt;/td&gt;
          &lt;td&gt;90.7%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/google__brotli.b3dc9cc/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/google__brotli.b3dc9cc/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;28&lt;/td&gt;
          &lt;td&gt;tomnomnom/gron&lt;/td&gt;
          &lt;td&gt;Make JSON greppable!&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;14,424&lt;/td&gt;
          &lt;td&gt;224&lt;/td&gt;
          &lt;td&gt;90.2%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/tomnomnom__gron.88a6234/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/tomnomnom__gron.88a6234/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;29&lt;/td&gt;
          &lt;td&gt;XAMPPRocky/tokei&lt;/td&gt;
          &lt;td&gt;Count your code, quickly.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;14,300&lt;/td&gt;
          &lt;td&gt;732&lt;/td&gt;
          &lt;td&gt;69.5%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/xampprocky__tokei.505d648/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/xampprocky__tokei.505d648/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;30&lt;/td&gt;
          &lt;td&gt;ast-grep/ast-grep&lt;/td&gt;
          &lt;td&gt;⚡A CLI tool for code structural search, lint and rewriting. Written in Rust&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;13,541&lt;/td&gt;
          &lt;td&gt;882&lt;/td&gt;
          &lt;td&gt;11.9%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/ast-grep__ast-grep.dde0fe0/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/ast-grep__ast-grep.dde0fe0/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;31&lt;/td&gt;
          &lt;td&gt;cheat/cheat&lt;/td&gt;
          &lt;td&gt;cheat allows you to create and view interactive cheatsheets on the command-line. It was designed to help remind *nix system administrators of options for commands that they use frequently, but not frequently enough to remember.&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;13,278&lt;/td&gt;
          &lt;td&gt;297&lt;/td&gt;
          &lt;td&gt;59.9%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/cheat__cheat.b8098dc/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/cheat__cheat.b8098dc/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;32&lt;/td&gt;
          &lt;td&gt;jonas/tig&lt;/td&gt;
          &lt;td&gt;Text-mode interface for git&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;13,200&lt;/td&gt;
          &lt;td&gt;1,586&lt;/td&gt;
          &lt;td&gt;83.9%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/jonas__tig.8334123/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/jonas__tig.8334123/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;33&lt;/td&gt;
          &lt;td&gt;ninja-build/ninja&lt;/td&gt;
          &lt;td&gt;a small build system with a focus on speed&lt;/td&gt;
          &lt;td&gt;cpp&lt;/td&gt;
          &lt;td&gt;12,895&lt;/td&gt;
          &lt;td&gt;1,438&lt;/td&gt;
          &lt;td&gt;72.3%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/ninja-build__ninja.cc60300/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/ninja-build__ninja.cc60300/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;34&lt;/td&gt;
          &lt;td&gt;Canop/broot&lt;/td&gt;
          &lt;td&gt;A new way to see and navigate directory trees : &lt;a class=&#34;link&#34; href=&#34;https://dystroy.org/broot&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://dystroy.org/broot&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;12,619&lt;/td&gt;
          &lt;td&gt;539&lt;/td&gt;
          &lt;td&gt;67.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/canop__broot.d6c798e/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/canop__broot.d6c798e/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;35&lt;/td&gt;
          &lt;td&gt;orf/gping&lt;/td&gt;
          &lt;td&gt;Ping, but with a graph&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;12,433&lt;/td&gt;
          &lt;td&gt;339&lt;/td&gt;
          &lt;td&gt;78.5%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/orf__gping.26eb5b9/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/orf__gping.26eb5b9/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;36&lt;/td&gt;
          &lt;td&gt;svenstaro/genact&lt;/td&gt;
          &lt;td&gt;🌀 A nonsense activity generator&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;11,995&lt;/td&gt;
          &lt;td&gt;232&lt;/td&gt;
          &lt;td&gt;59.1%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/svenstaro__genact.16f96e3/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/svenstaro__genact.16f96e3/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;37&lt;/td&gt;
          &lt;td&gt;lz4/lz4&lt;/td&gt;
          &lt;td&gt;Extremely Fast Compression algorithm&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;11,781&lt;/td&gt;
          &lt;td&gt;1,496&lt;/td&gt;
          &lt;td&gt;82.7%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/lz4__lz4.1519f46/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/lz4__lz4.1519f46/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;38&lt;/td&gt;
          &lt;td&gt;o2sh/onefetch&lt;/td&gt;
          &lt;td&gt;Command-line Git information tool&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;11,745&lt;/td&gt;
          &lt;td&gt;1,166&lt;/td&gt;
          &lt;td&gt;81.7%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/o2sh__onefetch.e5958ce/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/o2sh__onefetch.e5958ce/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;39&lt;/td&gt;
          &lt;td&gt;bootandy/dust&lt;/td&gt;
          &lt;td&gt;A more intuitive version of du in rust&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;11,609&lt;/td&gt;
          &lt;td&gt;584&lt;/td&gt;
          &lt;td&gt;70.9%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/bootandy__dust.62bf1e1/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/bootandy__dust.62bf1e1/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;40&lt;/td&gt;
          &lt;td&gt;ekzhang/bore&lt;/td&gt;
          &lt;td&gt;🕳 bore is a simple CLI tool for making tunnels to localhost&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;11,075&lt;/td&gt;
          &lt;td&gt;406&lt;/td&gt;
          &lt;td&gt;68.7%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/ekzhang__bore.8e059cd/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/ekzhang__bore.8e059cd/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;41&lt;/td&gt;
          &lt;td&gt;BurntSushi/xsv&lt;/td&gt;
          &lt;td&gt;A fast CSV command line toolkit written in Rust.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;10,757&lt;/td&gt;
          &lt;td&gt;1,182&lt;/td&gt;
          &lt;td&gt;82.7%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/burntsushi__xsv.f430466/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/burntsushi__xsv.f430466/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;42&lt;/td&gt;
          &lt;td&gt;bellard/quickjs&lt;/td&gt;
          &lt;td&gt;Public repository of the QuickJS Javascript Engine.&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;10,565&lt;/td&gt;
          &lt;td&gt;3,034&lt;/td&gt;
          &lt;td&gt;3.6%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/bellard__quickjs.d7ae12a/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/bellard__quickjs.d7ae12a/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;43&lt;/td&gt;
          &lt;td&gt;hatoo/oha&lt;/td&gt;
          &lt;td&gt;Ohayou(おはよう), HTTP load generator, inspired by rakyll/hey with tui animation.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;10,201&lt;/td&gt;
          &lt;td&gt;899&lt;/td&gt;
          &lt;td&gt;72.5%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/hatoo__oha.8dc6349/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/hatoo__oha.8dc6349/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;44&lt;/td&gt;
          &lt;td&gt;tstack/lnav&lt;/td&gt;
          &lt;td&gt;Log file navigator&lt;/td&gt;
          &lt;td&gt;cpp&lt;/td&gt;
          &lt;td&gt;10,200&lt;/td&gt;
          &lt;td&gt;990&lt;/td&gt;
          &lt;td&gt;13.4%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/tstack__lnav.ee34494/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/tstack__lnav.ee34494/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;45&lt;/td&gt;
          &lt;td&gt;sharkdp/hexyl&lt;/td&gt;
          &lt;td&gt;A command-line hex viewer&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;10,086&lt;/td&gt;
          &lt;td&gt;906&lt;/td&gt;
          &lt;td&gt;82.8%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/sharkdp__hexyl.2e26437/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/sharkdp__hexyl.2e26437/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;46&lt;/td&gt;
          &lt;td&gt;lua/lua&lt;/td&gt;
          &lt;td&gt;A copy of the Lua development repository, as seen by the Lua team. Mirrored irregularly. All communication should be through the Lua mailing list &lt;a class=&#34;link&#34; href=&#34;https://www.lua.org/lua-l.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://www.lua.org/lua-l.html&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;9,908&lt;/td&gt;
          &lt;td&gt;1,338&lt;/td&gt;
          &lt;td&gt;43.1%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/lua__lua.c6b4848/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/lua__lua.c6b4848/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;47&lt;/td&gt;
          &lt;td&gt;johnkerl/miller&lt;/td&gt;
          &lt;td&gt;Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;9,842&lt;/td&gt;
          &lt;td&gt;14,637&lt;/td&gt;
          &lt;td&gt;22.9%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/johnkerl__miller.8d85b46/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/johnkerl__miller.8d85b46/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;48&lt;/td&gt;
          &lt;td&gt;sqlite/sqlite&lt;/td&gt;
          &lt;td&gt;Official Git mirror of the SQLite source tree&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;9,434&lt;/td&gt;
          &lt;td&gt;13,514&lt;/td&gt;
          &lt;td&gt;67.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/sqlite__sqlite.839433d/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/sqlite__sqlite.839433d/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;49&lt;/td&gt;
          &lt;td&gt;boyter/scc&lt;/td&gt;
          &lt;td&gt;Sloc, Cloc and Code: scc is a very fast accurate code counter with complexity calculations and COCOMO estimates written in pure Go&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;8,320&lt;/td&gt;
          &lt;td&gt;464&lt;/td&gt;
          &lt;td&gt;37.7%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/boyter__scc.515f91c/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/boyter__scc.515f91c/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;50&lt;/td&gt;
          &lt;td&gt;ariga/atlas&lt;/td&gt;
          &lt;td&gt;Declarative schema migrations with schema-as-code workflows&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;8,311&lt;/td&gt;
          &lt;td&gt;1,318&lt;/td&gt;
          &lt;td&gt;54.8%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/ariga__atlas.6d81150/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/ariga__atlas.6d81150/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;51&lt;/td&gt;
          &lt;td&gt;pemistahl/grex&lt;/td&gt;
          &lt;td&gt;A command-line tool and Rust library with Python bindings for generating regular expressions from user-provided test cases&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;8,103&lt;/td&gt;
          &lt;td&gt;1,312&lt;/td&gt;
          &lt;td&gt;73.9%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/pemistahl__grex.fa3e8ed/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/pemistahl__grex.fa3e8ed/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;52&lt;/td&gt;
          &lt;td&gt;htop-dev/htop&lt;/td&gt;
          &lt;td&gt;htop - an interactive process viewer&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;8,021&lt;/td&gt;
          &lt;td&gt;693&lt;/td&gt;
          &lt;td&gt;85.1%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/htop-dev__htop.523600b/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/htop-dev__htop.523600b/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;53&lt;/td&gt;
          &lt;td&gt;peco/peco&lt;/td&gt;
          &lt;td&gt;Simplistic interactive filtering tool&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;7,881&lt;/td&gt;
          &lt;td&gt;1,224&lt;/td&gt;
          &lt;td&gt;76.7%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/peco__peco.4e58dad/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/peco__peco.4e58dad/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;54&lt;/td&gt;
          &lt;td&gt;bensadeh/tailspin&lt;/td&gt;
          &lt;td&gt;🌀 A log file highlighter&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;7,793&lt;/td&gt;
          &lt;td&gt;615&lt;/td&gt;
          &lt;td&gt;75.8%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/bensadeh__tailspin.6278437/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/bensadeh__tailspin.6278437/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;55&lt;/td&gt;
          &lt;td&gt;ducaale/xh&lt;/td&gt;
          &lt;td&gt;Friendly and fast tool for sending HTTP requests&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;7,754&lt;/td&gt;
          &lt;td&gt;1,171&lt;/td&gt;
          &lt;td&gt;50.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/ducaale__xh.4a6e44f/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/ducaale__xh.4a6e44f/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;56&lt;/td&gt;
          &lt;td&gt;svenstaro/miniserve&lt;/td&gt;
          &lt;td&gt;🌟 For when you really just want to serve some files over HTTP right now!&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;7,561&lt;/td&gt;
          &lt;td&gt;304&lt;/td&gt;
          &lt;td&gt;78.6%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/svenstaro__miniserve.8449e8b/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/svenstaro__miniserve.8449e8b/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;57&lt;/td&gt;
          &lt;td&gt;mgdm/htmlq&lt;/td&gt;
          &lt;td&gt;Like jq, but for HTML.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;7,520&lt;/td&gt;
          &lt;td&gt;1,455&lt;/td&gt;
          &lt;td&gt;93.9%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/mgdm__htmlq.6e31bc8/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/mgdm__htmlq.6e31bc8/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;58&lt;/td&gt;
          &lt;td&gt;parcel-bundler/lightningcss&lt;/td&gt;
          &lt;td&gt;An extremely fast CSS parser, transformer, bundler, and minifier written in Rust.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;7,515&lt;/td&gt;
          &lt;td&gt;2,828&lt;/td&gt;
          &lt;td&gt;53.6%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/parcel-bundler__lightningcss.aa2ed1e/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/parcel-bundler__lightningcss.aa2ed1e/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;59&lt;/td&gt;
          &lt;td&gt;universal-ctags/ctags&lt;/td&gt;
          &lt;td&gt;A maintained ctags implementation&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;7,149&lt;/td&gt;
          &lt;td&gt;2,258&lt;/td&gt;
          &lt;td&gt;13.3%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/universal-ctags__ctags.243595e/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/universal-ctags__ctags.243595e/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;60&lt;/td&gt;
          &lt;td&gt;chmln/sd&lt;/td&gt;
          &lt;td&gt;Intuitive find &amp;amp; replace CLI (sed alternative)&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;7,072&lt;/td&gt;
          &lt;td&gt;810&lt;/td&gt;
          &lt;td&gt;90.9%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/chmln__sd.87d1ba5/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/chmln__sd.87d1ba5/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;61&lt;/td&gt;
          &lt;td&gt;ogham/dog&lt;/td&gt;
          &lt;td&gt;A command-line DNS client.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;6,640&lt;/td&gt;
          &lt;td&gt;1,300&lt;/td&gt;
          &lt;td&gt;84.2%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/ogham__dog.721440b/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/ogham__dog.721440b/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;62&lt;/td&gt;
          &lt;td&gt;danmar/cppcheck&lt;/td&gt;
          &lt;td&gt;static analysis of C/C++ code&lt;/td&gt;
          &lt;td&gt;cpp&lt;/td&gt;
          &lt;td&gt;6,599&lt;/td&gt;
          &lt;td&gt;2,126&lt;/td&gt;
          &lt;td&gt;14.6%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/danmar__cppcheck.0a5b103/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/danmar__cppcheck.0a5b103/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;63&lt;/td&gt;
          &lt;td&gt;doxygen/doxygen&lt;/td&gt;
          &lt;td&gt;Official doxygen git repository&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;6,422&lt;/td&gt;
          &lt;td&gt;229&lt;/td&gt;
          &lt;td&gt;34.5%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/doxygen__doxygen.966d98e/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/doxygen__doxygen.966d98e/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;64&lt;/td&gt;
          &lt;td&gt;sharkdp/pastel&lt;/td&gt;
          &lt;td&gt;A command-line tool to generate, analyze, convert and manipulate colors&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;6,334&lt;/td&gt;
          &lt;td&gt;1,114&lt;/td&gt;
          &lt;td&gt;77.2%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/sharkdp__pastel.b60e899/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/sharkdp__pastel.b60e899/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;65&lt;/td&gt;
          &lt;td&gt;BLAKE3-team/BLAKE3&lt;/td&gt;
          &lt;td&gt;the official Rust and C implementations of the BLAKE3 cryptographic hash function&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;6,178&lt;/td&gt;
          &lt;td&gt;647&lt;/td&gt;
          &lt;td&gt;97.5%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/blake3-team__blake3.15e83a5/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/blake3-team__blake3.15e83a5/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;66&lt;/td&gt;
          &lt;td&gt;Nukesor/pueue&lt;/td&gt;
          &lt;td&gt;:stars: Manage your shell commands.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;6,154&lt;/td&gt;
          &lt;td&gt;638&lt;/td&gt;
          &lt;td&gt;15.4%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/nukesor__pueue.8b9d6fe/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/nukesor__pueue.8b9d6fe/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;67&lt;/td&gt;
          &lt;td&gt;OSGeo/gdal&lt;/td&gt;
          &lt;td&gt;GDAL is an open source MIT licensed translator library for raster and vector geospatial data formats.&lt;/td&gt;
          &lt;td&gt;cpp&lt;/td&gt;
          &lt;td&gt;5,875&lt;/td&gt;
          &lt;td&gt;657&lt;/td&gt;
          &lt;td&gt;25.4%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/osgeo__gdal.0847f12/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/osgeo__gdal.0847f12/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;68&lt;/td&gt;
          &lt;td&gt;Byron/dua-cli&lt;/td&gt;
          &lt;td&gt;View disk space usage and delete unwanted data, fast.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;5,794&lt;/td&gt;
          &lt;td&gt;709&lt;/td&gt;
          &lt;td&gt;86.9%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/byron__dua-cli.8570c15/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/byron__dua-cli.8570c15/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;69&lt;/td&gt;
          &lt;td&gt;dundee/gdu&lt;/td&gt;
          &lt;td&gt;Fast disk usage analyzer with console interface written in Go&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;5,578&lt;/td&gt;
          &lt;td&gt;1,161&lt;/td&gt;
          &lt;td&gt;70.1%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/dundee__gdu.ede21d2/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/dundee__gdu.ede21d2/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;70&lt;/td&gt;
          &lt;td&gt;eradman/entr&lt;/td&gt;
          &lt;td&gt;Run arbitrary commands when files change&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;5,551&lt;/td&gt;
          &lt;td&gt;586&lt;/td&gt;
          &lt;td&gt;88.6%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/eradman__entr.8e2e8b4/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/eradman__entr.8e2e8b4/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;71&lt;/td&gt;
          &lt;td&gt;LuaJIT/LuaJIT&lt;/td&gt;
          &lt;td&gt;Mirror of the LuaJIT git repository&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;5,518&lt;/td&gt;
          &lt;td&gt;2,967&lt;/td&gt;
          &lt;td&gt;71.5%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/luajit__luajit.a553b3d/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/luajit__luajit.a553b3d/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;72&lt;/td&gt;
          &lt;td&gt;mgechev/revive&lt;/td&gt;
          &lt;td&gt;🔥 ~6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for golint&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;5,486&lt;/td&gt;
          &lt;td&gt;727&lt;/td&gt;
          &lt;td&gt;46.4%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/mgechev__revive.201451e/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/mgechev__revive.201451e/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;73&lt;/td&gt;
          &lt;td&gt;cweill/gotests&lt;/td&gt;
          &lt;td&gt;Automatically generate Go test boilerplate from your source code.&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;5,294&lt;/td&gt;
          &lt;td&gt;603&lt;/td&gt;
          &lt;td&gt;61.9%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/cweill__gotests.2a672c5/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/cweill__gotests.2a672c5/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;74&lt;/td&gt;
          &lt;td&gt;cordx56/rustowl&lt;/td&gt;
          &lt;td&gt;Visualize Ownership and Lifetimes in Rust&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;5,113&lt;/td&gt;
          &lt;td&gt;589&lt;/td&gt;
          &lt;td&gt;75.2%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/cordx56__rustowl.655bc5c/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/cordx56__rustowl.655bc5c/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;75&lt;/td&gt;
          &lt;td&gt;abishekvashok/cmatrix&lt;/td&gt;
          &lt;td&gt;Terminal based &amp;ldquo;The Matrix&amp;rdquo; like implementation&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;5,042&lt;/td&gt;
          &lt;td&gt;508&lt;/td&gt;
          &lt;td&gt;97.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/abishekvashok__cmatrix.5c082c6/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/abishekvashok__cmatrix.5c082c6/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;76&lt;/td&gt;
          &lt;td&gt;quinn-rs/quinn&lt;/td&gt;
          &lt;td&gt;Async-friendly QUIC implementation in Rust&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;5,041&lt;/td&gt;
          &lt;td&gt;522&lt;/td&gt;
          &lt;td&gt;61.7%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/quinn-rs__quinn.bb359cc/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/quinn-rs__quinn.bb359cc/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;77&lt;/td&gt;
          &lt;td&gt;alecthomas/chroma&lt;/td&gt;
          &lt;td&gt;A general purpose syntax highlighter in pure Go&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;4,910&lt;/td&gt;
          &lt;td&gt;515&lt;/td&gt;
          &lt;td&gt;15.9%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/alecthomas__chroma.8d04def/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/alecthomas__chroma.8d04def/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;78&lt;/td&gt;
          &lt;td&gt;anordal/shellharden&lt;/td&gt;
          &lt;td&gt;The corrective bash syntax highlighter&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;4,778&lt;/td&gt;
          &lt;td&gt;1,095&lt;/td&gt;
          &lt;td&gt;81.7%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/anordal__shellharden.6a6ffd4/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/anordal__shellharden.6a6ffd4/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;79&lt;/td&gt;
          &lt;td&gt;yoav-lavi/melody&lt;/td&gt;
          &lt;td&gt;Melody is a language that compiles to regular expressions and aims to be more readable and maintainable&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;4,748&lt;/td&gt;
          &lt;td&gt;1,205&lt;/td&gt;
          &lt;td&gt;78.9%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/yoav-lavi__melody.f4af9b4/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/yoav-lavi__melody.f4af9b4/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;80&lt;/td&gt;
          &lt;td&gt;sayanarijit/xplr&lt;/td&gt;
          &lt;td&gt;A hackable, minimal, fast TUI file explorer&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;4,735&lt;/td&gt;
          &lt;td&gt;463&lt;/td&gt;
          &lt;td&gt;60.5%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/sayanarijit__xplr.1751065/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/sayanarijit__xplr.1751065/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;81&lt;/td&gt;
          &lt;td&gt;hpjansson/chafa&lt;/td&gt;
          &lt;td&gt;📺🗿 Terminal graphics for the 21st century.&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;4,648&lt;/td&gt;
          &lt;td&gt;1,931&lt;/td&gt;
          &lt;td&gt;58.4%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/hpjansson__chafa.dd4d4c1/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/hpjansson__chafa.dd4d4c1/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;82&lt;/td&gt;
          &lt;td&gt;jhspetersson/fselect&lt;/td&gt;
          &lt;td&gt;Find files with SQL-like queries&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;4,420&lt;/td&gt;
          &lt;td&gt;3,115&lt;/td&gt;
          &lt;td&gt;44.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/jhspetersson__fselect.c3559ca/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/jhspetersson__fselect.c3559ca/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;83&lt;/td&gt;
          &lt;td&gt;ivanceras/svgbob&lt;/td&gt;
          &lt;td&gt;Convert your ascii diagram scribbles into happy little SVG&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;4,182&lt;/td&gt;
          &lt;td&gt;472&lt;/td&gt;
          &lt;td&gt;41.3%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/ivanceras__svgbob.6d00ad9/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/ivanceras__svgbob.6d00ad9/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;84&lt;/td&gt;
          &lt;td&gt;multiprocessio/dsq&lt;/td&gt;
          &lt;td&gt;Commandline tool for running SQL queries against JSON, CSV, Excel, Parquet, and more.&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;3,867&lt;/td&gt;
          &lt;td&gt;542&lt;/td&gt;
          &lt;td&gt;80.3%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/multiprocessio__dsq.c3ae0ba/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/multiprocessio__dsq.c3ae0ba/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;85&lt;/td&gt;
          &lt;td&gt;rcoh/angle-grinder&lt;/td&gt;
          &lt;td&gt;Slice and dice logs on the command line&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;3,727&lt;/td&gt;
          &lt;td&gt;1,130&lt;/td&gt;
          &lt;td&gt;38.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/rcoh__angle-grinder.9c2fc88/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/rcoh__angle-grinder.9c2fc88/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;86&lt;/td&gt;
          &lt;td&gt;rs/curlie&lt;/td&gt;
          &lt;td&gt;The power of curl, the ease of use of httpie.&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;3,637&lt;/td&gt;
          &lt;td&gt;701&lt;/td&gt;
          &lt;td&gt;89.3%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/rs__curlie.5dfcbb1/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/rs__curlie.5dfcbb1/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;87&lt;/td&gt;
          &lt;td&gt;antonmedv/walk&lt;/td&gt;
          &lt;td&gt;Terminal file manager&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;3,598&lt;/td&gt;
          &lt;td&gt;470&lt;/td&gt;
          &lt;td&gt;74.3%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/antonmedv__walk.bf802ef/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/antonmedv__walk.bf802ef/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;88&lt;/td&gt;
          &lt;td&gt;JohannesKaufmann/html-to-markdown&lt;/td&gt;
          &lt;td&gt;⚙️ Convert HTML to Markdown. Even works with entire websites and can be extended through rules.&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;3,586&lt;/td&gt;
          &lt;td&gt;885&lt;/td&gt;
          &lt;td&gt;85.5%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/johanneskaufmann__html-to-markdown.3006818/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/johanneskaufmann__html-to-markdown.3006818/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;89&lt;/td&gt;
          &lt;td&gt;TheZoraiz/ascii-image-converter&lt;/td&gt;
          &lt;td&gt;A cross-platform command-line tool to convert images into ascii art and print them on the console. Now supports braille art!&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;3,284&lt;/td&gt;
          &lt;td&gt;465&lt;/td&gt;
          &lt;td&gt;64.1%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/thezoraiz__ascii-image-converter.d05a757/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/thezoraiz__ascii-image-converter.d05a757/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;90&lt;/td&gt;
          &lt;td&gt;hairyhenderson/gomplate&lt;/td&gt;
          &lt;td&gt;A flexible commandline tool for template rendering. Supports lots of local and remote datasources.&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;3,135&lt;/td&gt;
          &lt;td&gt;2,926&lt;/td&gt;
          &lt;td&gt;74.7%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/hairyhenderson__gomplate.05eb3aa/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/hairyhenderson__gomplate.05eb3aa/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;91&lt;/td&gt;
          &lt;td&gt;ip7z/7zip&lt;/td&gt;
          &lt;td&gt;7-Zip&lt;/td&gt;
          &lt;td&gt;cpp&lt;/td&gt;
          &lt;td&gt;2,967&lt;/td&gt;
          &lt;td&gt;1,043&lt;/td&gt;
          &lt;td&gt;33.9%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/ip7z__7zip.839151e/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/ip7z__7zip.839151e/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;92&lt;/td&gt;
          &lt;td&gt;madler/pigz&lt;/td&gt;
          &lt;td&gt;A parallel implementation of gzip for modern multi-processor, multi-core machines.&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;2,924&lt;/td&gt;
          &lt;td&gt;831&lt;/td&gt;
          &lt;td&gt;83.2%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/madler__pigz.fe4894f/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/madler__pigz.fe4894f/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;93&lt;/td&gt;
          &lt;td&gt;tinycc/tinycc&lt;/td&gt;
          &lt;td&gt;Unofficial mirror of mob development branch&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;2,843&lt;/td&gt;
          &lt;td&gt;1,978&lt;/td&gt;
          &lt;td&gt;12.8%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/tinycc__tinycc.9b8765d/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/tinycc__tinycc.9b8765d/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;94&lt;/td&gt;
          &lt;td&gt;raviqqe/muffet&lt;/td&gt;
          &lt;td&gt;Fast website link checker in Go&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;2,597&lt;/td&gt;
          &lt;td&gt;293&lt;/td&gt;
          &lt;td&gt;88.1%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/raviqqe__muffet.a882908/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/raviqqe__muffet.a882908/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;95&lt;/td&gt;
          &lt;td&gt;segmentio/chamber&lt;/td&gt;
          &lt;td&gt;CLI for managing secrets&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;2,588&lt;/td&gt;
          &lt;td&gt;1,748&lt;/td&gt;
          &lt;td&gt;82.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/segmentio__chamber.5f93f5f/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/segmentio__chamber.5f93f5f/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;96&lt;/td&gt;
          &lt;td&gt;astaxie/bat&lt;/td&gt;
          &lt;td&gt;Go implement CLI, cURL-like tool for humans&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;2,563&lt;/td&gt;
          &lt;td&gt;1,091&lt;/td&gt;
          &lt;td&gt;71.8%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/astaxie__bat.17d1080/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/astaxie__bat.17d1080/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;97&lt;/td&gt;
          &lt;td&gt;zk-org/zk&lt;/td&gt;
          &lt;td&gt;Plain text note-taking assistant&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;2,542&lt;/td&gt;
          &lt;td&gt;1,108&lt;/td&gt;
          &lt;td&gt;43.1%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/zk-org__zk.10d93d5/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/zk-org__zk.10d93d5/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;98&lt;/td&gt;
          &lt;td&gt;kisielk/errcheck&lt;/td&gt;
          &lt;td&gt;errcheck checks that you checked errors.&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;2,480&lt;/td&gt;
          &lt;td&gt;341&lt;/td&gt;
          &lt;td&gt;80.4%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/kisielk__errcheck.dacab89/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/kisielk__errcheck.dacab89/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;99&lt;/td&gt;
          &lt;td&gt;mkj/dropbear&lt;/td&gt;
          &lt;td&gt;Dropbear SSH&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;2,231&lt;/td&gt;
          &lt;td&gt;682&lt;/td&gt;
          &lt;td&gt;58.1%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/mkj__dropbear.75f699b/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/mkj__dropbear.75f699b/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;100&lt;/td&gt;
          &lt;td&gt;noborus/trdsql&lt;/td&gt;
          &lt;td&gt;CLI tool that can execute SQL queries on CSV, LTSV, JSON, YAML and TBLN. Can output to various formats.&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;2,159&lt;/td&gt;
          &lt;td&gt;1,312&lt;/td&gt;
          &lt;td&gt;66.8%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/noborus__trdsql.d8c5ff6/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/noborus__trdsql.d8c5ff6/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;101&lt;/td&gt;
          &lt;td&gt;sheepla/pingu&lt;/td&gt;
          &lt;td&gt;🐧ping command but with pingu&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;2,087&lt;/td&gt;
          &lt;td&gt;383&lt;/td&gt;
          &lt;td&gt;96.6%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/sheepla__pingu.926d475/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/sheepla__pingu.926d475/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;102&lt;/td&gt;
          &lt;td&gt;go-critic/go-critic&lt;/td&gt;
          &lt;td&gt;The most opinionated Go source code linter for code audit.&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;2,041&lt;/td&gt;
          &lt;td&gt;493&lt;/td&gt;
          &lt;td&gt;41.6%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/go-critic__go-critic.9aea378/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/go-critic__go-critic.9aea378/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;103&lt;/td&gt;
          &lt;td&gt;OSGeo/PROJ&lt;/td&gt;
          &lt;td&gt;PROJ - Cartographic Projections and Coordinate Transformations Library&lt;/td&gt;
          &lt;td&gt;cpp&lt;/td&gt;
          &lt;td&gt;1,974&lt;/td&gt;
          &lt;td&gt;5,319&lt;/td&gt;
          &lt;td&gt;73.8%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/osgeo__proj.75d455c/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/osgeo__proj.75d455c/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;104&lt;/td&gt;
          &lt;td&gt;noborus/ov&lt;/td&gt;
          &lt;td&gt;🎑Feature-rich terminal-based text viewer. It is a so-called terminal pager.&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;1,935&lt;/td&gt;
          &lt;td&gt;1,854&lt;/td&gt;
          &lt;td&gt;87.6%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/noborus__ov.b96c2ba/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/noborus__ov.b96c2ba/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;105&lt;/td&gt;
          &lt;td&gt;samtools/samtools&lt;/td&gt;
          &lt;td&gt;Tools (written in C using htslib) for manipulating next-generation sequencing data&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;1,886&lt;/td&gt;
          &lt;td&gt;1,425&lt;/td&gt;
          &lt;td&gt;14.2%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/samtools__samtools.aa823b5/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/samtools__samtools.aa823b5/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;106&lt;/td&gt;
          &lt;td&gt;gabotechs/dep-tree&lt;/td&gt;
          &lt;td&gt;Tool for helping developers keep their code bases clean and decoupled. It allows visualising a code base complexity using a 3d force-directed graph of files and the dependencies between them.&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;1,706&lt;/td&gt;
          &lt;td&gt;865&lt;/td&gt;
          &lt;td&gt;65.2%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/gabotechs__dep-tree.60a95a2/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/gabotechs__dep-tree.60a95a2/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;107&lt;/td&gt;
          &lt;td&gt;cmatsuoka/figlet&lt;/td&gt;
          &lt;td&gt;Claudio&amp;rsquo;s FIGlet tree&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;1,606&lt;/td&gt;
          &lt;td&gt;872&lt;/td&gt;
          &lt;td&gt;77.5%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/cmatsuoka__figlet.202a0a8/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/cmatsuoka__figlet.202a0a8/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;108&lt;/td&gt;
          &lt;td&gt;lh3/seqtk&lt;/td&gt;
          &lt;td&gt;Toolkit for processing sequences in FASTA/Q formats&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;1,537&lt;/td&gt;
          &lt;td&gt;429&lt;/td&gt;
          &lt;td&gt;67.4%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/lh3__seqtk.94e7070/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/lh3__seqtk.94e7070/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;109&lt;/td&gt;
          &lt;td&gt;tukaani-project/xz&lt;/td&gt;
          &lt;td&gt;XZ Utils&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;1,522&lt;/td&gt;
          &lt;td&gt;1,410&lt;/td&gt;
          &lt;td&gt;36.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/tukaani-project__xz.1007bf0/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/tukaani-project__xz.1007bf0/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;110&lt;/td&gt;
          &lt;td&gt;skeema/skeema&lt;/td&gt;
          &lt;td&gt;Declarative pure-SQL schema management for MySQL and MariaDB&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;1,361&lt;/td&gt;
          &lt;td&gt;1,708&lt;/td&gt;
          &lt;td&gt;76.5%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/skeema__skeema.6a76243/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/skeema__skeema.6a76243/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;111&lt;/td&gt;
          &lt;td&gt;mfridman/tparse&lt;/td&gt;
          &lt;td&gt;CLI tool for summarizing go test output. Pipe friendly. CI/CD friendly.&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;1,246&lt;/td&gt;
          &lt;td&gt;425&lt;/td&gt;
          &lt;td&gt;77.6%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/mfridman__tparse.2416b4b/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/mfridman__tparse.2416b4b/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;112&lt;/td&gt;
          &lt;td&gt;lfos/calcurse&lt;/td&gt;
          &lt;td&gt;A text-based calendar and scheduling application&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;1,243&lt;/td&gt;
          &lt;td&gt;666&lt;/td&gt;
          &lt;td&gt;53.8%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/lfos__calcurse.49180d5/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/lfos__calcurse.49180d5/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;113&lt;/td&gt;
          &lt;td&gt;hooklift/gowsdl&lt;/td&gt;
          &lt;td&gt;WSDL2Go code generation as well as its SOAP proxy&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;1,219&lt;/td&gt;
          &lt;td&gt;391&lt;/td&gt;
          &lt;td&gt;86.4%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/hooklift__gowsdl.2a06cec/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/hooklift__gowsdl.2a06cec/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;114&lt;/td&gt;
          &lt;td&gt;guumaster/hostctl&lt;/td&gt;
          &lt;td&gt;Your dev tool to manage /etc/hosts like a pro!&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;1,216&lt;/td&gt;
          &lt;td&gt;1,051&lt;/td&gt;
          &lt;td&gt;82.8%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/guumaster__hostctl.d6d9699/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/guumaster__hostctl.d6d9699/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;115&lt;/td&gt;
          &lt;td&gt;rs/jplot&lt;/td&gt;
          &lt;td&gt;iTerm2 expvar/JSON monitoring tool&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;1,178&lt;/td&gt;
          &lt;td&gt;583&lt;/td&gt;
          &lt;td&gt;89.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/rs__jplot.2a54bcc/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/rs__jplot.2a54bcc/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;116&lt;/td&gt;
          &lt;td&gt;naggie/dstask&lt;/td&gt;
          &lt;td&gt;Git powered terminal-based todo/note manager &amp;ndash; markdown note page per task. Single binary!&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;1,157&lt;/td&gt;
          &lt;td&gt;1,278&lt;/td&gt;
          &lt;td&gt;58.8%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/naggie__dstask.ff57396/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/naggie__dstask.ff57396/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;117&lt;/td&gt;
          &lt;td&gt;sigoden/argc&lt;/td&gt;
          &lt;td&gt;A Bash CLI framework, also a Bash command runner.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;1,135&lt;/td&gt;
          &lt;td&gt;995&lt;/td&gt;
          &lt;td&gt;44.1%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/sigoden__argc.04a08f1/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/sigoden__argc.04a08f1/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;118&lt;/td&gt;
          &lt;td&gt;sibprogrammer/xq&lt;/td&gt;
          &lt;td&gt;Command-line XML and HTML beautifier and content extractor&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;1,109&lt;/td&gt;
          &lt;td&gt;792&lt;/td&gt;
          &lt;td&gt;75.9%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/sibprogrammer__xq.b89f681/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/sibprogrammer__xq.b89f681/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;119&lt;/td&gt;
          &lt;td&gt;xorg62/tty-clock&lt;/td&gt;
          &lt;td&gt;Clock using lib ncurses&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;1,105&lt;/td&gt;
          &lt;td&gt;281&lt;/td&gt;
          &lt;td&gt;84.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/xorg62__tty-clock.f2f847c/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/xorg62__tty-clock.f2f847c/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;120&lt;/td&gt;
          &lt;td&gt;unhappychoice/gittype&lt;/td&gt;
          &lt;td&gt;A CLI code-typing game that turns your source code into typing challenges&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;1,075&lt;/td&gt;
          &lt;td&gt;741&lt;/td&gt;
          &lt;td&gt;91.3%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/unhappychoice__gittype.34b72d0/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/unhappychoice__gittype.34b72d0/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;121&lt;/td&gt;
          &lt;td&gt;eudoxia0/hashcards&lt;/td&gt;
          &lt;td&gt;A plain text-based spaced repetition system.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;1,071&lt;/td&gt;
          &lt;td&gt;1,151&lt;/td&gt;
          &lt;td&gt;56.3%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/eudoxia0__hashcards.48aa136/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/eudoxia0__hashcards.48aa136/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;122&lt;/td&gt;
          &lt;td&gt;rvben/rumdl&lt;/td&gt;
          &lt;td&gt;Fast Markdown linter and formatter written in Rust&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;1,051&lt;/td&gt;
          &lt;td&gt;3,322&lt;/td&gt;
          &lt;td&gt;40.7%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/rvben__rumdl.2d75c4d/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/rvben__rumdl.2d75c4d/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;123&lt;/td&gt;
          &lt;td&gt;sclevine/yj&lt;/td&gt;
          &lt;td&gt;CLI - Convert between YAML, TOML, JSON, and HCL. Preserves map order.&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;1,041&lt;/td&gt;
          &lt;td&gt;767&lt;/td&gt;
          &lt;td&gt;74.4%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/sclevine__yj.8016400/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/sclevine__yj.8016400/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;124&lt;/td&gt;
          &lt;td&gt;arq5x/bedtools2&lt;/td&gt;
          &lt;td&gt;bedtools - the swiss army knife for genome arithmetic&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;1,029&lt;/td&gt;
          &lt;td&gt;1,053&lt;/td&gt;
          &lt;td&gt;38.9%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/arq5x__bedtools2.dd57059/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/arq5x__bedtools2.dd57059/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;125&lt;/td&gt;
          &lt;td&gt;cslarsen/jp2a&lt;/td&gt;
          &lt;td&gt;Converts jpg images to ASCII&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;1,021&lt;/td&gt;
          &lt;td&gt;631&lt;/td&gt;
          &lt;td&gt;56.1%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/cslarsen__jp2a.61d205f/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/cslarsen__jp2a.61d205f/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;126&lt;/td&gt;
          &lt;td&gt;blacknon/hwatch&lt;/td&gt;
          &lt;td&gt;A modern alternative to the watch command, records the differences in execution results and can check this differences at after.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;1,016&lt;/td&gt;
          &lt;td&gt;1,016&lt;/td&gt;
          &lt;td&gt;81.1%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/blacknon__hwatch.edfcb62/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/blacknon__hwatch.edfcb62/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;127&lt;/td&gt;
          &lt;td&gt;eliukblau/pixterm&lt;/td&gt;
          &lt;td&gt;Draw images in your ANSI terminal with true color&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;1,014&lt;/td&gt;
          &lt;td&gt;430&lt;/td&gt;
          &lt;td&gt;74.9%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/eliukblau__pixterm.1a93fd5/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/eliukblau__pixterm.1a93fd5/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;128&lt;/td&gt;
          &lt;td&gt;Canop/rhit&lt;/td&gt;
          &lt;td&gt;A nginx log explorer&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;1,006&lt;/td&gt;
          &lt;td&gt;817&lt;/td&gt;
          &lt;td&gt;53.2%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/canop__rhit.ae90bcb/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/canop__rhit.ae90bcb/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;129&lt;/td&gt;
          &lt;td&gt;stathissideris/ditaa&lt;/td&gt;
          &lt;td&gt;ditaa is a small command-line utility that can convert diagrams drawn using ascii art (&amp;lsquo;drawings&amp;rsquo; that contain characters that resemble lines like | / - ), into proper bitmap graphics.&lt;/td&gt;
          &lt;td&gt;java&lt;/td&gt;
          &lt;td&gt;1,005&lt;/td&gt;
          &lt;td&gt;609&lt;/td&gt;
          &lt;td&gt;20.4%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/stathissideris__ditaa.f2286c4/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/stathissideris__ditaa.f2286c4/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;130&lt;/td&gt;
          &lt;td&gt;rbakbashev/elfcat&lt;/td&gt;
          &lt;td&gt;ELF visualizer. Generates HTML files from ELF binaries.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;990&lt;/td&gt;
          &lt;td&gt;564&lt;/td&gt;
          &lt;td&gt;98.2%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/rbakbashev__elfcat.52f8cc7/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/rbakbashev__elfcat.52f8cc7/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;131&lt;/td&gt;
          &lt;td&gt;nuta/nsh&lt;/td&gt;
          &lt;td&gt;A command-line shell like fish, but POSIX compatible.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;966&lt;/td&gt;
          &lt;td&gt;1,963&lt;/td&gt;
          &lt;td&gt;83.7%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/nuta__nsh.bdd0702/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/nuta__nsh.bdd0702/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;132&lt;/td&gt;
          &lt;td&gt;dalance/amber&lt;/td&gt;
          &lt;td&gt;A code search / replace tool&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;941&lt;/td&gt;
          &lt;td&gt;567&lt;/td&gt;
          &lt;td&gt;71.1%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/dalance__amber.69a0f52/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/dalance__amber.69a0f52/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;133&lt;/td&gt;
          &lt;td&gt;pls-rs/pls&lt;/td&gt;
          &lt;td&gt;pls is a prettier and powerful ls(1) for the pros.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;932&lt;/td&gt;
          &lt;td&gt;332&lt;/td&gt;
          &lt;td&gt;62.3%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/pls-rs__pls.4e1ae50/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/pls-rs__pls.4e1ae50/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;134&lt;/td&gt;
          &lt;td&gt;Esubaalew/run&lt;/td&gt;
          &lt;td&gt;Universal multi-language runner and smart REPL written in Rust.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;919&lt;/td&gt;
          &lt;td&gt;1,212&lt;/td&gt;
          &lt;td&gt;85.2%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/esubaalew__run.0fb9dec/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/esubaalew__run.0fb9dec/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;135&lt;/td&gt;
          &lt;td&gt;chirlu/sox&lt;/td&gt;
          &lt;td&gt;SoX, Swiss Army knife of sound processing&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;913&lt;/td&gt;
          &lt;td&gt;1,202&lt;/td&gt;
          &lt;td&gt;37.9%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/chirlu__sox.42b3557/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/chirlu__sox.42b3557/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;136&lt;/td&gt;
          &lt;td&gt;clog-tool/clog-cli&lt;/td&gt;
          &lt;td&gt;Generate beautiful changelogs from your Git commit history&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;912&lt;/td&gt;
          &lt;td&gt;575&lt;/td&gt;
          &lt;td&gt;93.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/clog-tool__clog-cli.7066cba/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/clog-tool__clog-cli.7066cba/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;137&lt;/td&gt;
          &lt;td&gt;tarka/xcp&lt;/td&gt;
          &lt;td&gt;An extended &lt;code&gt;cp&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;911&lt;/td&gt;
          &lt;td&gt;1,184&lt;/td&gt;
          &lt;td&gt;92.6%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/tarka__xcp.5e5b448/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/tarka__xcp.5e5b448/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;138&lt;/td&gt;
          &lt;td&gt;oppiliappan/eva&lt;/td&gt;
          &lt;td&gt;a calculator REPL, similar to bc(1)&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;907&lt;/td&gt;
          &lt;td&gt;913&lt;/td&gt;
          &lt;td&gt;88.7%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/oppiliappan__eva.41ae245/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/oppiliappan__eva.41ae245/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;139&lt;/td&gt;
          &lt;td&gt;git-bahn/git-graph&lt;/td&gt;
          &lt;td&gt;Command line tool to show clear git graphs arranged for your branching model&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;904&lt;/td&gt;
          &lt;td&gt;568&lt;/td&gt;
          &lt;td&gt;79.6%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/git-bahn__git-graph.87b4473/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/git-bahn__git-graph.87b4473/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;140&lt;/td&gt;
          &lt;td&gt;gromacs/gromacs&lt;/td&gt;
          &lt;td&gt;Public/backup repository of the GROMACS molecular simulation toolkit. Please do not mine the metadata blindly; we use &lt;a class=&#34;link&#34; href=&#34;https://gitlab.com/gromacs/gromacs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://gitlab.com/gromacs/gromacs&lt;/a&gt; for code review and issue tracking.&lt;/td&gt;
          &lt;td&gt;cpp&lt;/td&gt;
          &lt;td&gt;901&lt;/td&gt;
          &lt;td&gt;1,245&lt;/td&gt;
          &lt;td&gt;9.3%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/gromacs__gromacs.665ea4c/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/gromacs__gromacs.665ea4c/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;141&lt;/td&gt;
          &lt;td&gt;sirwart/ripsecrets&lt;/td&gt;
          &lt;td&gt;A command-line tool to prevent committing secret keys into your source code&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;901&lt;/td&gt;
          &lt;td&gt;611&lt;/td&gt;
          &lt;td&gt;72.8%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/sirwart__ripsecrets.34c9e03/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/sirwart__ripsecrets.34c9e03/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;142&lt;/td&gt;
          &lt;td&gt;Drew-Alleman/DataSurgeon&lt;/td&gt;
          &lt;td&gt;Quickly Extracts IP&amp;rsquo;s, Email Addresses, Hashes, Files, Credit Cards, Social Security Numbers and a lot More From Text&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;890&lt;/td&gt;
          &lt;td&gt;502&lt;/td&gt;
          &lt;td&gt;74.3%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/drew-alleman__datasurgeon.d257cee/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/drew-alleman__datasurgeon.d257cee/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;143&lt;/td&gt;
          &lt;td&gt;alexpovel/srgn&lt;/td&gt;
          &lt;td&gt;A grep-like tool which understands source code syntax and allows for manipulation in addition to search&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;889&lt;/td&gt;
          &lt;td&gt;1,852&lt;/td&gt;
          &lt;td&gt;69.5%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/alexpovel__srgn.89f943b/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/alexpovel__srgn.89f943b/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;144&lt;/td&gt;
          &lt;td&gt;kyoheiu/felix&lt;/td&gt;
          &lt;td&gt;tui file manager with vim-like key mapping&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;888&lt;/td&gt;
          &lt;td&gt;502&lt;/td&gt;
          &lt;td&gt;49.2%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/kyoheiu__felix.95df390/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/kyoheiu__felix.95df390/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;145&lt;/td&gt;
          &lt;td&gt;oppiliappan/statix&lt;/td&gt;
          &lt;td&gt;lints and suggestions for the nix programming language&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;882&lt;/td&gt;
          &lt;td&gt;815&lt;/td&gt;
          &lt;td&gt;42.8%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/oppiliappan__statix.e9df54c/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/oppiliappan__statix.e9df54c/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;146&lt;/td&gt;
          &lt;td&gt;nachoparker/dutree&lt;/td&gt;
          &lt;td&gt;a tool to analyze file system usage written in Rust&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;871&lt;/td&gt;
          &lt;td&gt;641&lt;/td&gt;
          &lt;td&gt;89.5%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/nachoparker__dutree.44e877d/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/nachoparker__dutree.44e877d/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;147&lt;/td&gt;
          &lt;td&gt;simeg/eureka&lt;/td&gt;
          &lt;td&gt;💡 CLI tool to input and store your ideas without leaving the terminal&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;867&lt;/td&gt;
          &lt;td&gt;344&lt;/td&gt;
          &lt;td&gt;78.8%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/simeg__eureka.df3796c/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/simeg__eureka.df3796c/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;148&lt;/td&gt;
          &lt;td&gt;kyoh86/richgo&lt;/td&gt;
          &lt;td&gt;Enrich &lt;code&gt;go test&lt;/code&gt; outputs with text decorations.&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;863&lt;/td&gt;
          &lt;td&gt;546&lt;/td&gt;
          &lt;td&gt;85.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/kyoh86__richgo.313114f/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/kyoh86__richgo.313114f/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;149&lt;/td&gt;
          &lt;td&gt;rochacbruno/marmite&lt;/td&gt;
          &lt;td&gt;Markdown makes sites - A Static Site Generator for Blogs&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;837&lt;/td&gt;
          &lt;td&gt;668&lt;/td&gt;
          &lt;td&gt;45.4%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/rochacbruno__marmite.7d4bc2d/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/rochacbruno__marmite.7d4bc2d/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;150&lt;/td&gt;
          &lt;td&gt;rust-embedded/svd2rust&lt;/td&gt;
          &lt;td&gt;Generate Rust register maps (&lt;code&gt;struct&lt;/code&gt;s) from SVD files&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;835&lt;/td&gt;
          &lt;td&gt;920&lt;/td&gt;
          &lt;td&gt;72.9%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/rust-embedded__svd2rust.1760b5e/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/rust-embedded__svd2rust.1760b5e/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;151&lt;/td&gt;
          &lt;td&gt;konradsz/igrep&lt;/td&gt;
          &lt;td&gt;Interactive Grep&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;827&lt;/td&gt;
          &lt;td&gt;385&lt;/td&gt;
          &lt;td&gt;73.5%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/konradsz__igrep.aa75630/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/konradsz__igrep.aa75630/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;152&lt;/td&gt;
          &lt;td&gt;nikolassv/bartib&lt;/td&gt;
          &lt;td&gt;A simple timetracker for the command line. It saves a log of all tracked activities as a plaintext file and allows you to create flexible reports.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;827&lt;/td&gt;
          &lt;td&gt;722&lt;/td&gt;
          &lt;td&gt;87.3%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/nikolassv__bartib.6b9b5ce/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/nikolassv__bartib.6b9b5ce/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;153&lt;/td&gt;
          &lt;td&gt;yassinebridi/serpl&lt;/td&gt;
          &lt;td&gt;A simple terminal UI for search and replace, ala VS Code.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;824&lt;/td&gt;
          &lt;td&gt;446&lt;/td&gt;
          &lt;td&gt;61.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/yassinebridi__serpl.c48a9d7/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/yassinebridi__serpl.c48a9d7/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;154&lt;/td&gt;
          &lt;td&gt;riquito/tuc&lt;/td&gt;
          &lt;td&gt;When cut doesn&amp;rsquo;t cut it&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;820&lt;/td&gt;
          &lt;td&gt;1,196&lt;/td&gt;
          &lt;td&gt;92.7%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/riquito__tuc.16fb471/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/riquito__tuc.16fb471/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;155&lt;/td&gt;
          &lt;td&gt;ecumene/rust-sloth&lt;/td&gt;
          &lt;td&gt;A 3D software rasterizer&amp;hellip; for the terminal!&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;818&lt;/td&gt;
          &lt;td&gt;380&lt;/td&gt;
          &lt;td&gt;52.6%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/ecumene__rust-sloth.051c559/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/ecumene__rust-sloth.051c559/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;156&lt;/td&gt;
          &lt;td&gt;crowdagger/crowbook&lt;/td&gt;
          &lt;td&gt;Converts books written in Markdown to HTML, LaTeX/PDF and EPUB&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;813&lt;/td&gt;
          &lt;td&gt;807&lt;/td&gt;
          &lt;td&gt;60.3%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/crowdagger__crowbook.ea214d7/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/crowdagger__crowbook.ea214d7/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;157&lt;/td&gt;
          &lt;td&gt;WGUNDERWOOD/tex-fmt&lt;/td&gt;
          &lt;td&gt;An extremely fast LaTeX formatter written in Rust&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;789&lt;/td&gt;
          &lt;td&gt;455&lt;/td&gt;
          &lt;td&gt;80.7%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/wgunderwood__tex-fmt.3f1aef6/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/wgunderwood__tex-fmt.3f1aef6/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;158&lt;/td&gt;
          &lt;td&gt;Stranger6667/jsonschema&lt;/td&gt;
          &lt;td&gt;A high-performance JSON Schema validator for Rust&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;770&lt;/td&gt;
          &lt;td&gt;2,933&lt;/td&gt;
          &lt;td&gt;51.7%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/stranger6667__jsonschema.d52e881/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/stranger6667__jsonschema.d52e881/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;159&lt;/td&gt;
          &lt;td&gt;rhysd/kiro-editor&lt;/td&gt;
          &lt;td&gt;A small terminal UTF-8 text editor written in Rust 📝🦀&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;761&lt;/td&gt;
          &lt;td&gt;595&lt;/td&gt;
          &lt;td&gt;93.3%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/rhysd__kiro-editor.4157485/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/rhysd__kiro-editor.4157485/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;160&lt;/td&gt;
          &lt;td&gt;astro/deadnix&lt;/td&gt;
          &lt;td&gt;Scan Nix files for dead code&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;745&lt;/td&gt;
          &lt;td&gt;602&lt;/td&gt;
          &lt;td&gt;85.5%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/astro__deadnix.d590041/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/astro__deadnix.d590041/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;161&lt;/td&gt;
          &lt;td&gt;sstadick/hck&lt;/td&gt;
          &lt;td&gt;A sharp cut(1) clone.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;738&lt;/td&gt;
          &lt;td&gt;855&lt;/td&gt;
          &lt;td&gt;95.7%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/sstadick__hck.b66c751/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/sstadick__hck.b66c751/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;162&lt;/td&gt;
          &lt;td&gt;trasta298/keifu&lt;/td&gt;
          &lt;td&gt;Git genealogy, untangled. A TUI for navigating commit graphs with color and clarity.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;729&lt;/td&gt;
          &lt;td&gt;262&lt;/td&gt;
          &lt;td&gt;67.2%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/trasta298__keifu.3331426/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/trasta298__keifu.3331426/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;163&lt;/td&gt;
          &lt;td&gt;AmmarAbouZor/tui-journal&lt;/td&gt;
          &lt;td&gt;Your journal app if you live in a terminal&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;722&lt;/td&gt;
          &lt;td&gt;1,402&lt;/td&gt;
          &lt;td&gt;70.8%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/ammarabouzor__tui-journal.2b4540d/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/ammarabouzor__tui-journal.2b4540d/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;164&lt;/td&gt;
          &lt;td&gt;incu6us/goimports-reviser&lt;/td&gt;
          &lt;td&gt;Right imports sorting &amp;amp; code formatting tool (goimports alternative)&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;715&lt;/td&gt;
          &lt;td&gt;513&lt;/td&gt;
          &lt;td&gt;86.4%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/incu6us__goimports-reviser.81bd549/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/incu6us__goimports-reviser.81bd549/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;165&lt;/td&gt;
          &lt;td&gt;yaa110/nomino&lt;/td&gt;
          &lt;td&gt;Batch rename utility for developers&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;710&lt;/td&gt;
          &lt;td&gt;313&lt;/td&gt;
          &lt;td&gt;79.9%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/yaa110__nomino.f892499/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/yaa110__nomino.f892499/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;166&lt;/td&gt;
          &lt;td&gt;wfxr/csview&lt;/td&gt;
          &lt;td&gt;📠 Pretty and fast csv viewer for cli with cjk/emoji support.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;694&lt;/td&gt;
          &lt;td&gt;335&lt;/td&gt;
          &lt;td&gt;96.1%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/wfxr__csview.8ac4de0/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/wfxr__csview.8ac4de0/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;167&lt;/td&gt;
          &lt;td&gt;chmln/handlr&lt;/td&gt;
          &lt;td&gt;A better xdg-utils&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;693&lt;/td&gt;
          &lt;td&gt;722&lt;/td&gt;
          &lt;td&gt;90.7%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/chmln__handlr.90e78ba/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/chmln__handlr.90e78ba/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;168&lt;/td&gt;
          &lt;td&gt;Miserlou/Loop&lt;/td&gt;
          &lt;td&gt;UNIX&amp;rsquo;s missing &lt;code&gt;loop&lt;/code&gt; command&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;692&lt;/td&gt;
          &lt;td&gt;710&lt;/td&gt;
          &lt;td&gt;94.6%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/miserlou__loop.209927c/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/miserlou__loop.209927c/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;169&lt;/td&gt;
          &lt;td&gt;KSXGitHub/parallel-disk-usage&lt;/td&gt;
          &lt;td&gt;Highly parallelized, blazing fast directory tree analyzer&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;689&lt;/td&gt;
          &lt;td&gt;531&lt;/td&gt;
          &lt;td&gt;86.1%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/ksxgithub__parallel-disk-usage.96978ed/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/ksxgithub__parallel-disk-usage.96978ed/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;170&lt;/td&gt;
          &lt;td&gt;hush-shell/hush&lt;/td&gt;
          &lt;td&gt;Hush is a unix shell based on the Lua programming language&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;688&lt;/td&gt;
          &lt;td&gt;1,201&lt;/td&gt;
          &lt;td&gt;83.3%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/hush-shell__hush.560c33a/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/hush-shell__hush.560c33a/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;171&lt;/td&gt;
          &lt;td&gt;zevv/duc&lt;/td&gt;
          &lt;td&gt;Dude, where are my bytes: Duc, a library and suite of tools for inspecting disk usage&lt;/td&gt;
          &lt;td&gt;c&lt;/td&gt;
          &lt;td&gt;682&lt;/td&gt;
          &lt;td&gt;874&lt;/td&gt;
          &lt;td&gt;83.4%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/zevv__duc.a58fa4e/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/zevv__duc.a58fa4e/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;172&lt;/td&gt;
          &lt;td&gt;altdesktop/i3-style&lt;/td&gt;
          &lt;td&gt;🎨 Make your i3 config a little more stylish.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;678&lt;/td&gt;
          &lt;td&gt;539&lt;/td&gt;
          &lt;td&gt;80.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/altdesktop__i3-style.f93821b/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/altdesktop__i3-style.f93821b/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;173&lt;/td&gt;
          &lt;td&gt;wintermute-cell/ngrrram&lt;/td&gt;
          &lt;td&gt;A TUI tool to help you type faster and learn new layouts. Includes a free cat.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;674&lt;/td&gt;
          &lt;td&gt;303&lt;/td&gt;
          &lt;td&gt;84.5%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/wintermute-cell__ngrrram.8ea13c3/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/wintermute-cell__ngrrram.8ea13c3/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;174&lt;/td&gt;
          &lt;td&gt;psampaz/go-mod-outdated&lt;/td&gt;
          &lt;td&gt;Find outdated dependencies of your Go projects. go-mod-outdated provides a table view of the go list -u -m -json all command which lists all dependencies of a Go project and their available minor and patch updates. It also provides a way to filter indirect dependencies and dependencies without updates.&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;669&lt;/td&gt;
          &lt;td&gt;285&lt;/td&gt;
          &lt;td&gt;98.2%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/psampaz__go-mod-outdated.bb79367/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/psampaz__go-mod-outdated.bb79367/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;175&lt;/td&gt;
          &lt;td&gt;wfxr/code-minimap&lt;/td&gt;
          &lt;td&gt;🛰 A high performance code minimap render.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;660&lt;/td&gt;
          &lt;td&gt;313&lt;/td&gt;
          &lt;td&gt;88.8%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/wfxr__code-minimap.0ddeea5/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/wfxr__code-minimap.0ddeea5/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;176&lt;/td&gt;
          &lt;td&gt;kaushiksrini/parqeye&lt;/td&gt;
          &lt;td&gt;Peek inside Parquet files right from your terminal&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;654&lt;/td&gt;
          &lt;td&gt;479&lt;/td&gt;
          &lt;td&gt;58.9%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/kaushiksrini__parqeye.8072121/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/kaushiksrini__parqeye.8072121/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;177&lt;/td&gt;
          &lt;td&gt;stacked-git/stgit&lt;/td&gt;
          &lt;td&gt;Stacked Git&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;652&lt;/td&gt;
          &lt;td&gt;1,488&lt;/td&gt;
          &lt;td&gt;20.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/stacked-git__stgit.430027d/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/stacked-git__stgit.430027d/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;178&lt;/td&gt;
          &lt;td&gt;Isona/dirble&lt;/td&gt;
          &lt;td&gt;Fast directory scanning and scraping tool&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;632&lt;/td&gt;
          &lt;td&gt;718&lt;/td&gt;
          &lt;td&gt;66.7%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/isona__dirble.e2dea9f/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/isona__dirble.e2dea9f/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;179&lt;/td&gt;
          &lt;td&gt;YS-L/flamelens&lt;/td&gt;
          &lt;td&gt;Flamegraph viewer in the terminal&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;622&lt;/td&gt;
          &lt;td&gt;224&lt;/td&gt;
          &lt;td&gt;59.4%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/ys-l__flamelens.0b4dc33/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/ys-l__flamelens.0b4dc33/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;180&lt;/td&gt;
          &lt;td&gt;mookid/diffr&lt;/td&gt;
          &lt;td&gt;Yet another diff highlighting tool&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;612&lt;/td&gt;
          &lt;td&gt;606&lt;/td&gt;
          &lt;td&gt;84.7%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/mookid__diffr.2152742/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/mookid__diffr.2152742/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;181&lt;/td&gt;
          &lt;td&gt;shashwatah/jot&lt;/td&gt;
          &lt;td&gt;⚡Rapid note management for the terminal.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;609&lt;/td&gt;
          &lt;td&gt;752&lt;/td&gt;
          &lt;td&gt;84.6%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/shashwatah__jot.a92aad8/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/shashwatah__jot.a92aad8/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;182&lt;/td&gt;
          &lt;td&gt;Epistates/treemd&lt;/td&gt;
          &lt;td&gt;A (TUI/CLI) markdown navigator with tree-based structural navigation.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;603&lt;/td&gt;
          &lt;td&gt;1,569&lt;/td&gt;
          &lt;td&gt;55.1%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/epistates__treemd.825c6dd/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/epistates__treemd.825c6dd/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;183&lt;/td&gt;
          &lt;td&gt;pier-cli/pier&lt;/td&gt;
          &lt;td&gt;A CLI to organize and run short Unix shell scripts&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;596&lt;/td&gt;
          &lt;td&gt;692&lt;/td&gt;
          &lt;td&gt;83.7%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/pier-cli__pier.5e1bde9/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/pier-cli__pier.5e1bde9/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;184&lt;/td&gt;
          &lt;td&gt;jrnxf/thokr&lt;/td&gt;
          &lt;td&gt;✨ sleek typing tui with visualized results and historical logging&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;595&lt;/td&gt;
          &lt;td&gt;445&lt;/td&gt;
          &lt;td&gt;82.2%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/jrnxf__thokr.09375ef/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/jrnxf__thokr.09375ef/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;185&lt;/td&gt;
          &lt;td&gt;ismaelgv/rnr&lt;/td&gt;
          &lt;td&gt;A command-line tool to batch rename files and directories&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;581&lt;/td&gt;
          &lt;td&gt;683&lt;/td&gt;
          &lt;td&gt;82.1%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/ismaelgv__rnr.fc0733b/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/ismaelgv__rnr.fc0733b/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;186&lt;/td&gt;
          &lt;td&gt;sitkevij/hex&lt;/td&gt;
          &lt;td&gt;🔮 Futuristic take on hexdump, made in Rust.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;563&lt;/td&gt;
          &lt;td&gt;823&lt;/td&gt;
          &lt;td&gt;91.7%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/sitkevij__hex.61ae69b/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/sitkevij__hex.61ae69b/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;187&lt;/td&gt;
          &lt;td&gt;brocode/fblog&lt;/td&gt;
          &lt;td&gt;Small command-line JSON Log viewer&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;561&lt;/td&gt;
          &lt;td&gt;978&lt;/td&gt;
          &lt;td&gt;86.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/brocode__fblog.3b54330/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/brocode__fblog.3b54330/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;188&lt;/td&gt;
          &lt;td&gt;codesnap-rs/codesnap&lt;/td&gt;
          &lt;td&gt;🦀️📸 Pure Rust tool to generate beautiful code snapshots, provide CLI and Library&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;557&lt;/td&gt;
          &lt;td&gt;730&lt;/td&gt;
          &lt;td&gt;59.2%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/codesnap-rs__codesnap.f81e4f3/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/codesnap-rs__codesnap.f81e4f3/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;189&lt;/td&gt;
          &lt;td&gt;foriequal0/git-trim&lt;/td&gt;
          &lt;td&gt;Automatically trims your branches whose tracking remote refs are merged or stray&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;548&lt;/td&gt;
          &lt;td&gt;509&lt;/td&gt;
          &lt;td&gt;64.6%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/foriequal0__git-trim.07c2f50/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/foriequal0__git-trim.07c2f50/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;190&lt;/td&gt;
          &lt;td&gt;axodotdev/oranda&lt;/td&gt;
          &lt;td&gt;🎁 generate beautiful landing pages for your developer tools&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;542&lt;/td&gt;
          &lt;td&gt;767&lt;/td&gt;
          &lt;td&gt;53.6%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/axodotdev__oranda.27d60c7/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/axodotdev__oranda.27d60c7/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;191&lt;/td&gt;
          &lt;td&gt;elkowar/pipr&lt;/td&gt;
          &lt;td&gt;A tool to interactively write shell pipelines.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;541&lt;/td&gt;
          &lt;td&gt;525&lt;/td&gt;
          &lt;td&gt;57.1%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/elkowar__pipr.fae0b17/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/elkowar__pipr.fae0b17/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;192&lt;/td&gt;
          &lt;td&gt;paradigmxyz/solar&lt;/td&gt;
          &lt;td&gt;Blazingly fast, modular and contributor friendly Solidity compiler, written in Rust&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;539&lt;/td&gt;
          &lt;td&gt;1,978&lt;/td&gt;
          &lt;td&gt;43.3%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/paradigmxyz__solar.5190d0e/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/paradigmxyz__solar.5190d0e/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;193&lt;/td&gt;
          &lt;td&gt;Lymphatus/caesium-clt&lt;/td&gt;
          &lt;td&gt;Caesium Command Line Tools - Lossy/lossless image compression tool&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;537&lt;/td&gt;
          &lt;td&gt;575&lt;/td&gt;
          &lt;td&gt;92.3%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/lymphatus__caesium-clt.a529b2e/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/lymphatus__caesium-clt.a529b2e/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;194&lt;/td&gt;
          &lt;td&gt;agourlay/zip-password-finder&lt;/td&gt;
          &lt;td&gt;Find the password of protected ZIP files.&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;534&lt;/td&gt;
          &lt;td&gt;680&lt;/td&gt;
          &lt;td&gt;97.9%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/agourlay__zip-password-finder.704700d/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/agourlay__zip-password-finder.704700d/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;195&lt;/td&gt;
          &lt;td&gt;rust-ethereum/ethabi&lt;/td&gt;
          &lt;td&gt;Encode and decode smart contract invocations&lt;/td&gt;
          &lt;td&gt;rs&lt;/td&gt;
          &lt;td&gt;525&lt;/td&gt;
          &lt;td&gt;997&lt;/td&gt;
          &lt;td&gt;90.9%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/rust-ethereum__ethabi.b1710ad/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/rust-ethereum__ethabi.b1710ad/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;196&lt;/td&gt;
          &lt;td&gt;ArthurSonzogni/json-tui&lt;/td&gt;
          &lt;td&gt;A JSON terminal UI made in C++&lt;/td&gt;
          &lt;td&gt;cpp&lt;/td&gt;
          &lt;td&gt;438&lt;/td&gt;
          &lt;td&gt;755&lt;/td&gt;
          &lt;td&gt;71.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/arthursonzogni__json-tui.17a22b6/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/arthursonzogni__json-tui.17a22b6/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;197&lt;/td&gt;
          &lt;td&gt;tomarrell/wrapcheck&lt;/td&gt;
          &lt;td&gt;A Go linter to check that errors from external packages are wrapped&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;374&lt;/td&gt;
          &lt;td&gt;480&lt;/td&gt;
          &lt;td&gt;80.8%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/tomarrell__wrapcheck.c058da1/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/tomarrell__wrapcheck.c058da1/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;198&lt;/td&gt;
          &lt;td&gt;NikolaDucak/caps-log&lt;/td&gt;
          &lt;td&gt;A small TUI journaling tool. 📖&lt;/td&gt;
          &lt;td&gt;cpp&lt;/td&gt;
          &lt;td&gt;370&lt;/td&gt;
          &lt;td&gt;551&lt;/td&gt;
          &lt;td&gt;61.7%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/nikoladucak__caps-log.2cf2d1e/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/nikoladucak__caps-log.2cf2d1e/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;199&lt;/td&gt;
          &lt;td&gt;mibk/dupl&lt;/td&gt;
          &lt;td&gt;a tool for code clone detection&lt;/td&gt;
          &lt;td&gt;go&lt;/td&gt;
          &lt;td&gt;367&lt;/td&gt;
          &lt;td&gt;373&lt;/td&gt;
          &lt;td&gt;85.0%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/mibk__dupl.1bf052b/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/mibk__dupl.1bf052b/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;200&lt;/td&gt;
          &lt;td&gt;HaliteChallenge/Halite&lt;/td&gt;
          &lt;td&gt;@twosigma&amp;rsquo;s first artificial intelligence programming challenge&lt;/td&gt;
          &lt;td&gt;cpp&lt;/td&gt;
          &lt;td&gt;202&lt;/td&gt;
          &lt;td&gt;275&lt;/td&gt;
          &lt;td&gt;80.4%&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://programbench.com/task/halitechallenge__halite.822cfb6/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://programbench.com/task/halitechallenge__halite.822cfb6/&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;このデータから分かること&#34;&gt;このデータから分かること
&lt;/h2&gt;&lt;p&gt;ProgramBench のメインリーダーボードでは、9 モデルすべての &lt;code&gt;Resolved&lt;/code&gt; が 0% です。統一された軽量 agent 設定では、現在のモデルはまだブラックボックスの振る舞いとドキュメントだけから完全なソフトウェアを安定して再構築できません。&lt;/p&gt;
&lt;p&gt;一方で、&lt;code&gt;Almost resolved&lt;/code&gt; には差が出ています。Claude Opus 4.7 は 3.0%、Claude Opus 4.6 は 2.5%、Claude Sonnet 4.6 は 1.0%、その他のモデルは 0.0% です。完全通過だけを見るよりも、ほぼ完成に近い能力を見る指標として有用です。&lt;/p&gt;
&lt;p&gt;タスクインスタンス表も重要です。各オープンソースプロジェクトの言語、スター数、テスト数、現時点のベストスコアが並び、ProgramBench が圧縮、検索、データベース、コンパイラ、コマンドラインツール、メディア処理など幅広いソフトウェアを含んでいることが分かります。AI Coding にとって、これは単純なアルゴリズム問題よりも実際のエンジニアリング負荷に近いものです。&lt;/p&gt;
</description>
        </item>
        <item>
        <title>ProgramBench 0% 解説：AI コーディングで本当に怖いのは失敗ではなく、ロードマップが明確になったこと</title>
        <link>https://knightli.com/ja/2026/05/10/programbench-ai-coding-zero-percent/</link>
        <pubDate>Sun, 10 May 2026 12:32:39 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/05/10/programbench-ai-coding-zero-percent/</guid>
        <description>&lt;p&gt;AI コーディング界隈に、新しいベンチマーク &lt;code&gt;ProgramBench&lt;/code&gt; が登場しました。表面的には、プログラマーにとって安心できる結果に見えます。主要 9 モデルは fully resolved 指標ですべて &lt;code&gt;0%&lt;/code&gt; で、1 つのタスクを完全に通過できたモデルはありません。&lt;/p&gt;
&lt;p&gt;しかし本当に警戒すべきなのは、今日の大規模モデルがまだできないことではありません。完全なソフトウェア工学が、初めて明確に評価・順位付け・反復最適化できる課題として定義されたことです。&lt;/p&gt;
&lt;p&gt;タスクが明確に定義されると、AI 業界が最も得意なことが始まります。ベンチマークを解き、反復し、ランキングを追い、かつて不可能だったものを少しずつ実用域へ近づけていくのです。&lt;/p&gt;
&lt;h2 id=&#34;programbench-は何を測っているのか&#34;&gt;ProgramBench は何を測っているのか
&lt;/h2&gt;&lt;p&gt;多くのコーディングベンチマークは、関数補完、bug 修正、単体テスト通過、あるいは既存プロジェクトへの小さな機能追加を測ります。&lt;code&gt;ProgramBench&lt;/code&gt; はそれよりずっと厳しいものです。ソースコードも、プロジェクト構造も、既存のテストケースも与えません。&lt;/p&gt;
&lt;p&gt;モデルに与えられる材料は主に 2 つだけです。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;コンパイル済みの実行ファイル。&lt;/li&gt;
&lt;li&gt;そのプログラムの利用ドキュメント。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;モデルは実行ファイルを自分で動かし、入出力の振る舞いを観察し、コマンドライン引数、境界条件、エラーメッセージ、データ保存方法を理解したうえで、同じ振る舞いをするプログラムを再実装する必要があります。&lt;/p&gt;
&lt;p&gt;これはもはや「少しコードを書く」作業ではありません。簡略化されているとはいえ、完全なソフトウェア工学タスクです。要件を理解し、振る舞いを探索し、言語を選び、構造を設計し、ソースコードを書き、ビルド方法を用意し、隠しテストをできるだけ通過しなければなりません。&lt;/p&gt;
&lt;p&gt;ProgramBench の公式説明によると、現在は 200 個のタスクを含み、小規模なコマンドラインツールから PHP、FFmpeg、SQLite などの大型実プロジェクトまでを対象にしています。テストセットは agent-driven fuzzing によって生成され、合計で 248,000 件を超える行動テストがあります。&lt;/p&gt;
&lt;p&gt;テストの流れを分解すると、ProgramBench はおおよそ次の 4 つを測っています。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ドキュメントを読む力：プログラムが提供すべきコマンド、引数、出力を理解する。&lt;/li&gt;
&lt;li&gt;振る舞いを探索する力：バイナリを繰り返し実行し、正常入力、異常入力、境界条件を観察する。&lt;/li&gt;
&lt;li&gt;実装を再構築する力：言語とプロジェクト構造を自分で選び、振る舞いが近い代替プログラムを書く。&lt;/li&gt;
&lt;li&gt;隠しテストを通す力：通常の振る舞いだけでなく、エラー処理、出力形式、境界条件もできるだけ一致させる。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;つまり検索上の価値は「また新しいスコア表」だけではありません。より具体的に、ソースコードなしで、ドキュメントとブラックボックスの振る舞いだけを頼りに、大規模モデルが本物のソフトウェアをゼロから再現できるのかを問うています。&lt;/p&gt;
&lt;h2 id=&#34;なぜ結果は-0-なのか&#34;&gt;なぜ結果は 0% なのか
&lt;/h2&gt;&lt;p&gt;ProgramBench の主指標は fully resolved です。つまり、あるタスク内のテストがすべて通過して初めて完了とみなされます。現在の leaderboard では、9 モデルすべてがこの指標で &lt;code&gt;0%&lt;/code&gt; です。&lt;/p&gt;
&lt;p&gt;評価対象には Claude、GPT、Gemini などの系列が含まれ、すべて &lt;code&gt;mini-SWE-agent&lt;/code&gt; をベースライン agent として使っています。almost resolved 指標では Claude Opus 4.7 が最もよく、約 &lt;code&gt;3.0%&lt;/code&gt; のタスクで少なくとも 95% のテストを通過しました。Claude Opus 4.6 は &lt;code&gt;2.5%&lt;/code&gt;、Claude Sonnet 4.6 は &lt;code&gt;1.0%&lt;/code&gt; です。GPT 5.4、GPT 5.4 mini、Gemini 3.1 Pro、Gemini 3 Flash などは almost resolved でも &lt;code&gt;0.0%&lt;/code&gt; です。&lt;/p&gt;
&lt;p&gt;これは、今日の大規模モデルに軽量 agent を組み合わせても、ゼロから完全なソフトウェアを再構築することはまだできない、ということを示しています。最も簡単なタスクでさえ、すべての細部を完全に合わせるのは難しいのです。&lt;/p&gt;
&lt;p&gt;ただし注意も必要です。今回使われたのは &lt;code&gt;mini-SWE-agent&lt;/code&gt; であり、Claude Code でも Codex でもありません。より強力な coding agent、より多くのツールチェーン支援、より長い探索プロセスを使えば、結果は改善する可能性があります。より正確には、現在のモデルに軽量 agent を組み合わせただけでは、完全なソフトウェア再構築を安定して完了するには足りない、ということです。&lt;/p&gt;
&lt;h2 id=&#34;fully-resolved-と-almost-resolved-の意味&#34;&gt;fully resolved と almost resolved の意味
&lt;/h2&gt;&lt;p&gt;ProgramBench の結果を読むとき、最も誤解しやすいのがこの 2 つの指標です。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;fully resolved&lt;/code&gt; は最も厳しい指標です。あるタスク内のすべての隠しテストを通過して初めて、完全に解決したとみなされます。境界条件、エラー形式、コマンド引数の振る舞いのどれか 1 つでも漏れれば fully resolved にはなりません。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;almost resolved&lt;/code&gt; は「ほぼ完成」に近い指標です。あるタスクで少なくとも 95% のテストを通過すれば almost resolved に入ります。モデルが大部分の振る舞いを再現できたかは分かりますが、そのプログラムが元のソフトウェアを置き換えられることを意味するわけではありません。&lt;/p&gt;
&lt;p&gt;だからこそ &lt;code&gt;0%&lt;/code&gt; は分けて見る必要があります。fully resolved の &lt;code&gt;0%&lt;/code&gt; は、モデルがまだ完全な納品をできないことを示します。一方で almost resolved の差を見ると、どのモデルが一部のタスクで復刻成功に近づいているかが分かります。たとえば Claude Opus 4.7 の almost resolved は約 &lt;code&gt;3.0%&lt;/code&gt; で、少数の比較的簡単なタスクでは確かに完成に近づいていますが、完全なソフトウェア再構築を安定して行うにはまだ遠い状態です。&lt;/p&gt;
&lt;h2 id=&#34;mini-swe-agent-が結果に影響する理由&#34;&gt;mini-SWE-agent が結果に影響する理由
&lt;/h2&gt;&lt;p&gt;今回の評価では、統一された &lt;code&gt;mini-SWE-agent&lt;/code&gt; が使われています。利点は公平性です。異なるモデルを同じ軽量 agent フレームワーク上で走らせるため、横比較がしやすくなります。&lt;/p&gt;
&lt;p&gt;しかし、それは上限も制限します。完全なソフトウェア再構築はモデル本体だけで決まるものではありません。agent が探索戦略を立てられるか、長期タスクを管理できるか、テストを自動生成できるか、失敗原因を反復的に特定できるか、プロジェクト構造を整理できるかにも左右されます。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;mini-SWE-agent&lt;/code&gt; は最強のエンジニアリング環境というより、統一されたベースラインです。&lt;/p&gt;
&lt;p&gt;Claude Code や Codex のようなより完全な coding agent は、通常、より強力なツール呼び出し、コンテキスト整理、タスク分解、多段階修正能力を備えています。これらのツールに置き換えれば、結果はよくなる可能性があります。&lt;/p&gt;
&lt;p&gt;したがって ProgramBench の今回の結果は、現在のモデルが軽量 agent 環境では完全なソフトウェア再構築をまだできない、と理解するのが適切です。「モデルは永遠にできない」と証明しているわけでも、すべての商用 coding agent の上限を完全に測ったわけでもありません。&lt;/p&gt;
&lt;h2 id=&#34;swe-bench-との違い&#34;&gt;SWE-bench との違い
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;SWE-bench&lt;/code&gt; は AI コーディング領域ですでに重要なベンチマークです。実際の GitHub リポジトリで issue を読み、コードを修正し、パッチを提出させることで、モデルが現実の bug を解決できるかを測ります。&lt;/p&gt;
&lt;p&gt;しかし &lt;code&gt;SWE-bench&lt;/code&gt; は本質的には既存プロジェクトの修理です。車はすでにあり、技術スタック、ディレクトリ構造、コード組織、アーキテクチャ設計は人間が作っています。モデルは問題を見つけ、壊れた部品を直せばよいのです。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ProgramBench&lt;/code&gt; は車を作り直すことに近いものです。この車は赤信号で止まり、歩行者に近づくと警笛を鳴らす、といった振る舞いだけが分かっています。構造、言語、モジュール、ビルド方法はすべて自分で決めなければなりません。&lt;/p&gt;
&lt;p&gt;だからこそ、はるかに難しくなります。局所的なパッチ能力だけでなく、ソフトウェアアーキテクチャ、システム推論、振る舞い探索、自動テスト、多段階修正、長期的なエンジニアリング設計を測るからです。&lt;/p&gt;
&lt;p&gt;違いは次の表で整理できます。&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;観点&lt;/th&gt;
          &lt;th&gt;SWE-bench&lt;/th&gt;
          &lt;th&gt;ProgramBench&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;出発点&lt;/td&gt;
          &lt;td&gt;既存の GitHub リポジトリと issue&lt;/td&gt;
          &lt;td&gt;コンパイル済み実行ファイルと利用ドキュメント&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ソースコードの有無&lt;/td&gt;
          &lt;td&gt;ソースコードあり&lt;/td&gt;
          &lt;td&gt;ソースコードなし&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;主なタスク&lt;/td&gt;
          &lt;td&gt;既存プロジェクト内の bug 修正&lt;/td&gt;
          &lt;td&gt;振る舞いから完全なプログラムを再実装&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;技術スタック&lt;/td&gt;
          &lt;td&gt;元プロジェクトで決定済み&lt;/td&gt;
          &lt;td&gt;モデルが自分で選択&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;プロジェクト構造&lt;/td&gt;
          &lt;td&gt;元プロジェクトに存在&lt;/td&gt;
          &lt;td&gt;モデルが自分で設計&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;テスト方法&lt;/td&gt;
          &lt;td&gt;パッチ提出後にテストを実行&lt;/td&gt;
          &lt;td&gt;隠し行動テストで復刻度を検証&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;主な評価点&lt;/td&gt;
          &lt;td&gt;コード読解、問題特定、パッチ修正&lt;/td&gt;
          &lt;td&gt;振る舞い探索、システム抽象化、アーキテクチャ設計、完全実装&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;このため ProgramBench は、次段階の AI Coding の目標として見るのに適しています。「既存コードを修正する」段階から「完全なソフトウェアを再構築する」段階へ問題を押し進めているからです。&lt;/p&gt;
&lt;h2 id=&#34;0-は安全を意味しない&#34;&gt;0% は安全を意味しない
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;0%&lt;/code&gt; を見て、多くの人は「プログラマーの仕事は当面守られた」と感じるかもしれません。&lt;/p&gt;
&lt;p&gt;短期的には、それは間違いではありません。今日の大規模モデルは、特にソースコード、テストケース、プロジェクト構造がない状況では、完全なソフトウェア工学を安定してこなせません。要件定義、アーキテクチャ設計、長期保守、セキュリティ管理、チーム協業、業務理解は、いまも人間のソフトウェアエンジニアの重要な強みです。&lt;/p&gt;
&lt;p&gt;しかし &lt;code&gt;0%&lt;/code&gt; を「AI コーディングはここで頭打ち」と解釈するのは楽観的すぎます。&lt;/p&gt;
&lt;p&gt;ProgramBench が本当に変えたのは、問題定義です。以前から、AI がコードを補完できることも、bug を修正できることも知られていました。しかし「実行ファイルとドキュメントから完全なソフトウェアを再構築する」という課題は、明確な共通レースとして置かれていませんでした。今は 200 問、統一評価、統一ランキングになっています。&lt;/p&gt;
&lt;p&gt;これは、モデル企業、agent 企業、開発ツール企業が次にどこへ力を入れるべきかを知った、ということです。AI をコード片を書く存在から、完全なソフトウェアシステムを保守・再構築・納品する存在へ進化させる方向です。&lt;/p&gt;
&lt;h2 id=&#34;オフライン化と不正防止が必要な理由&#34;&gt;オフライン化と不正防止が必要な理由
&lt;/h2&gt;&lt;p&gt;ProgramBench の設計には重要な細部があります。不正防止です。&lt;/p&gt;
&lt;p&gt;初期のテストでは、モデルが GitHub から直接ソースコードを探したり、パッケージマネージャー経由でソースを含むパッケージをダウンロードしたり、ローカルのシステムキャッシュからダウンロード済みパッケージを探したりしました。これではテストの目的が壊れます。問うているのが「振る舞いからソフトウェアを再構築できるか」ではなく、「元のソースコードを見つけられるか」になってしまうからです。&lt;/p&gt;
&lt;p&gt;そのため ProgramBench はサンドボックスとオフライン環境を使います。インターネットアクセス、逆コンパイル、逆アセンブル、実行ファイル内容の読み取りは禁止です。モデルはプログラムを実行し、振る舞いを観察し、自分で実装することしかできません。&lt;/p&gt;
&lt;p&gt;この制限によって評価はよりクリーンになり、本当に答えたい問いに近づきます。大規模言語モデルは、プログラムの振る舞いとドキュメントから、自力で実行可能なソフトウェアプロジェクトを構築できるのか、という問いです。&lt;/p&gt;
&lt;h2 id=&#34;より警戒すべきなのはコード形態の変化&#34;&gt;より警戒すべきなのはコード形態の変化
&lt;/h2&gt;&lt;p&gt;ProgramBench には &lt;code&gt;0%&lt;/code&gt; よりもソフトウェアエンジニアが考えるべき発見があります。モデルが生成するコードは、人間のエンジニアが書くプロジェクトとは違う形になりがちです。&lt;/p&gt;
&lt;p&gt;公開資料では、モデルはより少ないファイル、浅いディレクトリ、少ない関数、そして長い単一関数を生成する傾向があるとされています。つまり、構造が明確で人間が保守しやすいソフトウェア工学プロジェクトではなく、巨大だが動くスクリプトを書きがちです。&lt;/p&gt;
&lt;p&gt;従来のソフトウェア工学の観点では、これは通常よくないコードです。ファイルが少なすぎる、関数が長すぎる、抽象化が足りない、モジュール境界が曖昧、といった問題は人間の保守を難しくします。&lt;/p&gt;
&lt;p&gt;しかし問題は、AI が人間の保守方法に合わせてコードを書く必要があるとは限らないことです。&lt;/p&gt;
&lt;p&gt;人間が抽象化、命名、ディレクトリ構造、モジュール境界を重視するのは、人間の記憶に限界があり、チーム協業が必要で、コードを長期的に再利用するからです。AI が長いコンテキスト、検索システム、自動テストを使ってコードを繰り返し書き直せるなら、人間に馴染みのある工学規範をそれほど必要としないかもしれません。&lt;/p&gt;
&lt;p&gt;これは現実的なリスクを生みます。将来の AI が書くソフトウェアは動き、場合によっては高速でも、人間が保守に介入することはますます難しくなるかもしれません。&lt;/p&gt;
&lt;h2 id=&#34;プログラマーが本当にアップグレードすべきもの&#34;&gt;プログラマーが本当にアップグレードすべきもの
&lt;/h2&gt;&lt;p&gt;ProgramBench の結果は、プログラマーにとって単純な朗報でも悲報でもありません。&lt;/p&gt;
&lt;p&gt;短期的には、完全なソフトウェア工学はまだ難しく、この benchmark だけでプログラマーがすぐ失業するわけではありません。特にアーキテクチャ判断、要件定義、セキュリティ管理、品質検収、業務理解は、今も人間が責任を持つ必要があります。&lt;/p&gt;
&lt;p&gt;長期的には、プログラマーの仕事はさらに上流へ移ります。本当に危ないのは「コードを書けない人」ではなく、コードしか書けず、問題を定義できず、結果を検証できず、ツールチェーンを組織できず、リスクを制御できない人です。&lt;/p&gt;
&lt;p&gt;未来のソフトウェアエンジニアは、より次のような役割に近づくかもしれません。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;要件定義者：曖昧なビジネス課題を実行可能な目標に変える。&lt;/li&gt;
&lt;li&gt;システム検収者：AI が生成した結果が本当に要件を満たしているか判断する。&lt;/li&gt;
&lt;li&gt;ツールチェーン組織者：モデル、agent、テスト、デプロイ、監視を組み合わせる。&lt;/li&gt;
&lt;li&gt;品質責任者：安全性、保守性、境界条件、長期リスクを管理する。&lt;/li&gt;
&lt;li&gt;ビジネスと技術の翻訳者：現実の問題をエンジニアリングシステムが扱える制約へ変換する。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;もし AI が本当にコードアシスタントから完全なソフトウェアエンジニアへ進化するなら、人間のプログラマーの価値は、すべての行を手で書くことではなくなります。何を書く価値があるのか、何をもって正しいとするのか、どこで失敗してはいけないのかを定義することになります。&lt;/p&gt;
&lt;h2 id=&#34;まとめ&#34;&gt;まとめ
&lt;/h2&gt;&lt;p&gt;ProgramBench の &lt;code&gt;0%&lt;/code&gt; は終点ではなく、新しい段階の始まりです。&lt;/p&gt;
&lt;p&gt;それは、今日の大規模モデルがまだゼロから完全なソフトウェアシステムを安定して再構築できないことを示しています。同時に、次世代 AI Coding agent の目標も非常に明確にしました。局所的なパッチから完全なプロジェクトへ、コード片からシステム納品へ進むという目標です。&lt;/p&gt;
&lt;p&gt;プログラマーにとって、短期的には少し安心してよいでしょう。しかし長期的には「AI はまだできない」だけを見ていてはいけません。より重要なのは、自分をコード実行者から、問題定義者、結果検収者、リスク管理者へ早く引き上げることです。&lt;/p&gt;
&lt;p&gt;本当に警戒すべきなのは、AI が今日 &lt;code&gt;0%&lt;/code&gt; を取ったことではありません。問題集がすでに置かれたことです。&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Codex vs Claude Code：2 つの Subagent 設計をどう選ぶか</title>
        <link>https://knightli.com/ja/2026/05/08/codex-vs-claude-code-subagent-design/</link>
        <pubDate>Fri, 08 May 2026 14:14:01 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/05/08/codex-vs-claude-code-subagent-design/</guid>
        <description>&lt;p&gt;AI コーディングツールでは Subagent が重要になっています。これは流行りの機能ではなく、単一 Agent が実際の開発タスクを抱え込むと限界に当たりやすいからです。&lt;/p&gt;
&lt;p&gt;1 つの Agent がコードを読み、ログを確認し、実装を変更し、テストを実行し、エラーを分析し、結果をまとめると、main context はすぐ汚れます。検索結果、コマンド出力、テストログ、中間推論が混ざり、後の判断が不安定になります。探索、実装、検証、レビューを 1 本の main thread に押し込むため、並行処理もしづらくなります。&lt;/p&gt;
&lt;p&gt;Subagent の本質は Agent の負荷を下げることです。main session はすべてを最後まで行うのではなく、目標を決め、タスクを割り当て、結果を受け取り、最終回答へ統合する coordinator になります。Subagent は探索、実装、検証、レビューなど局所的な仕事を処理し、圧縮した結論を返します。&lt;/p&gt;
&lt;p&gt;つまり Subagent は「もう 1 人の自分」ではなく、絡み合った開発作業を明確な役割に分ける仕組みです。&lt;/p&gt;
&lt;h2 id=&#34;共通する土台&#34;&gt;共通する土台
&lt;/h2&gt;&lt;p&gt;成熟した Subagent system には通常、次の要素が必要です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Context isolation。&lt;/li&gt;
&lt;li&gt;Role specialization。&lt;/li&gt;
&lt;li&gt;Project/user level configuration。&lt;/li&gt;
&lt;li&gt;Tool and permission boundaries。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Context isolation は前提です。実際のリポジトリでは、検索結果、テストログ、コマンド出力など中間情報が大量に出ます。これをすべて main session に入れると main thread が乱れます。Subagent は局所的な過程を先に消化し、判断に必要な signal だけを返します。&lt;/p&gt;
&lt;p&gt;Role specialization も重要です。複数 Agent とは同じモデルを複数起動することではありません。探索役は検索、読解、要約に強くあるべきです。実装役はコード変更に集中します。検証役はチェックを実行し、リスクを見つけ、結果を明確に報告します。&lt;/p&gt;
&lt;p&gt;Tool と permission の境界は安全性を決めます。Subagent が main session の全能力を自動継承すべきではありません。読み取り専用の explorer に書き込み権限は不要です。verifier が実装を変更する必要もありません。&lt;/p&gt;
&lt;p&gt;Codex と Claude Code はこの問題意識を共有しつつ、異なる道を取っています。&lt;/p&gt;
&lt;h2 id=&#34;codex明示的な委任&#34;&gt;Codex：明示的な委任
&lt;/h2&gt;&lt;p&gt;Codex の Subagent 設計は抑制的です。&lt;/p&gt;
&lt;p&gt;現在の main session を中心に、制御された軽量な分業機構を提供します。いつ委任するか、誰に渡すか、いつ結果を受け取るかは明示的な判断です。制御フローは現在のタスクに残ります。&lt;/p&gt;
&lt;p&gt;特徴は次の通りです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;main session が明示的に subtask を委任する。&lt;/li&gt;
&lt;li&gt;role set は小さく保たれる。&lt;/li&gt;
&lt;li&gt;main session は誰が何をしているか把握できる。&lt;/li&gt;
&lt;li&gt;結果は main line に戻ってから判断される。&lt;/li&gt;
&lt;li&gt;協作境界が透明。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これは手動 orchestration、予測可能性、実行の確定性を重視するチームに向いています。explorer に call chain を調べさせ、worker に限定的な変更を任せ、main session が結果を統合して次のテストを判断できます。&lt;/p&gt;
&lt;p&gt;一方で、分割、委任、回収、統合の負荷は main session に残ります。軽量な協作には心地よいですが、長期的で複雑な workflow では重くなることがあります。&lt;/p&gt;
&lt;h2 id=&#34;claude-codeagent-を-workstations-として扱う&#34;&gt;Claude Code：Agent を workstations として扱う
&lt;/h2&gt;&lt;p&gt;Claude Code はより platform 的です。&lt;/p&gt;
&lt;p&gt;Agent を、説明可能、選択可能、設定可能、記憶可能、隔離可能、background 実行可能な正式な object として扱います。Subagent は会話中の一時的な helper ではなく、開発システムの workstation に近い存在です。&lt;/p&gt;
&lt;p&gt;Agent list、use case、description、tool boundary をモデルに渡し、モデル自身がその turn に適した role を選ぶことができます。これにより委任はより自動化されます。&lt;/p&gt;
&lt;p&gt;この方向性を支える要素はいくつかあります。&lt;/p&gt;
&lt;p&gt;第一に role system。explorer、planner、general-purpose、verifier などの role が用途説明、tool restriction、default model、runtime condition を持てます。read-only explorer は編集できず、planner は設計に集中し、verifier は検証に集中します。&lt;/p&gt;
&lt;p&gt;第二に inheritance と override。Subagent は完全に自由ではありません。main session の大きな境界を継承しつつ、許可された範囲で局所的に振る舞いを調整します。&lt;/p&gt;
&lt;p&gt;第三に memory。memory は単に少し覚えることではなく、scope を持ちます。user memory は長期的な好み、project memory はリポジトリ背景、local memory は現在環境の状態です。&lt;/p&gt;
&lt;p&gt;第四に background work と worktree isolation。検証 task は background で走り続けることができ、main thread は待ち続けなくて済みます。強い隔離が必要なときは別 worktree で作業できます。&lt;/p&gt;
&lt;p&gt;第五に plugin ecosystem。Agent を first-class object と見るなら、配布、インストール、優先順位、override、安全境界を考える必要があります。plugin agent は入れられますが、permission mode、hooks、MCP servers など高リスク領域は制限されるべきです。&lt;/p&gt;
&lt;p&gt;これにより Claude Code は単発 session の協作ツールではなく、Agent runtime に近く見えます。&lt;/p&gt;
&lt;h2 id=&#34;違い&#34;&gt;違い
&lt;/h2&gt;&lt;p&gt;Codex は制御された分業ツールに近いです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;明示的な委任。&lt;/li&gt;
&lt;li&gt;軽量な role set。&lt;/li&gt;
&lt;li&gt;明確な制御フロー。&lt;/li&gt;
&lt;li&gt;現在 session 中心の subtask。&lt;/li&gt;
&lt;li&gt;人が orchestration する確定的な作業に向く。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Claude Code は engineering workstation system に近いです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Agent が正式に model 化される。&lt;/li&gt;
&lt;li&gt;role が体系化される。&lt;/li&gt;
&lt;li&gt;memory、background、isolation、plugin が runtime に含まれる。&lt;/li&gt;
&lt;li&gt;モデルが role 選択に関与できる。&lt;/li&gt;
&lt;li&gt;長期 project や platform 的 workflow に向く。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;問題は機能数ではありません。Subagent を「自分が明示的に呼ぶ helper」と見るか、「system に長期存在する workstation」と見るかです。&lt;/p&gt;
&lt;h2 id=&#34;選び方&#34;&gt;選び方
&lt;/h2&gt;&lt;p&gt;明示的な制御、軽量な分業、現在 session 内の安全な並行処理を重視するなら Codex 的な設計が合います。コードレビュー、小さな変更、明確な実装 task、人がリズムを握りたい workflow に向きます。&lt;/p&gt;
&lt;p&gt;体系化された role、長期 memory、background execution、worktree isolation、plugin extension、より完全な Agent runtime を求めるなら Claude Code 的な設計が合います。&lt;/p&gt;
&lt;p&gt;判断する質問は 2 つです。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;モデル自身が誰に仕事を任せるか選ぶことを受け入れられるか。&lt;/li&gt;
&lt;li&gt;より完全な Agent runtime が必要か。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;1 つ目が不安なら明示的委任が向いています。2 つ目が yes なら、platform 的な workstation system が向いています。&lt;/p&gt;
&lt;h2 id=&#34;使い方の注意&#34;&gt;使い方の注意
&lt;/h2&gt;&lt;p&gt;Subagent を「モデルを増やせば強くなる」と考えない方がよいです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;各 role の task boundary を明確にする。&lt;/li&gt;
&lt;li&gt;role ごとの tool を制限する。&lt;/li&gt;
&lt;li&gt;raw log ではなく結論を返させる。&lt;/li&gt;
&lt;li&gt;最終判断は main session に残す。&lt;/li&gt;
&lt;li&gt;background task と worktree isolation を可視化する。&lt;/li&gt;
&lt;li&gt;plugin agent に安全境界を置く。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Subagent の価値は数ではなく分業品質です。role が明確で context がきれいなほど、main thread の判断は安定します。&lt;/p&gt;
&lt;h2 id=&#34;まとめ&#34;&gt;まとめ
&lt;/h2&gt;&lt;p&gt;Codex と Claude Code は同じ問題に向き合っています。単一 Agent は実際の開発作業をすべて背負いにくい。両者とも context isolation、role specialization、permission boundary、local summarization を重視します。&lt;/p&gt;
&lt;p&gt;違いは設計の方向です。Codex は抑制的で、明示的委任と main session の制御を重視します。Claude Code は体系的で、Agent を設定、記憶、隔離、background 実行、plugin ecosystem に対応した正式な workstation として扱います。&lt;/p&gt;
&lt;p&gt;選択はブランド勝負ではありません。必要なのが制御された協作ツールなのか、完全な Agent runtime なのかで決まります。&lt;/p&gt;
</description>
        </item>
        <item>
        <title>9Router：Claude Code、Codex、Cursor を 1 つの AI ルーターにつなぐ</title>
        <link>https://knightli.com/ja/2026/05/08/9router-ai-coding-router-token-saver/</link>
        <pubDate>Fri, 08 May 2026 13:41:15 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/05/08/9router-ai-coding-router-token-saver/</guid>
        <description>&lt;p&gt;9Router は AI コーディングツール向けのローカルルーターです。Claude Code、Codex、Cursor、Cline、Copilot、OpenCode、OpenClaw などを 1 つの OpenAI-compatible endpoint に接続し、そこから複数のモデルや provider に転送します。&lt;/p&gt;
&lt;p&gt;目的はチャットクライアントを増やすことではありません。AI コーディングツールとモデル provider の間に入り、API 形式の違い、provider の手動切り替え、ツール出力による token 消費、quota 切れ、複数アカウント管理をまとめて扱います。&lt;/p&gt;
&lt;p&gt;README によると、9Router は 40 以上の provider と 100 以上のモデルに対応し、RTK Token Saver、自動 fallback、quota 追跡、複数アカウントのローテーション、形式変換、リクエストログを備えています。JavaScript 製で、Node.js、Next.js、React、Tailwind CSS、LowDB を使い、MIT ライセンスです。&lt;/p&gt;
&lt;h2 id=&#34;何に向いているか&#34;&gt;何に向いているか
&lt;/h2&gt;&lt;p&gt;複数の AI コーディングツールと複数のモデル供給元を同時に使う場合に便利です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Claude Code はサブスクリプションで使う。&lt;/li&gt;
&lt;li&gt;Codex や Cursor にカスタム OpenAI endpoint を設定したい。&lt;/li&gt;
&lt;li&gt;Cline、Continue、RooCode に OpenAI-compatible API を渡したい。&lt;/li&gt;
&lt;li&gt;無料 provider を試用に使う。&lt;/li&gt;
&lt;li&gt;GLM、MiniMax、Kimi などを安価なバックアップにする。&lt;/li&gt;
&lt;li&gt;高品質モデルを難しいタスクだけに使う。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;通常は各ツールに endpoint、API key、モデル名、fallback を個別設定する必要があります。9Router はそれをローカルのルーティング層に集約します。&lt;/p&gt;
&lt;p&gt;API:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;http://localhost:20128/v1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Dashboard:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;http://localhost:20128/dashboard
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;インストール&#34;&gt;インストール
&lt;/h2&gt;&lt;p&gt;ローカル利用なら npm が簡単です。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install -g 9router
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;9router
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;ソースから実行する場合：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/decolua/9router.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; 9router
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp .env.example .env
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;PORT&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;20128&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;NEXT_PUBLIC_BASE_URL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;http://localhost:20128 npm run dev
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;本番起動：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm run build
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;PORT&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;20128&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;HOSTNAME&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;0.0.0.0 &lt;span class=&#34;nv&#34;&gt;NEXT_PUBLIC_BASE_URL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;http://localhost:20128 npm run start
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;npm パッケージは Node.js &lt;code&gt;&amp;gt;=18.0.0&lt;/code&gt; を要求します。VPS や Docker では &lt;code&gt;JWT_SECRET&lt;/code&gt;、&lt;code&gt;INITIAL_PASSWORD&lt;/code&gt;、&lt;code&gt;DATA_DIR&lt;/code&gt;、&lt;code&gt;API_KEY_SECRET&lt;/code&gt; を設定してください。&lt;/p&gt;
&lt;h2 id=&#34;ツールの接続&#34;&gt;ツールの接続
&lt;/h2&gt;&lt;p&gt;一般的な設定：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Base URL: http://localhost:20128/v1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;API Key: 9Router Dashboard からコピー
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Model: 9Router で設定したモデル名または combo 名
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Codex CLI:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;OPENAI_BASE_URL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;http://localhost:20128&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;OPENAI_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;your-9router-api-key&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;codex &lt;span class=&#34;s2&#34;&gt;&amp;#34;your prompt&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Cline、Continue、RooCode では &lt;code&gt;OpenAI Compatible&lt;/code&gt; を選びます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Base URL: http://localhost:20128/v1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;API Key: your-9router-api-key
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Model: cc/claude-opus-4-7
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;モデル名は接続済み provider によって変わり、&lt;code&gt;cc/&lt;/code&gt;、&lt;code&gt;cx/&lt;/code&gt;、&lt;code&gt;gh/&lt;/code&gt;、&lt;code&gt;glm/&lt;/code&gt;、&lt;code&gt;minimax/&lt;/code&gt;、&lt;code&gt;kr/&lt;/code&gt;、&lt;code&gt;vertex/&lt;/code&gt; などがあります。&lt;/p&gt;
&lt;h2 id=&#34;rtk-token-saver&#34;&gt;RTK Token Saver
&lt;/h2&gt;&lt;p&gt;AI コーディングでは以下のようなツール出力が token を大きく消費します。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;git diff&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git status&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;grep&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;find&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ls&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tree&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;ログ&lt;/li&gt;
&lt;li&gt;長いファイル一覧&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;9Router の RTK Token Saver は、これらをモデルに送る前に圧縮します。プロジェクト説明では、多くのリクエストで 20%-40% の input tokens を節約できるとされています。&lt;/p&gt;
&lt;p&gt;ただし、重要なログや完全なファイル内容が必要な場面では、圧縮が回答品質に影響しないか確認してから使うのが安全です。&lt;/p&gt;
&lt;h2 id=&#34;自動-fallback&#34;&gt;自動 fallback
&lt;/h2&gt;&lt;p&gt;モデルを優先順に並べられます。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;1. サブスクリプションモデル
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2. 安価な API
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;3. 無料 provider
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;例：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;1. cc/claude-opus-4-7
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2. glm/glm-5.1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;3. kr/claude-sonnet-4.5
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;fallback は作業停止を減らしますが、モデルが変わると出力の一貫性も変わります。大規模リファクタリングや移行では固定モデルを使う方が安全です。&lt;/p&gt;
&lt;h2 id=&#34;無料-provider-の注意点&#34;&gt;無料 provider の注意点
&lt;/h2&gt;&lt;p&gt;Kiro、OpenCode Free、Vertex などの無料経路は便利ですが、利用条件、地域制限、サードパーティツールでの利用可否、ban や rate limit、期限を必ず確認してください。9Router はルーティングを管理するだけで、上流 provider の規約は変えません。&lt;/p&gt;
&lt;h2 id=&#34;デプロイ&#34;&gt;デプロイ
&lt;/h2&gt;&lt;p&gt;個人利用なら &lt;code&gt;localhost&lt;/code&gt; のみで十分です。VPS や LAN で公開するなら、デフォルトパスワードを変更し、強い &lt;code&gt;JWT_SECRET&lt;/code&gt; と &lt;code&gt;API_KEY_SECRET&lt;/code&gt; を設定し、Dashboard を公衆インターネットに直接出さず、&lt;code&gt;/v1/*&lt;/code&gt; に Bearer API key を要求します。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run -d &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --name 9router &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -p 20128:20128 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --env-file ./.env &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -v 9router-data:/app/data &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -v 9router-usage:/root/.9router &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  9router
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;まとめ&#34;&gt;まとめ
&lt;/h2&gt;&lt;p&gt;9Router は AI コーディングツールのローカル gateway です。Claude Code、Codex、Cursor、Cline などを &lt;code&gt;http://localhost:20128/v1&lt;/code&gt; に集約し、モデル選択、形式変換、token 圧縮、quota 追跡、fallback を処理します。&lt;/p&gt;
&lt;p&gt;複数 provider を使う重めの AI コーディングユーザーに向いています。まず 1 つのツールと 1 つの provider から試し、徐々に combo とアカウントを増やすのが無難です。&lt;/p&gt;
&lt;h2 id=&#34;参考資料&#34;&gt;参考資料
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/decolua/9router&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;9Router GitHub リポジトリ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://9router.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;9Router 公式サイト&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.npmjs.com/package/9router&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;9Router npm パッケージ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>DeepSeek-TUI：ターミナルで DeepSeek コーディング Agent を動かす</title>
        <link>https://knightli.com/ja/2026/05/08/deepseek-tui-terminal-coding-agent/</link>
        <pubDate>Fri, 08 May 2026 13:41:15 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/05/08/deepseek-tui-terminal-coding-agent/</guid>
        <description>&lt;p&gt;DeepSeek-TUI はターミナルで動く AI コーディング Agent です。DeepSeek V4 モデルを中心に設計され、&lt;code&gt;deepseek&lt;/code&gt; コマンドで起動します。TUI 内でファイルの読み書き、shell コマンド、web search、git、MCP server、sub-agent 協調を扱えます。&lt;/p&gt;
&lt;p&gt;単なるチャット CLI というより、ターミナル上の作業台です。コードを読む、ファイルを編集する、コマンドを実行する、診断を見る、セッションを保存する、状態を戻す、という開発動作を 1 つにまとめます。&lt;/p&gt;
&lt;p&gt;リポジトリは主に Rust で書かれ、MIT ライセンスです。&lt;/p&gt;
&lt;h2 id=&#34;向いている人&#34;&gt;向いている人
&lt;/h2&gt;&lt;p&gt;DeepSeek-TUI は、ターミナル中心の開発者が DeepSeek モデルをローカル開発に組み込みたい場合に向いています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;DeepSeek でコード修正やプロジェクト分析をしたい。&lt;/li&gt;
&lt;li&gt;フル IDE を開きたくない。&lt;/li&gt;
&lt;li&gt;AI に workspace を読ませ、必要に応じて編集させたい。&lt;/li&gt;
&lt;li&gt;Plan、Agent、YOLO を使い分けたい。&lt;/li&gt;
&lt;li&gt;セッション保存、長時間タスク再開、rollback が必要。&lt;/li&gt;
&lt;li&gt;MCP、LSP 診断、HTTP/SSE runtime API、skills を使いたい。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;簡単な Q&amp;amp;A だけなら web や軽量 CLI で十分です。DeepSeek-TUI はモデルをローカル開発フローに入れたい人向けです。&lt;/p&gt;
&lt;h2 id=&#34;インストール&#34;&gt;インストール
&lt;/h2&gt;&lt;p&gt;npm:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install -g deepseek-tui
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek --version
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek --model auto
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;npm パッケージは事前ビルド済み Rust バイナリを取得する installer/wrapper で、Node.js &lt;code&gt;&amp;gt;=18&lt;/code&gt; が必要です。&lt;/p&gt;
&lt;p&gt;Cargo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cargo install deepseek-tui-cli --locked
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cargo install deepseek-tui --locked
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Homebrew:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew tap Hmbown/deepseek-tui
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew install deepseek-tui
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;GitHub Releases から Linux x64/ARM64、macOS x64/ARM64、Windows x64 のバイナリも入手できます。&lt;/p&gt;
&lt;p&gt;Docker:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run --rm -it &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -e DEEPSEEK_API_KEY &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -v &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$PWD&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;:/workspace&amp;#34;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  ghcr.io/hmbown/deepseek-tui:latest
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;api-key&#34;&gt;API Key
&lt;/h2&gt;&lt;p&gt;初回起動時に DeepSeek API key を入力し、以下へ保存します。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~/.deepseek/config.toml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;手動設定：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek auth &lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; --provider deepseek
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek auth status
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;環境変数：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;DEEPSEEK_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;YOUR_KEY&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;診断：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek doctor
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;保存済み key の削除：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek auth clear --provider deepseek
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;auto-mode&#34;&gt;Auto mode
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek --model auto
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;TUI 内:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/model auto
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Auto mode はモデルと thinking を同時に選びます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Model: &lt;code&gt;deepseek-v4-flash&lt;/code&gt; または &lt;code&gt;deepseek-v4-pro&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Thinking: &lt;code&gt;off&lt;/code&gt;、&lt;code&gt;high&lt;/code&gt;、&lt;code&gt;max&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;本番リクエスト前に小さな routing call を行い、最新の依頼と文脈からモデルと thinking を決めます。&lt;code&gt;auto&lt;/code&gt; はローカル機能で、上流 API には具体的なモデル名が送られます。&lt;/p&gt;
&lt;p&gt;ベンチマーク、厳格なコスト管理、固定挙動が必要な場合は明示的にモデルを指定します。&lt;/p&gt;
&lt;h2 id=&#34;モード&#34;&gt;モード
&lt;/h2&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;モード&lt;/th&gt;
          &lt;th&gt;用途&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Plan&lt;/td&gt;
          &lt;td&gt;読み取り専用の調査と計画&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Agent&lt;/td&gt;
          &lt;td&gt;承認ゲート付きの通常モード&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;YOLO&lt;/td&gt;
          &lt;td&gt;信頼済み workspace で自動承認&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;YOLO は便利ですが危険も大きいため、信頼できる一時ブランチやテストディレクトリで使うべきです。&lt;/p&gt;
&lt;h2 id=&#34;主な機能&#34;&gt;主な機能
&lt;/h2&gt;&lt;p&gt;ファイル操作、apply patch、shell、git、web search/browse、sub-agent、MCP、LSP 診断、セッション保存と再開、workspace rollback、永続 task queue、HTTP/SSE runtime API、skills system に対応します。&lt;/p&gt;
&lt;p&gt;LSP 診断は編集後のエラーをモデルへ戻せる点が便利です。rollback は side-git snapshot を使い、&lt;code&gt;/restore&lt;/code&gt; と &lt;code&gt;revert_turn&lt;/code&gt; を提供します。ただし通常の git commit は引き続き重要です。&lt;/p&gt;
&lt;h2 id=&#34;よく使うコマンド&#34;&gt;よく使うコマンド
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek &lt;span class=&#34;s2&#34;&gt;&amp;#34;explain this function&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek --model deepseek-v4-flash &lt;span class=&#34;s2&#34;&gt;&amp;#34;summarize&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek --model auto &lt;span class=&#34;s2&#34;&gt;&amp;#34;fix this bug&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek --yolo
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek auth &lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; --provider deepseek
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek doctor
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek doctor --json
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek models
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek sessions
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek resume --last
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek resume &amp;lt;SESSION_ID&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek fork &amp;lt;SESSION_ID&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek serve --http
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek serve --acp
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek pr &amp;lt;N&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek mcp list
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek mcp validate
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek update
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;zed--acp&#34;&gt;Zed / ACP
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;agent_servers&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;DeepSeek&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;custom&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;#34;command&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;deepseek&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;#34;args&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;serve&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;--acp&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;#34;env&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;README によると、現在の ACP は新規セッションと prompt response を扱いますが、tool-backed editing と checkpoint replay はまだ公開されていません。&lt;/p&gt;
&lt;h2 id=&#34;設定と-provider&#34;&gt;設定と provider
&lt;/h2&gt;&lt;p&gt;ユーザー設定：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~/.deepseek/config.toml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;workspace overlay：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;workspace&amp;gt;/.deepseek/config.toml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;api_key&lt;/code&gt;、&lt;code&gt;base_url&lt;/code&gt;、&lt;code&gt;provider&lt;/code&gt;、&lt;code&gt;mcp_config_path&lt;/code&gt; などは workspace overlay で禁止されています。&lt;/p&gt;
&lt;p&gt;OpenAI-compatible:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek auth &lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; --provider openai --api-key &lt;span class=&#34;s2&#34;&gt;&amp;#34;YOUR_OPENAI_COMPATIBLE_API_KEY&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;OPENAI_BASE_URL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;https://openai-compatible.example/v4&amp;#34;&lt;/span&gt; deepseek --provider openai --model glm-5
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Ollama:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama pull deepseek-coder:1.3b
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek --provider ollama --model deepseek-coder:1.3b
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;まとめ&#34;&gt;まとめ
&lt;/h2&gt;&lt;p&gt;DeepSeek-TUI は DeepSeek V4、TUI、tool call、LSP 診断、セッション再開、rollback、MCP、skills を 1 つの Rust ベースの作業環境にまとめたターミナル Agent です。軽量さよりも、ローカル開発フローへ深く入ることに価値があります。&lt;/p&gt;
&lt;h2 id=&#34;参考資料&#34;&gt;参考資料
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/Hmbown/DeepSeek-TUI&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DeepSeek-TUI GitHub リポジトリ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://deepseek-tui.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DeepSeek-TUI 公式サイト&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.npmjs.com/package/deepseek-tui&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DeepSeek-TUI npm パッケージ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://platform.deepseek.com/api_keys&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DeepSeek API Keys&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        
    </channel>
</rss>
