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
LT Slide 2025-04-22
takesection
0
100
読んで学ぶ Amplify Gen2 / Amplify と CDK の関係を紐解く #jawsug_tokyo
tacck
PRO
1
280
AIでめっちゃ便利になったけど、結局みんなで学ぶよねっていう話
kakehashi
PRO
1
460
より良い開発者体験を実現するために~開発初心者が感じた生成AIの可能性~
masakiokuda
0
220
Dynamic Reteaming And Self Organization
miholovesq
3
690
watsonx.data上のベクトル・データベース Milvusを見てみよう/20250418-milvus-dojo
mayumihirano
0
180
新卒エンジニアがCICDをモダナイズしてみた話
akashi_sn
2
270
OPENLOGI Company Profile
hr01
0
63k
10ヶ月かけてstyled-components v4からv5にアップデートした話
uhyo
5
430
ドキュメント管理の理想と現実
kazuhe
1
280
ガバクラのAWS長期継続割引 ~次の4/1に慌てないために~
hamijay_cloud
1
540
Notion x ポストモーテムで広げる組織の学び / Notion x Postmortem
isaoshimizu
1
130
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.1k
Building Applications with DynamoDB
mza
94
6.3k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Designing for Performance
lara
608
69k
Automating Front-end Workflow
addyosmani
1370
200k
Site-Speed That Sticks
csswizardry
6
510
Testing 201, or: Great Expectations
jmmastey
42
7.5k
The Language of Interfaces
destraynor
157
25k
Producing Creativity
orderedlist
PRO
344
40k
How STYLIGHT went responsive
nonsquared
100
5.5k
GraphQLとの向き合い方2022年版
quramy
46
14k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.2k
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