事業案評価ワークフローに100点評価と通知を追加する


事業案評価ワークフローに100点評価と通知を追加する

事業案を毎日1件ずつ検討する仕組みは、成果物をそろえるだけでは次の判断につながりにくい。候補が増えるほど、「どの案を先に進めるか」「なぜその点数なのか」を後から比較できる形で残す必要がある。今回は、Hermes Agentの事業案評価MCPワークフローに、満点100点の評価点、評価理由、完了通知を追加した。

実際に行ったことと確認結果

手元の実装では、完了処理の入力に`evaluation_score`、`score_reason`、`notify_discord`を追加した。評価点は0〜100の整数だけを受け付け、未指定の場合は最終まとめ本文にある「評価点: 82/100」のような表記から抽出する。見つからない場合や範囲外の場合は、テーマを完了扱いにしない。

完了できた場合は、実行状態に評価点と理由を保存し、テーマ一覧をチェック済みにし、実行履歴にも「評価点: NN/100」を追記する。通知を有効にした場合は、固定された通知先へ評価点つきの完了メッセージを送る。通知本文はHermes側の送信機能に渡し、ワークフロー側にBot tokenやWebhook URLを持たせない構成にした。

確認として、対象テストを`python3 -m unittest discover -s tests -p 'test_business_strategy_workflow.py' -v`で実行し、14件すべて成功した。テストでは、最終まとめからの点数抽出、明示点数と理由の受け渡し、範囲外点数の拒否、履歴への保存、完了後の再通知に評価点が入ること、MCPツール一覧の契約が壊れていないことを確認した。

仕組みの流れ

処理の中心は、既存の`business_complete_theme`を「成果物があるか」だけでなく「判断に使える評価があるか」まで見る完了ゲートにすることだ。

1. 8つの固定成果物がそろっているか確認する。
2. 引数または最終まとめ本文から評価点を得る。
3. 評価点が0〜100の整数か検証する。
4. テーマ一覧、実行状態、実行履歴を更新する。
5. 評価理由があれば実行状態と通知に含める。
6. 通知は固定ターゲットへ送り、秘密値はHermesの設定側に置く。

この変更により、後で一覧を見たときに「完了したか」だけでなく「どの程度有望と判断したか」も追える。特に、複数の事業案を比較する運用では、点数と理由が次の絞り込み条件になる。

再現手順

公開例では実際のVaultや通知先を伏せる。まず、事業案評価用のMCPサーバーを登録し、書き込みは最初オフにする。

“`bash
export BUSINESS_VAULT_PATH="/path/to/business-vault"
export BUSINESS_ENABLE_WRITES=false
export BUSINESS_DISCORD_TARGET="discord:YOUR_TARGET"
hermes mcp add business_strategy \
–command /path/to/project/.venv/bin/python \
–args /path/to/project/business_strategy_mcp_server.py
hermes mcp test business_strategy
“`

小さなダミーテーマで、`context`から`summary`、`infographic`までの固定成果物を作る。最終まとめには次のように評価点を入れておく。

“`markdown
# 最終まとめ

評価点: 82/100

理由: 初期費用が小さく、検証手順が明確なため。
“`

その後、完了ツールを呼ぶ。点数を本文から抽出させてもよいし、明示的に渡してもよい。

“`json
{
"evaluation_score": 82,
"score_reason": "初期検証が容易で、短期の比較対象にしやすい",
"notify_discord": true
}
“`

完了後は、テーマ一覧、実行履歴、通知の3か所で同じ点数が確認できるかを見る。テストでは実通知をモックし、本番では小さなテストテーマで到達確認してから運用する。

失敗しやすい点と安全策

評価点を本文から抽出する場合、表記ゆれが大きいと取得できない。運用では「評価点: NN/100」のようにテンプレート化しておくと安全だ。反対に、曖昧な本文から無理に推測して点数を作るのは避ける。見つからなければ未完了として止め、人が確認する。

通知先は固定設定にし、ツール呼び出しのたびに任意の宛先を渡せないようにする。MCPの公式仕様でも、ツール入力の検証、アクセス制御、出力のサニタイズ、監査ログが安全上の要点として挙げられている。事業計画や補助金、収支見通しは条件変更があり得るため、点数は自動判定の結果ではなく、人が確認するための整理値として扱う。

未完了事項として、複数テーマの点数を横断比較するダッシュボードは別機能として残っている。今回は、まず各テーマの完了時に評価点を確実に保存・通知するところまでを対象にした。

再現チェックリスト

  • [ ] 全8成果物がそろわない限り完了できない。
  • [ ] 評価点は0〜100の整数だけを受け付ける。
  • [ ] 最終まとめの点数表記をテンプレート化している。
  • [ ] 実行履歴に評価点が残る。
  • [ ] 通知本文に評価点と必要最小限の理由が入る。
  • [ ] 通知トークンやWebhook URLを記事、ログ、成果物へ出していない。
  • [ ] 点数を投資・会計・法務判断の代替にせず、人が確認する。

公式一次情報

  • [Model Context Protocol: Tools](https://modelcontextprotocol.io/specification/2025-03-26/server/tools)
  • [Hermes Agent Scheduled Tasks](https://hermes-agent.nousresearch.com/docs/user-guide/features/cron)
  • [Hermes Agent CLI Commands Reference](https://hermes-agent.nousresearch.com/docs/reference/cli-commands)
  • [Python unittest](https://docs.python.org/3/library/unittest.html)

Back to top