<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Go on KnightLiブログ</title>
        <link>https://knightli.com/ja/tags/go/</link>
        <description>Recent content in Go on KnightLiブログ</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ja</language>
        <lastBuildDate>Sat, 06 Jun 2026 22:26:00 +0800</lastBuildDate><atom:link href="https://knightli.com/ja/tags/go/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>DeepSeek-Reasonix の使い方：DeepSeek ネイティブなターミナル向けコーディング Agent</title>
        <link>https://knightli.com/ja/2026/06/06/deepseek-reasonix-terminal-coding-agent/</link>
        <pubDate>Sat, 06 Jun 2026 22:26:00 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/06/06/deepseek-reasonix-terminal-coding-agent/</guid>
        <description>&lt;p&gt;&lt;code&gt;esengine/DeepSeek-Reasonix&lt;/code&gt; は、ターミナル向けの AI コーディング Agent です。多くの「OpenAI API を一枚かぶせた CLI」とは少し違い、DeepSeek-native を掲げています。DeepSeek の prefix cache の安定性を中心に設計されており、長時間セッションのコストを下げ、常駐して使うワークフローに向いています。&lt;/p&gt;
&lt;p&gt;README での説明はかなり直接的です。config- and plugin-driven harness、単一の静的 Go binary、そしてモデル、Agent、ツール、プラグインをすべて &lt;code&gt;reasonix.toml&lt;/code&gt; に宣言します。&lt;/p&gt;
&lt;h2 id=&#34;何を解決するのか&#34;&gt;何を解決するのか
&lt;/h2&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;長時間セッションで prompt が変わり続け、キャッシュヒット率が悪い；&lt;/li&gt;
&lt;li&gt;タスクごとに最初からやり直し、token コストが高い；&lt;/li&gt;
&lt;li&gt;DeepSeek を使いたいが、既存ツールが DeepSeek の特性に最適化されていない。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Reasonix の重点は「また別のチャット CLI」ではありません。DeepSeek の prefix cache を設計の中心に置くことです。長時間セッションで前置きが安定していれば、キャッシュヒットが良くなり、コストと速度をより制御しやすくなります。&lt;/p&gt;
&lt;h2 id=&#34;中核設計&#34;&gt;中核設計
&lt;/h2&gt;&lt;p&gt;プロジェクト README に挙げられている特徴は、いくつか注目に値します。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Config-driven：provider、agent、tools、plugins をすべて &lt;code&gt;reasonix.toml&lt;/code&gt; で設定；&lt;/li&gt;
&lt;li&gt;Multi-model：DeepSeek flash/pro と MiMo のプリセットがあり、任意の OpenAI-compatible endpoint にも接続可能；&lt;/li&gt;
&lt;li&gt;Composable：executor と planner の 2 つのモデルで役割分担できる；&lt;/li&gt;
&lt;li&gt;Plugin-driven：外部ツールを stdio JSON-RPC サブプロセスとして接続し、MCP 的な考え方に対応；&lt;/li&gt;
&lt;li&gt;Built-in tools：内蔵ツールはコンパイル時に自己登録；&lt;/li&gt;
&lt;li&gt;Single static Go binary：デプロイが簡単で、多数のランタイムを引きずらない。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;開発環境をターミナルに置きたい人にとって、この方向性はかなりすっきりしています。設定ファイルがコントロールパネルであり、プラグインが能力の境界になります。&lt;/p&gt;
&lt;h2 id=&#34;どう使うのに向いているか&#34;&gt;どう使うのに向いているか
&lt;/h2&gt;&lt;p&gt;Reasonix は次のような場面に向いています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;すでに DeepSeek をコード作業に使っている；&lt;/li&gt;
&lt;li&gt;ターミナルに常駐するコーディング Agent がほしい；&lt;/li&gt;
&lt;li&gt;prefix cache を中心に長時間セッションのコストを最適化したい；&lt;/li&gt;
&lt;li&gt;ツールとプラグインを設定で組み合わせたい；&lt;/li&gt;
&lt;li&gt;OpenAI-compatible endpoint を使って複数モデルを切り替えたい；&lt;/li&gt;
&lt;li&gt;Go の単一バイナリ配布が好き。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ターミナルをまったく触らないユーザーには必ずしも向きません。IDE 内蔵体験を好むなら、Cursor、Copilot、Claude Code のほうが使いやすいかもしれません。Reasonix は、設定、プラグイン、ターミナル、長時間セッションを扱うエンジニア向け工具箱に近いです。&lt;/p&gt;
&lt;h2 id=&#34;claude-code--codex-との違い&#34;&gt;Claude Code / Codex との違い
&lt;/h2&gt;&lt;p&gt;Claude Code や Codex のようなツールは、より完成品に近いです。一方で Reasonix は、設定可能な Agent harness に近い存在です。&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;何に近いか&lt;/th&gt;
          &lt;th&gt;向いている人&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Claude Code / Codex&lt;/td&gt;
          &lt;td&gt;すぐ使えるコーディング Agent&lt;/td&gt;
          &lt;td&gt;素早くタスクを終わらせたい人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Cursor&lt;/td&gt;
          &lt;td&gt;IDE 内の AI 開発環境&lt;/td&gt;
          &lt;td&gt;GUI とプロジェクト編集を重視する人&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;DeepSeek-Reasonix&lt;/td&gt;
          &lt;td&gt;DeepSeek とターミナルワークフロー向け Agent フレームワーク&lt;/td&gt;
          &lt;td&gt;設定、ツール、コストを制御したい人&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Reasonix の強みは制御性と DeepSeek 最適化です。その代わり、設定やプラグインを理解する必要があり、商用 IDE のようにクリックだけで進むタイプではありません。&lt;/p&gt;
&lt;h2 id=&#34;使う前に考えること&#34;&gt;使う前に考えること
&lt;/h2&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;マルチモデル協働では planner と executor の役割に注意する；&lt;/li&gt;
&lt;li&gt;本番鍵やサーバー認証情報を Agent に直接見せない；&lt;/li&gt;
&lt;li&gt;自動でコードを変更した後も、テストと review は必要。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;長期的に使うつもりなら、まず個人プロジェクトで動かし、それから正式なリポジトリへ段階的に接続するのがよいです。特に shell を実行できる Agent は、権限を小さく始めるべきです。&lt;/p&gt;
&lt;h2 id=&#34;まとめ&#34;&gt;まとめ
&lt;/h2&gt;&lt;p&gt;DeepSeek-Reasonix の価値は、DeepSeek のコスト特性とターミナル向けコーディング Agent を組み合わせている点にあります。最も「初心者向け」のツールではありませんが、設定を調整し、プラグインを接続し、ターミナルに長時間常駐させたい人には魅力があります。&lt;/p&gt;
&lt;p&gt;もし目的が「DeepSeek を使って、制御可能で低コストな長時間セッション対応のローカルターミナル Agent を作る」ことなら、Reasonix は試す価値があります。たまに AI に数行だけ直してほしい程度なら、既存の IDE プラグインのほうが楽かもしれません。&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/esengine/DeepSeek-Reasonix&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;esengine/DeepSeek-Reasonix - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Go 言語の公式リポジトリについてどう思いますか? Go の進化をソースコードから理解する</title>
        <link>https://knightli.com/ja/2026/06/06/golang-go-official-repository-guide/</link>
        <pubDate>Sat, 06 Jun 2026 22:26:00 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/06/06/golang-go-official-repository-guide/</guid>
        <description>&lt;p&gt;&lt;code&gt;golang/go&lt;/code&gt; は、Go プログラミング言語の公式リポジトリです。これはソース コード リポジトリであるだけでなく、Go コンパイラ、ランタイム、標準ライブラリ、ツール チェーン、問題のディスカッション、言語提案への重要な入り口でもあります。&lt;/p&gt;
&lt;p&gt;ビジネスコードを書くだけであれば、必ずしもそれを毎日読むとは限りません。しかし、なぜ Go がこのように設計されているのかを理解したい場合は、公式リポジトリを避けて通ることはできません。&lt;/p&gt;
&lt;h2 id=&#34;倉庫の中にあるもの&#34;&gt;倉庫の中にあるもの
&lt;/h2&gt;&lt;p&gt;Go の公式リポジトリには次のものが含まれています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Go コンパイラ;&lt;/li&gt;
&lt;li&gt;ランタイム;&lt;/li&gt;
&lt;li&gt;標準ライブラリ;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;go&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;/ul&gt;
&lt;p&gt;goroutine、チャネル、GC、標準ライブラリ ネットワーク パッケージ、モジュール ツール チェーンなど、通常使用する機能の多くはすべてここにあります。&lt;/p&gt;
&lt;h2 id=&#34;見る人に適しています&#34;&gt;見る人に適しています
&lt;/h2&gt;&lt;p&gt;こんな人に適しています:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;バックエンド開発者に移動します。&lt;/li&gt;
&lt;li&gt;Go のランタイムとスケジューリングを理解したい人。&lt;/li&gt;
&lt;li&gt;Go バージョンの進化を追いかけている人;&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;net/http&lt;/code&gt;、&lt;code&gt;context&lt;/code&gt;、&lt;code&gt;sync&lt;/code&gt; など、使い慣れた標準ライブラリ パッケージから始めることができます。&lt;/p&gt;
&lt;h2 id=&#34;go-を学ぶのは文法だけではありません&#34;&gt;Go を学ぶのは文法だけではありません
&lt;/h2&gt;&lt;p&gt;Go の核心は構文の複雑さではなく、エンジニアリング上のトレードオフです。&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;これらの設計上のトレードオフを理解することは、構文を覚えるよりも役立ちます。&lt;/p&gt;
&lt;h2 id=&#34;まとめ&#34;&gt;まとめ
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;golang/go&lt;/code&gt; は Go エコシステムのルートです。一般の開発者は、標準ライブラリの動作を確認し、バージョンの変更に注意し、ランタイムを学習するためのエントリ ポイントとして使用できます。&lt;/p&gt;
&lt;p&gt;しばらく Go を書いている場合は、チュートリアルを見るだけよりも、時々公式のソース コードを読む方がより確実になります。&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/golang/go&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;golang/go - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        
    </channel>
</rss>
