0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Go 1.26のgo fixとCopilot CLIスラッシュコマンドを実際に触ってわかったこと

0
Last updated at Posted at 2026-06-22

はじめに

2026年6月のトレンドを眺めていたら、GoとGitHub Copilot周りで気になるアップデートがいくつか重なっていた。Go 1.26のgo fixの刷新、Copilot CLIのスラッシュコマンドの整備、Copilotのトークン効率改善。どれも「ちょっと試してみよう」と動ける規模だったので、実際に手を動かした結果をまとめておく。

Go 1.26のgo fix — 古いコードベースがコマンド一発で現代化される

Go Blogに「Using go fix to modernize Go code」が出ていた。Go 1.26でgo fixの実装が刷新され、古いコードパターンを自動的に新しい書き方に置き換えられるようになったとのこと。

社内にGo 1.18時代のリポジトリがあったので、そこで試してみた。

cd path/to/legacy-service
go fix ./...

interface{}anyへの置換が一気に走って、地味に嬉しかった。手でやると見落とすファイルが必ず出てくるが、これなら漏れがない。errors.Is/errors.Asまわりの古いパターンも対象になっていて、思ったより広範に変換が入った。

ただ、go fix後のdiffは必ずレビューすること。型エイリアスが噛み合っていない箇所で予期しない変更が1件入っていて、そのままコミットしていたらCIが落ちていた。go fix → git diff → go test ./...の流れをセットにするのが安全。

同時期に「Allocating on the Stack」という記事も出ていて、Go 1.26ではスタックアロケーションの最適化も入っている。-gcflags="-m"でエスケープ解析を眺めてみたら、以前ヒープに逃げていた構造体の一部がスタックに残るようになっていた。ベンチマークで見ると数%程度だが、allocsが減ったのを目で確認できるのは気持ちよかった。

今年でGoは16歳(Go's Sweet 16)。go fixのような地道なDXの向上が続いている限り、まだまだ長く付き合えると思っている。

GitHub Copilot CLIのスラッシュコマンドでターミナル作業が変わった

「GitHub Copilot CLI for Beginners: Overview of common slash commands」を読んで、スラッシュコマンドをひと通り試した。

自分がよく使うのはこの3つ:

/explain  -- 直前のコマンドや出力の意味を説明させる
/fix      -- エラーメッセージを貼ると修正候補を出してくれる
/suggest  -- やりたいことを自然言語で書くとコマンドを提案してくれる

/fixが特に便利だった。make buildでエラーが出たときにそのログをそのまま渡したら、Makefileのタブ/スペース混在を指摘してくれた。今まではエラー文でググって3〜4ページ漁るか、別のAIチャットにコンテキストを一から説明するかのどちらかだったが、その往復がほぼなくなった。

/suggestは「最近変更されたGoファイルを一覧したい」と書いたら以下が返ってきた:

find . -name "*.go" -newer go.mod -type f

oオプションの意味もその場で聞けるので、コマンドを暗記するよりも「何がしたいか」を先に考える習慣に変わってきている。

CopilotがトークンをもっとうまくI使う仕組みになってきた

「Getting more from each token: How Copilot improves context handling and model routing」の記事で、Copilotがコンテキスト圧縮とモデルルーティングを改善したとわかった。

最近、長い会話セッションの後半でもコードの文脈が保たれている気がしていた。以前は30分ほど話し込むと前半に出てきたクラス名や変数名を補完が忘れ始めていたが、それが減った印象がある。コンテキスト圧縮の精度が上がったのが理由らしい。

モデルルーティングの部分も面白くて、タスクの複雑さに応じて裏側のモデルを切り替えることでクレジット消費を最適化しているとのこと。補完のレスポンス速度が場面によってばらつく理由が不思議だったが、これで腑に落ちた。使う側が意識することはないが、「なぜそうなっているか」がわかるとむやみに設定をいじらなくなる。

AI時代の受託開発でリアルに感じていること

Zennに「AI以後の受託システム開発はどうなっていくのか(2026年6月版)」という記事が出ていて、共感するところが多かった。AIがコーディングを担い始めた今、「何を作るか」の定義精度が以前より重要になっているというのは、自分のチームでも実感する。

AIに渡すプロンプトの質が成果物の質に直結するようになっていて、仕様が曖昧なままAIに書かせると、動くけど要件を満たしていないコードが量産される。人間がやる作業が「実装」から「仕様定義・レビュー・判断」に重心を移しているのは間違いなく、それ自体は良い変化だと感じている。

まとめ

  • Go 1.26のgo fix は古いリポジトリの近代化に使える。実行後のdiffレビューは必須。
  • Copilot CLIのスラッシュコマンド はターミナルとの相性がよく、「調べる往復」を減らしてくれる。
  • Copilotのコンテキスト改善 は長いセッションで特に恩恵を感じやすい。
  • AI時代の開発 は「何を作るか」の定義力がより問われるフェーズに入っている。

どれも「AIをどう日常作業に溶け込ませるか」という流れの中にある。道具の使い方を少し変えるだけで体感が変わる段階に来ていると思う。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?