Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cline、めっちゃ便利、お金が飛ぶ💸
Search
iwamot
PRO
March 28, 2025
Technology
22
20k
Cline、めっちゃ便利、お金が飛ぶ💸
2025-03-28
ENECHANGE I/O Day アウトプット大会(社内イベント)
iwamot
PRO
March 28, 2025
Tweet
Share
More Decks by iwamot
See All by iwamot
クォータ監視、AWS Organizations環境でも楽勝です✌️
iwamot
PRO
1
370
開発組織を進化させる!AWSで実践するチームトポロジー
iwamot
PRO
3
1.1k
始めないともったいない!SLO運用で得られる3つのメリット
iwamot
PRO
1
130
あなたの人生も変わるかも?AWS認定2つで始まったウソみたいな話
iwamot
PRO
3
7.5k
効率的な技術組織が作れる!書籍『チームトポロジー』要点まとめ
iwamot
PRO
2
310
AWS⼊社という選択肢、⾒えていますか
iwamot
PRO
2
1.3k
40代後半で開発エンジニアからクラウドインフラエンジニアにキャリアチェンジし、生き残れる自信がようやく持てた話
iwamot
PRO
9
9.3k
DockerのマルチプラットフォームイメージをGitHub Actionsでビルドして公開する際に、参考にしたドキュメントと便利だったツール
iwamot
PRO
4
490
RAGもファインチューニングも使わない 素朴なAIチャットボットを職場に導入した結果
iwamot
PRO
2
480
Other Decks in Technology
See All in Technology
2025-04-14 Data & Analytics 井戸端会議 Multi tenant log platform with Iceberg
kamijin_fanta
0
140
今日からはじめるプラットフォームエンジニアリング
jacopen
8
1.8k
勝手に!深堀り!Cloud Run worker pools / Deep dive Cloud Run worker pools
iselegant
4
580
AWSの新機能検証をやる時こそ、Amazon Qでプロンプトエンジニアリングを駆使しよう
duelist2020jp
1
310
MySQL Indexes and Histograms – How they really speed up your queries
lefred
0
120
AIコーディングの最前線 〜活用のコツと課題〜
pharma_x_tech
4
2.8k
PostgreSQL Log File Mastery: Optimizing Database Performance Through Advanced Log Analysis
shiviyer007
PRO
1
140
2025-04-24 "Manga AI Understanding & Localization" Furukawa Arata (CyberAgent, Inc)
ornew
2
300
グループ ポリシー再確認 (2)
murachiakira
0
180
SREからゼロイチプロダクト開発へ ー越境する打席の立ち方と期待への応え方ー / Product Engineering Night #8
itkq
2
1.1k
Twelve-Factor-Appから学ぶECS設計プラクティス/ECS practice for Twelve-Factor-App
ozawa
3
140
AWS全冠芸人が見た世界 ~資格取得より大切なこと~
masakiokuda
6
6.5k
Featured
See All Featured
How GitHub (no longer) Works
holman
314
140k
Statistics for Hackers
jakevdp
798
220k
Speed Design
sergeychernyshev
29
920
Docker and Python
trallard
44
3.4k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
BBQ
matthewcrist
88
9.6k
A designer walks into a library…
pauljervisheath
205
24k
Typedesign – Prime Four
hannesfritz
41
2.6k
What's in a price? How to price your products and services
michaelherold
245
12k
Making Projects Easy
brettharned
116
6.1k
The Cult of Friendly URLs
andyhume
78
6.3k
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