Hieronyumusのマニュアルを執筆しています。

Hieronymusマニュアル

まだまだ十分とは言えませんが、一通りの機能は書けたと思います。

動かしながらマニュアルを執筆していると、当然のようにバグを発見します。 そのバグを「あるべき姿」に修正して、マニュアルを書き進めます。

やったこと(やっていること)

マニュアルの執筆はデモデータを作りながらということもあり、操作してはスクショを撮って、画像編集して貼り込んで… ということの繰り返しです。 この部分については、まだ自動化していません。

その過程で発見されたバグは作業指示を書いてgemini-cliに処理させます。

前回書いたような設定をちょこちょこ進化させて、今では「Issue渡してバグ修正させる」という程度のことは完全自動化されました。 MCPとか使ってテストも自動化したいのですが、手作業には手作業の良さがあることも発見してしまったので、そこまでのモチベーションはありません。

geminiのバージョンも進んで、かなり信用できるようになりました。 以前はかなり高頻度で途中でコケるということがありましたが、最近はそれも随分減ったように思います。

gemini-cliを使うようになって2回ほどリリースしていますが、いずれもリリースノートはgemini-cliに書かせています。 作業ログを日々書かせていますから、それを元にリリースノートを書かせるわけです。 これもなかなかいい感じです。

わかったこと

面倒臭くてやってなかったことや不十分だったことが、gemini-cliのお陰で随分とちゃんとできるようになりました。

  • 作業ログ書く
  • リリースノートを書く
  • 面倒なバグを綺麗にする

というようなことは自分の目の前の問題とはあまり関係ないので、ついつい後回しにしてしまいがちですが、環境設定をちゃんとしてやることでほぼ自動化されています。

「環境設定」の多くは流用可能なので、Huishiの開発にも使っています。

そう考えると、「下っ端コミッター」がやっているような作業は、だいたいAIコーディングで代替可能なんじゃないかということに気がつきます。

大きなプロジェクトであれば、開発者も大勢いてやってくれるようなことでも、Hieronymusのような小規模プロジェクトだと何でもかんでも自分でやらなければなりません。 また弊社のようにビジネスを模索している時だと、「完成度はイマイチでもラインアップは増やしたい」という希望がありますが、それをやるにはマンパワーの問題がありますし、完成度が低いままだと売れるものも売れません。

特に心配してしまうのは、「下手に広まってしまえば、膨大なissueに対応しきれなくなるのではないか?」ということです。 広まって欲しい気持ちは切実にあるわけですが、そうなれば気がついてなかった問題も顕在化してしまいます。 広まってしまえば対応もスピードが求められるようになるでしょう。 その時に対応するだけの時間や手間が割けるかと言えば、ちょっとわかりませんよね。

でも、泣きながらでも環境設定をやって、「issueを投げるだけで修正してくれる」という体制ができてしまったので、この心配はなくなりました。 これは弊社のような零細企業がオープンソースなものを公開する時には非常に力となります。 安心して開発し、安心して布教できます。

かつては大きなプロジェクトでしかできなかった分業体制を、小さなプロジェクトでもできるようになりました。

もう一つわかったこと

これは個人的なことなのですが、自分はプログラミングそのものが好きと言うよりは、自分の求めるプログラムが欲しいという気持ちの方が大きいということでがわかったのです。

つまり、自分の欲しいプログラムがある、でもそれは世の中にはない。 だからプログラムをしているということです。

ですから、自分の欲しいプログラムがあるのであれば、検索で発見できたプログラムを持って来るのでも、自動生成で作るのでも、自分の書くのでもいい。 今までは作るしかなかったので作っていたのだけど、要求書いて生成してくれるのであれば、それで十分満足なのです。

プログラミングそのものが好きで好きでたまらない人であれば、AIコーディングをする必要はないでしょう。 でも、私のような者であれば、AIコーディングでも十分です。

もちろんそれをそれを実際にやるためには、自分のスキルもそれなりに磨く必要があります。 「自分でわかってない仕事は外注に出せない」からです。 これは弊社が自分達で何でもやる理由でもあります。 「外部」の技術を使うためには、自分達でもそれを理解してなければなりません。 それはそれで当然だとっています。

しかし、自分できるからと言って何でも自分でやる必要はありません。 それが好きならやってもいいですが、そこにそれほど興味がないのであれば、無理に自分でやる必要はありません。

というようなことに気がついてしまいました。

まぁ試作したりは好きですから、その辺は楽しく自分でやって、ある程度先が見えて来たらAIにさせる… という感じになるんじゃないかと思います。

まとめ

とりとめのない話ですが、しばらくgemini-cliと一緒にプログラムを書いてやったこと気がついたことはこんな感じです。 ものすごい発見があったわけではありませんが、「AIで開発便利だな」とあらためて感じると共に、大袈裟に言えば

システム開発のパラダイムシフト

を感じました。

これは単に「AIで開発すると工数削減」というような単純な話ではない「パラダイムシフト」です。 このことについては、商売になってからあらためて書くかも知れません。

最近のエントリー

Hieronymus Ver 2.0.6 release

HieronymusとOJT後のgemini-cli

金曜ごはん #9 「お肉たっぷり700g!"欲張りハンバーグ"ディナー」

金曜ごはん #8 「ジェネリック山ちゃん再び」

金曜ごはん #7「冬の到来。カニとお鍋」

金曜ごはん #6 「最近忘れがちになっている金曜ごはん」

gemini-cliへの新人教育

手軽に台帳の作れるノーコードシステム「NocoBase」

金曜ごはん #5「ジェネリック山ちゃん」

決算が終わりました

金曜ごはん #4 「ご褒美ステーキ」

リゾート暮らし

金曜ごはん #3「冷蔵庫の材料で作るごちそう」

Orcinus のサイトオープンのお知らせ

CassetteOS のサイトオープンのお知らせ

金曜ごはん #2「おうちバル風ディナー」

オクラの初収穫

金曜ごはん #1「お寿司と筋焼肉の盛り合わせ」

オープンソースコラボレーションプラットフォーム「Mattermost」

事務所の住民たち