リード
こんにちは、ぽまらのです。
AIエージェント勉強記 の 第3回 です。
第1回 で最小構成、第2回 で1体 vs 複数体を整理しました。
ここから 実装 に入り、日常オペ3体の 1体目 — 週次振り返り(weekly-reflect) の作り方を書きます。
索引 「AIエージェントを自分で作る — 勉強記シリーズ」 の ① に相当するエージェントです。
役割は 記録係 — inbox / todos / notes を 読んで要約し、振り返り1枚を作る だけ。inbox の片付けや記事ネタ提案は 別エージェント(②③)の仕事です。
本記事では、spec(仕様書)・prompt(起動用)・実行手順 の3点セット — 本シリーズで使う 1体の型 — を具体例で示します。
この回の全体像
flowchart LR
S["spec<br/>仕様書"] --> P["prompt<br/>起動文"]
P --> A["① 週次振り返り<br/>Cursor Agent"]
IN[("inbox / todos / notes")] --> A
A --> W[("weekly/*.md")]
W --> H["人間<br/>事実修正"]
class S,P concept
class A agent
class IN meta
class W output
class H human
classDef concept fill:#e8f4fc,stroke:#3d7ea6,stroke-width:2px,color:#1a1a1a
classDef human fill:#fff3e0,stroke:#e65100,stroke-width:2px,color:#1a1a1a
classDef agent fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px,color:#1a1a1a
classDef output fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px,color:#1a1a1a
classDef meta fill:#eceff1,stroke:#607d8b,stroke-width:2px,color:#1a1a1a
なぜ1体目は「週次振り返り」か
第2回 で書いた通り、3体は ① → ② → ③ の順で増やします。
最初の1体に 週次振り返り を選んだ理由は次の3つです。
| 理由 | 内容 |
|---|---|
| 読み取り中心 | inbox / todos / notes を 編集しない — 失敗してもデータを壊しにくい |
| 成果物が1種類 | 出力は weekly/YYYY-Www.md 1ファイルだけ — 停止条件が明確 |
| ②③の土台 | 記事提案(③)は ① の weekly を 必須入力 にする |
「全部自動」ではなく 半自動 です。エージェントが md を書き、人間が読んで修正 してから、次の②③に進みます。
1体の型 — spec + prompt + 実行
X 下書き半自動 も 仕様書 + プロンプト + 定期実行 でした。
本シリーズの1体も同じ型です。
| ファイル | 役割 | 週次振り返りでの例 |
|---|---|---|
| spec | 正本。目的・入出力・禁止・フォーマット | weekly-reflect-agent-spec.md |
| prompt | Agent に渡す 短い起動文(spec を参照させる) | automation/weekly-reflect/prompt.md |
| 実行 | 手順メモ(README 等) | 日曜夜、Cursor で prompt を実行 |
ハーネス記事 で書いた 「ルールを外に出す」 発想と同じです。
長い指示を毎回チャットに打つのではなく、spec に固定 し、prompt は「spec に従って今日の1回をやれ」と渡すだけにします。
仕様書(spec)に書くこと
週次振り返りの spec では、第1回の 5要素 をこう落とし込んでいます。
| 要素 | 週次振り返りでの内容 |
|---|---|
| 目的 | 当週(ISO 週)の inbox / todos / notes → 振り返り1枚 |
| 入力 | 3ディレクトリ(読み取りのみ) |
| 出力 | .company/secretary/weekly/YYYY-Www.md |
| ルール | 推測禁止、上書き禁止、inbox 非編集 |
| 人間 | 要約の読み合わせ、事実修正、status: reviewed |
入出力(要点)
入力(読むだけ)
| 置き場 | 内容 |
|---|---|
inbox/ | 未処理メモ |
todos/ | 対象週の YYYY-MM-DD.md |
notes/ | 対象週中に更新された md |
inbox / todos が 空でもエラーにしない — あるものだけから要約します。
出力(1ファイル)
- パス:
weekly/YYYY-Www.md(ISO 8601 の週番号) - 既に同名ファイルがある → 上書きせずスキップ(二重生成防止)
出力フォーマット(抜粋)
WordPress には載せない 内部用 md です。frontmatter + 4セクション + 人間用メモ欄。
--- week: YYYY-Www period_start: YYYY-MM-DD period_end: YYYY-MM-DD status: draft agent: weekly-reflect sources_read: - (読んだファイルパス) --- # 週次振り返り YYYY-Www(MM/DD 〜 MM/DD) ## 今週やったこと ## 学び・気づき ## 未完了・持ち越し ## 来週の焦点(案) ## 人間用メモ(任意)
各セクション 3〜7行 を目安。notes に published_url があれば「今週公開: (タイトル)」を 今週やったこと に載せてよい、と spec に書いています。
禁止(②③と境界を分ける)
- 入力に ない事実の推測
- inbox / todos / notes の 編集・削除・移動
- 同じ週の weekly の 上書き
- TODO整理・記事提案の 代行
① は 記録係 — 触るのは 新規 weekly 1枚だけ です。
プロンプト(prompt)に書くこと
prompt は 毎週同じ文 でよいです。中身は次のとおりです。
- 役割宣言(weekly-reflect、spec に従う)
- 今日の作業 — 6ステップのチェックリスト
- 各セクションの 行数目安
- 禁止 の再掲(spec の要約)
spec が正本なので、prompt に全部コピーしなくてよい — 「spec を読んで、この週の1ファイルを作れ」 が prompt の仕事です。
起動時に Agent がやること(要点):
- 日本時間で 対象週(YYYY-Www) を確定
- 出力先が 既存ならスキップ
- inbox / todos / notes を 読み取りのみ
- フォーマットどおり 1ファイル新規作成
sources_readに実際に読んだパスを列挙- 週番号・出力パス・行数を 簡潔に報告
実行の型 — 日曜夜の手順
初期は Cursor IDE で手動 です(GitHub Actions 化は慣れてから、第5回以降)。
| 順 | 作業 | 担当 |
|---|---|---|
| 0 | inbox / todos / notes に当週分があるか軽く確認 | 人間 |
| 1 | prompt.md を Agent に渡して実行 | エージェント |
| 2 | weekly/YYYY-Www.md を読み、事実を修正 | 人間 |
| 3 | 必要なら status: reviewed に更新 | 人間 |
| 4 | ② TODO整理、③ 記事提案 | 第6回(第5回は ① のみ) |
日曜 21:00 JST 頃 を目安にしています。その週(月〜日)を閉じて、翌週月曜から TODO 整理につなげるためです。
成功の判定(①だけ)
weekly/YYYY-Www.mdが 1枚 できているsources_readが 空でない(入力が空の週は「記録なし」と書いてよい)- inbox / todos が エージェントによって変更されていない
週次ルーティン 全体 の完了定義(0〜6)は 第2回 のとおり。①単体の成功は上記3点です。
人間用チェックリスト
エージェントのあと、自分で見る項目です。
- [ ] 今週やったこと に、今週ない出来事が混ざっていない
- [ ] 公開記事・大きなリリースが 漏れていない
- [ ] 来週の焦点 が 1〜3個に絞れている
- [ ] ②③が読める 要約 になっている
修正は 人間用メモ 欄に書いても、本文を直接直してもよいです。
1体目から学べること(②③にも使う型)
週次振り返りで固定した 1体の型 は、TODO整理・記事提案にもそのまま使います。
| 型 | 内容 |
|---|---|
| spec | 目的・入出力・禁止・フォーマット・人間の役割 |
| prompt | spec 参照 + 今日のステップ + 停止条件 |
| 停止条件 | 1成果物・上書き禁止(または明示的な更新ルール) |
| 半自動 | エージェント出力 → 人間確認 → 次へ |
| 境界 | やらないこと を spec に書く(①は inbox を触らない) |
②は 破壊的操作(inbox 移動)があるので、①に慣れてから spec を書く予定です。
まとめ
- 1体目は 週次振り返り(weekly-reflect) — 記録係、読み取り中心
- spec + prompt + 実行手順 が1体の型
- 出力は
weekly/YYYY-Www.md1枚、既存ならスキップ - inbox / TODO / 記事提案は ②③ — ①ではやらない
- 第5回: 1体を作って動かす(週次振り返りの初回実行)
- 第6回: 3体を作って動かす(週次ルーティン全体)
索引・第1回・第2回 とあわせると、「概念 → 選び方 → 1体目の実装」の流れがつながります。

コメント