296 articles
GeminiやChatGPTで画像生成できる時代に、わざわざローカルで動かす理由
執筆者:Hideyuki Goto 2026年3月現在、画像生成AIを利用するハードルは、もうほぼゼロに近いと言っていいでしょう。GeminiやChatGPTを開き、ブラウザから自然言語のプロンプトを投げれば、わずか数秒で画像が返ってきます。 それでも私は、趣味の個人開発やクリエイティブワークにおいて、あえて「ComfyUI」というツールを使い、ローカル環境で画像生成を動かし続けています。数十秒か...
Original: 執筆者:Hideyuki Goto 2026年3月現在、画像生成AIを利用するハードルは、もうほぼゼロに近いと言っていいでしょう。GeminiやChatGPTを開き、ブラウザから自然言語のプロンプトを投げれば、わずか数秒で画像が返ってきます。 それでも私は、趣味の個人開発やクリエイティブワークにおいて、あえて「ComfyUI」というツールを使い、ローカル環境で画像生成を動かし続けています。数十秒か...
【renue】社員全員でClaude Codeを使い、自社のデモECをハッキングしてみた
株式会社renueは、2026年4月10日に四半期イベント「renue SUMMIT」を開催し、AIエージェントを活用したセキュリティ演習を実施しました。全社員がチーム対抗で取り組み、60分の実技時間を設けました。AIエージェントを前提とした業務設計を自社で体現する試みとして位置付けました。 エグゼクティブサマリー 演習の対象は社内で構築した脆弱なサンプルECサイトです。14種の脆弱性を意図的...
Original: 株式会社renueは、2026年4月10日に四半期イベント「renue SUMMIT」を開催し、AIエージェントを活用したセキュリティ演習を実施しました。全社員がチーム対抗で取り組み、60分の実技時間を設けました。AIエージェントを前提とした業務設計を自社で体現する試みとして位置付けました。 エグゼクティブサマリー 演習の対象は社内で構築した脆弱なサンプルECサイトです。14種の脆弱性を意図的...
Anthropicの3エージェントハーネスをRailsに取り入れる
はじめに こんにちは、クラシルでレシチャレの開発をしているkiyokuroです。 前回の記事では、Claude CodeのHooksでSafety Hookを実装し、決定論的なガードレールを敷いた話を紹介しました。ルール設計、Safety Hook、サブエージェントによる設計調査の自動化と進めてきましたが、1つ残っていた課題がありました。「次にどのskillを実行するか」を人間が判断し、順番に起動...
Original: はじめに こんにちは、クラシルでレシチャレの開発をしているkiyokuroです。 前回の記事では、Claude CodeのHooksでSafety Hookを実装し、決定論的なガードレールを敷いた話を紹介しました。ルール設計、Safety Hook、サブエージェントによる設計調査の自動化と進めてきましたが、1つ残っていた課題がありました。「次にどのskillを実行するか」を人間が判断し、順番に起動...
AIレビューの「で、これ合ってんの?」を減らす
AIにコードレビューをさせて、返ってきた指摘を眺めながらこう思ったことはないでしょうか。 「で、これ合ってんの?」 指摘の数は出る。でもその中に、的外れなもの、文脈を無視したもの、スタイルレベルのものが混ざっている。結局、全部の指摘を自分で検証する羽目になって、レビューの時短どころか確認作業が増えている。 レビューにはディフェンスが必要 人間のPRレビューを思い出してください。 レビュアーが「...
Original: AIにコードレビューをさせて、返ってきた指摘を眺めながらこう思ったことはないでしょうか。 「で、これ合ってんの?」 指摘の数は出る。でもその中に、的外れなもの、文脈を無視したもの、スタイルレベルのものが混ざっている。結局、全部の指摘を自分で検証する羽目になって、レビューの時短どころか確認作業が増えている。 レビューにはディフェンスが必要 人間のPRレビューを思い出してください。 レビュアーが「...
Rust の tracing で init() 実行だけで info!() が機能する仕組みの理解
Rust の tracing で init() しただけで info!() が動く仕組みを理解する
はじめに こんにちは、ソフトウェアエンジニアの mosson です。株式会社 estie(エスティ)では Rust でウェブアプリケーションの開発を行っています。 さて、Rust でウェブアプリケーションを開発している際に、アプリケーションの起動処理にこのようなコードを見かけることがあります。 ```rust #[tokio::main] async fn main() { tracin...
Original: はじめに こんにちは、ソフトウェアエンジニアの mosson です。株式会社estie(エスティ)では Rust でウェブアプリケーションの開発をしています。 さて、Rust でウェブアプリケーションを開発していると、アプリケーションの起動処理にこのようなコードを見かけます。 #[tokio::main] async fn main() { tracing_subscriber::fmt(...
人間が寝ている間に Claude Code が Playwright の E2E テストを修正して PR を発行
人間が寝ている間にClaude CodeがPlaywrightのE2Eテストを直してPRを出す
nightly 環境で実行している Playwright の E2E テストが失敗したとき、翌朝その原因を確認して修正し、PR を提出するというワークフローが発生します。 人間が法的に働けない時間に失敗が蓄積され、翌朝それを片付けるのは単純に時間の無駄です。 さらに面倒なことも。 だったら、その時間に Claude に修正案を考えさせて、最初の案を検討させるのがよさそうです。 全体の流れ E2E...
Original: nightlyで実行しているPlaywrightのE2Eテストが落ちたとき、翌朝その原因を調べて直して、PRを出して...という作業が発生します。 人間が法的に働けない時間に失敗が積まれて、翌朝それを片付けるのは単純に時間がもったいない。 あと面倒。 だったらその時間にClaudeに修正案を考えてもらって第一案を練ってもらえばいい、と思いました。 全体の流れ E2Eテストは毎晩GitHub A...
なぜ、2000年代には巷で耳にした「UML」を現在では全く耳にしないのか?
はじめに 2000年代の開発現場では、UML という語は一種の共通語でした。オブジェクト指向を語るならUMLを知っていて当然だとされ、書籍も研修もツールも、その前提で組まれていました。しかし現在、日常会話の中で「UMLを描こう」と言う場面は激減し、代わりにMermaid(軽量な図記述ツール)やPlantUML(テキスト記述からUML図を生成するツール)で必要な図だけを書くという言い方が普通になって...
Original: はじめに 2000年代の開発現場では、UML という語は一種の共通語でした。オブジェクト指向を語るならUMLを知っていて当然だとされ、書籍も研修もツールも、その前提で組まれていました。しかし現在、日常会話の中で「UMLを描こう」と言う場面は激減し、代わりにMermaid(軽量な図記述ツール)やPlantUML(テキスト記述からUML図を生成するツール)で必要な図だけを書くという言い方が普通になって...
anyhow と thiserror の内部実装を覗いてみる
anyhowとthiserrorの内部実装を覗いてみる
はじめに anyhow と thiserrorを実務で使っていて、「なぜこの場面でこちらを選ぶのか」を明確に説明できるでしょうか。 よくある説明は「anyhow はアプリケーション用、thiserror はライブラリ用」というものです。しかしこの分類では不十分で、実際にはライブラリ内部で anyhow が適切な場面もあり、アプリケーションで thiserror が必要な場面もあります。 本記事では...
Original: はじめに anyhowとthiserrorを実務で使っていて、「なぜこの場面でこちらを選ぶのか」を明確に説明できるでしょうか。 よくある説明は「anyhowはアプリケーション用、thiserrorはライブラリ用」というものです。しかしこの分類では不十分で、実際にはライブラリ内部でanyhowが適切な場面もあれば、アプリケーションでthiserrorが必要な場面もあります。 本記事では、両クレートの...
AIの成果物に責任を取る方法
はじめに AIが書いたコードでバグが出た。さて、誰の責任だろうか? 「AIが適当なことを出力したから」はプロの世界では通用しない。 そのコードをマージし、デプロイする決定を下した「あなた」の責任だ。 AIコーディング全盛期において、私たちは単なる「コードを書く人」から「AIという部下をマネジメントする意思決定者」へと変化した。 では、この部下の仕事にどう責任を持ち、どう信頼関係を築けばいいのだろう...
Original: はじめに AIが書いたコードでバグが出た。さて、誰の責任だろうか? 「AIが適当なことを出力したから」はプロの世界では通用しない。 そのコードをマージし、デプロイする決定を下した「あなた」の責任だ。 AIコーディング全盛期において、私たちは単なる「コードを書く人」から「AIという部下をマネジメントする意思決定者」へと変化した。 では、この部下の仕事にどう責任を持ち、どう信頼関係を築けばいいのだろう...
VS Code 拡張機能の Webview での描画性能をテトリスで検証してみた
1. はじめに 突然ですが、VS Codeの拡張機能を作ったことはあるでしょうか。 今まで私は、何か難しそうだという理由から、全く作ろうと考えていませんでしたが、生成AIの進歩によってお手軽に作れることを知って、最近いくつか試しに作っています。 今回は、「VS Code の Webview でどこまで動くのか?」 という疑問から、VS Code 拡張機能の描画性能について着目し、ごく簡単にではあり...
Original: 1. はじめに 突然ですが、VS Codeの拡張機能を作ったことはあるでしょうか。 今まで私は、何か難しそうだという理由から、全く作ろうと考えていませんでしたが、生成AIの進歩によってお手軽に作れることを知って、最近いくつか試しに作っています。 今回は、「VS Code の Webview でどこまで動くのか?」 という疑問から、VS Code 拡張機能の描画性能について着目し、ごく簡単にではあり...
Google Cloud Next '26 現地レポ——AI エージェントはパイロット開発から本番へ
AI エージェントのパイロット開発は終わり ラスベガスの Mandalay Bay Convention Center で開幕した Google Cloud Next '26 の Opening Keynote(2026-04-22 PDT)を現地で視聴してきました。 ここ数年Google Cloud Next に来ていると、その年の Google Cloud が「どのモードで来たか」は、キーノー...
Original: AI エージェントのパイロット開発は終わり ラスベガスの Mandalay Bay Convention Center で開幕した Google Cloud Next '26 の Opening Keynote(2026-04-22 PDT)を現地で視聴してきました。 ここ数年Google Cloud Next に来ていると、その年の Google Cloud が「どのモードで来たか」は、キーノー...
テストがないコードへのテストの育て方
はじめに ユニットテストが浸透してきています。それでも、テストがないプロダクトのコードをメンテナンスするケースもあります。そうすると絶望的な気持ちになることもあると思います。 今回、そのようなコードにテストを追加するための道筋を示したいと思います。 場合によっては年単位の長い時間が掛かる可能性がありますが、ステップ毎にだんだん不安が減っていくようにしてあります。最後のステップではリファクタリング済...
Original: はじめに ユニットテストが浸透してきています。それでも、テストがないプロダクトのコードをメンテナンスするケースもあります。そうすると絶望的な気持ちになることもあると思います。 今回、そのようなコードにテストを追加するための道筋を示したいと思います。 場合によっては年単位の長い時間が掛かる可能性がありますが、ステップ毎にだんだん不安が減っていくようにしてあります。最後のステップではリファクタリング済...
その生産性向上、現場が静かに支払っているコストの話
はじめに Claude Code をはじめとする AI コーディング支援ツールの高度化により、マークダウンで構造化された仕様書を AI に渡して実装を進める、いわゆる仕様駆動型の開発スタイルが広まりつつあります。 実装速度は目に見えて向上し、かつてであれば数日かかった作業が数時間で完了するケースも珍しくありません。 一方で、現場で開発に携わっていると、速度向上だけでは説明しきれない違和感が蓄積して...
Original: はじめに Claude Code をはじめとする AI コーディング支援ツールの高度化により、マークダウンで構造化された仕様書を AI に渡して実装を進める、いわゆる仕様駆動型の開発スタイルが広まりつつあります。 実装速度は目に見えて向上し、かつてであれば数日かかった作業が数時間で完了するケースも珍しくありません。 一方で、現場で開発に携わっていると、速度向上だけでは説明しきれない違和感が蓄積して...
Next.js を SSG 化しようとして、最終的に React SPA に落ち着いた理由
はじめに こんにちは。株式会社シータグで、自社サービスである BtoB 向けクラウド受発注サービス「受注ハック」の開発に携わっている ritsukei です。 受注ハックのフロントエンドは、もともと Next.js を Amazon ECS Fargate 上でサーバーとして動かしていました。コストと運用負荷を見直す中で、最初に考えたのは「Next.js を残したまま SSG / static e...
Original: はじめに こんにちは。株式会社シータグで、自社サービスである BtoB 向けクラウド受発注サービス「受注ハック」の開発に携わっている ritsukei です。 受注ハックのフロントエンドは、もともと Next.js を Amazon ECS Fargate 上でサーバーとして動かしていました。コストと運用負荷を見直す中で、最初に考えたのは「Next.js を残したまま SSG / static e...
App Store に配布したアプリのみクラッシュした
はじめに ある日、App Store にリリースしたアプリが起動直後にクラッシュしているという報告が届きました。 自分が所属しているiOSチームではリリース前にテストを徹底しているので、そんなはずはない!!と心のなかで思っていました。 しかし、実際にAppStoreからインストールしてみると、起動直後にクラッシュしました。 困惑しつつも、そのバージョンをTestFlightで社内メンバー向けに配布...
Original: はじめに ある日、App Store にリリースしたアプリが起動直後にクラッシュしているという報告が届きました。 自分が所属しているiOSチームではリリース前にテストを徹底しているので、そんなはずはない!!と心のなかで思っていました。 しかし、実際にAppStoreからインストールしてみると、起動直後にクラッシュしました。 困惑しつつも、そのバージョンをTestFlightで社内メンバー向けに配布...
優秀なAI専門チームと爆速で高品質に仕上げる要件定義 — PMのためのClaude Code × AIエージェント実践ガイド
1. はじめに 前回の記事では、Claude CodeでPM業務がどう変わったかを 3つの仕事 を軸に紹介しました。 PMが本来やるべき仕事に時間を取り戻す — Claude Codeで変わった3つのPM業務 前回は3つの仕事の全体像を俯瞰する内容でした。3つどれも重要ですが、今回はまず1つ目の 要件定義・仕様化 にフォーカスして、詳しく解説していきます。 業界でよく言われる経験則として「品質...
Original: 1. はじめに 前回の記事では、Claude CodeでPM業務がどう変わったかを 3つの仕事 を軸に紹介しました。 PMが本来やるべき仕事に時間を取り戻す — Claude Codeで変わった3つのPM業務 前回は3つの仕事の全体像を俯瞰する内容でした。3つどれも重要ですが、今回はまず1つ目の 要件定義・仕様化 にフォーカスして、詳しく解説していきます。 業界でよく言われる経験則として「品質...
Go 1.24からのTLS、気づかぬうちにPQC(耐量子暗号)で動いてるらしい
はじめに Go 1.24 以降で HTTPS サーバーを動かしているなら、すでに耐量子暗号が効いてるらしい。 何も設定していないのに。 耐量子暗号という響きがかっこよく、このテーマで記事を書こうと思いたち、2024年も4月にタイトルとリンクだけ張っただけで放置してからはや2年。 気を取り直して最新の状況を確認しようと思ったら、Goのマイナーバージョンは2つも進んでいました。 こんな感じで自...
Original: はじめに Go 1.24 以降で HTTPS サーバーを動かしているなら、すでに耐量子暗号が効いてるらしい。 何も設定していないのに。 耐量子暗号という響きがかっこよく、このテーマで記事を書こうと思いたち、2024年も4月にタイトルとリンクだけ張っただけで放置してからはや2年。 気を取り直して最新の状況を確認しようと思ったら、Goのマイナーバージョンは2つも進んでいました。 こんな感じで自...
アップカミング機能のざっくりまとめ @ Swift 6.3
Upcoming Features ざっくりまとめ @ Swift6.3
Swift 6 に向けて、Swift 5.8 で「将来追加予定の言語改善への段階的な適用」を行うためのコンパイラフラグ --enable-upcoming-feature が追加されました。 Swift 6 向けの UpcomingFeature は言語設定を Swift 6 にすると自動的に有効となりますが、Swift 7 以降の言語機能は指定しない限り有効になりません。 対象のフラグは Fut...
Original: Swift6に向けて、Swift5.8にて「将来追加予定の言語改善への段階的な適用」を行うためのコンパイラフラグ --enable-upcoming-feature が追加されました。 Swift6向けのUpcomingFeatureは言語設定をSwift6にすると自動的に有効となりますが、Swift7以降の言語機能は指定しないかぎり有効になりません。 対象のフラグは Future Swift f...
Claude Code を 24 時間常駐させる自宅ホームラボを月 500 円で運用している話 (Ubuntu + Tailscale + tmux)
Claude Codeを24時間常駐させる自宅ホームラボを月500円で運用している話(Ubuntu + Tailscale + tmux)
TL;DR\n\n家にあった中古 x86 デスクトップ(合計 5,000 円で動く状態)を Ubuntu 24.04 LTS + ヘッドレス運用で常駐化し、Claude Code CLI を tmux で 10 セッション前後を常時動かしています。\nTLP + thermald + powertop + カーネル起動パラメータの省電力チューニングで、idle 15〜18W / 平均運用 18〜2...
Original: TL;DR 家にあった中古 x86 デスクトップ(合計5,000円で動く状態)を Ubuntu 24.04 LTS + ヘッドレス運用で常駐化し、Claude Code CLI を tmux で 10セッション前後 常時動かしています。 TLP + thermald + powertop + カーネル起動パラメータの省電力チューニングで、idle 15〜18W / 平均運用 18〜22W に収ま...
ハーネスエンジニアリングとは何で、何ではないのか 〜作る側のハーネス、使う側のハーネス〜
先日、Findy主催のハーネスエンジニアリング勉強会で登壇しました。 https://findy.connpass.com/event/388471/ 発表では登壇の中でのすみ分けや尺を考えて絞りましたが、語りきれなかった部分をこの記事にまとめます。 https://speakerdeck.com/rkaga/how-to-approach-harness-engineering ハーネスエンジ...
Original: 先日、Findy主催のハーネスエンジニアリング勉強会で登壇しました。 https://findy.connpass.com/event/388471/ 発表では登壇の中でのすみ分けや尺を考えて絞りましたが、語りきれなかった部分をこの記事にまとめます。 https://speakerdeck.com/rkaga/how-to-approach-harness-engineering ハーネスエンジ...