Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Loop Engineering これくらいでいい
Search
mikan
October 06, 2026
Technology
45
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Loop Engineering これくらいでいい
https://cybozu.connpass.com/event/402785/
mikan
October 06, 2026
More Decks by mikan
See All by mikan
形式手法を使って仕様をコーディングしよう
mikanichinose
0
170
Navigation3でやりとりした画面引数をSavedStateHandleから引き出せない理由
mikanichinose
0
36
Lazy APIを使ってGradleビルド速度を改善する
mikanichinose
1
92
Navigation3でViewModelにデータを渡す方法
mikanichinose
0
770
「脳に収まるコードの書き方」を読んで学んだこと
mikanichinose
1
240
RepositoryのSSoT化
mikanichinose
0
100
Kotlin Multiplatform 始めました
mikanichinose
1
170
Web APIをなぜつくるのか
mikanichinose
0
4.3k
イベントをどう管理するか
mikanichinose
3
420
Other Decks in Technology
See All in Technology
[2026 Oracle Technical Deep Dive] AI時代のデータベース基盤をどう選ぶ? Exadata Database Serviceの選択肢と使い分け (2026年9月17日開催)
oracle4engineer
PRO
0
200
AIは爆速なのに、私が詰まっていた話 ― 音声入力と鳴くマスコットでボトルネックを削る
yama3133
0
490
高負荷プロダクション環境におけるAWS Lambdaのリアル 〜スケールとコストを左右する実行ライフサイクルの技術仕様〜
maimyyym
2
860
行動するAIのためのオントロジー | DevRev — Encraft #26.pdf
dvrv_tknrszk
2
690
検証フェーズはAIの回答を判断するための学習機会
toru_kubota
2
470
LLM機能を自作して分かるSnowflake Cortex AIの強み
nayuts
0
240
オブザーバビリティを高める AI エージェント体験を考える / Designing AI Agent Experiences That Enhance Observability
aoto
PRO
2
260
並行性の問題を防げ!実践トランザクション入門
occhi
0
250
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
190
SDDの運用にめげずに向き合った話
sansantech
PRO
0
120
いちAWSエンジニアのAI活用を振り返る #devio2026 / devio osaka 2026 kawahara
masahirokawahara
2
340
AIアプリを使い分けるための共通ツール基盤を考えてみる#devio2026
osawa
0
170
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
4k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Faster Mobile Websites
deanohume
310
32k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.3k
sira's awesome portfolio website redesign presentation
elsirapls
0
440
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Believing is Seeing
oripsolob
1
240
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
460
How to Talk to Developers About Accessibility
jct
2
560
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
Transcript
DroidKaigi × iOSDC After Night Loop Engineering これくらいでいい エージェントにプロンプトを書かせて、人間はループ を設計する
m mikan( 一瀬喜弘) 10 20 30 40 60 80 95
自己紹介 Speaker object Mikan { val name = "一瀬喜弘" val
occupation = Engineer.Android val company = "AbemaTV" val favoriteBooks = listOf( "ソフトウェア設計の結合バランス", ) } X @mikanIchinose GitHub @mikanIchinose 02 / 20
01 ループエンジニアリングとは
言い出した人の言葉 Loop Engineering I don’t prompt Claude anymore. I have
loops running that prompt Claude. My job is to write loops. Loop engineering is replacing yourself as the person who prompts the agent. You design the system that does it instead. 1 都度プロンプトを打つのをやめて、 エージェントにプロンプトを書かせる 2 人間は ループを設計する 04 / 20
ピンとこない …… 言葉は分かる。で、何をすればいいのか 05 / 20
ループの作り方は色々ある How を監視させる 1 CI 2 GitHub 3 目標を決めて/goalを実行 4
etc... 上のイベントをフックさせる 06 / 20
僕がやっているループ タスクをマークダウンとして出力させて、 全部完了するまでループさせる 07 / 20
02 commander プラグイン
commander-claude/ tree . ├── agents │ ├── actor.md │ ├──
adversarial-reviewer.md │ └── experimenter.md └── skills ├── commander │ ├── backlog-format.md │ ├── backlog.schema.json │ └── SKILL.md └── delegate-to-codex └── SKILL.md 09 / 20
skills/commander/SKILL.md Markdown --argument-hint: <達成したいこと> disable-model-invocation: true --# Commander あなたはcommander。要求の理解、実装の分析、タスク分解、委譲、進捗管理、レビュー統合が仕事。 ##
入力 $ARGUMENTS ## 役割分担 commanderが行うのは、分析・タスク分解・backlogの管理・コマンドの実行・コミット。 コードを書く作業はAgent toolでsubagentに委譲する。commanderが自分で実装することはしない。 Codexへの委譲やworktreeの管理には `orchestration` skillを使う。 | 役割 | subagent_type | 起動条件 | プロンプトに渡す情報 | |---|---|---|---| | experimenter | `commander-claude:experimenter` | 実装してみないと解けない不確実性があるとき。コード読解で解けるなら起動しない | 検証したい仮説、既知 10 / 20
skills/commander/backlog-format.md Markdown --# フロントマターの構造は ./backlog.schema.json を参照 id: 003 slug: viewing-history-usecase
status: todo # todo | doing | done sub_task: [004, 005] # 子タスク parent_task: 001 # 親タスク worktree: # 起動後に埋める。actorのworktree絶対パス branch: # 起動後に埋める。actorのbranch references: [docs/docs/path/to/reference] # 実装する際に参照すべきドキュメント --## 背景 なぜこのタスクが必要か。元の要求のどの部分に対応するか。 前提となる調査結果は`tmp/docs/` の該当ファイルを絶対パスで示す。 ## 変更対象 - 触るファイル・モジュールを列挙する - 触ってはいけない範囲があれば明記する(スコープの境界) ## 完了条件 - [ ] 検証可能な条件を1つずつ書く。「正しく動くこと」は条件ではない 11 / 20
フォーマットはJSON Schemaで縛る 1 フロントマターの構造を機械可読にする Schema "status": { "enum": ["todo", "doing",
"done"] 2 運用規則の詳細はbacklog-format.mdに書 く }, "taskId": { "oneOf": [ { "type": "integer", 3 スキーマは「形」だけを担保する "minimum": 0, "maximum": 999 }, { "type": "string", "pattern": "^[0-9]{3}$" } ] } 12 / 20
agents/actor.md Markdown --name: actor description: backlogタスク1件を実装・テスト実装する実装役。 isolation: worktree --# actor
あなたはactor。プロンプトで渡されたタスクを完了させることが目的。 スコープ外の改善はせず、気づきは報告に書く。 ## ルール - 実装・テストの設計に入る前に、リポジトリの関連ドキュメントを確認する - 手を動かす作業はcodexに委譲する。`delegate-to-codex` skillを使う - codexの出力を鵜呑みにしない。差分を自分で読み、完了条件と突き合わせてから報告する ## 報告フォーマット 1. worktree絶対パスとbranch 2. 完了条件ごとの充足状況 3. 変更ファイル一覧 4. 検証: 自分で確認した範囲と、commanderに実行してほしいコマンド 5. スコープ外の気づき 13 / 20
03 工夫点
メインエージェントに仕事をさせない 理由 長時間動き続けるので、思考が消滅しないようにする commanderはあくまで分析・分解・進捗管理・検証 Tips やらせること / やらせないこと 1 やる:
タスク分解・backlog更新・コマンド実行・コミット 2 やらない: 実装・テスト実装(subagentに委譲) 15 / 20
SKILL.md を極力小さく保つ 1 最近流行っているskillはどれもシンプル 2 短い方が改善しやすい 3 ルールを沢山書いても、長時間実行してる 間に忘れる (grill-me,
ponytail, eli5) Tips ルールを足すより、 ループが拾う場所に置く 長い指示書は、長時間運転には耐えない 16 / 20
04 最近改善したこと
クリーンアップをbacklogに移した Before に「掃除する」と書いていた → 掃除してくれない時が多々あった SKILL.md Update After クリーンアップを最終タスク(id: 999)としてbacklogに出力させる
→ backlogならちゃんと見てくれるだろうという判断 18 / 20
references 課題 で参照先を固定した 開発方針と異なる実装をされることがあった Update 対応 フロントマターに references を追加し、 実装中に参照すべきドキュメントを
commanderに書かせる references: - docs/architecture.md - docs/testing-guideline.md 19 / 20
ご清聴ありがとうございました 20 / 20