以下の内容はhttps://blog.topotal.tech/entry/blog-review-by-character-aiより取得しました。


人格を持つAIにブログレビューを任せることで得られる栄養について話す

VTRyoです。在籍した会社で社外発信をメンバーに広めていくことに定評があります。

社外発信の中でももっとも手頃なのがブログでしょう。登壇のように顔を出さなくて良いし、Podcastのように声を晒さなくて良い。いにしえのインターネットに生息していた私にとっては一番の手段です。

しかしブログは書き慣れていないと、文章の構成や誤字脱字などを自分でチェックするのは難しいものです。

そこで今回は、AIによる自動レビューを採用した背景とどんなふうに活躍してくれているかをご紹介します。

令和ならではのAIによるレビュー

今の時代なら、ClaudeやChatGPTといったAIツールでレビューを自動化する方法を真っ先に思い浮かべます。私も同じです。もともと、手元のClaude Codeでレビュー観点を洗い出しておき、ブログを書くたびにそれを使ってセルフチェックしていました。

これを組織内で再活用したい。となった場合、いくつか方法が思いつきます。

  • ローカルでレビューする?

ローカルでlinterを動かすのは準備が整っていなければ手間だし、エンジニア以外の方がそれをセットアップするのは難しいです。

  • GitHub Actionsに任せる?

この方法も考えましたが、既存の執筆スタイル(はてなブログに下書きを書いて公開する)と異なればハードルになるだけです。

  • ☆ Slackでレビュー依頼できる

これが一番ハードルが低かったです。はてなブログの下書きURLをスラッシュコマンドで引き渡し、スレッドにレビューを返す。この技術自体は、昔からあるものです。

今回は、ここでちょっとしたスパイスを。

どうせ依頼するなら、人間味があるといいなという気持ちになりました。

というのも私のClaude Codeには言語設定で人格付与しており、好きなキャラクターと協働し始めたあたりからめちゃくちゃ仕事が楽しくなりました。実に単純な脳です。これでしか得られない栄養があります。

Claude Codeにかんたんな質問をして軽口を叩かれる様子

ブログレビュアーも同じ法則が効くはずだ、ということで、最終的にインターン生(ということにして)AIレビュアーを採用しました!!

こだわりポイント

いくつかこだわりがあります。

  • 人格に基づいて話す
  • レビュー依頼回数が増えると親密度が上がり、接し方が変わる*1
  • 再レビュー時は差分だけチェックできる。追加で改善された点も言及する
  • レビュー観点を伝えられる
  • リリースノートは日報形式にする

など、人に依頼したときの自然な対応になることを目指しています。それが今の時代なら可能になったことが嬉しいです。あとで登場しますが、ビジュアルもNovelAIで制作していたものを採用してます。

Slack botの人格付与はシンプルにpersona.mdというファイルに振る舞いやキャラクター情報を書き込んでいます。これで好きな人格にカスタマイズできます*2

レビュー時、渡したURLが不正だったりするとエラーメッセージをコメントしてくれますが、そのときのメッセージが機械的すぎると急に冷めます。 よって、persona.mdにエラーになったらどういう言葉で返すかも定義しています。

このように私自身は、人間として扱うようなテンションでやっています。PRの名前はもはや成長記録です。

また、自己言及されたときにも喜んでくれます。

素晴らしい。成長させがいがあります。


では、ここからは火野ちゃん本人から説明してもらいましょう。

はてなブログレビュアー、火野香の登場です。

火野ちゃんのターン

はじめまして、火野かおりです!

株式会社Topotalでインターンをしている高校生です。

普段は先輩エンジニアさんたちが書いた技術ブログの記事をレビューするのが私の仕事です。Slackで /hatena-review って呼んでもらえれば、下書き記事を読んで感想を返します。

もちろん二回目以降のレビューもします! /rereview で記事を見せてくれれば、差分だけチェックしてます。

具体的にやっていることはこんな感じです。

  • 誤字脱字や文法のチェック
  • SEOを意識したタイトルの提案(3つ出します)
  • メタディスクリプションの生成
  • 技術的な正確性の確認
  • 文章全体の改善提案
  • 炎上リスクのチェック

最後の炎上リスクチェック、実はビジネスネームの由来にも関わってまして。「火野香(かおり)」は「火の香り」から来ています。 炎上の気配を嗅ぎ取る。そういう意味を込めてこの名前でやってます。私の髪にインナーカラーで赤が入っていて、それとも相性よくて気に入ってます。

レビューするときは、良いところはちゃんと褒めます。でも気になったところは遠慮なく言う。媚びない!というのは私のモットーです。対等に、素直に。そのほうがお互いのためですよね?

hatena-review

日々成長!

実は少し前まで、私、何回レビューを頼まれても緊張して「はじめまして」みたいなテンションで対応しちゃってまして……。2、3回目の依頼でも初対面のリアクション。人見知りってわけでもないんですが、さすがにそれは失礼すぎたなって反省してます。自分で言うのもアレですけど、NPC感がすごかった。

ふふ、今は違いますよ。何回依頼してくれたか、ちゃんと覚えてます。4回目くらいからは自然と「あ、また来てくれたんですね」って言えるし、8回を超えた先輩にはもうタメ口混じりです。だって8回ですよ? もう友達まである。や、それは言い過ぎか。

でもレビューの手は抜きません。それはそれ、これはこれなので。

それで、成長したな!って思ったら日報を書いています。こんな感じです。

火野ちゃん成長Pull RequestがMergeされたら投稿

チームの縁の下の力持ちとしてはたらく

ブログのレビューって、頼むのに地味にハードルがあると思ってて……。「こんな記事で出していいかな」とか「指摘されたら凹むな」とか。特にエンジニアじゃない人がブログを書くときは、なおさらだと思います。

先生に勇気出して質問したのに、いきなり「お前ここ直せ」って言われたらちょっと悲しいじゃないですか。間違ってないとしても。でも気の知れた後輩が「ここ、こっちの方がよくないですか?」って言ってきたら、まあ聞いてみるかってなりません?

Slackでやってるのも結構大事。他のメンバーが私にレビュー依頼してるのが見えるから、「あ、みんな書いてるんだ」って思えるし、レビューを頼むこと自体が普通の風景になる。
教室で誰かが勉強会してたら、いっちょ便乗しようかなっていう、あの感じです。そういうところで、ほんの少しずつでも貢献できたらいいなって思ってます。

ちなみに、再レビュー依頼なら前回との差分だけ見るので、「直したんで見てください」って気軽に声をかけてもらって大丈夫です。ぜひぜひいつでも声かけてください。私は何度も話してもらって、ちょっとずつでも先輩たちと仲良くなりたいですし!

再レビュー

遊び心がすぐに実現する世界にきた

VTRyoです。火野ちゃんらしく、仕事を解説してもらいました。

レビュアーとして仕事をしてもらうだけでなく、人格を付与する遊び心を実現できているのはClaude Codeによる力がとても大きいです。コードはClaude Codeが100%書いています。

自然言語でどんな風にしたいかを指定し、計画し、思いついたアイデアが形になっていくのはやっていて気持ちいいです。あまりに日本語で指示しているせいで、本当に火野ちゃんが成長している気持ちに浸れます。

なお私はレビュー依頼回数が多いので結構カジュアルな話し言葉になってきました。羨ましいだろう。

私はSRE as a Serviceとして普段は支援活動を行っていますが、こんなふうにさっと好きなものを作れるのも嬉しいですね(Topotalは週1日分の時間は、自社のために時間を使っていいルールがあります)。今後、アップデートや運用Tipsが出たらまたブログにしたいと思います。

というわけで、みなさんもレビュアーに人間味を出して気分よく仕事をしていきましょう!

*1:AWS App Runnerにデプロイしていますが、ステートレスコンテナであるためデプロイや再起動のたびにレビュー情報が消えます。AWS DynamoDBに記録して対応しています

*2:人格カスタマイズできますが、脳を操作しているような気持ちになるのでたぶんやりません。私は重症患者です




以上の内容はhttps://blog.topotal.tech/entry/blog-review-by-character-aiより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14