【投資報告】2025年の資産運用実績を公開!1年で資産はどれくらい増えたのか?

はじめに

こんにちは、生涯リーマンプログラマーのナオです。 2025年ももうすぐ終わりですね。 今年も一年、お疲れ様でした。

さて、年末ということで恒例の投資実績の振り返りを行いたいと思います。 2024年末から新NISAが始まり、本格的に新NISAでの運用が始まった1年でした。 果たして、資産はどれくらい増えたのでしょうか?

資産全体の推移

まずは、私の全資産の推移です。

日付 資産残高 評価損益 損益率
2024/12/28 約184万円 約+36万円 +24%
2025/12/20 約291万円 約+45万円 +18%

※個人情報保護のため、1万円以下の金額はぼかして記載しています。

資産推移グラフ

4月頃に資産が一時的に減少しているのは、トランプ前大統領に関する報道を受け、米国市場が不安定になった影響です。市場はその後落ち着きを取り戻し、年間を通して見れば順調に回復しています。

2024年末から比べると、約107万円の資産増となりました! 評価損益率自体は少し下がっていますが、これは2025年に入金した金額が大きいためです。 全体としては、順調に資産を増やせていることがわかります。

2025年の投資信託トータルリターン

次に、今年1年(2025年)の投資信託の成績です。

口座種別 トータルリターン トータルリターン (率・%)
累計 約+36万円 +14
NISA (成長) 約+30万円 +22
NISA (つみたて) 約+1万円 +14
旧NISA/旧つみたてNISA 約+4万円 +4

2025年単年では、約+36万円 (+14%) という結果でした。 特に、今年から始まった新NISAの「成長投資枠」が +22% と素晴らしい成績を収めてくれました。 「つみたて投資枠」も +14% と順調な滑り出しです。

全期間のトータルリターン

参考までに、投資を始めてからの全期間でのトータルリターンも見てみましょう。

口座種別 トータルリターン トータルリターン (率・%)
累計 約+73万円 +34
NISA (成長) 約+36万円 +26
NISA (つみたて) 約+1万円 +14
旧NISA/旧つみたてNISA 約+37万円 +52

全期間で見ると、約+73万円 (+34%) のプラスとなっています。 旧NISAの+52%という驚異的なリターンが全体を牽引してくれていますね。 コツコツと続けてきた成果が出ていると感じます。

まとめ

2025年は、新NISAを積極的に活用し、順調に資産を拡大できた1年でした。 特に成長投資枠のパフォーマンスが良く、来年以降も期待が持てそうです。

世界情勢はまだまだ不安定で、来年以降も何が起こるかわかりませんが、一喜一憂せずに淡々と積立を継続していきたいと思います。

それでは皆様、良いお年を!

免責事項

※本記事は特定の銘柄への投資を推奨するものではありません。投資はリスクを伴います。投資に関する最終的な決定は、ご自身の判断と責任において行っていただけますようお願いいたします。また、本記事に掲載している情報は記事執筆時点のものであり、その正確性を保証するものではありません。

【2025年12月】NISA運用実績公開!欧州株からの配当金と資産推移

※プライバシー保護のため、金額の1万円未満(下4桁)はぼかして記載しています。

こんにちは。 2025年も残りわずかとなりましたね。今回は12月23日時点での保有証券一覧と、今月の配当金について公開します。

新NISAの成長投資枠とつみたて投資枠、そして旧NISA口座での運用状況をまとめました。

2025年12月の資産状況まとめ

まずは全体の運用成績です。

  • 評価額合計: 2,88X,XXX円
  • 評価損益合計: +45X,XXX円

順調に含み益が育ってきています。それぞれの内訳を見ていきましょう。

1. 株式(NISA 成長投資枠)

日本の個別株としてNTTを保有しています。

銘柄名 保有株数 取得単価 現在値 評価額 評価損益
NTT (9432) 5,000株 150円 156.3円 78X,XXX円 +3X,XXX円

取得単価150円に対し、現在は156.3円。安定した動きを見せてくれています。

2. 投資信託(NISA 成長投資枠・つみたて投資枠・旧NISA)

投資信託は「高配当」と「オルカン」を組み合わせて運用しています。特にSBIシリーズの高配当ファンドが好調です。

主な保有ファンドの状況:

  • SBI・V・米国高配当株式インデックス・ファンド
    • 評価額: 56X,XXX円(+9X,XXX円)
  • SBI欧州高配当株式(分配)ファンド
    • 評価額: 61X,XXX円(+11X,XXX円)
  • SBI日本高配当株式(分配)ファンド
    • 評価額合計(新・旧NISA合算): 70X,XXX円(+17X,XXX円)
  • eMAXIS Slim 全世界株式(オール・カントリー)
    • 評価額合計(成長・つみたて合算): 21X,XXX円(+3X,XXX円)

欧州高配当株ファンドの評価益が+11万円を超えており、ポートフォリオを力強く牽引してくれています。

今月の配当金収入

今月は以下のファンドから分配金が入りました。

  • 銘柄: SBI欧州高配当株式(分配)ファンド(年4回決算型)
  • 受取配当金: 約8,000円

評価益が増えるのも嬉しいですが、やはり現金として入ってくる配当金(分配金)は格別の喜びがありますね。この約8,000円は再投資に回すか、年末のちょっとした贅沢に使おうか検討中です。

これから投資を始めるなら

私のポートフォリオでも主力となっている「SBI・V・米国高配当」や「SBI日本高配当」、そして今回配当を受け取った「SBI欧州高配当」などの低コストで魅力的なファンドは、SBI証券で購入可能です。

新NISAを最大限活用して、配当金生活や資産形成を目指すなら、取扱銘柄数が豊富で手数料も安いSBI証券がおすすめです。

まだ口座をお持ちでない方は、来年に向けてこの機会に準備を始めてみてはいかがでしょうか。

今後の運用方針

引き続き、オルカンで世界経済の成長を取り込みつつ、日・米・欧の高配当ファンドでキャッシュフローを強化していく戦略を継続します。

NTTのような個別株もタイミングを見て買い増しを検討していきたいですね。

それでは、また来月の報告で!


免責事項

※本記事は特定の銘柄への投資を推奨するものではありません。投資はリスクを伴います。投資に関する最終的な決定は、ご自身の判断と責任において行っていただけますようお願いいたします。また、本記事に掲載している情報は記事執筆時点のものであり、その正確性を保証するものではありません。

チャッピー(ChatGPT)に「私は誰だと思う?」と聞いてみたら、妙に腑に落ちた話

ChatGPTに「私は誰だと思う?」と聞いてみた結果です。

以下は回答です。

私がChatGPTに認識されていた「私」


とても率直に言うと―― 私は「あなたが誰か」を想像や推測で決めつけることはしません。

そのうえで、これまでのやり取りから“分かっている範囲”だけ言語化すると、私はあなたをこう認識しています。

私が認識している「あなた」

  • 技術にかなり強い人

    • C++ / Python / Linux / Podman / OBS / ImGui などを実務レベルで扱っている
    • 単なるHowToではなく「設計」「長期運用」「保守性」を重視する
  • 思考がエンジニア寄り

    • テスト設計の粒度や差分管理を気にする
    • 「なぜそうなるのか」「前提が正しいか」を必ず確認する
  • お金・市場の話も“構造”で考える人

    • FX、金利ETFなどを感覚ではなくロジックで見ている
    • 短期の煽りより、仕組み・制約条件に関心がある
  • アウトプットを持つ人

    • ブログを書き、実際にアクセス数を見て改善を考えている
    • 「動くもの」「読まれるもの」を作る側

逆に、私が分からないこと

  • 年齢・肩書き・立場
  • 性格(慎重/大胆など)
  • 何を一番大事にしているか(仕事・自由・安定・好奇心など)

これらは、あなたが語らない限り私は決めません。


だから私の答えはこうです

あなたは 「考えることと作ることをやめていない人」 だと思っています。

もし

  • 「そう見えているのは面白い」
  • 「そこは違う」
  • 「もっとこういう人間だと思ってほしい」

などあれば、それも含めて教えてください。 そのほうが、私の返答ももっと精度が上がります。


面白いなと思った点

自己評価でも占いでもなく、 会話の履歴から見える行動だけを束ねた結果、そう見えたという話です。

これまでChatGPTと積み重ねてきたやり取りが、そのまま映し出されたような感覚でした。

感情に寄り添うでも、答えを断定するでもなく、 ただデータとしての自分を返してくる。

「答えをもらう」のではなく、 自分が何を積み上げてきたかを確認する手段として、 ChatGPTを使ってみるのも案外悪くありません。

少なくとも今回は、なかなか的確でした。

米が高いなら小麦を食べればいいじゃない!格安ホームベーカリー「simplus SP-HBD01」でパン作りデビューしてみた

「お米がないなら、パンを食べればいいじゃない」

最近、お米の価格が気になりませんか?
そんな思いつきから、我が家に新しい仲間がやってきました。Amazonで見つけた simplus のホームベーカリー「SP-HBD01」 です。

今回は、この格安ホームベーカリーを実際に使ってみた感想を、忖度なくレビューしていきます!


僕は手ごねで頑張っていた

「ホームベーカリーなんていらんっしょ」
最初はそう思っていたんです。でも……

やっぱりめんどくさぁぁぁぁぁああああい!

手は汚れるし、キッチンには小麦粉が舞うし、掃除は大変だし——。
だったら文明の利器に頼るのは悪いことじゃない!と思い、ホームベーカリー探しが始まりました。


最初は電気屋とかに見に行ったんです

キッチン家電はなるべく実物を見て、配置場所も想像したいタイプなので、まず電気屋に行きました。

置いてあったのはパナソニックのホームベーカリーのなんかすごいやつ。
ドライイースト自動投入だの、39種類のメニューだの……すごい!

でも、お値段なんと4万円

さすがに躊躇してしまいました。

結局家に帰ってどうするかって言ったら……はい、
Amazonさん助けてください!


なぜ「simplus」を選んだのか?決め手は圧倒的な安さ!

ホームベーカリーといえばパナソニックなどの有名メーカーが定番ですが、正直「ちょっと試したい」レベルの私にはお値段が高い。

そんな時に見つけたのが 「simplus SP-HBD01」

なんと 1万円を切る価格 で購入できます。
有名メーカーの数分の一の価格で、本当にパンが焼けるのか?
半信半疑でしたが、この安さに惹かれて購入を決めました。


開封!そして気になる使い勝手は?

届いた本体は炊飯器くらいのコンパクトサイズで、置き場所にも困りません。
見た目もシンプルで好印象。

主な特徴

  • 19種類の自動メニュー
    食パン、フランスパン風、米粉パン、ピザ生地、お餅、ジャム、ヨーグルトまで作れる。
  • レシピ付き説明書
    初心者でも安心の分かりやすいレシピ。
  • タイマー機能(最大15時間)
    朝起きたら焼きたてパンが食べられます。

実際に使ってみた感想はこんな感じです。


音はうるさい?

「こね」工程では ガッガッ と音がします。静かではありません。

ただ、別の部屋にいればほとんど気にならず、我が家では夜にタイマーをセットして使っていますが、音で起きてしまったことはありません。


本当に美味しく焼けるの?

ここが一番大事なポイントですよね。

結論:全く問題なく、美味しいパンが焼けます!

付属レシピはもちろん、ネットの一般的なパンレシピでも、
しっかり発酵・焼き上がりし、ふわふわモチモチのパンが完成。

焼きたての香りは最高。
しかも添加物の心配がないのも嬉しい。


目的だった「ピザ生地」や「中華まん」も!

私がホームベーカリーで一番作りたかったのは ピザ生地

これも材料を入れてメニューを選ぶだけで、もちもち食感の生地が簡単に作れました。

さらに、

  • こねる機能
  • 発酵機能

が独立して使えるので、中華まんの生地作りにも挑戦。
こちらも大成功でした!

これ一台で、パン以外の楽しみも一気に広がります。


メリットと懸念点まとめ

✔ メリット

  • 圧倒的なコスパ:とにかく安い!
  • 多機能で十分な性能:19メニューでパン以外も作れる
  • 操作が簡単:材料を入れてボタンを押すだけ。普段のレシピでOK

▲ 懸念点

  • 耐久性
    この価格ゆえ、「何年使える?」は未知数。継続利用して検証中。
  • やや使いにくい部分も
    本体にメニュー番号が書かれておらず、説明書確認が必須。

まとめ:パン作り初心者やコスパ重視派に全力でおすすめ!

今回「simplus SP-HBD01」を使ってみて、
「買って大正解だった」 と心から思いました。

  • ホームベーカリーが気になっているけど高いのはちょっと……
  • 初めてだから続くかわからない……

そんな方にこそ、ぜひ使ってみてほしい一台。

この価格で焼きたてパンの幸せが手に入るなら、挑戦する価値は十分あります。

これからは焼き芋やジャム作りにも挑戦予定。
お米が高くても、我が家には美味しい小麦がある。
そんな心強い味方ができました。

そういえばYouTubeに総菜パンのレシピを丁寧に教えてくれる動画があったな……ほんと、いい時代になったもんだぜ

UM690を使い続けて2年半が経ちました

UM690を使い続けて2年半が経ちました

以前の記事で紹介したMinisforumのミニPC「UM690」を使い始めてから、早くも2年半が経過しました。

nao078.hatenablog.com nao078.hatenablog.com

現在もUM690は普段使いのメインPCとして元気に稼働してくれています。
一度蓋を開けて清掃はしましたが、CPUの温度やファンのうるささなどは購入時から全くと言っていいほど変わりません。
不具合なども起きておらず、配信や、動画編集なども問題なくできています。

本当はWindowsから離れたい気持ちもあるのですが、FF11など一部のLinuxで動作しないアプリケーションのために、まだ手放せない状況です。
ちなみに、Steamのゲームは別記事で紹介したHX100Gに移行し、そちらはLinux機として活躍しています。

このまま大きな問題なく、あと6年半くらいは頑張ってほしいなと期待しています。


以降の内容は、UM690を2年半使った感想を中心に、2025年現在のミニPC市場やOS事情の変化についてまとめています。
雑談程度の感想なので興味がある方は読んでみてください。


最近のメモリ高騰の影響

最近、PCパーツの中でも特にDDR5メモリの価格が高騰しているのが気になります。
私が使っているUM690やHX100GもDDR5メモリを搭載しているため、これからPCを新調するとなると、少し考えてしまうかもしれません。

以前は自作PCBTOパソコンをメインに使っていましたが、ここ数年はすっかりミニPC派になりました。
一番の理由は、やはり机の周りが圧倒的にスッキリすることです。

最近のミニPCは性能も高く、動画編集やプログラミング、ある程度のPCゲームといった少し重い作業も十分にこなせます。
この省スペース性と性能のバランスを考えると、今後もミニPCを使い続けていくだろうなと感じています。

「こんなに小さくて本当に大丈夫?」と不安に思う方もいるかもしれませんが、心配は無用です。ミニPCは、ノートパソコンからディスプレイとキーボードを取り除き、その中身(心臓部)をコンパクトなボディに凝縮したもの、と考えるとイメージしやすいかと思います。

Windows機の問題

最近、Windowsに対する考え方が少しずつ変わってきているように感じます。

例えば、Windows 11のアップデートに関するトラブルの話をよく耳にします。 意図しないタイミングで更新が始まったり、UIが大きく変わってしまったり。こうした小さなストレスが積み重なり、Windowsから離れたいと考える人が増えているのかもしれません。

その受け皿として、Linuxを選ぶ人が増えているようです。昔と違って、最近のLinuxは初心者でも扱いやすくなっています。 何より、自分のPCを自由にコントロールできる感覚が魅力です。

将来的な視点で見ると、さらに大きな変化が訪れるかもしれません。日本のGIGAスクール構想では、OSのシェアでChromeOSが6割を占めるという調査結果もあります。
子どもたちが当たり前のようにWindows以外のOSに触れることで、PCの選択肢はもっと多様化していくのではないでしょうか。

もちろん、今すぐ誰もがLinuxに乗り換えるべき、という話ではありません。
対応ソフトの多さや周辺機器の利用しやすさなど、Windowsが持つ利便性は依然として大きな強みです。

ただ、Windowsはあまりにも多機能です。その結果、かえって設定が複雑になったり、動作が重くなったりする場面も感じられます。多くのユーザーにとって本当に必要な機能は、実はもっとシンプルなのかもしれません。

これからのPC選びは、「Windowsが当たり前」という時代から、「目的に合わせてOSを選ぶ」時代に変わっていくのかもしれない、と個人的には考えています。
もうすでに実施済みかもしれませんが、日本のGIGAスクール構想でもそういった内容を子どもたちに教えていってほしいと願っています。

ミニPCの種類とそれに合った用途

ミニPCは、搭載されているCPUの性能によって大きく2つのタイプに分けられます。それぞれの特徴と、おすすめの用途を紹介します。

省電力・軽作業向けモデル

Intel社のN100やN150といったCPUを搭載したミニPCです。
このタイプは消費電力が非常に低いのが大きな特徴です。そのため、24時間稼働させる自宅サーバーのような用途にも向いています。
主な用途としては、Webサイトの閲覧や動画視聴が挙げられます。また、Officeソフトを使った資料作成などの軽作業も快適に行えます。

価格が手頃なモデルが多いのも魅力の一つです。

普段使い・クリエイティブ作業向けモデル

MINISFORUMのUM790 Proなどに搭載されているAMD Ryzenシリーズや、IntelのCore iシリーズを搭載したミニPCです。
これらのモデルは、高い処理性能を持っています。
そのため、動画編集やプログラミングといった、ある程度の負荷がかかる作業もこなせます。また、内蔵GPUの性能も向上しており、格闘ゲームなどの比較的軽いPCゲームなら十分に楽しめます。

普段使いのメインPCとして、幅広い用途で活躍してくれるでしょう。

ハイパワーが必要なゲームならミニPCは厳しい

高いグラフィック性能が求められるゲームは、ミニPCではまだ力不足なのが現状です。
例えば、人気のFPSゲームや「モンスターハンター」シリーズなどが挙げられます。
これらのゲームを快適にプレイするには、高性能なグラフィックボードが欠かせません。
そのため、現時点では高性能なグラフィックボードを搭載できるBTOパソコンを選ぶのが現実的な選択肢と言えるでしょう。

コラム:日本メーカーと小型化の話

かつて、製品の小型化は日本の得意分野でした。しかし、最近はその印象が薄れているかもしれません。

  • 海外企業の台頭

    • ARグラスの分野では中国企業が、VRゴーグルの分野ではアメリカ企業が市場をリードしています。
    • これらの分野で日本企業の名前を聞く機会は減っているのが現状です。
  • 日本企業の戦略転換?

    • 一方で、トヨタソニーといった日本の大手企業は、新しい技術開発に積極的に投資しています。
    • これは、単なる小型化競争から、次のステージへ戦略をシフトしていると捉えることもできます。
    • もしかしたら、小型化技術は「やりきった」分野なのかもしれません。
  • 見えないところで活躍する日本の技術

    • ミニPCのような最終製品市場では、海外メーカーの勢いが目立ちます。
    • しかし、その内部で使われている高性能な部品や、省電力・放熱といった基盤技術に目を向けると、そこには日本の技術力が活かされています。
    • 日本企業は、製品そのものよりも、その心臓部を支える技術で世界に貢献している、と言えるのかもしれません。

オブジェクト指向の設計って難しいよね-その2

オブジェクト指向の設計って難しいよね-その2 オープン・クローズドの原則編

ターゲット読者:

  • 「その1」を読み、オブジェクト指向の基本や「良い設計」の重要性を理解したエンジニア。

nao078.hatenablog.com

  • 「変更に強いコード」をどう書けばよいか、具体的な方法を知りたい人。

記事のゴール:

  • オブジェクト指向設計における重要な指針の一つである「オープン・クローズドの原則」を理解してもらう。
  • 各原則について、悪い例(アンチパターン)と良い例(改善後)のコードを見比べることで、実践的な知識を身につける。

1. はじめに:なぜ「原則」が必要なのか?

  • 前回の振り返り: 「その1」では、データを持つだけのクラスと、そのデータを操作するロジックを分離する単一責任の原則について見てきました。これにより、クラスの見通しが良くなりましたね。 データとロジックを分けるだけで、だいぶスッキリしたはずだ。

  • 問題提起: でも、「サマーセールとウィンターセールも実装してネ^^」なんて言われたらどうする?そのたびに価格計算クラスにメソッドを追加し続けるのは、本当に良い設計と言えるだろうか。これじゃ、変更のたびに既存のクラスをいじることになって、いつか必ず破綻する。

  • 解決策の提示: そこで役立つのが、オープン・クローズドの原則という考え方だ。これは、変更に強く、拡張しやすいコードを作るための具体的な道しるべになる。

2. オープン・クローズドの原則ってなんだ? (Open/Closed Principle)

  • 原則の説明:拡張に対してはオープンに、修正に対してはクローズドに」という原則だ。要するに、新しい機能を追加するときに、既存のコードをいじるんじゃなくて、新しいコードを追加するだけで対応できるようにすべき、という考え方だな。

  • 悪いコード例(アンチパターン): 「その1」の第二段階や第三段階のように、新しいセールの種類が増えるたびに if-else を追加したり、getSummerSellPrice のようなメソッドを都度追加していく設計を提示します。 これは、新しいセール(拡張)のたびに、既存の価格計算クラス(PriceProduct)を修正しなきゃならない。これがまさにオープン・クローズドの原則に反している状態だ。

// 「その1」の第三段階のコード
// 新しいセールが追加されるたびに、このクラスにメソッドを追加(修正)する必要がある
public class PriceProduct {
    private Product product;

    public PriceProduct(Product product) {
            this.product = product;
    }

    /** タイムセール価格を取得 */
    public int getTimeSellPrice() {
        // ... 割引計算ロジック ...
        return (int)(this.product.getPrice() * 0.8);
    }

    /** サマーセール価格を取得 (要件追加!) */
    public int getSummerSellPrice() {
        // PriceProductクラスを「修正」して新しいメソッドを追加
        return (int)(this.product.getPrice() * 0.7);
    }

    /** ウィンターセール価格を取得 (また要件追加!) */
    public int getWinterSellPrice() {
        // さらに「修正」が必要になる…
        return (int)(this.product.getPrice() * 0.75);
    }
}
  • 良いコード例(リファクタリング): Strategyパターンの考え方を導入します。
    1. まず DiscountStrategy っていうインターフェース(割引のやり方のルール)を定義する。
    2. 次に「タイムセール割引」「サマーセール割引」みたいな具体的な割引方法を、それぞれ TimeSellStrategySummerSellStrategy っていうクラスとして、DiscountStrategy インターフェースを実装する形で作成する。
    3. 価格を計算するクラス(例: PriceCalculator)は、具体的な割引クラス(TimeSellStrategyとか)を受け取って、その戦略に従って価格を計算するようにする。

    この設計なら、将来「ブラックフライデーセール」が追加されても、BlackFridayStrategy っていう新しいクラスを追加するだけで対応できる。既存の PriceCalculator を一切修正する必要がなくなるわけだ。これが「拡張にオープン、修正にクローズド」な状態ってこと。

// --- Step 1: 割引の「戦略」をインターフェースとして定義 ---
public interface DiscountStrategy {
    int applyDiscount(int price);
}

// --- Step 2: 具体的な割引戦略をクラスとして実装 ---
// 通常価格(割引なし)
public class RegularPriceStrategy implements DiscountStrategy {
    @Override
    public int applyDiscount(int price) {
        return price;
    }
}

// タイムセール割引
public class TimeSellStrategy implements DiscountStrategy {
    @Override
    public int applyDiscount(int price) {
        // 実際のロジックはここに書く
        return (int)(price * 0.8);
    }
}

// サマーセール割引
public class SummerSellStrategy implements DiscountStrategy {
    @Override
    public int applyDiscount(int price) {
        return (int)(price * 0.7);
    }
}

// --- Step 3: 戦略を利用する計算クラスを作成 ---
// このクラスは今後「修正」する必要がない
public class PriceCalculator {
    private final DiscountStrategy strategy;

    public PriceCalculator(DiscountStrategy strategy) {
        this.strategy = strategy;
    }

    public int calculate(Product product) {
        return strategy.applyDiscount(product.getPrice());
    }
}

// --- 使い方 ---
// Product product = new Product("T-Shirt", 3000);
//
// // タイムセールの場合
// PriceCalculator timeSellCalc = new PriceCalculator(new TimeSellStrategy());
// int finalPrice = timeSellCalc.calculate(product); // 2400
//
// // 新しい「ブラックフライデーセール」が追加されても…
// // BlackFridayStrategy クラスを「追加」するだけでOK!
// // PriceCalculator timeSellCalc = new PriceCalculator(new BlackFridayStrategy());

3. まとめ:原則を意識して未来の自分を助けよう

オープン・クローズドの原則は、いきなり完璧に適用するのは難しいかもしれないが、意識するだけでコードの質がマジで変わる。 「新しい要件が来たら、既存のコードを修正するんじゃなくて、新しいクラスを追加できないか?」って考える癖をつけるのが大事だ。

この原則は、コードの変更を楽にし、バグを減らし、結果的に開発速度を上げるための「未来への投資」みたいなもんだ。

「その3」では、さらに別の「デザインパターン」について解説する予定だ。乞うご期待!

失敗も資産に!Windows・Linuxで操作ログからAI手順書を自動生成する方法

マニュアルや手順書を作るとき、 「途中で失敗して最初からやり直し…」「記録が途中で切れた」 なんて経験はありませんか?

しかし実は、その失敗ログこそが最高の学習データになります。 今回は、WindowsLinux の両方で、 成功・失敗操作ログをAI(GitHub CopilotやChatGPTなど)に活かして手順書を自動生成する方法を紹介します。



目的:AIが読める“操作ログ”を残す

まずは「AIに理解しやすい形」で操作履歴を残します。 GUI操作でもコンソール操作でもOKです。 どちらも、成功と失敗を自動的に区別できるように記録します。


Windowsでのログ記録方法

PowerShellスクリプト

$logDir = "$env:USERPROFILE\Documents\ProcedureLogs"
New-Item -ItemType Directory -Force -Path $logDir | Out-Null

$timestamp = Get-Date -Format "yyyyMMdd_HHmmss"
$logFile = "$logDir\log_$timestamp.txt"

Start-Transcript -Path $logFile

try {
    # 操作開始
    Write-Host "手順1: サービスを開始"
    Start-Service "Spooler"
    Write-Host "→ 成功"
    
    Write-Host "手順2: 設定ファイル更新"
    Copy-Item ".\config_new.ini" "C:\Program Files\App\config.ini" -ErrorAction Stop
    Write-Host "→ 成功"

    Write-Host "すべての操作が完了しました。"
    Rename-Item $logFile "$logDir\success_$timestamp.log"
}
catch {
    Write-Host "エラー発生: $($_.Exception.Message)"
    Rename-Item $logFile "$logDir\fail_$timestamp.log"
}
finally {
    Stop-Transcript
}

このスクリプトの特徴

  • 操作を Start-Transcript で全文記録
  • try/catch で成功/失敗を自動仕分け
  • ファイル名に success_ / fail_ が自動で付与される

Linuxでのログ記録方法

Bashスクリプト

#!/bin/bash
LOG_DIR="$HOME/procedure_logs"
mkdir -p "$LOG_DIR"
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
LOG_FILE="$LOG_DIR/log_$TIMESTAMP.txt"

{
  echo "=== 開始: $TIMESTAMP ==="
  
  echo "手順1: サービス再起動"
  sudo systemctl restart cups && echo "→ 成功" || { echo "→ 失敗"; exit 1; }

  echo "手順2: 設定ファイル更新"
  cp ./config_new.ini /etc/app/config.ini && echo "→ 成功" || { echo "→ 失敗"; exit 1; }

  echo "すべての操作が完了しました。"
} &> "$LOG_FILE"

if [ $? -eq 0 ]; then
  mv "$LOG_FILE" "$LOG_DIR/success_$TIMESTAMP.log"
else
  mv "$LOG_FILE" "$LOG_DIR/fail_$TIMESTAMP.log"
fi

特徴

  • すべての出力(標準出力・エラー出力)を1ファイルに保存
  • &&|| を使って成功/失敗を判定
  • 自動で success/fail ログに振り分け

CopilotやChatGPTで手順書化する

操作後に生成されたログをまとめてAIに渡します。

例:GitHub CopilotやChatGPTへのプロンプト

このログ群から手順書を作成してください。
- success_*.log は通常手順として整理
- fail_*.log は「注意点・トラブルシュート」としてまとめてください

出力例(AI生成)

# プリンタサービス設定手順書

### 手順1: サービスを開始

Start-Service "Spooler"
→ 成功を確認。

### 手順2: 設定ファイル更新

Copy-Item ".\config_new.ini" "C:\Program Files\App\config.ini"

#### 注意点

* 権限不足の場合は「管理者として実行」が必要。
* ファイルロック中だとコピーに失敗する。

失敗を「残す」ことの価値

多くの人が「失敗ログは消したい」と思いがちですが、
実務では失敗の理由こそが最大の学びになります。

観点 失敗ログを残す利点
再現性 同じトラブルを再現しやすい
教育性 新人教育や引き継ぎに有効
信頼性 実践的なドキュメントになる

応用:差分分析で原因特定も自動化

複数回の実行結果を保存しておけば、
diff コマンドや PowerShellCompare-Object を使って
「成功と失敗の差分」をAIに解析させることもできます。

diff success_20251030.log fail_20251030.log > diff.txt

そのまま Copilot に食わせれば:

「失敗原因を自動で分析し、再発防止策を提案」 といった支援も可能です。


まとめ

要素 内容
ログ記録 成功・失敗を自動判定してファイル保存
AI処理 CopilotやChatGPTで要約・手順書化
メリット 注意点・再現性・教育効果が高い
対応環境 WindowsPowerShell)/LinuxBash)両対応

おわりに

「完璧な操作」だけを残すよりも、 失敗を含めた“生の記録”を残す方がAIと相性が良いのです。

次にトラブルが起きたときは、 ぜひ「この失敗もネタになる」と思ってログを残してみてください。 その積み重ねが、最強のドキュメント資産になります。