$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cline、めっちゃ便利、お金が飛ぶ💸
Search
iwamot
PRO
March 28, 2025
Technology
22
22k
Cline、めっちゃ便利、お金が飛ぶ💸
2025-03-28
ENECHANGE I/O Day アウトプット大会(社内イベント)
iwamot
PRO
March 28, 2025
Tweet
Share
More Decks by iwamot
See All by iwamot
AIエージェント・マイクロサービス時代。AWSでの手軽な構築法を考えて試してみた
iwamot
PRO
1
28
これがLambdaレス時代のChatOpsだ!実例で学ぶAmazon Q Developerカスタムアクション活用法
iwamot
PRO
8
1.4k
Developer Certificate of Origin、よさそう
iwamot
PRO
0
31
復号できなくなると怖いので、AWS KMSキーの削除を「面倒」にしてみた CODT 2025 クロージングイベント版
iwamot
PRO
1
110
復号できなくなると怖いので、AWS KMSキーの削除を「面倒」にしてみた
iwamot
PRO
3
90
IPA&AWSダブル全冠が明かす、人生を変えた勉強法のすべて
iwamot
PRO
14
11k
2年でここまで成長!AWSで育てたAI Slack botの軌跡
iwamot
PRO
4
1.1k
名単体テスト 禁断の傀儡(モック)
iwamot
PRO
1
590
クォータ監視、AWS Organizations環境でも楽勝です✌️
iwamot
PRO
2
590
Other Decks in Technology
See All in Technology
AIBuildersDay_track_A_iidaxs
iidaxs
4
1.3k
ソフトウェアエンジニアとAIエンジニアの役割分担についてのある事例
kworkdev
PRO
0
260
MySQLとPostgreSQLのコレーション / Collation of MySQL and PostgreSQL
tmtms
1
1.2k
2025-12-18_AI駆動開発推進プロジェクト運営について / AIDD-Promotion project management
yayoi_dd
0
160
Amazon Quick Suite で始める手軽な AI エージェント
shimy
1
1.9k
オープンソースKeycloakのMCP認可サーバの仕様の対応状況 / 20251219 OpenID BizDay #18 LT Keycloak
oidfj
0
180
AIエージェント開発と活用を加速するワークフロー自動生成への挑戦
shibuiwilliam
5
860
障害対応訓練、その前に
coconala_engineer
0
200
株式会社ビザスク_AI__Engineering_Summit_Tokyo_2025_登壇資料.pdf
eikohashiba
1
120
日本の AI 開発と世界の潮流 / GenAI Development in Japan
hariby
1
480
たまに起きる外部サービスの障害に備えたり備えなかったりする話
egmc
0
410
モダンデータスタックの理想と現実の間で~1.3億人Vポイントデータ基盤の現在地とこれから~
taromatsui_cccmkhd
2
270
Featured
See All Featured
The SEO identity crisis: Don't let AI make you average
varn
0
39
Agile that works and the tools we love
rasmusluckow
331
21k
Designing for Performance
lara
610
69k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
94
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.4k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
400
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
73
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
0
67
Believing is Seeing
oripsolob
0
15
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
400
Transcript
Cline、めっちゃ便利、お金が飛ぶ 2025-03-28 ENECHANGE I/O Day アウトプット大会(社内イベント) CTO室 岩本隆史
こんな話をします 1. Clineとは 2. 実施した初期設定 3. リファクタリングに使った結果 4. 所感 2/25
Clineとは
VS Codeの拡張機能で使えるAIアシスタント https://marketplace.visualstudio.com/items?itemName=saoudrizwan.claude-dev 4/25
チャットでコーディング。Planで計画、Actで実行 5/25
いろんなプロバイダ、モデルが選べる 6/25
AIのやりたいことを自動承認できる 7/25
実施した初期設定
全体設定 モデル → PlanもActも、Amazon Bedrock / Claude 3.7 Sonnet(拡張思考なし) 自動承認
→ ファイル参照のみ許可 Memory Bank → 「Custom Instructions」をドキュメントどおり設定 セッションをまたいでコンテキストを維持できる https://docs.cline.bot/improving-your-prompting-skills/custom-instructions- library/cline-memory-bank 9/25
プロジェクト設定 memory-bank/ → ドキュメントどおり作成 https://docs.cline.bot/improving-your-prompting-skills/custom-instructions- library/cline-memory-bank cline_docs/projectBrief.md → ドキュメントを参考にChatGPTで作成 https://docs.cline.bot/getting-started/getting-started-new-coders/our-favorite-
tech-stack#example-project-brief .clineignore → .gitignoreをコピーして微調整 https://docs.cline.bot/improving-your-prompting-skills/prompting#clineignore- file-guide 10/25
initialize memory bank → $2.1170 memory-bank/ ├── .clinerules ├── activeContext.md
├── productContext.md ├── progress.md ├── projectbrief.md ├── systemPatterns.md └── techContext.md 11/25
.clinerules を作成 → $0.7450 プロジェクト固有のガイドライン https://docs.cline.bot/getting-started/getting-started-new-coders/our-favorite-tech- stack#clinerules-template のサンプルテンプレートを見せ、Clineで作成 12/25
リファクタリングに使った結果
タスク: iwamot/collmbo のモジュール分割 app/litellm_ops.py の関数について、litellmライブラリに依存しているものとそ うでないものが混在していると思います。 認知負荷を下げたいので、litellmに依存していない関数を、別のモジュールに移 動してください。 移動先のモジュール名については、移動対象の関数の責務を考慮して、適切なも のを考えてください。
これはリファクタリングです。アプリケーション全体の挙動は変更しないようご 注意ください。 14/25
Clineの回答 #1 リファクタリング計画: litellm_ops.py の分割 litellm_ops.py を分析した結果、以下の関数はlitellmライブラリに依存していな いことがわかりました: format_litellm_message_content -
文字列操作とslack_to_markdownの呼び出 しのみ format_assistant_reply - 文字列操作とmarkdown_to_slackの呼び出しのみ build_system_text - 文字列操作とslack_to_markdownの呼び出しのみ これらの関数は主にメッセージのフォーマット処理を担当しており、litellmライ ブラリに依存していません。 15/25
Clineの回答(つづき) 移動先モジュール名の提案 これらの関数の責務を考慮すると、適切な移動先モジュール名は message_formatting.py だと考えます。理由は: これらの関数はすべてメッセージのフォーマット処理に関連している Slackとマークダウン間の変換や、表示用のテキスト整形を行っている 名前が機能を明確に表している 16/25
Clineの回答(つづき) 実装計画 新しいファイル app/message_formatting.py を作成 上記3つの関数を litellm_ops.py から message_formatting.py に移動
litellm_ops.py で message_formatting.py からこれらの関数をインポート 既存のインポート文を適切に調整 テストが正常に動作することを確認 この変更により、コードの責務がより明確に分離され、認知負荷が軽減されま す。litellm_ops.pyはlitellmに関連する操作に集中し、message_formatting.pyはメ ッセージのフォーマット処理に特化します。 17/25
追加の指示を3つ はい、問題ないです。ただし、最後に ./validate.sh を実行し、エラーが出ないこ とを確認してください。エラーが出た場合は修正を検討してほしいですが、難し い場合は私に相談してください。 方向性はOKです。format_litellm_message_content、format_assistant_reply、 build_system_text に依存しているファイルが他にもあるかもしれないので、呼び 出し元はすべてimport文を修正してくださいね。
すでに考慮されているかもしれませんが、tests/litellm_ops_test.py ではなく tests/message_formatting_test.py に移動すべきテストケースもあるかもしれませ ん。必要に応じて、合わせてご対応ください。 18/25
タスク完了 → $4.1667 https://github.com/iwamot/collmbo/pull/80 でマージ 19/25
コスト:初期設定430円、リファクタリング625円 タスク USD JPY initialize memory bank 2.1170 318 .clinerules
作成 0.7450 112 リファクタリング 4.1667 625 update memory bank (参考) 3.1133 467 20/25
所感
めっちゃ便利 VScode + Cline + Claude 3.7 sonnet によるコーディング体験は個人的には1996 年のインターネットに近いものを感じた。これが無い時代にはもう戻らない。
https://x.com/nappa/status/1897441076094623787 22/25
お金が飛ぶ Cline + VS Code + Claude 3.7 Sonnet で、自分の使い方だと時給
500 円くらいの AI という感じ。ほっといて勝手に作業してくれるので、悪くない。移行系とかリ ファクタリングとかメモリーリーク調査とか、コードレビューを時給 500 円でや ってもらうという感じ。 https://x.com/voluntas/status/1894599131391562030 23/25
対策1:PlanをDeepSeek-R1に変更 モデル 1,000トークンの入力 ($) 1,000トークンの出力 ($) Claude 3.7 Sonnet 0.003
0.015 DeepSeek-R1 0.00135 0.0054 2025年2月時点では、ClineもDeepSeek-R1を推している https://docs.cline.bot/getting-started/model-selection-guide#best-models-by-mode-plan- or-act 24/25
対策2:プロンプトキャッシュを利用(申請中) https://aws.amazon.com/jp/bedrock/prompt-caching/ 25/25